# Signal Protokolü
Signal Protokolü (eskiden TextSecure Protokolü olarak bilinir), sesli aramalar, video görüşmeleri ve anlık mesajlaşma konuşmaları için uçtan-uca şifreleme sağlamak için kullanılabilen federe olmayan kriptografik protokoldür. Protokol, Open Whisper Systems (sonradan Signal Vakfı) tarafından 2013 yılında geliştirildi ve daha sonra Signal olan açık kaynak TextSecure uygulamasında tanıtıldı . O zamandan beri, "dünya çapında bir milyardan fazla insanın" sohbetlerini şifrelediği söylenen WhatsApp gibi kapalı kaynak uygulamaları içine uygulanmıştır. Ayrıca Google Allo'nun "gizli mod" için uyguladığı gibi Facebook Messenger da isteğe bağlı "gizli sohbetler" için signal protokolünü sunduğunu belirtmiştir.
Protokol Double Ratchet Algoritması, prekeys ve üçlü eliptik-eğri Diffie–Hellman (3-DH) el sıkışma ' yı kombine eder ve Curve25519, AES-256 ve HMAC- SHA256'yı temel olarak kullanır.


## Tarihçe.
Signal Protokolünün geliştirilmesi, 2013'te Trevor Perrin ve Moxie Marlinspike (Open Whisper Systems) tarafından başlatıldı. Protokolün ilk sürümü olan TextSecure v1, Off-the-Record Messaging (Kayıt Dışı Mesajlaşma-OTR) protokolüne dayanıyordu.
24 Şubat 2014'te, Open Whisper Systems, Axolotl Ratchet'a geçen TextSecure v2'yi tanıttı. Axolotl Ratchet tasarımı, OTR tarafından tanıtılan geçici anahtar değişimine dayanır ve Silent Circle Anlık Mesajlaşma Protokolünden (SCIMP) sonra modellenen simetrik anahtarlı bir mandal ile birleştirilir. Asenkron iletişim (" çevrimdışı mesajlar") için önemli yeni özelliğin yanı sıra düzensiz mesaj dizilişi ile daha iyi esneklik ve birden fazla katılımcıyla yapılan görüşmeler için daha basit destek sağladı. Axolotl Ratchet, kendine has iyileştirme yeteneğine sahip nesli tükenme tehlikesi altındaki sucul semender Axolotl'un adını almıştır. Geliştiriciler algoritmayı kendi kendini iyileştirici olarak görür çünkü ptotokol, bir oturum anahtarını ele geçiren bir saldırganın, sonraki iletilerin açık metinlerine erişmesini otomatik olarak devre dışı bırakır.
Protokolün üçüncü sürümü TextSecure v3, temel şifrelemelerde ve "wire" protokolünde bazı değişiklikler yaptı. Ekim 2014'te, Bochum Üniversitesi'nden araştırmacılar TextSecure v3'ün bir analizini yayınladılar. Diğer bulguların yanında, protokol üzerinde bir bilinmeyen anahtar paylaşımı saldırısı (unknown key-share attack) sundular, ancak genel anlamda, protokolün güvenli olduğunu ortaya koydular.
Mart 2016'da, geliştiriciler protokolü "Signal Protokolü" olarak yeniden adlandırdılar. Ayrıca Axolotl Ratchet'ın ismini, Ratchet ve Full Protokol'ü daha iyi ayırt etmek için Double Ratchet Algoritması olarak değiştirdiler, çünkü bazıları full protokolü belirttiğinde Axolotl ismini kullanmıştı.
Ekim 2016[güncelleme]'dan itibaren Signal Protokolü, TextSecure v3'ü temel alır, ancak bunun yanında ek şifreleme değişiklikleri içerir. Ekim 2016'da İngiltere'nin Oxford Üniversitesi, Avustralya'nın Queensland Teknoloji Üniversitesi ve Kanada'nın McMaster Üniversitesi araştırmacıları protokolün resmi bir analizini yayınladı. Protokolün şifreleme açısından sağlıklı olduğu sonucuna vardılar.


## Özellikler.
Protokol, gizlilik, bütünlük, kimlik doğrulama, katılımcı tutarlılığı, hedef doğrulama, ileri yönlü gizlilik(forward secrecy), geriye dönük gizlilik (backward secrecy-aka gelecekteki gizlilik), nedensellik korunması(causality preservation), mesaj bağlantısızlığı(message unlinkability), mesajın reddedilmesi(message repudiation), katılımın reddedilmesi(participation repudiation) ve asenkronite sağlar. Anonimite koruması sağlanmaz ve mesajların aktarılması ve ortak anahtar materyallerinin depolanması için sunucular gerektirir. [17]
Signal Protokolü uçtan uca şifreli grup sohbetlerini de desteklemektedir. Grup sohbet protokolü double ratchet ve multicast şifrelemesinin bir kombinasyonudur . [17] Grup sohbet protokolü, bire bir protokolden sağlanan özelliklere ek olarak, konuşmacı tutarlılığı, düzensizlik esnekliği, mesaj düşürme esnekliği, hesaplama eşitliği, güven eşitliği, alt grup mesajlaşması ve de kısaltılabilir ve genişletilebilir üyelik özelliklerini sağlar.


### Kimlik Doğrulama.
Kimlik doğrulama için kullanıcılar, açık anahtar parmak izlerini(public key fingerprint) harici bir kanal aracılığı ile karşılaştırabilir. Bu, kullanıcıların birbirlerinin kimliklerini doğrulamasını ve araya girme saldırısını (MItM) engellemeyi mümkün kılar. Ek bir düzenleme ile, bir kişinin anahtarının değişip değişmediğini kullanıcıya bildirmek için "ilk kullanıma güven" mekanizmasını seçmek de mümkündür.


### Metadata.
Signal Protokolü, bir kurumun veya şirketin, kullanıcıların ne zaman ve kiminle iletişim kurduğu hakkında bilgi tutmasını engellemez. Bu nedenle, mesajlaşma servisi sağlayıcılarının bu bilgileri nasıl kullanmayı seçtikleri konusunda farklılıklar olabilir. Örneğin, WhatsApp'ın gizlilik politikası şu şekildedir:
WhatsApp, başarıyla teslim edilen mesajların tarih ve zaman damgası bilgileri ve mesajlaşma sağlamış cep telefonu numaralarının yanı sıra WhatsApp'ın yasal olarak toplamak zorunda olduğu diğer bilgileri de saklayabilir.
Signal'ın gizlilik politikası, kullanıcı belirteçlerinin, yalnızca Signal sunucularında ve ihtiyaç duyulduğu sürece her mesajı iletmek için tutulduğunu ifade eder. Haziran 2016'da Moxie Marlinspike, haber dergisi The Intercept'e "Signal sunucusunun depoladığı metadata'ya en yakın bilgi her kullanıcının sunucuya en son bağlandığı zamandır ve bu bilginin ayrıntısı saat, dakika ve saniyeden ziyade gün bilgisine indirgenmiştir. " diye konuştu.