İçeriğe atla

Double Ratchet Algoritması

Kriptografide Double Ratchet Algoritması (daha önce Axolotl Ratchet[1][2] olarak anılmıştır), Trevor Perrin ve Moxie Marlinspike tarafından 2013 yılında geliştirilen bir anahtar yönetim algoritmasıdır. Anlık mesajlaşma için uçtan uca şifreleme sağlamak adına, kriptografik bir protokolün bir parçası olarak kullanılabilir. İlk anahtar değişiminden sonra, kısa ömürlü oturum anahtarlarının devam eden yenilenmelerini ve bakımlarını yönetir. Diffie-Hellman anahtar değişimi (DH) temelinde bir kriptografik mandal(ratchet) ve bir anahtar türetme fonksiyonu (KDF) (hash fonksiyonu gibi) temelinde bir mandalı kombine etmesinden dolayı, double ratchet(çift mandal) olarak anılmıştır.

Geliştiriciler algoritmayı kendi kendini iyileştirici olarak görür çünkü 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.[3]

Çıkış Noktası

Double Ratchet Algoritması, 2013 yılında Trevor Perrin ve Moxie Marlinspike (Open Whisper Systems ) tarafından geliştirildi ve Şubat 2014'te Signal Protokolünün bir parçası olarak tanıtıldı. Double Ratchet Algoritmasının tasarımı, Off-The -Record Messaging (Kayıt dışı mesajlaşma) tarafından tanıtılan DH mandalına dayanır ve Silent Circle Anlık Mesajlaşma Protokolünden (SCIMP) sonra modellenen simetrik anahtarlı bir mandal ile birleştirilir. Mandal(rachet), kendine has iyileştirme yeteneğine sahip nesli tükenme tehlikesi altındaki sucul semender Axolotl'un adını almıştır. Mart 2016'da, Axolotl Ratchet'ın ismini, Ratchet ve Full Protokol'ü daha iyi ayırt etmek için Double Ratchet Algoritması olarak değiştirdiler,[2] çünkü bazıları full protokolü belirttiğinde Axolotl ismini kullanmıştı.[2][4]

Özellikler

Double Ratchet Algoritması, uçtan-uca şifreleme sistemlerinde uzun süredir yaygın olarak kullanılan özelliklere sahiptir: içeriğin tüm ulaşım yolunda şifrelenmesinin yanı sıra, uzak eşin kimlik doğrulaması ve mesajların manipüle edilmesine karşı koruma. DH ve KDF mandallarının bir karışımı olarak, her iki ilkenin de istenen özelliklerini bir araya getirir. OTR mesajlaşmasından, forward secrecy özelliğini alır ve bir oturum anahtarının açığa çıkması durumunda otomatik olarak yeniden gizlilik kurar, gizli kalıcı ana anahtardan(secret persistent main key) ödün vermek suretiyle forward secrecy ve mesaj yazanlar için makul bir inkâr edilebilirlik olmuş olur. Ayrıca, sekonder KDF mandallarını kullanarak uzak uç ile etkileşime girmeden oturum anahtarının yenilenmesini sağlar. Aşağıdaki anahtarları tehlikeye atmadan düzensiz mesajlar için oturum anahtarlarının tutulmasını sağlamak adına ilave bir anahtar türetme adımı atılır.

OTR mesajlaşmasına kıyasla, gönderilen mesajların yeniden sıralama, silme ve tekrarlamasını algılaması ve ileri gizlilik (forward secrecy) özelliklerini geliştirdiği belirtilmiştir.

Önceden oluşturulmuş bir kerelik anahtarların tutulması için (prekeys) ortak anahtar altyapısıyla (PKI) birleştirildiğinde, mesajlaşma oturumlarının uzak eşin varlığı olmadan başlatılmasına olanak tanır (eşzamansız iletişim ). İlk anahtar değiştirme yöntemi olarak üçlü Diffie-Hellman anahtar değişimi (3-DH) kullanılması, inkâr edilemezlik özelliklerini iyileştirir. Bunun bir örneği, Signal Protokolü'dür ve Double Ratchet Algoritması, ön tuşlar (prekeys) ve 3-DH el sıkışma özelliklerini bir araya getirir.[5] 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.[6] Anonimite koruması sağlamaz ve mesajların aktarılması ve ortak anahtar materyallerinin depolanması için sunucular gerektirir.[6]

Çalışma Şekli

Diagram of the working principle

Bir istemci mümkün olduğunda Diffie-Hellman mandalını kullanarak uzak taraf ile etkileşimde oturum anahtarını yeniler, aksi halde bağımsız olarak bir hash mandalı kullanarak yeniler. Bu nedenle, her mesajda, double ratchet kullanan bir kullanıcı, bir DH mandalından ortak bir sırrı toplayan iki hash mandalından birini (bir tane gönderirken, bir tane de alırken) ilerlemektedir. Aynı zamanda uzaktaki eşe yeni bir genel DH değeri sağlamak için her fırsatı kullanmaya ve uzak uçtan yeni bir DH değeri geldiğinde DH mandalı ilerletmeye çalışır. Yeni bir ortak sır kurulduğunda, yeni bir hash mandalı başlatılır.

Şifreleme ilkelleri olarak Double Ratchet Algoritması,

DH mandalı için
Curve25519 ile Elliptik Curve Diffie-Hellman (ECDH),
Mesaj Doğrulama Kodu için (MAC, kimlik doğrulama)
SHA-256 tabanlı Özet-Tabanlı Mesaj Doğrulama Kodu (HMAC),
Simetrik şifreleme için
PKCS # 5'e göre padding ile Kısmi Blok şifre çalışma kipleri-CBC (Cipher Block Chaining ) ve padding olmaksızın kısmi CTR (Counter Mode) ile AES (Advanced Encryption Standard).
Hash mandalı için
HMAC.[7]

kullanır.

Kullanımı

Double Ratchet Algoritması'nı veya bunun özelleştirilmiş bir versiyonunu kullanan şifreleme protokollerinin bir listesi aşağıdadır:

  • Matrix, gerçek zamanlı iletişim için açık kaynak protokol. Double Ratchet Algoritması uygulamasıyla oda bazında isteğe bağlı uçtan uca şifreleme sağlayan bir kütüphane olan Olm'ı içerir. Matrix şu dillerde kullanılır:
    • Amdocs's Riot (eski adıyla Vektör)[8]
  • OMEMO, XMPP'nin bir uzantısı. İçerisinde kullanıldığı yerler:
    • Konuşmalar
    • ChatSecure
    • Gajim, ayrı olarak kurulması gereken bir üçüncü parti eklentisi olarak
    • Cryptocat[9]
  • Proteus, Signal Protokolü[10] temel alınarak "Wire Swiss" tarafından geliştirilen ve şirketin anlık ileti uygulaması Wire'da kullanılan bir protokoldür.[11]
  • Signal Protokolü; Double Ratchet Algoritması, prekeys ve 3-DH el sıkışma kombinasyonudur.[5] Kullanıldığı yerler:
    • Signal Protokolünü kullanan isteğe bağlı bir modu barındıran Facebook Messenger .[12]
    • Google Allo, ayrıca Signal Protokolünü kullanan isteğe bağlı bir moda da sahiptir.[13]
    • G Data'ın "Güvenli Sohbet"i[14][15]
    • Signal
    • WhatsApp[16]

Diğer:

  • Kasım 2013'te Double Ratchet Algoritması, "Pond" denilen deneysel bir eşzamansız mesajlaşma sistemine entegre edildi.[17]
  • Mayıs 2016'da Viber, şifreleme protokolünün, Signal Protokolü ile "aynı konsepti kullanan" özelleştirilmiş bir versiyonu olduğunu açıkladı.[18]

