Anahtar türleri, algoritmalar ve işlemler

Key Vault iki kaynak türünü destekler: kasalar ve yönetilen HSM'ler. Her iki kaynak türü de çeşitli şifreleme anahtarlarını destekler. Desteklenen anahtar türlerinin ve her kaynak türüne göre koruma türlerinin özetini görmek için bkz . Anahtarlar hakkında.

Aşağıdaki tabloda anahtar türlerinin ve desteklenen algoritmaların özeti gösterilmektedir.

Anahtar türleri/boyutları/eğrileri Şifreleme/Şifre Çözme
(Sarmala/Kaldır)
İmzala/Doğrula
EC-P256, EC-P256K, EC-P384, EC-P521 NA ES256
ES256K
ES384
ES512
RSA 2K, 3K, 4K RSA1_5
RSA-OAEP
RSA-OAEP-256
PS256
PS384
PS512
RS256
RS384
RS512
RSNULL
AES 128 bit, 256 bit
(Yalnızca yönetilen HSM)
AES-KW
AES-GCM
AES-CBC
NA

EC algoritmaları

Aşağıdaki algoritma tanımlayıcıları EC-HSM anahtarlarıyla desteklenir

Eğri Türleri

  • P-256 - DSS FIPS PUB 186-4'te tanımlanan NIST eğrisi P-256.
  • P-256K - SEC 2: Önerilen Üç Nokta Eğrisi Etki Alanı Parametreleri'nde tanımlanan SEC eğrisi SECP256K1.
  • P-384 - DSS FIPS PUB 186-4'te tanımlanan NIST eğrisi P-384.
  • P-521 - DSS FIPS PUB 186-4'te tanımlanan NIST eğrisi P-521.

İMZALA/DOĞRULA

  • ES256 - SHA-256 için ECDSA özetleri ve P-256 eğrisi ile oluşturulan anahtarlar. Bu algoritma RFC7518 açıklanmıştır.
  • ES256K - SHA-256 özetleri ve P-256K eğrisi ile oluşturulan anahtarlar için ECDSA. Bu algoritma standartlaştırmayı bekliyor.
  • ES384 - SHA-384 için ECDSA özetleri ve P-384 eğrisi ile oluşturulan anahtarlar. Bu algoritma RFC7518 açıklanmıştır.
  • ES512 - SHA-512 için ECDSA özetleri ve P-521 eğrisi ile oluşturulan anahtarlar. Bu algoritma RFC7518 açıklanmıştır.

RSA algoritmaları

Aşağıdaki algoritma tanımlayıcıları RSA ve RSA-HSM anahtarlarıyla desteklenir

WRAPKEY/UNWRAPKEY, ŞIFRELEME/ŞIFRE ÇÖZME

  • RSA1_5 - RSAES-PKCS1-V1_5 [RFC3447] anahtar şifrelemesi
  • RSA-OAEP - A.2.1 Bölümünde RFC 3447 tarafından belirtilen varsayılan parametrelerle En uygun Asimetrik Şifreleme Doldurma (OAEP) [RFC3447] kullanan RSAES. Bu varsayılan parametreler SHA-1 karma işlevini ve SHA-1 ile MGF1'in maske oluşturma işlevini kullanır.
  • RSA-OAEP-256 – SHA-256 karma işlevi ve SHA-256 ile MGF1'in maske oluşturma işlevi ile Optimal Asimetrik Şifreleme Doldurma kullanan RSAES

İMZALA/DOĞRULA

  • PS256 - RFC7518'da açıklandığı gibi SHA-256 kullanan RSASSA-PSS ve SHA-256 ile MGF1.
  • PS384 - RFC7518'da açıklandığı gibi SHA-384 kullanan RSASSA-PSS ve SHA-384 ile MGF1.
  • PS512 - RFC7518'de açıklandığı gibi SHA-512 kullanan RSASSA-PSS ve SHA-512 ile MGF1.
  • RS256 - SHA-256 kullanan RSASSA-PKCS-v1_5. Sağlanan uygulama özet değeri SHA-256 kullanılarak hesaplanmalıdır ve uzunluğu 32 bayt olmalıdır.
  • RS384 - SHA-384 kullanan RSASSA-PKCS-v1_5. Sağlanan uygulama özet değeri SHA-384 kullanılarak hesaplanmalıdır ve 48 bayt uzunluğunda olmalıdır.
  • RS512 - SHA-512 kullanan RSASSA-PKCS-v1_5. Sağlanan uygulama özet değeri SHA-512 kullanılarak hesaplanmalıdır ve 64 bayt uzunluğunda olmalıdır.
  • RSNULL - Belirli TLS senaryolarını etkinleştirmek için özelleştirilmiş bir kullanım örneği olan RFC2437 bakın.

Not

DigestInfo, RS256, RS384 ve RS512 algoritmalarının oluşturduğu İmza işlemleri için sunucu tarafında oluşturulur.

Simetrik anahtar algoritmaları (yalnızca Yönetilen HSM)

  • AES-KW - AES Anahtar Kaydırma (RFC3394).
  • AES-GCM - Galois Sayaç Modunda AES şifrelemesi (NIST SP 800-38d)
  • AES-CBC - Şifreleme Blok Zincirleme Modunda AES şifrelemesi (NIST SP 800-38a)

Not

İmzalayın ve işlem algoritmalarının anahtar türüyle eşleşmesi gerektiğini doğrulayın, aksi takdirde hizmet anahtar boyutu döndürecek yanlış hata.

Önemli işlemler

Yönetilen HSM de dahil olmak üzere Key Vault, anahtar nesneleri üzerinde aşağıdaki işlemleri destekler:

  • Oluşturma: İstemcinin Key Vault'ta anahtar oluşturmasına izin verir. Anahtarın değeri Key Vault tarafından oluşturulur ve depolanır ve istemciye yayımlanmaz. Asimetrik anahtarlar Key Vault'ta oluşturulabilir.
  • İçeri Aktarma: İstemcinin mevcut bir anahtarı Key Vault'a içeri aktarmasına izin verir. Asimetrik anahtarlar, bir JWK yapısı içinde birkaç farklı paketleme yöntemi kullanılarak Key Vault'a aktarılabilir.
  • Güncelleştirme: Daha önce Key Vault'ta depolanan bir anahtarla ilişkili meta verileri (anahtar öznitelikleri) değiştirmek için yeterli izinlere sahip bir istemciye izin verir.
  • Sil: Yeterli izinlere sahip bir istemcinin Key Vault'tan bir anahtarı silmesine izin verir.
  • Liste: İstemcinin belirli bir Key Vault'taki tüm anahtarları listelemesine izin verir.
  • Sürümleri listeleme: İstemcinin belirli bir Key Vault'taki belirli bir anahtarın tüm sürümlerini listelemesine izin verir.
  • Get: İstemcinin Key Vault'taki belirli bir anahtarın ortak bölümlerini almasına izin verir.
  • Yedekleme: Anahtarı korumalı formda dışarı aktarır.
  • Geri yükleme: Önceden yedeklenmiş bir anahtarı içeri aktarır.
  • Sürüm: Gizli bir işlem ortamında çalışan yetkili kodun anahtarını güvenli bir şekilde serbest bırakır. Güvenilen Yürütme Ortamı'nın (TEE) anahtarın release_policy gereksinimlerini karşıladığını kanıtlamasını gerektirir.
  • Döndürme: Anahtarın yeni sürümünü oluşturarak mevcut bir anahtarı döndürün (yalnızca Key Vault).

Daha fazla bilgi için bkz . Key Vault REST API başvurusundaki anahtar işlemleri.

Key Vault'ta bir anahtar oluşturulduktan sonra, anahtar kullanılarak aşağıdaki şifreleme işlemleri gerçekleştirilebilir:

  • İmzala ve Doğrula: Key Vault, imza oluşturmanın bir parçası olarak içeriğin karmasını desteklemediğinden, bu işlem kesinlikle "karmayı imzala" veya "karmayı doğrula" işlemidir. Uygulamaların yerel olarak imzalanacak verileri karma olarak oluşturması ve ardından Key Vault'un karmayı imzalamasını istemesi gerekir. İmzalı karmaların doğrulanması, [ortak] anahtar malzemesine erişimi olmayan uygulamalar için kolaylık sağlayan bir işlem olarak desteklenir. En iyi uygulama performansı için VERIFY işlemlerinin yerel olarak gerçekleştirilmesi gerekir.
  • Anahtar Şifrelemesi / Sarmalama: Key Vault'ta depolanan bir anahtar, genellikle simetrik içerik şifreleme anahtarı (CEK) olan başka bir anahtarı korumak için kullanılabilir. Key Vault'taki anahtar asimetrik olduğunda anahtar şifrelemesi kullanılır. Örneğin, RSA-OAEP ve WRAPKEY/UNWRAPKEY işlemleri ENCRYPT/DECRYPT ile eşdeğerdir. Key Vault'taki anahtar simetrik olduğunda anahtar sarmalama kullanılır. Örneğin, AES-KW. WRAPKEY işlemi, [ortak] anahtar malzemesine erişimi olmayan uygulamalar için kolaylık sağlamak amacıyla desteklenir. En iyi uygulama performansı için WRAPKEY işlemleri yerel olarak gerçekleştirilmelidir.
  • Şifreleme ve Şifre Çözme: Tek bir veri bloğunu şifrelemek veya şifresini çözmek için Key Vault'ta depolanan bir anahtar kullanılabilir. Bloğun boyutu anahtar türüne ve seçilen şifreleme algoritmasına göre belirlenir. Şifreleme işlemi, [ortak] anahtar malzemesine erişimi olmayan uygulamalar için kolaylık sağlamak için sağlanır. En iyi uygulama performansı için ŞIFRELEME işlemleri yerel olarak gerçekleştirilmelidir.

Asimetrik anahtarlar kullanan WRAPKEY/UNWRAPKEY gereksiz görünebilir (işlem ŞIFRELEME/DECRYPT ile eşdeğer olduğundan), ayrı işlemlerin kullanılması önemlidir. Ayrım, bu işlemlerin anlamsal ve yetkilendirme ayrımını ve hizmet tarafından desteklenen diğer anahtar türlerinin tutarlılığını sağlar.

Key Vault, EXPORT işlemlerini desteklemez. Sistemde bir anahtar sağlandıktan sonra ayıklanamaz veya anahtar malzemesi değiştirilemez. Ancak Key Vault kullanıcıları, anahtarlarını silindikten sonra olduğu gibi diğer kullanım örnekleri için gerektirebilir. Bu durumda, anahtarı korumalı bir biçimde dışarı/içeri aktarmak için BACKUP ve RESTORE işlemlerini kullanabilirler. BACKUP işlemi tarafından oluşturulan anahtarlar Key Vault dışında kullanılamaz. Alternatif olarak, IMPORT işlemi birden çok Key Vault örneğinde kullanılabilir.

Kullanıcılar, Key Vault'un desteklediği şifreleme işlemlerinden herhangi birini JWK nesnesinin key_ops özelliğini kullanarak anahtar temelinde kısıtlayabilir.

JWK nesneleri hakkında daha fazla bilgi için bkz . JSON Web Anahtarı (JWK).

Anahtar döndürme ilkesi işlemleri

Anahtar kasası anahtarı otomatik döndürme, anahtar otomatik döndürme ilkesi yapılandırılarak ayarlanabilir. Yalnızca Key Vault kaynağında kullanılabilir.

  • Döndürme İlkesini Alma: Döndürme ilkesi yapılandırmasını alın.
  • Döndürme İlkesini Ayarla: Döndürme ilkesi yapılandırmasını ayarlayın.

Anahtar öznitelikleri

