Aracılığıyla paylaş


Azure Cloud HSM'de anahtar yönetimi

Etkili anahtar yönetimi, Azure Cloud HSM'nin performansını, güvenliğini ve verimliliğini iyileştirmek için kritik öneme sahiptir. Bu makalede anahtar storage sınırlarını, anahtar sarmalama güvenliğini, anahtar özniteliklerini ve önbelleğe alma stratejilerini işlemeye yönelik en iyi yöntemler ve öneriler sağlanır.

Anahtar depolama sınırını yönetme

Donanım güvenlik modüllerinin (HSM) tek seferde depolanabilecek en fazla belirteç ve oturum anahtarı sayısı sınırı vardır. Bu sınırlarla ilgili ayrıntılar için bkz. Azure Cloud HSM hizmet sınırları.

Azure Cloud HSM hizmet sınırlarını aşmamak için, verimli anahtar yönetimi için aşağıdaki stratejilerden birini veya daha fazlasını kullanmayı göz önünde bulundurun:

  • Tuş döndürme: Eski anahtarların değiştirildiğinden ve yeni anahtarlar için alan boşaltıldığından emin olmak için tuşları sık sık döndürün. Sık döndürme, güvenliği korurken HSM'nin storage sınırları içinde kalmasına yardımcı olur.
  • Anahtar hiyerarşisi: Diğer anahtarları şifrelemek için birincil anahtarları kullandığınız bir anahtar hiyerarşisi kullanın. Bu hiyerarşi, doğrudan HSM'de depolanması gereken anahtar sayısını azaltır.
  • Anahtar paylaşımı ve yeniden kullanma: Birden çok oturumu veya belirteci olan uygulamalar için anahtarları paylaşmayı veya depolanan toplam sayıyı azaltmak için bunları yeniden kullanmayı göz önünde bulundurun.
  • Anahtar silme: Artık bir anahtara ihtiyacınız kalmadığından (örneğin, bir oturum bittikten sonra), yeni anahtarlar için yer açmak için anahtarın güvenli bir şekilde silindiğinden emin olun.

Uyarı

Azure Cloud HSM dağıtımınızdaki eşitleme ve yedeklemelerin tamamlandığından emin olmak için bir anahtar oluşturduktan sonra 24 saat bekleyin.

Dikkat

Anahtar yalnızca bir düğümde varsa ve bu düğüm yedek olmadan başarısız olursa, kurtarma seçeneği olmadan şifrelenmiş verileriniz kalıcı olarak kilitlenebilir. Anahtarların tüm düğümler arasında eşitlendiğini her zaman doğrulayın ve düzenli yedeklemeleri koruyun.

Kullanıcı oluştururken, kullanıcıların Azure Cloud HSM kümesinin tüm düğümlerinde mevcut olduğundan emin olmak müşterinin sorumluluğundadır. Daha fazla bilgi için bkz. HSM kullanıcılarınızın kümenizin tüm düğümlerinde kullanılabilir olduğundan emin olun. Eksik anahtarları eşitleme adımları için bkz. Azure Cloud HSM düğümleri arasında kullanıcıları ve anahtarları eşitleme.

Anahtar sarmalamayı yönetme

Anahtarları ayıklanabilir veya çıkarılamaz olarak işaretlemek için Azure Cloud HSM'de EXTRACTABLE özniteliğini kullanırsınız. Varsayılan olarak, HSM anahtarları ayıklanabilir olarak ayarlanır. HSM'den ayıklanabilir anahtarları anahtarları şifreleyen anahtar sarmalama yoluyla dışarı aktarabilirsiniz. Anahtarlar, kullanımdan önce aynı sarmalama anahtarı aracılığıyla çözülmeyi gerektirir.

Buna karşılık, çıkarılamaz anahtarlar Azure Cloud HSM'den hiçbir koşulda dışarı aktarılamaz. Anahtarları çıkarılamaz olarak ayarladıktan sonra, bunları ayıklanabilir olarak değiştirmenin hiçbir yolu yoktur. Anahtarlarınızın ayıklanabilir olması gerekip gerekmediğini dikkatle göz önünde bulundurmanız ve anahtar özniteliğini buna göre ayarlamanız çok önemlidir.

