Uçtan uca şifreleme

Anahtar değişimi

Bir E2EE sisteminde, şifreleme anahtarları sadece iletişimde bulunan taraflarca bilinmelidir. Bu amaca ulaşmak için, E2EE sistemleri önceden paylaşılan gizli anahtar (PGP) veya önceden paylaşılan bir gizli anahtardan (DUKPT ) elde edilen tek seferlik anahtar olarak adlandırılan önceden düzenlenmiş bir sembol dizisi kullanarak verileri şifreleyebilir. Ayrıca, Diffie-Hellman anahtar değişimi (OTR) kullanarak iletişim esnasında da bir anahtar üretmede anlaşabilirler.

Modern kullanım

2016 itibarıyla, sunucu tabanlı tipik iletişim sistemleri uçtan uca şifreleme içermez. Bu sistemler yalnızca istemciler ve sunucular arasındaki iletişimin korunmasını garanti eder; bu, kullanıcıların, sunucuları çalıştıran üçüncü taraflara güvenmeleri gerektiği anlamına gelir. Uçtan uca şifreleme daha güvenli olarak kabul edilir, çünkü şifrelemeyi engelleyebilecek veya bozabilecek tarafların sayısını azaltır. Uçtan uca şifreleme sağlamayan bir anlık mesajlaşma servisinin protokolleri yerine, aynı servisin uçtan uca bir şifreleme sağlayan üçüncü taraf bir istemcisi kullanabilir.
Lavabit ve Hushmail gibi bazı uçtan uca şifreli olmayan sistemler, bunu sunmamalarına rağmen "uçtan uca" şifreleme sunduğunu söylediler. Telegram ve Google Allo gibi diğer sistemler, varsayılan olarak uçtan uca şifreleme sunduklarını söyledikleri ama varsayılan olarak sunmadıkları için eleştirildi.
Bazı şifreli yedekleme ve dosya paylaşım hizmetleri, istemci tarafında şifreleme sağlar. Burada sunulan şifreleme uçtan uca şifreleme değildir, çünkü bu servisler kullanıcılar arasında paylaşım için tasarlanmamıştır. Ancak, "uçtan uca şifreleme" terimi genellikle istemci tarafında şifreleme anlamında da kullanılır.

Man-in-the-middle (MITM) saldırıları

Uçtan uca şifreleme, verilerin alıcı ve gönderici noktalar arasında güvenli bir şekilde aktarılmasını sağlar. Ancak, şifrelemeyi kırmak yerine, gizli bir dinleyici, mesajın alıcısını taklit edebilir (anahtar değişimi sırasında veya alıcının açık anahtarını değiştirerek), böylece mesajlar saldırganın anahtarıyla şifrelenir. Mesajın şifresini çözdükten sonra, saldırgan tespit edilmemek amacıyla daha sonra mesajı diğer tarafın anahtarı (asimetrik sistemlerde paylaşılan anahtar) ile şifreler, ve tekrar gönderir. Bu, man-in-the-middle attack (ortadaki adam saldırısı) olarak bilinir.

Doğrulama

Çoğu uçtan uca şifreleme protokolü, özellikle MITM saldırılarını önlemek için bir çeşit "uç nokta kimlik doğrulama" sistemi içerir. Örneğin, sertifika yetkililerine veya bir güven ağına güvenebilir. Alternatif bir teknik, iletişim kuran kullanıcıların açık anahtarlarına (asimetrik şifreleme) veya paylaşılan gizli anahtarlarına dayalı olarak bir parmak izi oluşturmaktır. Taraflar, anahtar parmak izlerini, konuşmaya başlamadan önce iletişimin bütünlüğünü ve doğrulanmışlığını garanti etmek için bir başka iletişim kanalı kullanarak karşılaştırır. Parmak izleri uyuşuyorsa, teoride, MITM saldırısı yok demektir.
Okunabilir görünümde, parmak izleri genellikle onaltılık olarak kodlanır. Bu dizeler daha sonra okunabilirlik için karakter grupları halinde biçimlendirilir. Örneğin, 128 bitlik bir MD5 parmak izi aşağıdaki gibi gösterilecektir: 
 43:51:43:a1:b5fc:8b:B7:0a:3a:A9:b1:0f:66:73:a8 
Bazı protokoller, onaltılık blokların, günlük dildeki kelimeler gibi, daha okunaklı temsillerini gösterir. Parmak izleri, günlük dildeki kelimelere birebir olduğu için, parmak izinde bir kayıp olmaz. Protokol, kelimeleri kullanıcının ana dilinde görüntülemeyi seçebilir. Ancak bu, yabancı diller arası karşılaştırmaları hatalara açık hale getirebilir. Bunu çözmek için, bazı protokoller parmak izlerini onaltılık veya ana dilden kelimeler yerine onluk tabanda dizeler olarak göstermeyi seçti. Modern mesajlaşma uygulamaları parmak izlerini, kullanıcıların birbirlerinin cihazlarında tarayıp doğrulayabilecekleri QR kodları olarak da gösterebilir. Örneğin Telegram bu özelliğe sahiptir. Buna ek olarak, parmak izleri grafiğe çevrilmiş şekilde, hatta emojiler ile bile gösterilebilir.