Kimliği doğrulanmış şifreleme

Vikipedi, özgür ansiklopedi

Kimliği Doğrulanmış şifreleme (AE) ve İlgili Verilerle Kimliği Doğrulanmış Şifreleme (AEAD), aynı anda verilerin gizliliğini ve gerçekliğini garanti eden şifreleme biçimleridir

Güvenlik Garantileri[değiştir | kaynağı değiştir]

Kimliği doğrulanmış şifreleme, mesaj bütünlüğünü ve gizliliğini korumaya ek olarak, Seçilmiş şifreli metin saldırısına(Choosen Cipher-text) karşı güvenlik sağlayabilir . Bu saldırılarda, bir düşman, dikkatle seçilmiş şifreli metinleri bir "şifre çözme kahini" ne göndererek ve şifresi çözülen sonuçları analiz ederek bir şifreleme sistemine (örneğin, gizli şifre çözme anahtarı hakkında bilgi) karşı bir avantaj elde etmeye çalışır. Kimliği doğrulanmış şifreleme şemaları, yanlış oluşturulmuş şifreli metinleri tanıyabilir ve bunların şifresini çözmeyi reddedebilir. Bu da, şifreleme algoritması kullanılarak doğru bir şekilde oluşturulmadıkça, saldırganın herhangi bir şifreli metnin şifresinin çözülmesini talep etmesini önler, böylece düz metnin zaten bilindiği anlamına gelir. Doğru uygulandığında, kimliği doğrulanmış şifreleme, saldırganın halihazırda sahip olmadığı yararlı bilgileri elde etmesini engelleyerek, şifre çözme kahininin kullanışlılığını ortadan kaldırır.

Simetrik Blok Şifrelemeleriyle(Block Ciphers). kullanım için birçok özel kimlik doğrulamalı şifreleme modu geliştirilmiştir . Ancak, kimliği doğrulanmış şifreleme, aşağıdakilerin sağlanması koşuluyla, bir şifreleme şeması ve bir Mesaj Doğrulama Kodu (MAC) birleştirilerek genel olarak oluşturulabilir:

Programlama Arayüzü[değiştir | kaynağı değiştir]

Bir AE uygulaması için tipik bir programlama arayüzü aşağıdaki işlevleri sağlar:

  • Şifreleme (Encryption)
    • Girdi: düz metin(Plain-text), anahtar(key) ve isteğe bağlı olarak şifrelenmeyecek, ancak özgünlük koruması kapsamında olacak düz metinde bir başlık.
    • Çıktı: şifreli metin(Cipher-text) ve doğrulama etiketi (Mesaj Doğrulama Kodu).
  • Şifre çözme (Decryption)
    • Girdi: şifreli metin(Cipher-text), anahtar, doğrulama etiketi ve isteğe bağlı olarak bir başlık (şifreleme sırasında kullanılıyorsa).
    • Çıktı: düz metin(Plain-text) veya bir hata (kimlik doğrulama etiketi sağlanan şifreli metin veya başlıkla eşleşmiyorsa).

Başlık bölümünün amacı, gizliliğin gereksiz olduğu ancak özgünlüğün istendiği ağ iletişimi veya depolama meta verileri için özgünlük ve bütünlük koruması sağlamaktır.

Tarihçe[değiştir | kaynağı değiştir]

Kimliği doğrulanmış şifreleme ihtiyacı, ayrı gizlilik ve kimlik doğrulama blok şifreleme işlem modları güvenli bir şekilde birleştirmenin hataya açık ve zor olabileceği gözleminden ortaya çıktı.[1][2] Bu, yanlış uygulama veya kimlik doğrulama eksikliği (SSL / TLS dahil) nedeniyle üretim protokollerine ve uygulamalara yapılan bir dizi pratik saldırıyla doğrulandı.[3]

2000 yılı civarında, doğru uygulamayı sağlayan standartlaştırma modları kavramı etrafında bir dizi çaba gelişti. Özellikle, Charanjit Jutla'nın bütünlük farkında CBC ve bütünlüğe duyarlı paralelliştirilebilir, IAPM, modları[4] 'ün 2000 yılında yayınlanmasıyla, olası güvenli modlara olan güçlü ilgi ateşlendi (bakınız OCB ve kronoloji[5]). Altı farklı kimlik doğrulamalı şifreleme modu (yani offset codebook mode 2.0, OCB 2.0; Key Wrap; counter with CBC-MAC, CCM; şifrele, sonra doğrula, sonra çevir, EAX; Encrypt-then-MAC, EtM; ve Galois/counter mode, GCM) SO/IEC 19772:2009'da standartlaştırılmıştır.[6] NIST talebine yanıt olarak daha fazla kimliği doğrulanmış şifreleme yöntemi geliştirildi.[7] Sünger fonksiyonları(Sponge Functions), kimliği doğrulanmış şifreleme sağlamak için çift yönlü modda kullanılabilir.[8]

