Mesajlaşma Uygulamalarının Sırları: Uçtan Uca Şifreleme?

On yıl önce çoğumuz mesajlaşma uygulamalarında paylaştığımız içeriklerin güvenliğini düşünmüyorduk bile. Bugün ise en ufak bir güvenlik açığı bile bu uygulamaların kullanıcılarını ayaklandırmaya yetiyor.

Peki mesajlaşma uygulamaları gerçekten iddia ettikleri kadar güvenli mi?

Sıkıcı Arka Plan Bilgisi

Kerckhoffs İlkesi: Geçmişte algoritmaların iş mantığı gizlenirse güvenli olacağı düşünülüyordu. Ancak 1970’lerde Claude Shannon, “Açık algoritma, Güvenli veri” fikrini benimseyen Kerckhoffs İlkesi’ne öncülük etti. Yani bir sistemin güvenliği yalnızca gizli anahtara bağlı olmalıdır. Algoritmanın kendisi herkes tarafından bilinse bile sistem güvenli kalmalıdır. Bu fikir modern kriptografinin temelini oluşturdu ve “gizlilik yoluyla güvenlik” kavramını ortadan kaldırdı.

Bunu iş yerinde patronlarınıza yazdıkları kodun dünyanın en gizli kodu olmadığını açıklamaya çalışırken kullanabilirsiniz 😃

Tarihsel bir hata: Netscape, SSL için ürettiği PRNG (Sözde Rastgele Sayı Üreteci) sayılarında zaman damgaları ve cihaz kimlikleri gibi tahmin edilebilir bilgiler kullandı. Üstelik güvenliği sağlamak için iş mantığını ve derlenmiş kodu gizli tutmaya güvendi. Sonunda Ian Goldberg ve David Wagner bu zayıflığı tersine mühendislik yoluyla ortaya çıkardı. Bu güvenlik açığının Netscape’in çöküşüne yol açan faktörlerden biri olduğunu söyleyebiliriz.

Önemli Arka Plan Bilgisi

İleri Gizlilik (Forward Secrecy): Her iletişim oturumu için ayrı şifreleme anahtarları kullanılır (HKDF ile). Mevcut bir anahtarın ele geçirilmesi, geçmiş iletişimlerin güvenliğini tehlikeye atmaz.

İnkar Edilebilirlik (Deniability): Kullanıcılar belirli bir mesajı gönderdiklerini makul bir şekilde inkar edebilir. Üçüncü taraflar mesajların gerçekliğini doğrulayamaz. Kolluk kuvvetleri veya mahkeme, iletişim kurduğunuz kişinin cihazına fiziksel olarak el koysa bile, üretilen anahtarların sizinle üretildiğini matematiksel olarak kanıtlayamazlar. Bu özelliğe kriptolojide inkar edilebilirlik denir.

Sunucu Güvenliğinin Göreli Önemi: İleri Gizlilik ve İnkar Edilebilirlik düzgün bir şekilde uygulandığında, sunucu tarafı güvenliği ikincil hale gelir. Sunucudan veri çalınsa bile, bu özellikler sayesinde kullanıcı iletişimi korunmaya devam eder.

Bu sıkıcı açıklamalardan sonra, şimdi günümüzün mesajlaşma uygulamalarını mercek altına alalım.

Kritik Sorular

Bir mesajlaşma uygulaması uçtan uca (E2E) şifreleme yaptığını iddia ediyorsa, aşağıdaki soruları cevaplayabilmelidir:

Kriptoloji

  • Protokol: Hangi uçtan uca şifreleme protokolü kullanılıyor? Double Ratchet mı, yoksa Telegram gibi basit bir Diffie-Hellman ile kendi uygulamaları mı?
  • Eliptik Eğri: ECC kullanılıyorsa, hangi eğri kullanılıyor?
  • KEM: Anahtar Kapsülleme Mekanizması var mı?
  • Uzman Gelişimi: Protokol kriptanalistler tarafından mı geliştirildi? Yoksa programcılar tarafından mı uygulandı?
  • Kütüphane Tutarlılığı: Tüm cihazlarda aynı kütüphane mi kullanılıyor?
  • Dil Seçimi: Protokol C’de mi geliştirildi? Yoksa hangi dilde geliştirildi? Örneğin, Java’nın JVM yapısı yan kanal saldırılarına karşı önlem almayı neredeyse imkansız kılıyor.
  • İleri Gizlilik: İleri Gizlilik destekleniyor mu?
  • İnkar Edilebilirlik: İnkar Edilebilirlik sağlıyor mu?
  • Ekip Yetkinliği: Ekipte matematikçiler çalışıyor mu?
  • PQC: Kuantum Sonrası Kriptografi destekliyor mu?
  • Gürültü: Noise Protokolü kullanılıyor mu?