Anahtar malzemeye ek olarak aşağıdaki öznitelikler de belirtilebilir. JSON İsteğinde, öznitelik belirtilmemiş olsa bile öznitelik anahtar sözcüğü ve '{' '}' ayraçları gereklidir.

  • etkin: boole, isteğe bağlı, varsayılan true. Anahtarın etkinleştirilip etkinleştirilmediğini ve şifreleme işlemleri için kullanılıp kullanılamayacağını belirtir. Etkin öznitelik nbf ve exp ile kullanılır. nbf ile exp arasında bir işlem gerçekleştiğinde, yalnızca etkin true olarak ayarlanırsa buna izin verilir. Nbf / exp penceresinin dışındaki işlemlere şifre çözme, serbest bırakma, açma ve doğrulama dışında otomatik olarak izin verilmez.
  • nbf: IntDate, isteğe bağlı, varsayılan artık. nbf (önce değil) özniteliği şifre çözme, serbest bırakma, açma ve doğrulama dışında şifreleme işlemleri için anahtarıN KULLANILMAMASI GEREKTİĞİ zamanı tanımlar. nbf özniteliğinin işlenmesi için geçerli tarih/saatin nbf özniteliğinde listelenen önce olmayan tarih/saatlerden sonra veya buna eşit olması GEREKIR. Key Vault, saat dengesizliklerini hesaba katmak için normalde birkaç dakikadan fazla olmayan küçük bir yol sağlayabilir. Değeri, IntDate değeri içeren bir sayı OLMALıDıR.
  • exp: IntDate, isteğe bağlı, varsayılan "sonsuza kadar". exp (süre sonu) özniteliği şifre çözme, serbest bırakma, açma ve doğrulama dışında şifreleme işlemi için anahtarıN KULLANILMAMASI GEREKTİĞİ süre sonunu tanımlar. exp özniteliğinin işlenmesi için geçerli tarih/saatin exp özniteliğinde listelenen son kullanma tarihinden/saatinden önce olması GEREKIR. Key Vault, saat dengesizliklerini hesaba katmak için genellikle birkaç dakikadan fazla olmayan küçük bir yol sağlayabilir. Değeri, IntDate değeri içeren bir sayı OLMALıDıR.

Anahtar öznitelikleri içeren herhangi bir yanıta dahil edilen daha fazla salt okunur öznitelik vardır:

  • created: IntDate, isteğe bağlı. Oluşturulan öznitelik, anahtarın bu sürümünün ne zaman oluşturulduğunu gösterir. Bu öznitelik eklenmeden önce oluşturulan anahtarlar için değer null değeridir. Değeri, IntDate değeri içeren bir sayı OLMALıDıR.
  • güncelleştirildi: IntDate, isteğe bağlı. Güncelleştirilmiş özniteliği, anahtarın bu sürümünün ne zaman güncelleştirildiğini gösterir. Değer, bu özniteliğin eklenmesinden önce en son güncelleştirilen anahtarlar için null değeridir. Değeri, IntDate değeri içeren bir sayı OLMALıDıR.
  • hsmPlatform: dize, isteğe bağlı. Bir anahtarı koruyan temel HSM Platformu.
    • 2 hsmPlatform değeri, anahtarın en son FIPS 140 Düzey 3 doğrulanmış HSM platformumuz tarafından korunduğu anlamına gelir.
    • 1 hsmPlatform değeri, anahtarın önceki FIPS 140 Düzey 2 doğrulanmış HSM platformumuz tarafından korunduğu anlamına gelir.
    • 0 hsmPlatform değeri, anahtarın FIPS 140 Düzey 1 HSM yazılım şifreleme modülü tarafından korunduğu anlamına gelir.
    • Bu bir Yönetilen HSM havuzu tarafından ayarlanmamışsa, en son FIPS 140 Düzey 3 doğrulanmış HSM platformumuz tarafından korunur.

Anahtarların oluşturuldukları HSM'ye bağlı olduğunu unutmayın. Yeni anahtarlar sorunsuz bir şekilde oluşturulur ve yeni HSM'lerde depolanır. Anahtarları geçirmenin veya aktarmanın hiçbir yolu olmasa da, yeni anahtar sürümleri yeni HSM'lerde otomatik olarak kullanılır. Yeni bir anahtara geçiş hakkında daha fazla bilgi için bkz . Anahtar iş yüklerini geçirme.