Bellare ve Namprempre (2000), üç şifreleme bileşimini ve MAC ilkellerini analiz ettiler ve bir mesajı şifrelemenin ve ardından şifreli metne bir MAC uygulamanın (Encrypt-then-MAC yaklaşımı) uyarlanabilir seçilmiş şifreli metin saldırısına karşı güvenlik anlamına geldiğini gösterdi. fonksiyonlar minimum gerekli özellikleri karşılar. Katz ve Yung, bu kavramı "sürdürülemez şifreleme" adı altında araştırdılar ve bunun seçilmiş şifreli metin saldırılarına karşı güvenlik anlamına geldiğini kanıtladılar.[9]

2013 yılında, kimliği doğrulanmış şifreleme modlarının tasarımını teşvik etmek için CAESAR yarışması duyuruldu.[10]

2015 yılında, IETF protokollerinde GCM'ye alternatif bir AE yapısı olarak ChaCha20-Poly1305 eklendi.

İlişkili verilerle kimliği doğrulanmış şifreleme (AEAD)[değiştir | kaynağı değiştir]

AEAD, bir alıcının bir mesajdaki hem şifrelenmiş hem de şifrelenmemiş bilgilerin bütünlüğünü kontrol etmesine izin veren bir AE çeşididir.[11] AEAD, ilişkili verileri (AD) şifreli metne ve görünmesi gereken bağlama bağlar, böylece geçerli bir şifreli metni farklı bir bağlama "kes ve yapıştır" girişimleri algılanır ve reddedilir.

Örneğin, başlığın görünürlüğe, yükün gizliliğe(Confidentiality), her ikisinin de bütünlük(Data integrity) ve özgünlüğe(Authentication) ihtiyaç duyduğu ağ paketleri veya çerçeveleri için gereklidir.

Kimliği doğrulanmış şifrelemeye yaklaşımlar[değiştir | kaynağı değiştir]

Encrypt-then-MAC (EtM) [değiştir | kaynağı değiştir]

EtM

Düz metin önce şifrelenir, ardından elde edilen şifreli metne dayalı olarak bir MAC üretilir. Şifreli metin ve MAC'i birlikte gönderilir. Örneğin, IPsec'te kullanılır.[12] ISO/IEC 19772:2009'a göre standart yöntem.[6] Bu, AE'de en yüksek güvenlik tanımına ulaşabilen tek yöntemdir, ancak bu ancak kullanılan MAC "kesinlikle yenilmez" olduğunda elde edilebilir.[13] Kasım 2014'te EtM için TLS ve DTLS uzantısı RFC 7366olarak yayınlandı . SSHv2 için de çeşitli EtM şifre takımları mevcuttur.

Anahtar ayrımının zorunlu olduğunu unutmayın (şifreleme ve anahtarlı karma için farklı anahtarlar kullanılmalıdır), aksi takdirde kullanılan belirli şifreleme yöntemine ve karma işlevine bağlı olarak potansiyel olarak güvensizdir.[kaynak belirtilmeli]

Encrypt-and-MAC (E&M) [değiştir | kaynağı değiştir]

E&M

Düz metne dayalı olarak bir MAC üretilir ve düz metin MAC olmadan şifrelenir. Düz metnin MAC'i ve şifreli metin birlikte gönderilir. Örneğin,SSH'de kullanılır.[14] E&M yaklaşımının kendi içinde kesinlikle yenilmez olduğu kanıtlanmamış olsa da,[13] yaklaşıma rağmen SSH'yi kesinlikle yenilmez kılmak için bazı küçük değişiklikler uygulamak mümkündür.[15]

MAC-then-Encrypt (MtE) [değiştir | kaynağı değiştir]

MtE

