← Double Ratchet
Bölüm 8 / 10

8. Güvenlik değerlendirmeleri

8.1. Güvenli silme

Bu ratchet protokolleri, şifreli mesajları kaydeden ve daha sonra göndericiyi veya alıcıyı ele geçiren bir saldırgana karşı güvenlik sağlamak üzere tasarlanmıştır. Eğer silinmiş düz metin ya da anahtarlar, ele geçirilmiş cihaza düşük seviyeli erişimi olan bir saldırgan tarafından geri getirilebiliyorsa bu güvenlik boşa çıkabilir. Depolama ortamlarından silinmiş verilerin geri kazanılması karmaşık bir konudur ve bu belgenin kapsamı dışındadır.

8.2. Ele geçirilme sonrası toparlanma

Bu ratchet protokolleri, bir oturumdaki taraflardan biri (veya her ikisi) ele geçirildikten sonra şifreli mesajları gözlemleyen pasif bir dinleyiciye karşı güvenliği yeniden kazanmak üzere tasarlanmıştır. Bu hafifletmeye rağmen, gizli anahtarların ya da cihaz bütünlüğünün ele geçirilmesi gelecekteki iletişimin güvenliği üzerinde yıkıcı bir etki doğurur. Örneğin:

  • Saldırgan, ele geçirilmiş anahtarları kullanarak ele geçirilmiş tarafın kimliğine bürünebilir (örneğin PQXDH ile yeni oturumlar kurmak için ele geçirilmiş tarafın kimlik gizli anahtarını kullanarak).

  • Saldırgan, sürekli etkin bir aradaki adam saldırısı yoluyla kendi ratchet anahtarlarını yerleştirerek ele geçirilmiş oturum üzerindeki dinlemeyi sürdürebilir.

  • Saldırgan, ele geçirilmiş bir tarafın RNG'sini değiştirerek gelecekteki ratchet gizli anahtarlarını öngörülebilir hale getirebilir.

Bir taraf, anahtarlarının veya cihazlarının ele geçirilmiş olabileceğinden şüpheleniyorsa bunları derhal değiştirmelidir.

8.3. Kriptanaliz ve ratchet açık anahtarları

Tüm DH ratchet hesapları ve SCKA sırları kök anahtara karıştırıldığından, pasif kriptanaliz ile bir oturumun şifresini çözebilen bir saldırgan, bazı ratchet açık anahtarlarını gözlemleyemezse bu yeteneğini kaybedebilir.

Bu elbette kriptanalize karşı güvenilir bir karşı önlem değildir. Bir oturumun dayandığı kriptografik algoritmalardan herhangi birinde zayıflık keşfedilirse, o oturum bırakılmalı ve güçlü kriptografi kullanan yeni bir oturumla değiştirilmelidir.

8.4. Atlanan mesaj anahtarlarının silinmesi

Atlanan mesaj anahtarlarını saklamak bazı riskler doğurur:

  • Kötü niyetli bir gönderici, alıcıları çok sayıda atlanmış mesaj anahtarı saklamaya zorlayabilir; bu da depolama alanı tüketimi nedeniyle hizmet reddine yol açabilir.

  • Kaybolan mesajlar alıcıya ulaşmamış olsalar bile, bir saldırgan tarafından görülmüş (ve kaydedilmiş) olabilir. Saldırgan daha sonra hedef alıcıyı ele geçirerek atlanan mesaj anahtarlarını elde edebilir.

İlk riski hafifletmek için taraflar, oturum başına saklanacak atlanmış mesaj anahtarı sayısına makul sınırlar koymalıdır (örneğin 1000). İkinci riski hafifletmek için taraflar, uygun bir sürenin ardından atlanan mesaj anahtarlarını silmelidir. Silme işlemi bir zamanlayıcıyla ya da belirli sayıda olay sayılarak (alınan mesajlar, DH adımları vb.) tetiklenebilir.

8.5. Yeni ratchet anahtarı üretimini erteleme

Her DH adımı sırasında yeni bir ratchet anahtar çifti ve gönderme zinciri üretilir. Gönderme zincirine hemen ihtiyaç duyulmadığından, bu adımlar taraf yeni bir mesaj göndermek üzere olana kadar ertelenebilir. Bu, ratchet anahtarlarının ömrünü kısaltarak güvenliği az da olsa artırır; ancak bunun bedeli daha fazla karmaşıklıktır.

8.6. Doğrulama etiketlerini kısaltma

