ASP.NET Core'da Veri Koruma makine genelinde ilke desteği
Gönderen Rick Anderson
Windows üzerinde çalışırken, Veri Koruma sistemi ASP.NET Core Data Protection kullanan tüm uygulamalar için varsayılan makine genelinde ilke ayarlama desteği sınırlıdır. Genel fikir, bir yöneticinin makinedeki her uygulamayı el ile güncelleştirmeye gerek kalmadan kullanılan algoritmalar veya anahtar ömrü gibi varsayılan bir ayarı değiştirmek isteyebileceğidir.
Uyarı
Sistem yöneticisi varsayılan ilkeyi ayarlayabilir, ancak zorunlu kılamaz. Uygulama geliştirici her zaman kendi seçtiği herhangi bir değeri geçersiz kılabilir. Varsayılan ilke yalnızca geliştiricinin bir ayar için açık bir değer belirtmediği uygulamaları etkiler.
Varsayılan ilkeyi ayarlama
Varsayılan ilkeyi ayarlamak için, yönetici sistem kayıt defterinde aşağıdaki kayıt defteri anahtarı altında bilinen değerleri ayarlayabilir:
HKLM\SOFTWARE\Microsoft\DotNetPackages\Microsoft.AspNetCore.DataProtection
64 bit işletim sistemi kullanıyorsanız 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ü | Tanım |
---|---|---|
EncryptionType | Dize | Veri koruması için hangi algoritmaların kullanılacağını 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 ömrünü belirtir. Değer gün cinsinden belirtilir ve = 7 olmalıdır >. |
KeyEscrowSinks | Dize | Anahtar emaneti için kullanılan türleri belirtir. Değer, anahtar emanet havuzlarının noktalı virgülle ayrılmış listesidir; burada listedeki her öğe, uygulayan IKeyEscrowSinkbir türün derleme nitelikli adıdır. |
Şifreleme türleri
EncryptionType CNG-CBC ise, sistem gizlilik için CBC modu simetrik blok şifrelemesi ve Windows CNG tarafından sağlanan hizmetlerle orijinallik için HMAC kullanacak şekilde yapılandırılır (daha fazla ayrıntı için bkz . Özel Windows CNG algoritmaları belirtme). Her biri CngCbcAuthenticatedEncryption Ayarlar türündeki bir özelliğe karşılık gelen aşağıdaki ek değerler desteklenir.
Değer | Türü | Tanım |
---|---|---|
Encryptionalgorithm | Dize | CNG tarafından anlaşılan simetrik blok şifreleme algoritmasının adı. Bu algoritma CBC modunda açılır. |
EncryptionAlgorithmProvider | Dize | EncryptionAlgorithm algoritmasını üretebilen CNG sağlayıcı uygulamasının adı. |
EncryptionAlgorithmKeySize | DWORD | Simetrik blok şifreleme algoritması için türetilen anahtarın uzunluğu (bit cinsinden). |
HashAlgorithm | Dize | CNG tarafından anlaşılan bir karma algoritmasının adı. Bu algoritma HMAC modunda açılır. |
HashAlgorithmProvider | Dize | HashAlgorithm algoritmasını üretebilen CNG sağlayıcı uygulamasının adı. |
EncryptionType CNG-GCM ise sistem, Windows CNG tarafından sağlanan hizmetlerle gizlilik ve kimlik doğrulaması için Galois/Sayaç Modu simetrik blok şifrelemesi kullanacak şekilde yapılandırılır (daha fazla ayrıntı için bkz . Özel Windows CNG algoritmaları belirtme). Her biri CngGcmAuthenticatedEncryption Ayarlar türündeki bir özelliğe karşılık gelen aşağıdaki ek değerler desteklenir.
Değer | Türü | Tanım |
---|---|---|
Encryptionalgorithm | Dize | CNG tarafından anlaşılan simetrik blok şifreleme algoritmasının adı. Bu algoritma Galois/Sayaç Modunda açılır. |
EncryptionAlgorithmProvider | Dize | EncryptionAlgorithm algoritmasını üretebilen CNG sağlayıcı uygulamasının adı. |
EncryptionAlgorithmKeySize | DWORD | Simetrik blok şifreleme algoritması için türetilen anahtarın uzunluğu (bit cinsinden). |
EncryptionType Yönetiliyorsa, sistem gizlilik için yönetilen bir SymmetricAlgorithm ve kimlik doğrulaması için KeyedHashAlgorithm kullanacak şekilde yapılandırılır (daha fazla ayrıntı için bkz . Özel yönetilen algoritmaları belirtme). Her biri ManagedAuthenticatedEncryption Ayarlar türündeki bir özelliğe karşılık gelen aşağıdaki ek değerler desteklenir.
Değer | Türü | Tanım |
---|---|---|
EncryptionAlgorithmType | Dize | SymmetricAlgorithm uygulayan bir türün derleme nitelikli adı. |
EncryptionAlgorithmKeySize | DWORD | Simetrik şifreleme algoritması için türetilen anahtarın uzunluğu (bit cinsinden). |
ValidationAlgorithmType | Dize | KeyedHashAlgorithm uygulayan bir türün derleme nitelikli adı. |
EncryptionType null veya boş dışında bir değere sahipse, Veri Koruma sistemi başlangıçta bir özel durum oluşturur.
Uyarı
Tür adlarını (EncryptionAlgorithmType, ValidationAlgorithmType, KeyEscrowSinks) içeren bir varsayılan ilke ayarı yapılandırırken, türlerin uygulama tarafından kullanılabilir olması gerekir. Bu, Desktop CLR üzerinde çalışan uygulamalar için bu türleri içeren derlemelerin Genel Bütünleştirilmiş Kod Önbelleği'nde (GAC) bulunması gerektiği anlamına gelir. .NET Core üzerinde çalışan ASP.NET Core uygulamaları için bu türleri içeren paketler yüklenmelidir.
ASP.NET Core