Düzenle

Aracılığıyla paylaş


SEAL ile homomorfik şifreleme

.NET

Bu makalede, homomorfik şifrelemenin nasıl ve ne zaman kullanılacağı ve açık kaynak Microsoft Simple Encrypted Aritmetik Kitaplığı (SEAL) ile homomorfik şifrelemenin nasıl uygulanılacağı açıklanır.

Mimari

Geleneksel ve SEAL şifrelemeyi gösteren diyagram.

Bu mimarinin bir Visio dosyasını indirin.

İş Akışı

Geleneksel şifreleme düzenleri üç işlevden oluşur: anahtar oluşturma, şifreleme ve şifre çözme. Simetrik anahtar şifreleme düzenleri hem şifreleme hem de şifre çözme için aynı gizli anahtarı kullanır. Güvenli, dış kaynaklı bulut depolaması için büyük miktarda verinin verimli bir şekilde şifrelenmesini sağlar. Ortak anahtar şifreleme şemaları şifreleme için ortak anahtar ve şifre çözme için ayrı bir gizli anahtar kullanır. Ortak anahtarı bilen herkes verileri şifreleyebilir, ancak yalnızca gizli anahtarı bilen biri verilerin şifresini çözebilir ve okuyabilir. Ortak anahtar şifrelemesi güvenli çevrimiçi iletişim sağlar, ancak genellikle simetrik anahtar şifrelemesinden daha az verimlidir.

Güvenli depolama ve iletişim için geleneksel şifrelemeyi kullanabilirsiniz, ancak dış kaynaklı hesaplama, şifreleme katmanlarının kaldırılmasını gerektirmiştir. Dış kaynaklı hesaplama sağlayan bulut hizmetleri, verilere ve anahtarlara yetkisiz erişimi önlemek için erişim ilkeleri uygulamalıdır. Veri gizliliği, bulut sağlayıcısı tarafından uygulanan ve müşteri tarafından güvenilen erişim denetimi ilkelerine dayanır.

Microsoft SEAL homomorfik şifreleme ile bulut sağlayıcılarının depoladıkları ve hesapladıkları verilere hiçbir zaman şifrelenmemiş erişimi olmaz. Hesaplamalar doğrudan şifrelenmiş veriler üzerinde gerçekleştirilebilir. Bu tür şifrelenmiş hesaplamaların sonuçları şifrelenmiş olarak kalır ve gizli anahtar kullanılarak yalnızca veri sahibi tarafından şifresi çözülebilir. Çoğu homomorfik şifreleme ortak anahtar şifreleme düzenlerini kullanır, ancak ortak anahtar işlevselliği her zaman gerekli olmayabilir.

Senaryo ayrıntıları

Şirketler genellikle bulut verilerini şifrelenmiş biçimde gönderir, alır ve depolar. Ancak bulut bilgi işlemden yararlanmak için şirketlerin şifrelenmemiş verileri veya şifrelerini çözme anahtarlarını sağlaması gerekir. Bu uygulama, şirket verilerinin daha fazla risk altında olduğunu gösterir. Homomorfik şifreleme , doğrudan şifrelenmiş veriler üzerinde hesaplamaya olanak sağlayarak bulutun gizlilik açısından kritik veriler için potansiyelini uygulamayı kolaylaştırır.

Olası kullanım örnekleri

  • Gizlilik açısından kritik veriler ve programların bölümleri üzerinde toplama ve çarpma gibi basit hesaplamalar.
  • Tek bir sahibin tüm verilere sahip olduğu ve şifre çözme anahtarlarına tek erişimi olan dış kaynaklı bulut bilgi işlem.

Dikkat edilmesi gereken noktalar

  • Şifrelenmiş verilerde yalnızca bazı hesaplamalar yapılabilir. Microsoft SEAL homomorfik şifreleme kitaplığı, şifrelenmiş tamsayılarda veya gerçek sayılarda eklemelere ve çarpmalara izin verir. Şifrelenmiş karşılaştırma, sıralama veya normal ifadeler genellikle bu teknolojiyi kullanarak şifrelenmiş verileri değerlendirmek için uygun değildir. Bu nedenle, Microsoft SEAL kullanılarak yalnızca programların bazı bölümlerinde belirli gizlilik açısından kritik bulut hesaplamaları uygulanabilir.

  • Microsoft SEAL, farklı özelliklere sahip iki homomorfik şifreleme şemasıyla birlikte gelir. BFV şeması, şifrelenmiş tamsayılarda modüler aritmetik yapılmasını sağlar. CKKS şeması, şifrelenmiş gerçek veya karmaşık sayılarda eklemelere ve çarpmalara izin verir, ancak yalnızca yaklaşık sonuçlar verir. CKKS, şifrelenmiş gerçek sayıları toplama, şifrelenmiş verilerdeki makine öğrenmesi modellerini değerlendirme veya şifrelenmiş konumların işlem mesafelerini hesaplama konusunda en iyi seçenektir. Tam değerlerin gerekli olduğu uygulamalar için tek seçenek BFV şemasıdır.

  • Homomorfik şifreleme verimli değildir. Homomorfik şifreleme büyük bir performans yüküyle birlikte geldiğinden, şifrelenmemiş verilerde yapılması zaten maliyetli olan hesaplamalar şifrelenmiş verilerde muhtemelen uygun değildir.

  • Homomorfik şifreleme ile şifrelenen veriler şifrelenmemiş verilerden çok daha büyüktür, bu nedenle büyük veritabanlarının tamamının, örneğin bu teknolojiyle şifrelenmesi mantıklı olmayabilir. Bunun yerine, katı gizlilik gereksinimlerinin şifrelenmemiş bulut hesaplamasını yasakladığı ancak hesaplamaların oldukça basit olduğu senaryolar anlamlı kullanım örnekleridir.

  • Genellikle, homomorfik şifreleme düzenleri, veri sahibi tarafından tutulan tek bir gizli anahtara sahiptir. Homomorfik şifreleme, birden çok farklı özel veri sahibinin işbirliğine dayalı hesaplamalar yapmak istediği senaryolar için makul değildir.

  • Şifrelenmemiş bir hesaplamayı şifrelenmiş verilerde bir hesaplamaya çevirmek her zaman kolay veya kolay değildir. Yeni kullanıcılar Microsoft SEAL kullanarak bir hesaplamayı programlayıp çalıştırabiliyor olsalar bile verimli ve verimsiz uygulama arasında büyük bir fark olabilir. Performansı nasıl geliştirebileceğinizi bilmek zor olabilir.

  • Homomorfik şifreleme temel öğesinin kendisi güvenli olsa da, bunu kullanan uygulamaların ve protokollerin güvenli olduğunu garanti etmez.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Sonraki adımlar

Homomorfik şifreleme ve Microsoft SEAL kitaplığı hakkında daha fazla bilgi edinmek için bkz . Microsoft Research'ten Microsoft SEAL ve GitHub'da SEAL kodu projesi .

Azure'da güvenlik hakkında aşağıdaki kaynaklara bakın: