Eliptik-eğri Diffie–Hellman

Eliptik Eğri Diffie-Hellman (ECDH), güvensiz bir kanal üzerinden paylaşılan bir giz (İngilizce: secret) 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.[1][2][3] 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.

Anahtar oluşturma protokolü

Sıradaki örnek anahtar oluşturulmasının nasıl yapıldığını açıklayacak. Diyelim ki Alice, Bob ile paylaşılan bir anahtar oluşturmak istiyor,ama ikisi için uygun olan tek kanal, üçüncü bir parti tarafından gizlice dinlenebilir. Başlangıçta, etki alanı parametreleri (yani, asal durumda ( p , a , b , G , n , h ) {\displaystyle (p,a,b,G,n,h)} ( p , a , b , G , n , h ) {\displaystyle (p,a,b,G,n,h)} ( p , a , b , G , n , h ) {\displaystyle (p,a,b,G,n,h)} ( p , a , b , G , n , h ) {\displaystyle (p,a,b,G,n,h)} ( p , a , b , G , n , h {\textstyle (p,a,b,G,n,h} ( p , a , b , G , n , h ) {\displaystyle (p,a,b,G,n,h)} ( p , a , b , G , n , h ) {\displaystyle (p,a,b,G,n,h)} veya ikilik taban durumunda ( m , f ( x ) , a , b , G , n , h ) {\textstyle (m,f(x),a,b,G,n,h)} ( m , f ( x ) , a , b , G , n , h ) {\displaystyle (m,f(x),a,b,G,n,h)} ) konusunda anlaşma sağlanmalıdır. Ayrıca, her partinin eliptik eğri kriptografisine uygun, özel anahtar d {\textstyle d} ( [ 1 , n 1 ] {\textstyle [1,n-1]} aralığından rastgele seçilmiş bir tam sayı) ve bir Q {\textstyle Q} noktası ( Q = d G {\textstyle Q=dG} , yani G {\textstyle G} 'nin kendisine d {\textstyle d} defa eklendiğinde çıkan sonuç) ile gösterilen bir açık anahtardan oluşan bir anahtar çifti olmalıdır. Alice'in anahtar çifti ( d A , Q A ) {\displaystyle (d_{A},Q_{A})} , Bob'un anahtar çifti ( d B , Q B ) {\displaystyle (d_{B},Q_{B})} olsun. Her parti diğer partinin protokol çalıştırılmadan önceki açık anahtarını bilmelidir.

Alice ( x k , y k ) = d A Q B {\displaystyle (x_{k},y_{k})=d_{A}Q_{B}} noktasını hesaplar. Bob ( x k , y k ) = d B Q A {\displaystyle (x_{k},y_{k})=d_{B}Q_{A}} noktasını hesaplar. Paylaşılan giz (İngilizce: secret), x k {\displaystyle x_{k}} 'dır (noktanın x koordinatı). ECDH'e dayalı en standart hale getirilmiş protokoller, hash tabanlı anahtar üretim fonksiyonu kullanarak, x k {\displaystyle x_{k}} 'dan simetrik anahtar üretir.

İki tarafın da hesapladığı paylaşılan giz eşittir, çünkü d A Q B = d A d B G = d B d A G = d B Q A {\displaystyle d_{A}Q_{B}=d_{A}d_{B}G=d_{B}d_{A}G=d_{B}Q_{A}} d A Q B = d A d B G = d B d A G = d B Q A {\displaystyle d_{A}Q_{B}=d_{A}d_{B}G=d_{B}d_{A}G=d_{B}Q_{A}} 'dır.

Alice’in başlangıçta açıkladığı özel anahtarı hakkında tek bilgi açık anahtarıdır. Yani, Alice’ten başka hiçbir parti, eliptik eğri ayrık logaritma problemini çözmedikçe Alice’in özel anahtarına karar veremez. Bob’un özel anahtarı da aynı şekilde güvendedir. Alice ve Bob’dan başka hiçbir parti, eliptik eğri Diffie-Hellman problemini çözmedikçe paylaşılan secreti hesaplayamaz.

Açık anahtarlar ya statiktir (ve güvenilirdir, mesela bir sertifika aracılığıyla) ya da geçicidirler (ECDHE olarak da bilinir, son E'nin "geçici" anlamına gelen "ephemeral"in baş harfidir.). Geçici anahtarlar geçicidir ve kimlik doğrulamasına gerek yoktur, yani eğer kimlik doğrulaması yapmak istenirse, authenticity başka yollarla sağlanmalıdır. Kimlik doğrulaması, ortadaki adam saldırılarından korunmak için gereklidir. Eğer Alice veya Bob’dan birinin açık anahtarı statik ise, ortadaki adam saldırıları önlenmiştir. Statik açık anahtarlar, diğer gelişmiş güvenlik özelliklerindenileriye dönük gizlilik (İngilizce: forward secrecy) veya anahtar-uzlaşma kimliğe bürünme esnekliği (İngilizce: key-compromise impersonation resilience) sağlamaz. Statik özel anahtarı olanlar, diğer açık anahtarı doğrulamalı ve statik özel anahtarla ilgili bilgi sızdırmamak için ham Diffie-Hellman paylaşılan gizine güvenli bir anahtar türetme fonksiyonu uygulamalıdır. Diğer güvenlik özelliklerine sahip programlar için MQV'ye bakınız.

Paylaşılan bir giz doğrudan bir anahtar olarak kullanılabilir, genelde Diffie-Hellman değişiminden kaynaklanan zayıf bitleri ortadan kaldırmak için gizi hashlemek tercih edilir.[4]

  • Curve25519, eliptik eğri parametreleri kümesidir ve C [./https://en.wikipedia.org/wiki/Language_binding 14 Nisan 2019 tarihinde Wayback Machine sitesinde arşivlendi. Bindings]'deki Daniel J. Bernsteintarafından yapılan referans gerçeklemesi ve alternatif gerçeklemeler de mevcuttur.
  • LINE messenger uygulaması, ECDH protokolünü Ekim 2015'ten bu yana, söz konusu uygulama aracılığıyla gönderilen tüm iletilerin "Letter Sealing" uçtan uca şifrelemesi için kullanmıştır.[5]

Ayrıca bakınız

Kaynakça

  1. ^ NIST, Özel Yayın 800-56A, Kesikli Logaritma Şifrelemesi Kullanarak Çift Anahtarlı Anahtar Kuruluş Şemaları için Tavsiye 14 Temmuz 2007 tarihinde Wayback Machine sitesinde arşivlendi., Mart 2006.
  2. ^ Certicom Research, Etkili şifreleme standartları, SEC 1: Eliptik Eğri Şifreleme 11 Kasım 2014 tarihinde Wayback Machine sitesinde arşivlendi., Versiyon 2.0, 21 Mayıs 2009.
  3. ^ NSA Suite B Şifreleme, Suite B Uygulayıcıların NIST SP 800-56A Kılavuzu 6 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi., 28 Temmuz 2009.
  4. ^ Tibor Jager; Jorg Schwenk; Juraj Somorovsky (4 Eylül 2015). "Practical Invalid Curve Attacks on TLS-ECDH" (PDF). European Symposium on Research in Computer Security (ESORICS'15). 5 Ağustos 2019 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 15 Mart 2020. 
  5. ^ JI (13 Ekim 2015). "New generation of safe messaging: "Letter Sealing"". LINE Engineers' Blog. LINE Corporation. 1 Şubat 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Mart 2020. 
  • g
  • t
  • d
Algoritmalar
Sabit çarpanlara ayırma
Ayrık logaritma
Diğerleri
Kuram
  • Ayrık logaritma
  • Eliptik eğrisel şifreleme
  • Değişken olmayan şifreleme
  • RSA problemi
  • Trapdoor fonksiyonu
Standartlaştırma
  • CRYPTREC
  • IEEE P1363
  • NESSIE
  • NSA Suite B
Konular
  • Elektronik imza
  • OAEP
  • Fingerprint
  • PKI
  • Güven ağları
  • Anahtar boyutu
  • Kuantum sonrası şifreleme