Kaynakça

  1. ^ Perrin, Trevor (30 Mart 2016). "Compare Revisions". GitHub. 7 Mayıs 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Nisan 2016. 
  2. ^ a b c Marlinspike, Moxie (30 Mart 2016). "Signal on the outside, Signal on the inside". Open Whisper Systems. 28 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Mart 2016. 
  3. ^ Marlinspike, Moxie (26 Kasım 2013). "Advanced cryptographic ratcheting". whispersystems.org. Open Whisper Systems. 24 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Ocak 2016. The OTR style ratchet has the nice property of being 'self healing.' 
  4. ^ Cohn-Gordon et al. 2016, s. 1
  5. ^ a b Unger et al. 2015, s. 241
  6. ^ a b Unger et al. 2015, s. 239
  7. ^ Frosch et al. 2014
  8. ^ Butcher, Mike (19 Eylül 2016). "Riot wants to be like Slack, but with the flexibility of an underlying open source platform". TechCrunch. AOL Inc. Erişim tarihi: 20 Eylül 2016. []
  9. ^ "Security". Cryptocat. 3 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Temmuz 2016. 
  10. ^ "Add attribution". GitHub. Wire Swiss GmbH. 9 Mayıs 2016. 7 Mayıs 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Temmuz 2016. 
  11. ^ "Wire Security Whitepaper". Wire Swiss GmbH. Erişim tarihi: 15 Temmuz 2016. []
  12. ^ Greenberg, Andy (4 Ekim 2016). "You Can All Finally Encrypt Facebook Messenger, So Do It". Wired. Condé Nast. 15 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Ekim 2016. 
  13. ^ Greenberg, Andy (18 Mayıs 2016). "With Allo and Duo, Google Finally Encrypts Conversations End-to-End". Wired. Condé Nast. 2 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Temmuz 2016. 
  14. ^ Seals, Tara (17 Eylül 2015). "G DATA Adds Encryption for Secure Mobile Chat". Infosecurity Magazine. Reed Exhibitions Ltd. 22 Temmuz 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Ocak 2016. 
  15. ^ "SecureChat". GitHub. G Data. 7 Mayıs 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Temmuz 2016. 
  16. ^ Metz, Cade (5 Nisan 2016). "Forget Apple vs. the FBI: WhatsApp Just Switched on Encryption for a Billion People". Wired. Condé Nast. 28 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Nisan 2016. 
  17. ^ Langley, Adam (9 Kasım 2013). "Wire in new ratchet system". GitHub (GitHub contribution). 28 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Ocak 2016. 
  18. ^ "Viber Encryption Overview". Viber. 3 Mayıs 2016. 24 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Temmuz 2016. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Kriptografi</span>

Kriptografi, kriptoloji ya da şifreleme, okunabilir durumdaki bir verinin içerdiği bilginin istenmeyen taraflarca anlaşılamayacak bir hale dönüştürülmesinde kullanılan yöntemlerin tümüdür. Kriptografi bir matematiksel yöntemler bütünüdür ve önemli bilgilerin güvenliği için gerekli gizlilik, aslıyla aynılık, kimlik denetimi ve asılsız reddi önleme gibi şartları sağlamak amaçlıdır. Bu yöntemler, bir bilginin iletimi esnasında ve saklanma süresinde karşılaşılabilecek aktif saldırı ya da pasif algılamalardan bilgiyi –dolayısıyla bilginin göndericisi, alıcısı, taşıyıcısı, konu edindiği kişiler ve başka her türlü taraf olabilecek kişilerin çıkarlarını da– koruma amacı güderler.

<span class="mw-page-title-main">SIP</span>

Oturum başlatma Protokolü (SIP), ses, video ve mesajlaşma uygulamalarını içeren gerçek zamanlı oturumları başlatmak, sürdürmek ve sonlandırmak için kullanılan bir sinyal protokolüdür. VoIP gibi IP üzerinden üzerinden ses, görüntü ve anlık mesaj iletişimi yanı sıra LTE (VoLTE) üzerinden cep telefonu araması için multimedya iletişim oturumlarını sinyalize etmek ve kontrol etmek için kullanılır. Günümüz IP Telefonlarının çoğunluğu SIP Protokolü ile çalışmaktadır. Cisco gibi bazı üreticiler SIP kullanmakla beraber bazı telefon modellerinde SCCP tercih etmektedir.

<span class="mw-page-title-main">Transport Layer Security</span> Internet Şifreleme Protokolü

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir. X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.

ElGamal şifrelemesi, Diffie-Hellman anahtar alış-verişi'ne dayanan bir asimetrik şifreleme algoritması olup Taher Elgamal tarafından 1984 yılında önerilmiştir.