Uygulamanız anahtar sarmalama gerektiriyorsa , güvenilir anahtar sarmalama kullanmanızı öneririz. Bu yaklaşım, HSM kullanıcılarının yalnızca yöneticinin açıkça güvenilen olarak belirlediği anahtarları sarmalayıp kaldırmasını kısıtlar:

  • "Öznitelik belirli bir değerine ayarlanmış anahtarlar, maskelenmiş nesneler dışında dışarı aktarılamaz." HSM'den asla ayrılmasını istemediğiniz anahtarlar için idealdir.

  • WRAP_WITH_TRUSTED=1: Varsayılan olarak, Azure Cloud HSM SDK'sı aracılığıyla oluşturulan ayıklanabilir anahtarlar güvenilen anahtar sarmalama kullanır. Ancak, PKCS#11 belirtimi varsayılan olarak olarak ayarlanır. Güvenilir anahtar sarmalama olmadan, şifreleme kullanıcısı herhangi bir yetkilendirme olmadan anahtarın özel malzemesini dışarı aktarabilir. İstemci uygulamasına erişimi olan ve bu anahtarları kullanan herkes bunları düz metin olarak dışa aktarabilir.

Azure Cloud HSM sağlayıcıları için temel öznitelik desteği

Azure Cloud HSM sağlayıcısı Özel ve simetrik anahtarlar için varsayılan öznitelikler EXTRACTABLE=0'i destekler Sağlayıcı bünyesinde WRAP_WITH_TRUSTED yapılandırılmasını destekler Varsayılan WRAP_WITH_TRUSTED değeri
azcloudhsm_util , Evet Evet ( parametrelerle ayarlanabilir)
PKCS#11 , Evet Evet (PKCS#11 belirtiminde belirtilir, ancak API'de belirli bir değere ayarlanabilir)
CNG/KSP , Hayı Hayı 1
OpenSSL altyapısı , Hayı Hayı 1
JCE , , Evet Hayı 1

Kriptografi API'si: Yeni Nesil (CNG) sağlayıcısı kullanılarak oluşturulan anahtarlar her zaman varsayılan olarak ayarlanır. Anahtar tutamaçları aracılığıyla diğer Azure Cloud HSM araçlarından CNG sağlayıcısına anahtarları aktarmak için CavImportKey.exe aracını kullanabilirsiniz. Bu içeri aktarma işlemi, mevcut anahtar tanıtıcılarından anahtar saklama sağlayıcısında (KSP) bir anahtar oluşturur.

Sağlayıcı olarak CNG veya KSP kullanan sertifika yetkilileri için, CNG sağlayıcısında oluşturulan tüm anahtarlar ayıklanabilir olarak işaretlenir. Bir anahtar HSM'de (kullanıcı tarafından oluşturulan anahtar şifreleme anahtarı gibi) olarak işaretlenmişse, değişiklik sonrasında bile bu anahtarların özel anahtarını düz metin olarak ayıklamak için kullanılabilir.

Böyle durumlarda, anahtarın olarak işaretlenmesini istemiyorsanız, anahtarı oluşturmak için kullanmanızı öneririz. Oluşturulan anahtarların istenen özniteliklere sahip olduğunu doğrulamak için kullanmanızı öneririz.

Anahtar izinlerini yönetmek için anahtar özniteliklerini kullanma

İzinler gibi önemli özellikleri yönetmek için anahtar öznitelikleri kullanın. Anahtar oluştururken, anahtar özniteliklerini kullanarak bu anahtar için belirli işlemlere izin veren veya kısıtlayan izinleri belirtin. Yalnızca amaçlanan amaçları için gerekli özniteliklere sahip anahtarlar oluşturmanızı öneririz.

Örneğin, şifreleme için kullanılan Gelişmiş Şifreleme Standardı (AES) anahtarı, anahtarları HSM'nin dışına sarmalama özelliğine sahip olmamalıdır. Azure Cloud HSM SDK öznitelikleri hakkında daha fazla bilgi için bkz. integration guides.

Anahtar nesnelerini önbelleğe alarak gecikme süresini iyileştirme

Gecikme süresini azaltmak için mümkün olduğunca anahtar nesnelerini önbelleğe almayı göz önünde bulundurun. Anahtar aramalarında, Azure Cloud HSM kümenizdeki her HSM sorgulanır. Bu işlem maliyetlidir ve verimli bir şekilde ölçeklendirilemez. Anahtar aramaları yöntemi sağlayıcıya bağlıdır:

  • PKCS#11 için anahtar aramalarında API kullanılır .
  • Java Şifreleme Uzantısı (JCE) için anahtar aramaları değerini kullanır.

En iyi performans için, uygulama başlatma sırasında yalnızca bir kez anahtar bulma komutlarını (ve gibi) kullanmanızı öneririz. Döndürülen anahtar nesnesini uygulama belleğinde depolayın. Bu anahtar nesnesine daha sonra ihtiyacınız olduğunda, her işlemle sorgulamak yerine önbellekten alın. Sorgu yapmak önemli bir performans yüküne neden olur.