Son birkaç gündür çok soran oldu. Kriptologlar arasında güvenlik ve mahremiyet özellikleri enine boyuna tartışılmış tek protokol var; Signal tarafından geliştirilen. Bu ekibin kendi protokollerini geliştirdikleri kendi uygulamaları da mahremiyete saygılı.

#WhatsAppSiliyoruz
Sanırım açıklanmaya muhtaç bazı şeyler kalmış. Telegram ile Signal arasında karar veremeyenler var.

Güvenliğe ve mahremiyete bilimsel yaklaşacaksak bir tartışmanın söz konusu olması bile mümkün değil.
Telegram'dan söz ederek başlayalım.

Telegram, kriptolojinin ilk kuralı diyebileceğimiz şeyi, "sakın kendi şifreleme yöntemini uydurma" ilkesini ihlal eder. Bu kuralın varlığı, açık tasarımların herkesçe denetlenmesi için vardır.
Açık tasarım kullanılması fikri Kerckhoff ilkelerinin ikincisine dayanır. (en.wikipedia.org/wiki/Kerckhoff…) Yöntem açık ama kullanılacak şifre gizli olmalıdır. Böylece sistemi birinin biliyor olması ile haberleşmenin çözülemeyeceği garanti altına alınır.
Telegram kendine yöntem uydurarak bu ilkeyi atlıyor ve bilimsel yönden ciddi bir araştırma konusu olmadığı da literatüre bakıldığında görülüyor. Örneğin, 2015 yılında yazılan bir yazı uydurulan yöntemdeki bazı hataları gidermeye yönelik: (ieeexplore.ieee.org/abstract/docum…)
Bundan daha vahim olan şey; Telegram kullanıcı ile sunucu arasında şifreleme yapıyor ve bunu makul bir güvenlik özelliği gibi pazarlıyor.

Şöyle karşılaştıralım; şu an insanların kaçtığı WhatsApp dahi yeni sözleşmeye göre iletileri sunucuya kopyalamıyor. Telegram kopyalıyor.
Signal protokolüne ve bu protokolün izdüşümü olan Signal uygulamasına bakalım. Protokol dediğimizde güvenli haberleşme için haberleşen taraflarca kullanılan düzenli kriptolojik kurallardan söz ediyoruz.
Signal protokolü özetle üç aşamadan oluşuyor.

1. anahtar değişimi
2. ratcheting ile anahtar üreterek ileti gönderme
3. bekleyen şifreli iletiler gönderme
Birinci adım Diffie-Hellman-Merkle anahtar değişimi protokolünün güncel ve düzenlenmiş bir biçimini kullanıyor. Bu anahtar değişiminin ardından her iki taraf aynı ve bir başkası tarafından öğrenilemeyecek bir "paylaşılan anahtara" sahip oluyor.
Anahtar değişimi protokolünün olağan ve düzeltilemeyeceği kanıtlanmış bazı kusurları var. Ancak iki şey söyleyebilirim:

a. Bundan iyi bir protokol bilmiyoruz.
b. Anahtar değişimi sadece bir kez güvenli gerçekleşirse ilerideki her an güvenli olacağımızın garantisi var.
Sözünü ettiğim bu kusurları örtmek için Signal telefon numaralarınızın size özgü olduğunu kabul ediyor. Kısacası, sizi değil, telefon numaranızı uç nokta olarak kabul ediyor.

Eh, gayet makul. Kriptolojik hesabı kafanızdan hesaplayacak değildiniz herhalde.
Birinci adımı özetleyecek olursak; telefon numaranız size aitse Signal protokolünde size ve görüşmek istediğiniz kişiye bir anahtarı iki taraf ortak oluşturabiliyorsunuz.

Bunu bu iki kişi (telefon) dışında hiç kimse hiçbir zaman görmüyor.
İkinci adımda yapılan; paylaşılan anahtara dayalı bir anahtar üretme algoritması ile sıralı ara anahtarlar üretmek. Bu, kriptolojide oldukça sık kullanılan, iyi bilinen zincirleme bir işlemdir.
Bu sıralı anahtarlar; kullanılan rasgeleliği sürekli değiştirerek aynı mesajı defalarca gönderseniz de her seferinde farklı bir şifreleme yapılmasını sağlamaktır.
Kısaca, aynı kişiye iki kere arka arkaya "merhaba" yazacak olursanız her iki mesaj bilgisayar ağında taşınırken bambaşka ve birbiriyle ilişkilendirilemez biçimde görülecektir.
Burada ayrıntıya girilirse pek çok hoş özellik var. Örneğin, paylaşılan anahtarı karşı taraf birine verse bile anahtarı alan eski iletileri görüntüleyemez. Anahtarın bir güç tarafından zorla ele geçirilmesine karşı güncel kriptolojik yöntemler estetik biçimde kullanılmıştır.
Üçüncü adımda her iki tarafın eşzamanlı ileti gönderip almadığı durumlar kotarılır.
Bu adımda yapılan, basitçe, her bir kullanıcının bir miktar fazladan sıralı anahtar üretmesidir. Söz gelimi, yüzer tane. Böylece kişiler aynı anda İnternete bağlı olmasa da yüz taneye kadar şifreli ve yukarıda sayılan özelliklere sahip ileti gönderilebilecektir.
Tüm bunların herhangi bir hata içermediği biçimsel olarak kanıtlanmıştır. Bilimsel makaleyi şurada bulabilirsiniz: (link.springer.com/article/10.100…)
Bir de bu protokolü kullanan uygulamadan söz edeyim. Bunlar haliyle bilimsel değil kişisel yorumlarım.
Uygulamanın telefon numaranız dışında hiçbir şeye gerek duymaması, rehberinizi herhangi bir sunucuya göndermemesi, ancak izin verirseniz kişilerin Signal kullanıp kullanmadığı bilgisini vermesi ilişkilerinizi korumakta uygulamanın başarılı olduğunu gösteriyor.
Bundan başka, uygulama dosyalarınıza, fotoğraflarınıza, kameranıza, konumunuza "siz açıkça söylemedikçe" karışmıyor. Tam da istediğimiz şey bu değil mi? İstersek kullanalım, istemezsek kullanmayalım.
Uygulama ile fotoğraf göndermek, görüntülü konuşmak ve benzeri pek çok alışık olduğunuz şeyi yapmak mümkün. Kullanılırlıkta önemli bir değişiklik hissedilmeyecektir sanırım.
Konuyu kapatırken açıkta kalan son bir şeyi; grup iletilerinin güvenliğini ayrıca söylemek isterim.
Grup iletileri, tamı tamına yukarıda açıkladığım yöntemle çalışmıyor. Nedeni basit. Çokluk olunca bu sıralı anahtarları yönetmek zorlaşıyor.
Yine basitleştirerek şunu söyleyebilirim; birkaç kişiden oluşan gruplarda sayılan güvenlik özelliklerinin sağlanması için sıralı anahtarlar kullanılıyor. Ancak geniş gruplarda bu değişiyor.
Geniş gruplarda grupla paylaşılan sabit anahtarlara dayalı bir başka protokol işliyor. Bu protokol de oldukça güvenli. Ancak bazı güzel özellikler (eski iletilerin anahtar olsa da çözülememsi gibi) tamı tamına korunamıyor.
Umarım, mantıklı bir seçim için yararlı bilgiler vermişimdir.

Bu kadar.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Mehmet Tahir SANDIKKAYA

Mehmet Tahir SANDIKKAYA Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!