- Signal, Sparse Post Quantum Ratchet (SPQR, seyrek post-kuantum ratchet) yapısını devreye alarak Signal Protokolü’nün güvenliğini önemli ölçüde artırıyor; mevcut Forward Secrecy (FS) ve Post-Compromise Security (PCS) garantilerini korurken gelecekteki kuantum bilişim tehditlerine karşı dayanıklılığı güçlendiriyor
- Signal Protokolü, dünya genelinde milyarlarca insanın her gün yaptığı özel iletişim için uçtan uca şifreleme sağlayan bir kriptografik spesifikasyonlar seti ve 2013’te duyurulmasından bu yana yalnızca Signal uygulamasında değil, diğer büyük mesajlaşma ürünlerinde de benimsendi
- Daha önce duyurulan PQXDH, sohbet oturumu kurulurken kuantuma dayanıklı kriptografik sırları entegre ederek harvest-now-decrypt-later saldırılarına karşı koruma sağlıyordu; SPQR ise konuşma sürdükçe hasarı en aza indiren ve toparlanmayı mümkün kılan FS ve PCS garantilerini kuantum güvenli biçimde gerçekleştiriyor
- SPQR, Signal’in mevcut Double Ratchet yapısıyla birleştirilerek Triple Ratchet adı verilen bileşimi oluşturuyor; kullanıcı deneyimi değişmiyor, tüm konuşmalar otomatik olarak yeni protokole geçiyor ve hem mevcut hem de gelecekteki iletişim korunuyor
- Akademik araştırmalar (Eurocrypt 25, USENIX 25 makaleleri), erasure code tabanlı chunking ve biçimsel doğrulama (ProVerif, hax/F*) ile protokolün doğruluğu ve güvenlik özellikleri makine destekli olarak doğrulanıyor; bu süreç her değişiklikte CI hattında yeniden çalıştırılarak geliştirme sürecinin dinamik bir parçası olarak tutuluyor
Genel bakış
- Signal, Sparse Post Quantum Ratchet (SPQR) eklenmesiyle Signal Protocol’ün güvenliğini bir üst seviyeye taşıyor
- SPQR, mevcut güçlü güvenlik temelinin üzerine inşa edilerek gelecekteki kuantum bilişim tehditlerine yanıt veriyor ve Forward Secrecy (FS) ile Post-Compromise Security (PCS) garanti yapısını daha da güçlendiriyor
- Kullanıcıların fark etmeyeceği kadar doğal biçimde tüm sisteme uygulanıyor ve kuantum bilgisayarlar gerçekleşse bile konuşma içeriklerinin güvenle korunacağı bir ortam sağlıyor
Mevcut Signal Protocol durumu
- Signal Protocol, günlük kullanımda olan bir uçtan uca şifreleme mesajlaşma standardıdır
- Mevcut protokoldeki double ratchet yapısı, hash fonksiyonu (kuantum güvenli) ile forward secrecy’yi, eliptik eğri Diffie-Hellman (ECDH) ile post-compromise security’yi sağlıyordu
- ECDH bugün yüksek güvenlik sunsa da gelecekte kuantum bilgisayarlar karşısında zayıf hale gelme riski taşıyor
- Ratchet, konuşma sırasında sürekli yeni gizli anahtarlar üreterek önceki ya da sonraki mesajların açığa çıkmasını önleyen bir tekniktir
- Alice ve Bob, oturumu yenilemek için belirli aralıklarla yeni ECDH gizli bilgileri üzerinde uzlaşıyor
Kuantum güvenli bileşenlerin karıştırılması ihtiyacı
- Kuantum bilgisayarlar, ECDH gibi mevcut asimetrik şifreleme yöntemlerini etkisiz hale getirebilir
- Buna karşı ilk adım olarak PQXDH, oturum başlangıcında kuantum güvenli gizli bilgileri karıştırıyordu
- Konuşma boyunca kuantum güvenli algoritmalara dayalı Key Encapsulation Mechanism (KEM) ile anahtar değişimi ihtiyacı öne çıkıyor
- KEM, Diffie-Hellman gibi ortak sır üretir ancak sıralı asimetrik mesaj alışverişi gerektirir
- ML-KEM gibi standartlaşmış KEM’ler kullanılarak oturum sırasında sürekli ve kuantum güvenli sırlar üretiliyor
Durum makinesi ve bant genişliği optimizasyonu
- KEM yaklaşımında anahtar değişim verisi büyük olduğundan (yaklaşık 1000 bayt), iletişim bant genişliği optimizasyonu önemli bir konu haline geliyor
- Durum makinesi (State Machine) mantığıyla Alice ve Bob’un hangi verileri (Encapsulation Key, Ciphertext vb.) ne zaman paylaşacağı yönetiliyor
- Veriyi chunk’lara bölme ve erasure codes kullanımıyla büyük veriler küçük parçalara ayrılıyor; böylece mesaj kaybı veya iletim eksikliği durumunda toparlanma kolaylaşıyor
- Protokol, saldırganın yalnızca anahtar değişim chunk’larını seçerek düşürüp sistemi kesintiye uğratmasını zorlaştıracak şekilde tasarlanmış
- Böylece mesaj kaybı, yeniden sıralama ve gecikme gibi gerçek mobil ortam koşulları etkili biçimde ele alınabiliyor
Verimlilik-güvenlik dengesi ve optimizasyon
- Ortak sır (Shared Secret) üretimini koşulsuz biçimde hızlandırmak, tersine belirli bir andaki tüm gizli bilgilerin saldırı durumunda açığa çıkması riskini artırabilir
- Signal, çok sayıda durum makinesi simülasyonu yürüterek paralel ve seri aktarım arasında güvenlik ile verimlilik dengesini buluyor
- ML-KEM’in ayrıntılı süreç analizi ve chunk’ların bölünüp eşzamanlı iletimi gibi yöntemlerle bant genişliği kullanımı en üst düzeye çıkarılıyor
- Signal bu süreci ML-KEM Braid olarak adlandırıyor ve kendi protokolünün bir modülü olarak kullanıyor
Triple Ratchet yapısı
- Double Ratchet (mevcut) ile SPQR (yeni, kuantum güvenli) birlikte çalıştırılıyor ve anahtarlar birleştirilerek hibrit şifreleme anahtarları oluşturuluyor
- Triple Ratchet yaklaşımında, mesajların açığa çıkması için her iki algoritmanın da kırılması gerektiğinden güvenlik seviyesi ciddi biçimde yükseliyor
- Gerçek uygulamada, double ratchet ve SPQR’dan gelen anahtarlar anahtar türetme fonksiyonuyla bir kez daha birleştirilerek kullanılıyor
- Triple Ratchet yapısı, geçmiş ve gelecekteki mesajlar için hem kuantum hem de klasik güvenlik garantileri sağlıyor
Heterojen kademeli geçiş ve uyumluluk yönetimi
- Yükseltme kademeli uygulanacağından, SPQR desteklemeyen kullanıcılarla uyumluluk sorunları ortaya çıkabilir
- İlk mesaj müzakeresi sırasında geçici downgrade’e izin verilerek iki kullanıcının birbiriyle uyumlu bir yöntem üzerinden iletişim kurması sağlanıyor
- Mesajlara SPQR verisi eklendiğinde bu veri doğrulama koduyla korunduğundan, saldırganın zorunlu downgrade yaptırması engelleniyor
- Taraflar uyumluluk müzakeresini tamamladıktan sonra, oturumun geri kalanı boyunca SPQR kullanımı kararı sabitleniyor
- Tüm kullanıcılar SPQR destekli sürüme yükseltildiğinde, eski oturumlar arşivlenecek veya kapatılacak ve yeni oturumlardan itibaren tam SPQR uygulanacak
Protokol güvenlik doğrulaması ve doğrulama araçları
- Signal, protokol tasarım aşamasından itibaren akademik araştırmacılar, PQShield, AIST, NYU gibi kurum ve ekiplerle yakın iş birliği yürüttü
- Eurocrypt 25 ve USENIX 25 gibi konferans makaleleriyle protokolün teorik olarak kuantum güvenliği ve mevcut güvence gereksinimlerini karşıladığı gösterildi
- Önerilen 6 post-kuantum ratchet protokolü arasından SPQR ve Katana (KEM kullanan yeni protokol) ayakta kaldı
- Biçimsel doğrulama (Formal Verification), Cryspen, ProVerif, hax, F* gibi araçlar ve CI hattı içinde sürekli otomatik olarak yönetiliyor
- Rust uygulaması ile doğrulama modelinin senkron tutulması sayesinde tasarımla gerçek kodun uyumu garanti ediliyor
- Uygulama sürecinde assertion’lar da koda aktif biçimde ekleniyor; hata oluştuğunda uygulama durarak potansiyel zafiyetler daha ortaya çıkmadan önleniyor
Doğrulama ile sürekli geliştirmenin birlikte yürütülmesi
- Biçimsel doğrulama süreci tek seferlik bir iş değil; kod tabanında her değişiklik olduğunda otomatik olarak yeniden çalıştırılıyor
- Yeni kod birleştirildiğinde doğrulama başarısız olursa derleme de yapılamıyor
- Pratikte, sınır değer hataları ile önkoşul/sonkoşullar net yönetildiğinde bakım kolaylaşıyor ve protokol olgunluğu en üst düzeye çıkabiliyor
Kısa sonuç
- Signal, güvenilir Triple Ratchet (Double Ratchet + SPQR) yapısını devreye alarak tüm mesajlar için kuantuma dayanıklı güvenlik sağlamayı hedefliyor
- Protokol geçişi, hizmet kesintisi veya kullanıcı rahatsızlığı olmadan aşamalı biçimde gerçekleşecek
- Ek veri aktarımı en aza indirildiği için mobil ortamda maliyet yükü neredeyse oluşmuyor
- Protokol, saldırganın manipülasyon yapabilmesi için hizmet reddi durumu yaratmasını gerektirdiğinden ortadaki adam (MITM) saldırılarına karşı da güçlü
- Kod ve tasarım sistematik olarak biçimsel doğrulamadan geçiriliyor ve güvenlik seviyesi gelecekte de korunuyor
- Signal kullanıcıları açısından, protokol değişiklikleri veya kuantum bilgisayar tehdidi görünür hale gelmeden koruma sağlanan bir ortam hedefleniyor
1 yorum
Hacker News yorumu
Signal, gerçekten harika kriptografi makaleleri yayımlamayı sürdürmesine rağmen, ürün açısından neyin başarılı olacağını bilmediği için sağa sola denemeler yapan bir izlenim veriyor. Post-kuantum handshake, hikâyeler, para transferi gibi yeni girişimler deniyor ama hâlâ SDK, API ve bot desteği yok. Resmî kütüphaneler de tamamlanmış değil, üstelik dokümantasyon da yok. Özelliklerin büyük kısmı hâlâ istemcinin içinde gizli. Protokol spesifikasyonunu yayımlamış olmaları güzel ama “alın bununla kendi kütüphanenizi yazın” demek, gerçek bir ürünün nasıl işletildiğinden tamamen kopuk ve sorumsuz bir tavır. Milyonlarca kişinin kullandığı bir platform için bu kadar temel şeylerin eksik olması tuhaf. WhatsApp ve iMessage gibi uygulamalar geliştiricilere en azından bir şeyler açıyor ama Signal’de geliştiriciler bilinçli biçimde dışlanıyormuş gibi bir hava var. Sanki ortada bir ürün yöneticisi yokmuş gibi, net bir strateji görmek mümkün değil. Uzun yıllardır Signal kullanan ve onu aktif biçimde savunup tanıtan biri olarak, Signal bana sıcak kriptografi teknolojilerini üst üste yapıştırmış, Apple ekosisteminden bile geliştiricilere daha kapalı bir mesajlaşma uygulaması gibi geliyor. Buna rağmen ürünü yapanlara yine de minnettarım
Katılıyorum. Özellikle “hikâyeler” özelliği gerçekten de “bakalım ne tutacak” diye ortaya atılmış gibi hissettirmişti. Signal’in anarşizme yakın bir kâr amacı gütmeyen yapıdan geldiğini düşünürsek, hedeflerinin sıradan şirketlerden farklı olması normal. Uygulama kendi asli görevini iyi yapıyor, o yüzden sorun etmiyorum ama bir SDK olsa gerçekten harika olurdu
API ya da iş botları gibi özelliklerin gerçekten ne kadar önemli olduğunu merak ediyorum. WhatsApp ve iMessage’in iş odaklı API’leri var ama sıradan bir kullanıcı olarak bunlar üzerinden işletmelerle gerçekten etkileşime girdiğim pek olmadı. Daha çok arada can sıkan botlarla uğraştım. Signal’deki asıl sorun, uygulama sessizce eski sürüme düştüğünde ya da güncellemeler durduğunda uyarı vermemesi ve bu yüzden mesajların tamamen kaçırılabilmesi. Bir mesajlaşma uygulamasının temel misyonu bu ama burada başarısız kalıyor
Bana sorarsanız API ve botların olmaması zaten bir avantaj
Ben onların bu tür özellikler olmadan, şimdiki gibi güvenli ve işe yarar bir mesajlaşma uygulaması yapmaya odaklanmasını tercih ederim
Signal’de beni gerçekten sinirlendiren şey, arayan kişinin duyduğu zil sesinin, karşı tarafın telefonunda gerçekten çalmıyor olsa bile duyulması. Eskiden beri bunu kasıtlı yaptıklarını söyleyerek savundukları resmî bir politika bu. O eski denizaltı sesini kaldırdıklarından beri de böyle sürüyor
Signal protokolünün adının SPQR olması beni epey şaşırttı. SPQR, Latince “Senatus Populusque Romanus” ifadesinin kısaltmasıdır Wikipedia’ya bakın. Fazlasıyla havalı
Gelecek odaklı bir protokol için SPQR adını kullanmakta Ozymandias vari bir hava var
Oldukça zekice bir isimlendirme. BBC mini dizisi "Rome"da Roma lejyonerlerinin dövmelerinde bunu sık sık gördüğümü hatırlıyorum Rome Wikipedia
Strength and Honor(güç ve onur)
Böyle bir mizahı yalnızca Hacker News’te görebileceğinizi düşünüyorum. Bir zamanlar “bir matematikçi dolap numarasını nasıl hatırlar” temalı bir çizgi roman vardı aklıma o geldi. (“1975 mi? O, 3,900,625’in karekökü!”)
Acaba sadece "SPQR" kulağa "Speaker" gibi geldiği ve sohbet uygulamasına uyduğu için mi böyle adlandırdılar? Her şeyi Roma’ya bağlamak zorunda değiliz
Signal’in en büyük zayıflığı, kimliği telefon numarasıyla ayırması. Bu numaralar yalnızca hacker’lar için değil, otoriter hükümetler açısından da her an ele geçirilebilir. Gelecekteki tehditleri düşünmek önemli ama önceliklerin değişmesi gerekiyor
Hâlâ bilmeyen vardır diye paylaşayım: Signal’de kullanıcı adlarıyla telefon numarasını gizleme özelliğinin tanıtımı (Şubat 2024)
Telefon numarası olmadan da çalışan ve hatta metadata’yı bile temizleyerek hizmet veren pek çok güvenli mesajlaşma uygulaması var. Telefon numarası ve SIM kartın kişiye sıkı sıkıya bağlı olduğu ülkelerde Signal’in yaklaşımı ciddi bir giriş engeli oluşturuyor
Telefon numarası istemek spam’ı önleme açısından kolay ama güvenilir bir yöntem sağlıyor
Kimliği telefon numarasıyla doğrulama fikri bana tek başına ölümcül bir sorun gibi gelmiyor. Otoriter bir hükümet numarayı ele geçirse bile mesaj geçmişini otomatik olarak elde etmiş olmuyor. Uyarı alan kullanıcı da zaten durumu fark ediyor. Signal kusursuz değil; eleştiri ve yüksek standartlar kesinlikle gerekli. Ama yine de sıradan insanların kullanabildiği, tam uçtan uca şifreleme ve metadata korumasını bir arada sunan tek mesajlaşma uygulaması olmaya devam ediyor. Güvenlik ve mahremiyet açısından daha güçlü hizmetler var ama benim anneannemin bile kullanabiliyor olması gerçekten önemli. Signal güvenlik tarafını artık yeterince oturttuysa, bundan sonra mahremiyete daha fazla odaklanmasını isterim. Eleştirmeye devam ederken bile onu güçlü biçimde tavsiye ediyor, arkadaşlarıma da aktif olarak öneriyorum. Hatta birkaç kez bağış da yaptım Signal şeffaflık raporuna bakın
Signal’de “kayıt kilidi” diye bir özellik var; parola ayarlandığında SIM ele geçirme yoluyla hesabın gasp edilmesini engelleyebiliyor
Signal’in bu kez SPQR’yi (kuantuma dayanıklı ratchet) uygulamaya aldıktan sonra, iMessage’ın PQ3’üne kıyasla nerede durduğunu merak ediyorum. Cyph ve Simplex’in geçmişteki kuantuma dayanıklı mesajlaşma girişimlerine dair değerlendirmeler de ilginç olurdu. iMessage PQ3 tanıtımı / Cyph - Post-Quantum Castle / Simplex - kuantuma dayanıklılık özellikleri
Signal’in SPQR’si, PQ3’e benzer şekilde ML-KEM tabanlı bir ratchet yapısı kullanıyor ama anahtar taşıma yöntemi farklı. ML-KEM anahtarlarının boyutu büyük olduğu için PQ3, anahtarları zaman zaman periyodik olarak gönderiyor; Signal ise bunları mesajlarla birlikte parçalara bölerek iletiyor. Gizli bant genişliği ve güvenlik açısından chunking’in daha güvenli ve verimli olduğuna karar vermişler. Hata düzeltme kodlaması yüzünden toplam bant genişliği artabilir ama her bir mesajın boyutu sabit kalıyor. Apple’ın ağ üzerinde daha fazla kontrolü olduğu için agresif yeniden anahtarlama savunmalarını uygulaması daha kolay olabilir
iMessage’ın mevcut dünyada gerçekten anlamlı olup olmadığından emin değilim. Çünkü iPhone kullanıcılarının çoğu iCloud yedeklerini E2E olmadan kullanıyor ve tam şifreli yedekleme isteğe bağlı bir seçenek. Yani kolluk kuvvetlerinden talep gelirse Apple şifreleri açabilecek durumda; kuantum bilgisayarlar gelmeden önce bile zaten yeterince zayıf
SPQR (Sparse Post-Quantum Ratchet) adını görünce Signal ekibinde bir Roma tarihi meraklısı olduğunu düşündüm
İnsanlar Roma İmparatorluğu’nu ne kadar sık düşünüyor?
Belki de sohbet uygulamaları için ideal kelime olan "Speaker"ın bir varyasyonu olduğu için seçilmiştir
Signal’in en büyük zayıflığı telefon numarası tabanlı kimlik doğrulama. Yalnızca hacker’lar değil, otoriter hükümetler de numara sahipliğini her an ele geçirebilir. Gelecekteki tehditler önemli ama öncelikler ters sıralanmış gibi
Signal’in mesaj iletim katmanı, yani bir tür “taşıma veri yolu” olmasını isterdim. Örneğin belli bir kişiden (eşim gibi) konumumu güvenli biçimde isteyip paylaşabilsem, Google’a ihtiyaç kalmazdı. Kimlik doğrulama sorununu zaten çözmüş durumdalar; şimdi Signal üzerinde uygulama geliştirilmesini teşvik etmeleri gerektiğini düşünüyorum. 2FA bile Signal üzerinden olsa SMS’ten daha güvenli olurdu
Güncel Signal protokolüyle Matrix, MLS gibi şeylerin karşılaştırılmasını da mutlaka görmek isterim. Alan çok hızlı gelişiyor, takip etmek zor; şu anda aralarındaki ilişkiyi merak ediyorum
Matrix ise açık bir standart; Olm+Megolm (double ratchet + grup anahtarı ratchet) birleşimini kullanıyor ve metadata sunuculara daha görünür durumda (grup yapısının sunucuya görünmesi, bazı özellik değerlerinin düz metin tutulması vb.; iyileştirme çalışmaları sürüyor: Element blogu - oda metadata’sını sunuculardan gizleme planı). Dağıtık bir yapısı olduğu için herkes sunucu kurabiliyor.
Son olarak MLS (RFC 9420), grup üyeliği ve anahtar değişimi için bir protokol; Double Ratchet’ın yerini alabilir ve son dönemde PQ desteği önerileri de görüyor. Performansı grup başına O(log N) ile verimli. Henüz tam olgunlaşmış değil ve Double Ratchet’a kıyasla daha karmaşık. Yaygınlaşması daha yavaş ama IETF standardı olduğu için Google bunu RCS’te, Discord/Webex ise VoIP tarafında benimsiyor. Metadata gizleme ya da kriptografik inkâr edilebilirlik (deniability) sağlamıyor
Bu yazı, şimdiye kadar okuduğum kriptografi yazıları arasında en üst düzeyde, gerçekten çok iyi yazılmış olanlardan biri. Kriptografi konusunda belli bir düzeyde anlayışım olduğunu düşünüyorum ama benzer konulardaki başka yazılarda bir noktadan sonra gözlerim gerçekten yoruluyordu; bu yazıda ise tamamen yabancı bir konuyu anlatsa bile akışı baştan sona takip edebildim
Kuantum kriptografi tehdidini iyi bilen biri, Signal’in en son protokolünün şimdi nasıl daha güvenli hâle geldiğini basitçe açıklayabilir mi? Okudum ama neden daha güvenli olduğunu tam anlayamadım. Gerçek kullanımda hissedilir bir hız düşüşü olup olmadığını da merak ediyorum
Basitçe anlatmak gerekirse, standart tehdit modeli şu: Düşman bugün bir şeyi çözemiyor olabilir ama gelecekte kuantum bilgisayarlar mümkün olduğunda, bugün toplanmış şifreli verileri saklayıp sonra topluca çözebilir. Buna “harvest and decrypt” modeli deniyor. Eğer Signal’in şu anki sırlarının uzun süre korunması gerekiyorsa ya da gelecekte de güvenli kalması isteniyorsa, bugünden PQ anahtar anlaşmasına ihtiyaç var. PQXDH gibi yeni protokollerin gerekçesi bu.
PQ ratchet’ın önemli olmasının sebebi ise, saldırganın yalnızca uzun vadede şifreli verileri toplaması değil; bir noktada cihazın ele geçirilmesi ya da uygulama açığı nedeniyle anahtar sızması gibi çok gerçekçi risklerin de bulunması. Burada forward secrecy ve post-compromise security şeklinde iki katmanlı savunma gerekiyor. Anahtarlar sürekli yenilenirse, bir anda saldırıya maruz kalsanız bile ne geçmiş mesajlar ne de gelecekteki mesajlar topluca riske girer. Bu savunmanın kuantum kriptografi ortamında da düzgün çalışması için tüm ratchet yapısının da PQ hâline getirilmesi gerekiyor. Aksi takdirde saldırgan yalnızca ratchet katmanını hedef alır ve bütün güvenlik bozulur
Signal’in önceki kuantuma dayanıklı kriptografi uygulamasında PCS (post-compromise security) yoktu. Bu güncellemeyle birlikte artık var. Nihayet PCS’nin anlamını kavradığım için sevindim. Yeni bir kavram sanıyordum ama OTR (Off-the-Record) protokolünde de zaten kullanılan bir yaklaşım olduğunu görmek biraz hayal kırıklığı yarattı. Bu anahtar değişimi sık gerçekleşen bir şey değil, dolayısıyla gerçek performans düşüşü neredeyse yok
Resmî blogun özeti:
Sono pazzi, questi Romani(Şu Romalılar gerçekten deli)