Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET ve Python için Azure Kuyruk Depolama istemci kitaplıkları, Azure Depolama'ya yüklemeden önce istemci uygulamalarındaki verilerin şifrelenmesi ve istemciye indirilirken verilerin şifresinin çözülmesini destekler. İstemci kitaplıkları, Azure Key Vault ile depolama hesabı anahtar yönetimi için tümleştirmeyi de destekler.
Önemli
Azure Depolama hem hizmet tarafı hem de istemci tarafı şifrelemeyi destekler. Çoğu senaryoda Microsoft, verilerinizi korumada kullanım kolaylığı için hizmet tarafı şifreleme özelliklerinin kullanılmasını önerir. Hizmet tarafı şifrelemesi hakkında daha fazla bilgi edinmek için bkz . Bekleyen veriler için Azure Depolama şifrelemesi.
İstemci tarafı şifrelemesi hakkında
Azure Kuyruk Depolama istemci kitaplığı, kullanıcı verilerini şifrelemek için AES kullanır. İstemci kitaplığında istemci tarafı şifrelemenin iki sürümü vardır:
- Sürüm 2, AES ile Galois/Counter Mode (GCM) modunu kullanır.
- Sürüm 1, AES ile Şifreleme Blok Zinciri (CBC) modunu kullanır.
Uyarı
İstemci kitaplığının CBC modu uygulamasındaki bir güvenlik açığı nedeniyle istemci tarafı şifrelemenin 1. sürümünün kullanılması artık önerilmez. Bu güvenlik açığı hakkında daha fazla bilgi için bkz Güvenlik açığını gidermek amacıyla SDK'da Azure Depolama istemci tarafı şifrelemesinin güncellenmesi. Şu anda sürüm 1 kullanıyorsanız, uygulamanızı sürüm 2'yi kullanacak şekilde güncelleştirmenizi ve verilerinizi geçirmenizi öneririz. Daha fazla kılavuz için uygulamalarınızdaki güvenlik açığını azaltma başlıklı aşağıdaki bölüme bakın.
Uygulamalarınızdaki güvenlik açığını azaltma
Kuyruk Depolama istemci kitaplığının CBC modu uygulamasında bulunan bir güvenlik açığı nedeniyle Microsoft, aşağıdaki eylemlerden birini veya birkaçını hemen gerçekleştirmenizi önerir:
İstemci tarafı şifrelemesi yerine hizmet tarafı şifreleme özelliklerini kullanmayı göz önünde bulundurun. Hizmet tarafı şifreleme özellikleri hakkında daha fazla bilgi için, bkz Dinlenimdeki veriler için Azure Depolama şifrelemesi.
İstemci tarafı şifreleme kullanmanız gerekiyorsa uygulamalarınızı istemci tarafı şifreleme v1'den istemci tarafı şifreleme v2'ye geçirin.
Aşağıdaki tabloda, uygulamalarınızı istemci tarafı şifreleme v2'ye geçirmeyi seçerseniz uygulamanız gereken adımlar özetlenmiştir:
| İstemci tarafı şifreleme durumu | Önerilen eylemler |
|---|---|
| Uygulama, istemci tarafı şifrelemeyi istemci kitaplığının yalnızca istemci tarafı şifreleme v1'i destekleyen bir sürümünü kullanıyor. | Uygulamanızı istemci kitaplığının istemci tarafı şifreleme v2'yi destekleyen bir sürümünü kullanacak şekilde güncelleştirin. Desteklenen sürümlerin listesi için bkz . İstemci tarafı şifreleme için SDK destek matrisi. kodunuzu istemci tarafı şifreleme v2 kullanacak şekilde güncelleştirin. |
| Uygulama, istemci tarafı şifreleme v2'yi destekleyen bir istemci kitaplığı sürümüyle istemci tarafı şifrelemesi kullanıyor. | kodunuzu istemci tarafı şifreleme v2 kullanacak şekilde güncelleştirin. |
Ayrıca Microsoft, verilerinizin güvenliğini sağlamaya yardımcı olmak için aşağıdaki adımları gerçekleştirmenizi önerir:
- Özel bir bağlantı üzerinden sanal ağınız (VNet) ile depolama hesabınız arasındaki tüm trafiğin güvenliğini sağlamak için depolama hesaplarınızı özel uç noktaları kullanacak şekilde yapılandırın. Daha fazla bilgi için bkz . Azure Depolama için özel uç noktaları kullanma.
- Ağ erişimini yalnızca belirli ağlara sınırlayın.
İstemci tarafı şifreleme için SDK destek matrisi
Aşağıdaki tabloda.NET ve Python için istemci kitaplıklarının hangi sürümlerinin istemci tarafı şifreleme sürümlerini desteklediği gösterilmektedir:
| .NET | Python | |
|---|---|---|
| İstemci tarafı şifreleme v2 ve v1 | Sürüm 12.11.0 ve üzeri | Sürüm 12.4.0 ve üzeri |
| Yalnızca istemci tarafı şifreleme v1 | Sürüm 12.10.0 ve öncesi | Sürüm 12.3.0 ve öncesi |
Uygulamanız .NET veya Python istemci kitaplığının önceki bir sürümüyle istemci tarafı şifreleme kullanıyorsa, önce kodunuzu istemci tarafı şifreleme v2'yi destekleyen bir sürüme yükseltmeniz gerekir. Ardından, verilerinizin şifresini çözmeniz ve istemci tarafı şifreleme v2 ile yeniden şifrelemeniz gerekir. Gerekirse, kodunuzu geçirirken, istemci tarafı şifreleme v2'yi destekleyen bir istemci kitaplığı sürümünü, istemci kitaplığının daha önceki bir sürümüyle birlikte kullanabilirsiniz.
İstemci tarafı şifreleme nasıl çalışır?
Azure Kuyruk Depolama istemci kitaplıkları, istemci tarafında verilerinizi şifrelemek ve şifresini çözmek için zarf şifrelemesi kullanır. Zarf şifrelemesi bir anahtarı bir veya daha fazla ek anahtarla şifreler.
Kuyruk Depolama istemci kitaplıkları, istemci tarafı şifreleme için kullanılan anahtarları korumak için Azure Key Vault'a dayanır. Azure Key Vault hakkında daha fazla bilgi için bkz. Azure Key Vault nedir?
Zarf tekniğiyle şifreleme ve şifre çözme
Zarf tekniğiyle şifreleme aşağıdaki gibi çalışır:
Azure Depolama istemci kitaplığı, tek seferlik kullanılan bir simetrik anahtar olan bir içerik şifreleme anahtarı (CEK) oluşturur.
Kullanıcı verileri CEK kullanılarak şifrelenir.
CEK daha sonra anahtar şifreleme anahtarı (KEK) kullanılarak sarmalanır (şifrelenir). KEK bir anahtar tanımlayıcısı ile tanımlanır ve asimetrik anahtar çifti veya simetrik anahtar olabilir. KEK'yi yerel olarak yönetebilir veya bir Azure Key Vault'ta depolayabilirsiniz.
Azure Depolama istemci kitaplığının kendisi KEK'e hiçbir zaman erişemez. Kitaplık, Key Vault tarafından sağlanan anahtar sarmalama algoritmasını çağırır. Kullanıcılar isterseniz anahtar sarmalama/açma için özel sağlayıcılar kullanmayı seçebilir.
Şifrelenmiş veriler daha sonra Azure Kuyruk Depolama'ya yüklenir. Sarmalanan anahtar, bazı ek şifreleme meta verileriyle birlikte şifrelenmiş verilerle ilişkilendirilir.
Zarf tekniğiyle şifre çözme işlemi aşağıdaki gibi çalışır:
- Azure Depolama istemci kitaplığı, kullanıcının KEK'yi yerel olarak veya bir Azure Key Vault'ta yönettiğini varsayar. Kullanıcının şifreleme için kullanılan belirli anahtarı bilmesi gerekmez. Bunun yerine, anahtarlar için farklı anahtar tanımlayıcılarını çözümleyen bir anahtar çözümleyici ayarlanabilir ve kullanılabilir.
- İstemci kitaplığı şifrelenmiş verileri ve Azure Depolama'da depolanan tüm şifreleme malzemelerini indirir.
- Sarmalanan CEK) daha sonra KEK kullanılarak çözülür (şifresi çözülür). İstemci kitaplığının bu işlem sırasında KEK'ye erişimi yoktur, ancak yalnızca Azure Anahtar Kasası'nın veya diğer anahtar deposunun açma algoritmasını çağırır.
- İstemci kitaplığı şifrelenmiş kullanıcı verilerinin şifresini çözmek için CEK kullanır.
İleti şifreleme/şifre çözme
Kuyruk iletileri herhangi bir biçimde olabileceğinden istemci kitaplığı, ileti metninde Başlatma Vektörünün (IV) ve şifrelenmiş içerik şifreleme anahtarının (CEK) bulunduğu özel bir biçim tanımlar.
Şifreleme sırasında istemci kitaplığı, 32 baytlık rastgele bir CEK ile birlikte 16 baytlık rastgele bir IV oluşturur ve bu bilgileri kullanarak kuyruk iletisi metninin zarf şifrelemesini gerçekleştirir. Sarmalanan CEK ve bazı ek şifreleme meta verileri daha sonra şifrelenmiş kuyruk iletisine eklenir. Bu değiştirilen ileti hizmette depolanır.
<MessageText>{"EncryptedMessageContents":"6kOu8Rq1C3+M1QO4alKLmWthWXSmHV3mEfxBAgP9QGTU++MKn2uPq3t2UjF1DO6w","EncryptionData":{…}}</MessageText>
Şifre çözme sırasında sarmalanan anahtar kuyruk iletisinden ayıklanır ve sıkıştırması kaldırılır. IV ayrıca kuyruk iletisinden ayıklanır ve kuyruk iletisi verilerinin şifresini çözmek için eşlenmemiş anahtarla birlikte kullanılır. Şifreleme meta verileri küçüktür (500 bayt'ın altındadır), bu nedenle kuyruk iletisi için 64 KB sınırına kadar sayılsa da etki yönetilebilir olmalıdır. Şifrelenmiş ileti, gönderilen iletinin boyutunu genişleten yukarıdaki kod parçacığında gösterildiği gibi Base64 ile kodlanmıştır.
Kuyruktaki iletilerin kısa süreli yapısı nedeniyle, istemci tarafı şifreleme v2'ye güncelleştirdikten sonra kuyruk iletilerinin şifresini çözme ve yeniden şifreleme gerekli olmamalıdır. Daha az güvenli iletiler normal kuyruk tüketimi sırasında döndürülür.
İstemci tarafı şifrelemesi ve performansı
Depolama verilerinizi şifrelemenin ek performans ek yüküne neden olduğunu unutmayın. Uygulamanızda istemci tarafı şifreleme kullandığınızda, istemci kitaplığının CEK ve IV'yi güvenli bir şekilde oluşturması, içeriğin kendisini şifrelemesi, anahtar sarmalama için seçtiğiniz anahtar deposuyla iletişim kurması ve ek meta verileri biçimlendirmesi ve karşıya yüklemesi gerekir. Bu ek yük, şifrelenen veri miktarına bağlı olarak değişir. Müşterilerin geliştirme sırasında uygulamalarını her zaman performans açısından test etmelerini öneririz.