deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (hnrss.org)

Rust prototipi, Signal tarzı post-quantum uçtan uca şifreli mesajlaşma çekirdeğini uyguluyor

QT adlı Rust prototipi X3DH, PQXDH, Double Ratchet ve Sealed Sender'ı otomatik testlerle uyguluyor; Hacker News başlığıysa 124MB RAM ile 10.000 bağlantı iddiasında bulunuyor.

Rust prototipi, Signal tarzı post-quantum uçtan uca şifreli mesajlaşma çekirdeğini uyguluyor

Signal tarzı bir yığın, Rust ile yeniden inşa edildi

moral666 takma adıyla yayın yapan bir geliştirici, Rust ile yazılmış, uçtan uca şifreli bir mesajlaşma uygulamasının kriptografik ve taşıma çekirdeğinin açık kaynak prototipi olan QT'yi yayınladı. Projenin README'sine göre kod; oturum kurulumu için X3DH ve onun post-quantum varyantı PQXDH'yi, devam eden mesaj şifrelemesi için Double Ratchet'i, metadata koruması için Sealed Sender'ı ve taşıma katmanı için WebSocket üzerinden Noise Protocol Framework'ü uyguluyor — yazar, bu yığının Signal'in kullandığı tasarımı izlediğini ve post-quantum anahtar anlaşmasıyla genişletildiğini söylüyor. (Depo adı Qt araç takımıyla çakışıyor, ancak proje saf Rust'tır ve onunla ilgisizdir.)

Proje 12 Ekim'de Hacker News'in ana sayfasına ulaştı; gönderi başlığında sunucunun 124MB RAM ile 10.000 bağlantıyı sürdürdüğü iddia ediliyor. Bu rakam yalnızca gönderi başlığında yer alıyor; README, arkasındaki benchmark'ı anlatmıyor, dolayısıyla bunu belgelenmiş bir sonuç değil, doğrulanmamış bir başlık iddiası olarak okumak en doğrusu.

Neler inşa edildi ve test edildi

README, olgunluk konusunda alışılmadık derecede açık sözlü. Bunun bitmiş bir ürün olmadığını düpedüz belirtiyor ve okuyuculardan zaman investment etmelerini istemeden önce kodun gerçekten çalışıp çalışmadığına dair dürüst bir bölüm içeriyor. Yazarın var olduğunu ve testlerden geçtiğini söyledikleri:

  • Çekirdek: oturum kurulumu (X3DH artı post-quantum varyantı) ve Double Ratchet üzerinden sürekli şifreleme; başarısız olması gereken ve başarısız olan durumlar dahil 14'ten fazla otomatik testle kapsanıyor.
  • Taşıma: gerçek WebSocket bağlantıları üzerinde Noise Protocol koruması, simüle edilmiş bağlantılar değil.
  • Sunucu: mesajları içeriğini görmeden ve göndereni öğrenmeden ileten bir relay; kill -9 ile çalışma ortasında öldürülmeyi atlatması test edildi.
  • Depolama: şifreli yerel kalıcılık; yanlış bir parolanın hiçbir şey açmadığını doğrulayan testlerle.
  • Bir terminal istemcisi, birbirleriyle konuşan tamamen ayrı süreçlerle çalıştırıldı.
  • Kotlin, Swift ve Python'a FFI köprüleri; Python yolu test edildi.
  • README'ye göre gerçek bir telefonda çalışmış olan bir Android proof-of-concept uygulaması, ancak henüz kendi deposu olarak yayınlanmadı.

Hâlâ eksik olanlar

Eksikler süslemeden sıralanıyor: gerçek bir sohbet ekranı yok (Android uygulaması şu anda yalnızca bir demo düğmesi sunuyor), internetten erişilebilir bir sunucu dağıtımı yok ve TLS yok — taşıma katmanı düz ws:// kullanıyor; yazar bunun yalnızca testlere uygun olduğunu söylüyor. Bağımsız sunucular arasındaki federation, yani tek bir otoritenin bir host'u kapatarak ağı kapatamaması planlanmış ama henüz yok. Veritabanı parolası şu anda platform keystore'sundan veya Secure Enclave'den değil, komut satırı argümanı olarak geliyor. En önemlisi, bağımsız bir güvenlik denetimi yapılmadı ve yazar, böyle bir denetim var olmadan sistemi gerçek konuşmalarla kullanmaya güvenilmemesini açıkça tavsiye ediyor.

Bilinçli tasarım kararları

QT'de kimlik kriptografik bir anahtara, telefon numarasına veya e-posta adresine değil, bağlanıyor. Herkesin tanımlayıcısı public key'inden türetiliyor ve hiç kimse kullanıcı adı seçmiyor — bu, telefon numarasıyla kaydın oluşturduğu metadata izini önlemek için bilinçli bir karar. README, çabayı güvenliği bir gizlilik politikasından değil mimariden gelen bir iletişim altyapısı inşa etmek olarak çerçeveliyor ve motivasyonun bir parçası olarak Avrupa Birliği'nde görüşülmekte olan Chat Control mevzuatına atıfta bulunuyor.

Kod çift lisanslı: açık kaynak kullanım için AGPL-3.0-or-later ve farklı koşullara ihtiyaç duyan kurumlar için yazılı anmayla edinilebilen ayrı bir ticari lisans.

Çalıştırma

Workspace'i derlemek rustup üzerinden Rust gerektiriyor — post-quantum çekirdek özelliği özellikle Rust 1.81 veya daha yenisine ihtiyaç duyuyor — ayrıca redis-server ve libsqlcipher-dev gerekli. Tek bir cargo komutu, iki kurgusal taraf arasındaki eksiksiz bir şifreli konuşmayı adım adım gösteren bir demonstrasyon çalıştırıyor; ayrı CLI binary'leri ise iki bağımsız sürecin yerel bir relay'e kaydolup mesaj gönderip almasını sağlıyor.

Neden önemli

PQXDH, bugün kaydedilen şifreli trafiğin gelecekteki bir quantum bilgisayarıyla çözülebileceği harvest-now, decrypt-later senaryosuna karşı var. Signal'in protokol ailesi güvenli mesajlaşmanın referans tasarımı hâline geldi ve bunun gibi bağımsız yeniden uygulamalar, o tasarımın özgün ekosistemi dışında yeniden inşa edilip edilmediğini sınarken araştırmacılara ve denetçilere karşılaştırabilecekleri ikinci bir kod tabanı sunuyor. Rust'ta yazılmış olması, tarihsel olarak kriptografik C kodunu rahatsız eden bellek güvenliği hata sınıfını da daraltıyor. 10.000 bağlantı / 124MB rakamı inceleme altında doğrulanırsa, tam bir post-quantum E2EE yığınının dikkat çekici ölçüde mütevazı bir altyapıda çalışabileceğini gösterir. Uyarılar gerçek — denetim yok, TLS yok, bitmemiş bir istemci — ama teknik bir prototip olarak bu, pseudocode veya diyagram değil, ciddi bir implementation ve yazarın kanıtlamaya çalıştığı şey de tam olarak buydu.

  • #rust
  • #post-quantum
  • #encryption
  • #messaging
  • #open-source

İlgili yazılar