Düz metne dayalı olarak bir MAC üretilir, ardından düz metin ve MAC, her ikisine dayalı bir şifreli metin üretmek için birlikte şifrelenir. Şifreli metin (şifreli bir MAC içeren) gönderilir. Örneğin, SSL/TLS'de kullanılır.[16] MTE yaklaşımı, kendi içinde güçlü olduğu kanıtlanamamış olmasına rağmen[13] SSL/TLS uygulamasının, SSL/TLS'nin aslında MtE mekanizmasıyla birlikte kullanılan kodlama nedeniyle güvenli olduğu Krawczyk tarafından yani "kesinlikle yenilmez" olduğu kanıtlanmıştır.[17] Teorik güvenliğe rağmen, SSL/TLS'nin daha derin analizi, korumayı MAC-then-pad-then-encrypt olarak modelledi, yani düz metin ilk önce şifreleme fonksiyonunun blok boyutuna doldurulur. Doldurma hataları genellikle alıcı tarafında algılanabilir hatalara neden olur ve bu da Lucky Thirteen gibi padding oracle saldırılarına olanak tanır.

Ayrıca Bakınız[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ M. Bellare; P. Rogaway; D. Wagner. "A Conventional Authenticated-Encryption Mode" (PDF). NIST. 19 Ekim 2011 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 12 Mart 2013. people had been doing rather poorly when they tried to glue together a traditional (privacy-only) encryption scheme and a message authentication code (MAC) 
  2. ^ T. Kohno; J. Viega; D. Whiting. "The CWC Authenticated Encryption (Associated Data) Mode" (PDF). NIST. 19 Ekim 2011 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 12 Mart 2013. it is very easy to accidentally combine secure encryption schemes with secure MACs and still get insecure authenticated encryption schemes 
  3. ^ "Failures of secret-key cryptography" (PDF). Daniel J. Bernstein. 18 Nisan 2013 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 12 Mart 2013. 
  4. ^ Jutl, Charanjit S. (1 Ağustos 2000). "Encryption Modes with Almost Free Message Integrity". Cryptology ePrint Archive: Report 2000/039. Proceedings IACR EUROCRYPT 2001. IACR. 19 Ağustos 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Mart 2013. 
  5. ^ T. Krovetz; P. Rogaway (1 Mart 2011). "The Software Performance of Authenticated-Encryption Modes" (PDF). Fast Software Encryption 2011 (FSE 2011). IACR. 19 Ocak 2022 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 23 Mart 2022. 
  6. ^ a b "Information technology -- Security techniques -- Authenticated encryption". 19772:2009. ISO/IEC. 16 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Mart 2013. 
  7. ^ "Encryption modes development". NIST. 4 Eylül 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2013. 
  8. ^ The Keccak Team. "Duplexing The Sponge" (PDF). 22 Ağustos 2017 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 23 Mart 2022. 
  9. ^ Katz, J.; Yung, M. (2001). B. Schneier (Ed.). Unforgeable Encryption and Chosen Ciphertext Secure Modes of Operation. Fast Software Encryption (FSE): 2000 Proceedings. Lecture Notes in Computer Science. 1978. ss. 284-299. doi:10.1007/3-540-44706-7_20. ISBN 978-3-540-41728-6. 
  10. ^ "CAESAR: Competition for Authenticated Encryption: Security, Applicability, and Robustness". 19 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Mart 2013. 
  11. ^ "NIST Issues First Call for 'Lightweight Cryptography' to Protect Small Electronics". 18 Nisan 2018. 4 Eylül 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Eylül 2019. 
  12. ^ "Separate Confidentiality and Integrity Algorithms". RFC 4303. Internet Engineering Task Force (IETF). 18 Eylül 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Eylül 2018. 
  13. ^ a b c "Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm". M. Bellare and C. Namprempre. 23 Ocak 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Nisan 2013. 
  14. ^ "Data Integrity". RFC 4253. Internet Engineering Task Force (IETF). 22 Ağustos 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Eylül 2018. 
  15. ^ Bellare, Mihir; Kohno, Tadayoshi; Namprempre, Chanathip. "Breaking and Provably Repairing the SSH Authenticated Encryption Scheme: A Case Study of the Encode-then-Encrypt-and-MAC Paradigm" (PDF). ACM Transactions on Information and System Security. 21 Ocak 2022 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 30 Ağustos 2021. 
  16. ^ "Record Payload Protection". RFC 5246. Internet Engineering Task Force (IETF). 24 Aralık 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Eylül 2018. 
  17. ^ "The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)" (PDF). H. Krawczyk. 24 Ağustos 2012 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 13 Nisan 2013. 
Genel

Dış Bağlantılar[değiştir | kaynağı değiştir]