IntDate ve diğer veri türleri hakkında daha fazla bilgi için bkz. [Anahtarlar, gizli diziler ve sertifikalar hakkında: Veri türleri.

Tarih-saat denetimli işlemler

Nbf / exp penceresinin dışındaki henüz geçerli olmayan ve süresi dolan anahtarlar şifre çözme, serbest bırakma, açma ve doğrulama işlemleri için çalışır (403, Yasak değerini döndürmez). Henüz geçerli olmayan durumu kullanmanın mantığı, bir anahtarın üretim kullanımından önce test edilmesine izin vermektir. Süresi dolan durumu kullanmanın mantığı, anahtar geçerli olduğunda oluşturulan verilerde kurtarma işlemlerine izin vermektir. Ayrıca Key Vault ilkelerini kullanarak veya etkin anahtar özniteliğini false olarak güncelleştirerek anahtar erişimini devre dışı bırakabilirsiniz.

Veri türleri hakkında daha fazla bilgi için bkz . Veri türleri.

Diğer olası öznitelikler hakkında daha fazla bilgi için bkz . JSON Web Anahtarı (JWK).

Anahtar etiketleri

Etiketler biçiminde uygulamaya özgü daha fazla meta veri belirtebilirsiniz. Key Vault, her biri 256 karakterlik bir ada ve 256 karakter değerine sahip olabilecek en fazla 15 etiketi destekler.

Not

Etiketler, listeye sahipse veya bu anahtara izin alıyorsa arayan tarafından okunabilir.

Anahtar erişim denetimi

Key Vault tarafından yönetilen anahtarlar için erişim denetimi, anahtar kapsayıcısı işlevi gören bir Key Vault düzeyinde sağlanır. Anahtar Kasası rol tabanlı erişim denetimi (önerilen) veya eski kasa erişim ilkesi izin modelini kullanarak anahtarlara erişimi denetleyebilirsiniz. Rol tabanlı izin modelinin anahtarları yönetmek için önceden tanımlanmış üç rolü vardır: 'Key Vault Şifreleme Yetkilisi', 'Key Vault Şifreleme Kullanıcısı', 'Key Vault Hizmeti Şifreleme Kullanıcısı' ve kapsamı abonelik, kaynak grubu veya kasa düzeyi olarak ayarlanabilir.

Kasa erişim ilkesi izin modeli izinleri:

  • Anahtar yönetimi işlemleri için izinler

    • get: Anahtarın ortak bölümünü ve özniteliklerini okuma
    • list: Anahtar kasasında depolanan anahtarın anahtarlarını veya sürümlerini listeleme
    • update: Bir anahtarın özniteliklerini güncelleştirme
    • create: Yeni anahtarlar oluşturma
    • içeri aktarma: Anahtarı anahtar kasasına aktarma
    • delete: Anahtar nesnesini silme
    • kurtarma: Silinen anahtarı kurtarma
    • yedekleme: Anahtar kasasındaki bir anahtarı yedekleme
    • geri yükleme: Yedeklenen anahtarı bir anahtar kasasına geri yükleme
  • Şifreleme işlemleri için izinler

    • şifre çözme: Bayt dizisinin korumasını silmek için anahtarını kullanın
    • şifreleme: Rastgele bayt dizisini korumak için anahtarını kullanın
    • unwrapKey: Sarmalanmış simetrik anahtarların korumasını açmak için anahtarı kullanın
    • wrapKey: Simetrik anahtarı korumak için anahtarı kullanın
    • verify: Özetleri doğrulamak için anahtarını kullanın
    • sign: Özetleri imzalamak için anahtarını kullanın
  • Ayrıcalıklı işlemler için izinler

    • purge: Silinen anahtarı temizleme (kalıcı olarak silme)
    • release: Anahtarın release_policy eşleşen gizli bir işlem ortamına bırakın
  • Döndürme ilkesi işlemleri için izinler

    • rotate: Anahtarın yeni sürümünü oluşturarak mevcut bir anahtarı döndürme (yalnızca Key Vault)
    • döndürme ilkesi alma: Döndürme ilkesi yapılandırmasını alma
    • döndürme ilkesini ayarlama: Döndürme ilkesi yapılandırmasını ayarlama

Anahtarlarla çalışma hakkında daha fazla bilgi için bkz . Key Vault REST API başvurusundaki Anahtar işlemleri.

Sonraki adımlar