Eğer ENCRYPT() işlevi Bölüm 7.2'de açıklandığı gibi CBC ve HMAC kullanılarak gerçekleştirilmişse, mesaj boyutunu azaltmak için son HMAC çıktısının 128 bite kısaltılması kabul edilebilir. Bunun daha da fazla kısaltılması da kabul edilebilir olabilir; ancak dikkatli analiz gerektirir. Hiçbir durumda son HMAC 64 bitten daha kısa olacak şekilde kısaltılmamalıdır.

Eğer ENCRYPT() işlevi farklı biçimde gerçekleştirilmişse, kısaltma daha karmaşık bir analiz gerektirebilir ve önerilmez.

8.7. Gerçekleme parmak izi çıkarımı

Bu protokol anonim tarafların bulunduğu ortamlarda kullanılıyorsa, gerçeklemelerin her durumda özdeş davranmasına dikkat edilmelidir.

Anonim bağlamda, gerçeklemelerin Bölüm 3 ve 4'teki algoritmaları tam olarak izlemesi tavsiye edilir. Böyle gerçeklemelerin ayrıca, saklanan atlanmış mesaj anahtarlarının sayısı için özdeş sınırlar ve bu anahtarlar için özdeş silme politikaları kullanması tavsiye edilir. Silme politikaları zamana değil, deterministik olaylara (örneğin alınan mesajlar) dayanmalıdır.

8.8. SCKA protokolü seçimi

Bölüm 6'da açıklanan Triple Ratchet, [17]'de önerilmiştir ve orada hibrit güvenlik sağladığı ispatlanmıştır. Double Ratchet'ın güvenlik güvencelerini zayıflatmaz; buna ek olarak SCKA'nın sağladığı PCS ve FS güvencelerini de ekler. Örneğin ML-KEM Braid Protokolü [9], FS sağlar ve iki SCKA çıktı anahtarı ratchet'e karıştırıldıktan sonraki mesajlar için Module LWE tabanlı PCS iyileşmesi sağlayacaktır.

[8]'de tartışıldığı gibi, SCKA protokollerinin PCS özelliği, "Vulnerable Message set" içindeki mesaj sayısına bakılarak karşılaştırılmalıdır; yani bir kullanıcının cihazını ele geçiren saldırgana açık hale gelen mesajlar kümesine. Bu sayı, mesajlaşma davranışına ve SCKA protokolünün sırları içerde nasıl ürettiği ve yönettiğine bağlı olarak ciddi biçimde değişebilir. ML-KEM Braid protokolünü öneriyoruz; çünkü standartlaştırılmış bir KEM kullanır ve çok çeşitli mesaj gönderme davranışlarında küçük bir Vulnerable Message Set'e sahiptir. Çok özel mesaj gönderme örüntülerine sahip uygulamalar, örneğin cihazların nadiren aynı anda çevrimiçi olduğu ve yanıt almadan çok sayıda mesaj gönderdiği uygulamalar, farklı bir SCKA protokolünün daha iyi güvenlik sağladığını görebilir.

8.9. Düşen mesajların PCS üzerindeki etkisi

Bu ratchet protokollerinin tümü anında şifre çözme için tasarlanmıştır; kaybolan veya sırası bozuk gelen mesajları tolere edebilirler. Ancak dikkat edilmelidir ki Sparse Post-Quantum Ratchet için düşen mesajlar açık ratchet'in ilerlemesini yavaşlatabilir ve dolayısıyla PCS'yi zayıflatabilir. Bu durum klasik Double Ratchet'ta yaşanmaz.

8.10. Eski KDF Zinciri durumunun silinmesi

Sparse Post-Quantum Ratchet, Bölüm 5.7'de geçmiş KDF Zinciri durumunu temizlemek için alternatif bir mekanizma sunmuştur. Bu alternatifi kullanmak gerçekten de bir güvenlik faydası sağlar; çünkü gönderme zinciri anahtarlarını artık gerek kalmadığı anda, alma zinciri anahtarlarını ise daha sonraki bir epoch'ta mesaj alınır alınmaz siler. Bu farkın güvenlik sonuçlarına dair bir örnek [18]'in Ek A.1 bölümünde bulunabilir.

8.11. Harvest Now, Decrypt Later saldırıları

Bugün kuantum sonrası ratchet mekanizmalarının sunulmasının temel motivasyonu, cihazları bugün ele geçirip şifreli iletişimleri kaydeden ve ardından kriptografik açıdan anlamlı kuantum bilgisayarları bekleyen saldırganlara karşı koruma sağlamaktır. Böyle saldırganlara karşı klasik Double Ratchet iyileşmesi hiçbir koruma sağlamaz; sonradan yapılan Diffie-Hellman tabanlı anahtar döndürmeden bağımsız olarak kaydedilmiş tüm mesajlar savunmasız kalır.