Sunucu

  • Açık Kaynak: Sunucu kodu açık kaynak mı?
  • Self-Host: Sunucu kodu kendi sunucunuzda barındırılabilir mi?
  • Lokasyon: Sunucular nerede bulunuyor?
  • Senaryolar: Olası saldırılar için senaryolar planlandı mı? Kayıt telefon numarası veya e-posta ile yapılıyorsa, meta verileri koruyabilecek yapılar neler?

İstemci

  • Açık Kaynak/Whitepaper: Kod açık kaynak mı? Kod açık kaynak değilse, tüm güvenlik detayları Whitepaper’da sağlanıyor mu?
  • Build Doğrulama: Mağazadan indirdiğim uygulama açık kaynak kodla aynı mı?
  • Token Güvenliği: Giriş Token güvenliği nasıl sağlanıyor? Çoklu cihaz destekleniyorsa, cihazlar arasında token güvenliği nasıl sağlanıyor?
  • Kayıt: Nasıl kayıt olabilirim?
  • Anonimlik: Anonim olarak kullanabiliyorsam: Doğum Günü Paradoksuna karşı önlem var mı?
  • Anahtar Yönetimi: İstemci cihazlarında gizli anahtarlar nasıl yönetiliyor? Donanım tabanlı şifreleme yöntemleri kullanılabilir mi?

Diğer Kritik Sorular

  • Çoklu Cihaz: Çoklu cihaz yönetimini destekliyor mu? Sesame protokolü kullanılıyor mu?
  • FIPS: FIPS Standartlarını destekliyor mu? FIPS testini geçti mi?
  • Kayıp Cihaz: Birden fazla cihazda oturum açtıktan sonra bir cihaz kaybolursa ne olur?
  • Kimlik Doğrulama: Konuştuğunuz kişinin gerçek olduğunu doğrulamanın bir yolunu sunuyor mu?
  • Anahtar Kaybı: Bir kullanıcı gizli anahtarlarını kaybederse ne olur? Diğer kullanıcı bu konuda bilgilendiriliyor mu?
  • Grup Şifreleme: Grup mesajlaşması uçtan uca şifreli mi? (MLS Protokolü)
  • Grup Medya: Grup medya mesajları şifreli mi?
  • Grup Anahtar Dağıtımı: Grup anahtar dağıtım protokolü güvenli mi? Yani grup üyelerinden biri kötü niyetliyse, buna karşı önlemler alınmış mı?
  • Bağımsız Denetim: Protokol bağımsız kuruluşlar tarafından incelendi mi?
  • Sızma Testi: Sızma testleri yapıldı mı?
  • Gelir Modeli: Nasıl para kazanıyorlar?
  • Veri Kullanımı: Kullanıcı verileri para kazanmak için kullanılıyor mu?
  • Tehdit Modeli: Tehdit modelleri oluşturuldu mu? Bunlara karşı hangi önlemler alındı?

Karar

Bu sorular çoğaltılabilir, ancak bu temel sorulara bakıldığında Telegram, Threema ve WhatsApp söz konusu bile olamaz, Signal ise aralarında en uygun olanı gibi görünüyor.

Ancak Signal hakkında bazı sorular akla geliyor:

  • Signal neden eskisi gibi sunucu kodunu yayınlamıyor?
  • Signal’in sunucu kodu neden artık kendi sunucunuzda barındırılamıyor? V7 ve sonrasından bahsediyorum.
  • WhatsApp’ın kurucusu neden Signal’e 50 milyon dolar bağışladı?
  • Signal nasıl para kazanıyor?
  • Kendileri her yıl zarar gösteriyor ve işi bağışlarla sürdürdüklerini söylüyorlar. Doğru olmalı 😀
  • Signal sunucularını Amazon’a taşıdığında Amazon’un önemli bir indirim yapmasının nedeni ne?
  • Dünyaya barış, huzur ve mutluluk getirmek için neden bu kadar istekliler? 😀
  • Amerikan mahkemelerinin Signal konuşmalarını sanıkların önüne koyduğu söylentilerine neden yanıt vermiyor?

Tabii ki Signal’in resmi veya gayri resmi kanalı olan Community Signal’in bu sorulara cevapları var ve bazılarını sordum, ama bilmiyorum, tatmin olamadım 😀

Sonuç

Ne yazık ki hiçbir mesajlaşma uygulaması tamamen güvenli değil. Burada en mantıklı eylem, yasalara uygun yaşamak ve dijital dünyada anonim bir birey olarak kalmak gibi görünüyor.

Kişisel bir tavsiye: kendi kriptoloji uygulamanızı yapmayın.