İnternet Protokolü Güvenliği (IPsec), Internet Protokolü (IP) kullanılarak sağlanan iletişimlerde her paket için doğrulama ve şifreleme kullanarak koruma sağlayan bir protokol paketidir. IPsec, içinde bulundurduğu protokoller sayesinde, oturum başlarken karşılıklı doğrulama ve oturum sırasında anahtar değişimlerini gerçekleştirme yetkisine sahiptir. İki bilgisayar arasında (host-to-host), iki güvenlik kapısı arasında(network-to-network), bir güvenlik kapısı ve bir bilgisayar arasında(network-to-host) sağlanan bağlantıdaki veri akışını korumak için kullanılır. IPsec kriptografik güvenlik servislerini kullanarak IP protokolü ile gerçekleştirilen bağlantıları korumak için kullanılır. Ağ seviyesinde doğrulama veri kaynağı doğrulama,veri bütünlüğü, şifreleme ve replay saldırılarına karşı koruma görevlerini üstlenir.

İnternet anahtar değişim protokolü ya da Internet Key Exchange internet üzerinde güvenli bir şekilde veri alışverişi için kullanılan anahtarların değişimini sağlayan protokoldür.

<span class="mw-page-title-main">Diffie-Hellman anahtar değişimi</span> dünyanın enyuksek dagı

Diffie-Hellman anahtar değişimi (D-H), kriptografik anahtarların değişiminde kullanılan özel bir yöntemdir. Bu kriptografi alanında uygulanan ilk pratik anahtar değişimi örneklerinden biridir. Diffie-Hellman anahtar değişimi metodu, güvenilmeyen bir sistem üzerinden iletişim kurmak isteyen karşılıklı iki tarafın ortaklaşa bir anahtar üzerinde karar kılabilmesine olanak sağlar. Böylece, iki tarafın da karar kıldığı bir simetrik anahtar, güvenli olmayan sistem üzerinden iletişimi şifrelemek için kullanılabilir. Diffie-Hellman protokolünde amaç, iletişim kurmak isteyen iki taraf arasındaki anahtar değişim prosedürünü, anahtarın kötü tarafların eline geçmediğine emin olacak şekilde güvenli bir şekilde gerçekleştirmektir. Bu işlem bir defa yapıldığında ve taraflar bir anahtar üzerinde ortaklaştığında her iki taraf da kendi mesajını paylaşılan anahtarla şifreleyebilir, böylece taraflar arasındaki iletişim güvenli bir şekilde sağlanmış olur.

ZRTP bir şifreleme anahtar paylaşma protokolüdür. Bu protokolde, Voice over Internet Protocol (VoIP) protokolüne dayanan iki uç nokta arasında şifreleme yapabilmek için anahtarlar üzerinde anlaşma yapılmaktadır. Voice over Internet Protocol (VoIP) telefon çağrısı Real Time Transport Protocol'e dayanır. Şifreleme için Diffie–Hellman anahtar değişimi ve Secure Real-time Transport Protokol (SRTP)' lerini kullanır. ZRTP, Bryce Wilcox-O'Hearn, Colin Plumb, Jon Callas ve Alan Johnston yardımıyla, Phil Zimmermann tarafından geliştirildi ve 5 Mart 2006 tarihinde Bryce Wilcox-O'Hearn'nin yardımıyla, Phil Zimmermann, Jon Callas and Alan Johnston tarafından Internet Engineering Task Force (IETF)' a sunuldu ve RFC 6189 olarak 11 Nisan 2011 tarihinde yayınladı.

Kriptografide, ileri güvenlik, uzun dönem anahtarlar istismar edilse bile geçmişte kullanılmış olan oturum anahtarlarının istismar edilemediği güvenli haberleşme protokollerinin bir özelliğidir. İleri güvenlik, geçmiş oturumları gelecekte gerçekleştirilmesi muhtemel gizli anahtar ya da şifre istismarlarına karşı korumaktadır. İleri güvenlik kullanılan durumlarda, geçmişte kaydedilmiş şifrelenmiş haberleşme ve oturumlar, uzun dönem anahtarlar ve şifreler elde edilse bile kırılamaz.

