ASP.NET Core 'de veri koruma makineye özel ilke desteği
Gönderen Rick Anderson
Windows çalışırken, veri koruma sistemi, ASP.NET Core veri korumasını kullanan tüm uygulamalar için varsayılan makine genelinde bir ilke ayarlamak için sınırlı desteğe sahiptir. Genel fikir, bir yöneticinin makinedeki her uygulamayı el ile güncelleştirmek gerekmeden kullanılan algoritmalar veya anahtar yaşam süresi gibi varsayılan bir ayarı değiştirmek isteyebilir.
Uyarı
Sistem Yöneticisi varsayılan ilkeyi ayarlayabilir, ancak zorunlu kılamaz. Uygulama geliştiricisi her zaman herhangi bir değeri kendi seçmekten biriyle geçersiz kılabilir. Varsayılan ilke yalnızca geliştiricinin bir ayar için açık bir değer belirtmemiş olduğu uygulamaları etkiler.
Varsayılan ilke ayarlanıyor
Varsayılan ilkeyi ayarlamak için, bir yönetici aşağıdaki kayıt defteri anahtarı altındaki sistem kayıt defterinde bilinen değerleri ayarlayabilir:
HKLM\SOFTWARE\Microsoft\DotNetPackages\Microsoft.AspNetCore.DataProtection
64 bitlik bir işletim sistemdeyse ve 32 bit uygulamaların davranışını etkilemek istiyorsanız Yukarıdaki anahtarın Wow6432Node eşdeğerini yapılandırmayı unutmayın.
Desteklenen değerler aşağıda gösterilmiştir.
| Değer | Tür | Açıklama |
|---|---|---|
| EncryptionType | string | Veri koruma için hangi algoritmaların kullanılması gerektiğini belirtir. Değer CNG-CBC, CNG-GCM veya yönetilen olmalıdır ve aşağıda daha ayrıntılı olarak açıklanmıştır. |
| DefaultKeyLifetime | DWORD | Yeni oluşturulan anahtarların yaşam süresini belirtir. Değer, gün cinsinden belirtilir ve >= 7 olmalıdır. |
| Keyescrowhavuzları | string | Anahtar Emanet için kullanılan türleri belirtir. Değer, listedeki her öğe ıkeyescrowsinkuygulayan bir türün derleme nitelikli adı olduğunda, noktalı virgülle ayrılmış anahtar Emanet listesidir. |
Şifreleme türleri
encryptiontype değeri cng-CBC ise, sistem gizlilik ve Windows CNG tarafından sunulan hizmetlerle özgünlük için bir CBC modu simetrik blok şifresi kullanacak şekilde yapılandırılır (daha fazla ayrıntı için bkz. özel Windows CNG algoritmaları belirtme ). Her biri CngCbcAuthenticatedEncryptionSettings türündeki bir özelliğe karşılık gelen aşağıdaki ek değerler desteklenir.
| Değer | Tür | Açıklama |
|---|---|---|
| EncryptionAlgorithm | string | CNG tarafından anlaşılan simetrik bir blok şifre algoritması adı. Bu algoritma CBC modunda açılır. |
| EncryptionAlgorithmProvider | string | Algoritma Şifrelemealgoritması oluşturabilecek CNG sağlayıcısı uygulamasının adı. |
| EncryptionAlgorithmKeySize | DWORD | Simetrik blok şifre algoritması için türetmeye yönelik anahtarın uzunluğu (bit cinsinden). |
| HashAlgorithm | string | CNG tarafından anlaşılan karma algoritmanın adı. Bu algoritma HMAC modunda açılır. |
| HashAlgorithmProvider | string | Algoritma HashAlgorithm üreten CNG sağlayıcı uygulamasının adı. |
encryptiontype değeri cng-GCM ise sistem, Windows cng tarafından sunulan hizmetlerle gizlilik ve özgünlük için bir galoa/sayaç modu simetrik blok şifresi kullanacak şekilde yapılandırılır (daha fazla ayrıntı için bkz. özel Windows CNG algoritmaları belirtme ). Aşağıdaki ek değerler desteklenir, her biri Cnggcmakimliksidencryptionsettings türündeki bir özelliğe karşılık gelir.
| Değer | Tür | Açıklama |
|---|---|---|
| EncryptionAlgorithm | string | CNG tarafından anlaşılan simetrik bir blok şifre algoritması adı. Bu algoritma Galoa/sayaç modunda açılır. |
| EncryptionAlgorithmProvider | string | Algoritma Şifrelemealgoritması oluşturabilecek CNG sağlayıcısı uygulamasının adı. |
| EncryptionAlgorithmKeySize | DWORD | Simetrik blok şifre algoritması için türetmeye yönelik anahtarın uzunluğu (bit cinsinden). |
EncryptionType yönetiliyorsa, sistem, özgünlük için Gizlilik ve KeyedHashAlgorithm için yönetilen bir SymmetricAlgorithm kullanacak şekilde yapılandırılır (daha fazla ayrıntı için bkz. özel yönetilen algoritmalar belirtme ). Aşağıdaki ek değerler desteklenir, her biri Managedavılationcatedencryptionsettings türündeki bir özelliğe karşılık gelir.
| Değer | Tür | Açıklama |
|---|---|---|
| EncryptionAlgorithmType | string | SymmetricAlgorithm uygulayan bir türün derleme nitelikli adı. |
| EncryptionAlgorithmKeySize | DWORD | Simetrik şifreleme algoritması için türetmeye yönelik anahtarın uzunluğu (bit cinsinden). |
| ValidationAlgorithmType | string | KeyedHashAlgorithm uygulayan bir türün derleme nitelikli adı. |
EncryptionType null ya da boş dışında başka bir değere sahipse, veri koruma sistemi başlangıçta bir özel durum oluşturur.
Uyarı
Tür adlarını içeren varsayılan bir ilke ayarı yapılandırırken (EncryptionAlgorithmType, ValidationAlgorithmType, Keyescrowhavuzları), bu tür uygulama için kullanılabilir olmalıdır. Bu, masaüstü CLR üzerinde çalışan uygulamalar için, bu türleri içeren derlemelerin genel derleme önbelleğinde (GAC) bulunması anlamına gelir. .net Core üzerinde çalışan ASP.NET Core uygulamalar için, bu türleri içeren paketlerin yüklenmesi gerekir.