X3DH [6] ile Double Ratchet'ın [7] bileşiminin güvenliği [8]'de biçimsel olarak incelenmiş ve IK_B'nin hem anahtar anlaşması hem de imzalama için yeniden kullanımını modellemekten kaçınan basitleştirici varsayımlar altında Gap Diffie-Hellman varsayımı (GapDH) [9] altında güvenli olduğu kanıtlanmıştır. Double Ratchet ile birleştirilen PQXDH, kuantum bilgisayara erişimi olmayan bir saldırgana karşı bu güvenliği korur; ancak başlangıç el sıkışmasının güvenliğini hem GapDH hem de Module-LWE [10] çözümünü gerektirecek biçimde güçlendirir.
[11]'de PQXDH, ProVerif [12] ile sembolik modelde ve CryptoVerif [13] ile hesaplamalı modelde biçimsel olarak analiz edilmiştir. ProVerif ile yazarlar, sembolik modelde hem doğrulamayı hem de gizliliği kanıtlamakta ve saldırganın bu özellikleri hangi kesin koşullar altında bozabileceğini sıralamaktadır. Bu güvenlik özellikleri özellikle ileri gizlilik, şimdi topla sonra çöz saldırılarına direnç, anahtar ele geçirilmesiyle kimliğe bürünme saldırılarına direnç ve oturum bağımsızlığını içerir.
CryptoVerif kanıtlayıcısı kullanılarak yazarlar, X25519 eğrisi için GapDH varsayımı, XEdDSA üzerinde UF-CMA varsayımı (XEdDSA ile X25519 arasında anahtar yeniden kullanımı olmadığı varsayımıyla), rastgele kâhin olarak modellenen özet işlevi ve AEAD için IND-CPA+INT-CTXT varsayımları altında tamamlanmış herhangi bir anahtar değişiminin hesaplamalı gizliliğini ve doğrulamasını kanıtlamaktadır. Ayrıca, KEM için kuantum sonrası IND-CCA güvenliği varsayılarak, özet işlevi bir PRF olarak modellenerek ve AEAD için IND-CPA+INT-CTXT güvenliği varsayılarak, imzanın anahtar değişiminin gerçekleştiği sırada UF-CMA güvenli olduğu durumda ileri gizliliği de göstermektedirler.
Bununla birlikte hem PQXDH hem de X3DH için, X25519 ve XEdDSA açısından GapDH ile UF-CMA güvenliğinin ortak varsayımı altında tam bir güvenlik kanıtına hâlâ ihtiyaç vardır.
Bu bölümün geri kalanı, ek güvenlik değerlendirmelerinin eksik bir listesini ele almaktadır.
4.1. Doğrulama
PQXDH anahtar anlaşmasından önce veya sonra taraflar, kimlik açık anahtarları IK_A ve IK_B'yi doğrulanmış bir kanal üzerinden karşılaştırabilir. Örneğin açık anahtar parmak izlerini elle karşılaştırabilir veya bir QR kod tarayabilirler. Bunun nasıl yapılacağı bu belgenin kapsamı dışındadır.
PQXDH içindeki doğrulama kuantuma dayanıklı değildir. Etkin bir kuantum saldırganının varlığında taraflar, kiminle iletişim kurduklarına dair hiçbir kriptografik güvence almaz. İnkâr edilebilir kuantum sonrası güvenli karşılıklı doğrulama açık bir araştırma problemidir; bunu bu protokolün gelecekteki bir revizyonunda ele almayı umuyoruz.
Doğrulama yapılmazsa taraflar, kiminle iletişim kurduklarına dair hiçbir kriptografik güvence almaz.
4.2. Protokol tekrar oynatması
Alice'in ilk iletisi tek kullanımlık bir ön anahtar kullanmıyorsa, bu ileti Bob'a tekrar oynatılabilir ve Bob bunu kabul eder. Bu, Bob'un Alice'in kendisine aynı iletiyi (veya iletileri) tekrar tekrar gönderdiğini düşünmesine neden olabilir.
Bunu hafifletmek için PQXDH sonrası bir protokol, Bob'dan gelen taze rastgele girdiye dayanarak Alice için yeni bir şifreleme anahtarını hızla müzakere etmek isteyebilir. Bu, Diffie-Hellman tabanlı cırcır protokollerinin [7] tipik davranışıdır.
Bob, gözlemlenen iletilerin bir kara listesini tutmak veya eski imzalı ön anahtarları daha hızlı yenilemek gibi başka hafifletmeler de deneyebilir. Bu hafifletmelerin analizi bu belgenin kapsamı dışındadır.
4.3. Tekrar oynatma ve anahtar yeniden kullanımı
Önceki bölümde ele alınan tekrar oynatmaların bir başka sonucu da, başarıyla tekrar oynatılan bir ilk iletinin Bob'un farklı protokol çalıştırmalarında aynı SK'yi türetmesine yol açacak olmasıdır.
Bu nedenle, SK'yi şifreleme anahtarları türetmek için kullanan herhangi bir PQXDH sonrası protokol, yıkıcı anahtar yeniden kullanımını önleyecek önlemler almak ZORUNDADIR. Örneğin Bob, rastgeleleştirilmiş bir şifreleme anahtarı elde etmek için SK'yi yeni üretilmiş bir DH çıktısıyla birleştiren DH tabanlı bir cırcır protokolü kullanabilir [7].
4.4. İnkâr edilebilirlik
Gayriresmî olarak kriptografik inkâr edilebilirlik, bir protokolün ne katılımcılarına iletişimlerinin içeriğine dair yayımlanabilir kriptografik kanıt ne de iletişim kurdukları gerçeğine dair kanıt vermesi anlamına gelir. PQXDH, X3DH gibi, Alice ve Bob arasında kurulduğu iddia edilen bir iletişim dökümünün, bir veya daha fazla tarafın gizli anahtarlarına erişimi olabilecek bir "yargıç"a sunulduğu bağlamda, Alice ile Bob'un birbirleriyle iletişim kurduklarını inkâr edebilmesini sağlamayı amaçlar.
Çevrimdışı inkâr edilebilirliğe odaklanıyoruz; çünkü taraflardan biri protokol yürütümü sırasında üçüncü bir tarafla işbirliği yapıyorsa, böyle bir üçüncü tarafa iletişimlerinin kanıtını sunabilecektir. "Çevrimiçi" inkâr edilebilirliğe ilişkin bu sınırlama eşzamansız ortama içkin görünmektedir [14].
PQXDH bazı kriptografik inkâr edilebilirlik biçimlerine sahiptir. X3DH'nin hedeflerinden hareketle Brendel ve diğerleri [15], yarı dürüst taraflar ve tüm tarafların gizli anahtarlarına erişimi olan bir "big brother" yargıç için 2'den 1 inkâr edilebilirlik kavramı tanıtmaktadır. Alice ya da Bob kendi gizli anahtarlarını kullanarak sahte bir döküm hazırlayabildiğinden, PQXDH bu inkâr edilebilirlik özelliğine sahiptir. Vatandas ve diğerleri [16], belirli "Knowledge of Diffie-Hellman Assumptions" varsayımlarına tabi olarak X3DH'nin farklı bir anlamda inkâr edilebilir olduğunu kanıtlamaktadır. PQXDH, aynı varsayımlara tabi olarak Alice açısından bu anlamda inkâr edilebilirdir ve pqkem için ek bir Plaintext Awareness (PA) varsayımına tabi olarak Bob açısından da inkâr edilebilir olduğunu tahmin ediyoruz. Kyber'ın örtük reddetmeli Fujisaki-Okamoto dönüşümünün bir varyantını kullandığını [17] ve bu nedenle olduğu hâliyle PA olmadığını not ederiz. Ancak PQXDH'de oturum anahtarıyla şifrelenmiş bir AEAD şifreli metni her zaman Kyber şifreli metniyle birlikte gönderilir. Bu, PA ile aynı güvenceleri sunmalıdır. Topluluğu PQXDH'nin tam inkâr edilebilirlik özelliklerini araştırmaya teşvik ediyoruz.
Bu iddiaların tümü klasik ortamdaki inkâr edilebilirlik ile ilgilidir. [18]'de tartışıldığı gibi, bu protokolün gelecekteki revizyonlarında (kuantum sonrası karşılıklı doğrulama sağlayan revizyonlarda) yarı dürüst kuantum saldırganlarına karşı inkâr edilebilirlik hakkındaki iddiaların geçerli olmasını bekliyoruz. Kötü niyetli kuantum saldırganları karşısında inkâr edilebilirlik daha fazla araştırma gerektirir.
4.5. İmzalar
Karşılıklı doğrulama ve ileri gizliliğin DH hesaplamalarıyla elde edildiği görüldüğünde, ön anahtar imzasını atlamak cazip gelebilir. Ancak bu, bir "zayıf ileri gizlilik" saldırısına izin verir: Kötü niyetli bir sunucu Alice'e sahte ön anahtarlar içeren bir ön anahtar paketi sağlayabilir ve daha sonra SK'yi hesaplamak için Bob'un IK_B anahtarını ele geçirebilir.
Alternatif olarak, DH tabanlı karşılıklı doğrulamanın (yani DH1 ve DH2) kimlik anahtarlarından gelen imzalarla değiştirilmesi cazip gelebilir. Ancak bu, inkâr edilebilirliği azaltır, ilk iletilerin boyutunu büyütür ve geçici veya ön anahtar özel anahtarları ele geçirilirse ya da imza düzeni kırılırsa oluşacak zararı artırır.
4.6. Anahtar ele geçirilmesi
Bir tarafın özel anahtarlarının ele geçirilmesi güvenlik üzerinde yıkıcı bir etki yapar, ancak geçici anahtarlar ve ön anahtarların kullanımı bir miktar hafifletme sağlar.
Bir tarafın kimlik özel anahtarının ele geçirilmesi, o tarafın başkalarına karşı taklit edilmesine izin verir. Bir tarafın ön anahtar özel anahtarlarının ele geçirilmesi ise, birçok etkene bağlı olarak, eski veya yeni SK değerlerinin güvenliğini etkileyebilir.
Olası tüm ele geçirilme senaryolarının tam analizi bu belgenin kapsamı dışındadır; ancak aşağıda olası bazı senaryoların kısmi analizi verilmiştir:
Eğer bir protokol çalıştırmasında bir eliptik eğri tek kullanımlık ön anahtarı (OPK_B) veya kuantum sonrası anahtar kapsülleme tek kullanımlık ön anahtarı (PQOPK_B) kullanılmış ve belirtildiği gibi silinmişse, ileride bir zamanda Bob'un kimlik anahtarı ve ön anahtar özel anahtarlarının ele geçirilmesi eski SK'yi tehlikeye atmayacaktır.
Bir protokol çalıştırmasında tek kullanımlık ön anahtarlar kullanılmamışsa, o protokol çalıştırmasına ait IK_B, SPK_B ve PQSPK_B özel anahtarlarının ele geçirilmesi daha önce hesaplanmış olan SK'yi tehlikeye atar. İmzalı ön anahtarların sık sık yenilenmesi bunu hafifletir; aynı şekilde, yeni anahtarlarla SK'yi hızla değiştirerek taze ileri gizlilik sağlayan PQXDH sonrası bir cırcır protokolü kullanmak da bunu hafifletir [7].
Ön anahtar özel anahtarlarının ele geçirilmesi, SK değerlerinin pasif olarak hesaplanması ve ele geçirilmiş tarafa karşı başka keyfi tarafların taklit edilmesi ("anahtar ele geçirilmesiyle kimliğe bürünme") gibi geleceğe uzanan saldırılara imkân tanıyabilir. Bu saldırılar, ele geçirilmiş taraf sunucudaki ele geçirilmiş ön anahtarlarını değiştirene kadar (pasif saldırı durumunda) veya ele geçirilmiş imzalı ön anahtarının özel anahtarını silene kadar (anahtar ele geçirilmesiyle kimliğe bürünme durumunda) mümkündür.
4.7. Pasif kuantum saldırganları
PQXDH, curve içinde ayrık logaritmaları hesaplayabilen bir kuantum bilgisayara erişimi olan saldırganların "şimdi topla, sonra çöz" saldırılarını önlemek için tasarlanmıştır. Bu güvenlik esas olarak pqkem'den türese de, bunun için aead'in kuantum sonrası IND-CPA ve INT-CTXT güvenliği sağlaması da gerekir. Kriptosistemlerin kuantum sonrası güvenlik gücünü tahmin etmede büyük belirsizlik vardır; bu da bu gereksinimi kesin olarak tanımlamayı zorlaştırır. Kılavuz olarak kuantum sonrası kriptografi gönderimleri için NIST değerlendirme ölçütlerini [19] aldığımızda, AES256 üzerindeki anahtar arama saldırısını en yüksek güvenlik düzeyine koymaktadır. Bu tam olarak bizim güvenlik gereksinimlerimizle örtüşmese de, AES256'nın uygun bir AEAD kipinin kullanılmasının yeterli olacağını düşündürür. Bu ortamda PQXDH'nin bazı belirli güvenlik özelliklerini not ediyoruz.
Bir saldırgan kamusal bilgileri ve Alice'ten Bob'a giden iletiyi kaydetmiş olsa bile, kuantum bilgisayara erişim SK'yi tehlikeye atmaz.
Eğer bir protokol çalıştırmasında kuantum sonrası anahtar kapsülleme tek kullanımlık ön anahtarı (PQOPK_B) kullanılmış ve belirtildiği gibi silinmişse, silinmeden sonraki ele geçirilme ve gelecekte bir zamanda kuantum bilgisayara erişim eski SK'yi tehlikeye atmayacaktır.
Bir protokol çalıştırmasında kuantum sonrası tek kullanımlık ön anahtarlar kullanılmamışsa, kuantum bilgisayara erişim ve o protokol çalıştırmasına ait PQSPK_B özel anahtarının ele geçirilmesi daha önce hesaplanmış olan SK'yi tehlikeye atar. İmzalı ön anahtarların sık sık yenilenmesi bunu hafifletir; aynı şekilde, yeni anahtarlarla SK'yi hızla değiştirerek taze ileri gizlilik sağlayan PQXDH sonrası bir cırcır protokolü kullanmak da bunu hafifletir [7].
4.8. Etkin kuantum saldırganları
PQXDH, etkin kuantum saldırganlarına karşı koruma sağlamak için tasarlanmamıştır. curve içindeki ayrık logaritmaları hesaplayabilen bir kuantum bilgisayara erişimi olan etkin bir saldırgan, tüm eliptik curve anahtarları PK1, PK2 ve PK için DH(PK1, PK2) ve Sig(PK, M, Z) hesaplayabilir. Bu, bir saldırganın PK_A'ya karşılık gelen gizli anahtarı hesaplamak için kuantum bilgisayarını kullanıp ardından protokole devam ederek Alice'i taklit etmesine izin verir. Böyle bir kuantum bilgisayara erişimi olan kötü niyetli bir sunucu ise yeni anahtar çiftleri PQSPK'_B ve PQOPK'_B üreterek, PK_B'ye karşılık gelen gizli anahtarı hesaplayarak, ardından yeni üretilen kuantum sonrası KEM anahtarlarını imzalamak için PK_B'yi kullanarak ve Alice bir ön anahtar paketi istediğinde Bob'un kuantum sonrası KEM anahtarı yerine saldırganın ürettiği bu anahtarları teslim ederek Bob'u taklit edebilir.
Bob'un kuantum sonrası ön anahtarları imzalamak için kullanabileceği kuantum sonrası bir kimlik anahtarı eklemeyi düşünmek cazip gelebilir. Bu, yukarıda açıklanan kötü niyetli sunucu saldırısını önler ve Alice'e Bob ile iletişim kurduğuna dair kriptografik güvence sağlar; ancak karşılıklı doğrulama sağlamaz. Bob'un kiminle iletişim kurduğuna dair hiçbir kriptografik güvencesi olmaz. NIST tarafından standartlaştırılan kuantum sonrası KEM ve imza düzenleri [20], kuantum sonrası inkâr edilebilir karşılıklı doğrulama için bir mekanizma sağlamaz; ancak bu, kuantum sonrası halka imzası veya atanmış doğrulayıcı imzası kullanılarak elde edilebilir [15], [18]. Topluluğu, inkâr edilebilir karşılıklı doğrulamaya izin verecek bu veya başka mekanizmaların standartlaştırılması için çalışmaya çağırıyoruz.
4.9. Sunucuya güven
Kötü niyetli bir sunucu, Alice ile Bob arasındaki iletişimin başarısız olmasına yol açabilir (örneğin iletileri iletmeyi reddederek).
Alice ve Bob, Bölüm 4.1'deki gibi birbirlerini doğrularsa, sunucunun kullanabileceği tek ek saldırı tek kullanımlık ön anahtarları vermeyi reddetmektir; bu da SK için ileri gizliliğin imzalı ön anahtarın ömrüne bağlı olmasına yol açar (Bölüm 4.6'da analiz edildiği gibi).
Başlangıçtaki ileri gizlilikteki bu azalma, bir tarafın kötü niyetli biçimde diğer tarafın tek kullanımlık ön anahtarlarını tüketmesi halinde de yaşanabilir; bu nedenle sunucu bunu önlemeye çalışmalıdır (örneğin ön anahtar paketi alma işlemlerine oran sınırı koyarak).
4.10. Kimlik bağlama
Bölüm 4.1'deki gibi doğrulama, bir "kimlik yanlış bağlama" veya "bilinmeyen anahtar paylaşımı" saldırısını mutlaka önlemez.
Bu, bir saldırgan ("Charlie") Bob'un kimlik anahtarı parmak izini Alice'e kendi (Charlie'nin) parmak iziymiş gibi sahte biçimde sunduğunda ve ardından ya Alice'in ilk iletisini Bob'a ilettiğinde ya da Bob'un iletişim bilgilerini kendi bilgileriymiş gibi sahte biçimde sunduğunda ortaya çıkar. Bunun etkisi, Alice'in Charlie'ye ilk iletiyi gönderdiğini düşünürken aslında Bob'a göndermesidir.
Bunu zorlaştırmak için taraflar AD içine daha fazla tanımlayıcı bilgi ekleyebilir veya kullanıcı adları, telefon numaraları, gerçek adlar ya da başka tanımlayıcı bilgiler gibi daha fazla tanımlayıcı bilgiyi parmak izine özetleyebilir. Charlie bu ek değerler hakkında yalan söylemek zorunda kalacaktır; bu da zor olabilir.
Ancak Charlie'nin ek değerler hakkında yalan söylemesini güvenilir biçimde önlemenin bir yolu yoktur ve protokole daha fazla kimlik bilgisi eklemek çoğu zaman gizlilik, esneklik ve kullanıcı arayüzü açısından tavizler getirir. Bu tavizlerin ayrıntılı analizi bu belgenin kapsamı dışındadır.
4.11. Zayıf rastgelelik kaynaklarının riskleri
Anahtarların kendi üretimine ilişkin kaygılara ek olarak, PQKEM paylaşılan gizinin güvenliği Alice'in makinesinde PQKEM-ENC işlemi çalıştırıldığı andaki rastgele kaynaklara da bağlıdır. Bu, Diffie-Hellman değişimiyle karşılaştığımız duruma benzer bir durum doğurur. Hem Diffie-Hellman hem de Kyber için, Alice'in entropisi zayıfsa, Bob'un açık anahtarı koşullu olduğunda ortaya çıkan paylaşılan giz düşük entropili olacaktır. Dolayısıyla SK'nin hem klasik hem de kuantum sonrası güvenliği Alice'in rastgele kaynağının gücüne bağlıdır.
Kyber, paylaşılan gizi üretmek için Bob'un açık anahtarını Alice'in rastgele bitleriyle özetler; bu, Diffie-Hellman anahtar değişiminde olduğu gibi Bob'un anahtarını katkı sunan anahtar yapar. Bu, yukarıda açıklandığı gibi Alice'in entropi kaynağına olan bağımlılığı azaltmaz; ancak Alice'in kuantum sonrası paylaşılan giz üzerindeki denetimini sınırlar. Tüm KEM'ler Bob'un anahtarını katkı sunan hâle getirmez; pqkem seçilirken dikkate alınması gereken özelliklerden biri budur.
4.12. KEM yeniden kapsülleme saldırılarını önleme
Genellikle, taze bir paylaşılan gizi şifrelemek için açık anahtar şifrelemesine dayanan bir KEM kullanıldığında, taze paylaşılan giz açık anahtara bağlanmaz. Tehlikeye girmiş belirli bir açık anahtarın kapsüllenmesine karşılık gelen bir paylaşılan giz, tehlikeye girmemiş başka bir açık anahtara kolayca yeniden kapsüllenebilir. KEM'in IND-CCA güvenliği bu davranışı önlemez.
Bu saldırının mümkün olduğu bir KEM için, tek bir PQPK tehlikeye girer girmez bir saldırgan tüm başlatıcıları bu tehlikeye girmiş PQPK'yi kullanmaya zorlayabilir ve paylaşılan gizi sürekli olarak başka bir taze ve tehlikeye girmemiş PQPK'ye yeniden kapsülleyerek yanıtlayanın hiçbir şeyin ters gitmediğine inanmasını sağlayabilir. Bu özellikle oturum bağımsızlığının olağan kavramını bozar: Yanıtlayana ait bir PQPK'nin ele geçirilmesi, aslında yanıtlayanın farklı ve bağımsız PQPK'ler kullanması gereken diğer oturumlarının güvenliğini etkileyebilir.
Kyber KEM, paylaşılan gizin üretimine KEM açık anahtarını dâhil ederek bu saldırıyı önler. Genel bir IND-CCA KEM için bu saldırı, ilk ileti için AD'ye PQPK_B eklenerek önlenebilir. Bu saldırı ve hafifletmeleri hakkında daha fazla ayrıntı için [11]'e bakın.
4.13. Anahtar tanımlayıcıları
Açık anahtar tanımlayıcıları güvenlik açısından kritik değildir; özellikle de anahtarların gerçek değerleri imzalandığından veya AD içinde kullanıldığından. Ancak çok sık çakışacak tanımlayıcıların yanıtlayan tarafta şifre çözme başarısızlıklarına yol açacağını not edin; çünkü yanıtlayan yanlış açık anahtarla anahtar değişimini tamamlama girişiminde bulunur ve bu başarısız olur.
Bir uygulama açık anahtarları doğrudan anahtar tanımlayıcısı olarak kullanmayı seçebilir; ancak çakışmaların düşük olasılıklı olması koşuluyla, ileti boyutlarını küçültmek için daha küçük gösterime sahip bir tanımlayıcı da seçebilir. Olası uygulamalar arasında açık anahtarın özeti, rastgele bir değer veya rastgele bir ofsetten başlayarak ardışık olarak üretilmiş değerler bulunur.