Anahtar yönetimi, bir kripto sisteminde şifreleme anahtarlarının yönetimidir. Bu yönetim, anahtarların yer değişimi, kullanımı, depolanması, değiş tokuşu ve üretimi ile ilgilenir. Ayrıca Kriptografik protokol tasarımı, anahtar sunucuları, kullanıcı prosedürleri ve diğer ilişkili protokolleri içerir.

<span class="mw-page-title-main">Google Allo</span> Googleın ürettiği mesajlaşma uygulaması

Allo Google tarafından geliştirilen anlık mesajlaşma mobil uygulaması. 18 Mayıs 2016 tarihinde Google I/O etkinliğinde duyrulan Allo, 2016 yazında Android ve iOS için yayınlandı. 12 Mart 2019 tarihinde ise uygulamanın kullanımı sonlandırılmıştır.

Signal Protokolü, 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 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.

Güvenli kabuk,, ağ hizmetlerinin güvenli olmayan bir ağ üzerinde güvenli şekilde çalıştırılması için kullanılan bir kriptografik ağ protokolüdür. En iyi bilinen örnek uygulaması bilgisayar sistemlerine uzaktan oturum açmak için olandır.

SPEKE, açılımı Basit Parola Üssel Anahtar Değişimi olan, parola doğrulamalı anahtar anlaşmas için kullanılan kriptografik bir yöntemdir.

Şifrelemede Eşzamanlı Eşit Kimlik Doğrulama (SAE), parola tabanlı güvenli bir kimlik doğrulama ve parola doğrulanmış anahtar anlaşma yöntemidir.

Eliptik Eğri Diffie-Hellman (ECDH), güvensiz bir kanal üzerinden paylaşılan bir giz oluşturmak için her biri eliptik-eğri açık-özel anahtar çiftine sahip iki partiye izin veren anonim bir anahtar anlaşma protokolüdür. Bu paylaşılan sır doğrudan bir anahtar olarak veya başka bir anahtar türetmek için kullanılabilir. Anahtar veya üretilen anahtar, daha sonra sonraki iletişimleri, bir simetrik anahtar algoritması kullanarak şifrelemek için kullanılabilir. Bu, Diffie-Hellman protokolünün eliptik eğri kriptografisi kullanan bir çeşididir.

Uçtan uca şifreleme (E2EE), sadece uç noktadaki kullanıcıların okuyabildiği bir iletişim sistemidir. Hedefi, İnternet sağlayıcıları, ağ yöneticileri gibi aradaki potansiyel gizli dinleyicilerin, konuşmanın şifresini çözmek için gereken şifreleme anahtarlarına erişmesini engellemektir.

Skype, Skype Technologies S.A. tarafından geliştirilen İnternet Üzerinden Ses Protokolü (VoIP) sistemidir. Sesli aramaların özel amaçlı bir ağdan ziyade İnternet üzerinden geçtiği eşler arası (peer-to-peer) bir ağdır. Skype kullanıcıları diğer kullanıcıları arayabilir ve onlara mesaj gönderebilir.

<span class="mw-page-title-main">Signal (yazılım)</span> Şifreli iletişim uygulaması

Signal, özgür ve açık kaynaklı, çapraz platform şifreli mesajlaşma yazılımı. Signal Vakfı ve Signal Messenger LLC tarafından geliştirmektedir. İnternet üzerinden dosyaları, sesli mesajları, görselleri ve videoları içerebilen kişiler arası mesajları veya grup mesajlarını göndermek için kullanılır. Ayrıca bire bir sesli ve görüntülü arama yapabilir, Android sürümü SMS uygulaması olarak da işlev görebilir.

Tox, uçtan uca şifreleme sunan eşler arası anlık mesajlaşma ve görüntülü arama protokolüdür. Projenin belirtilen hedefi, herkes için güvenli ancak kolay erişilebilir iletişim sağlamaktır. Protokolün bir referans uygulaması, GNU GPL-3.0 veya sonrası koşulları altında ücretsiz ve açık kaynaklı yazılım olarak yayınlanmıştır.