Hokkabazlık ile Şifre Doğrulamalı Anahtar Değişimi - Password Authenticated Key Exchange by Juggling

Hokkabazlık ile Şifre Doğrulamalı Anahtar Değişimi (veya J-PAKE) bir şifreyle doğrulanmış anahtar sözleşmesi Feng Hao ve Peter Ryan tarafından önerilen protokol.[1] Bu protokol, iki tarafın yalnızca paylaşılan (düşük entropili) şifrelerine dayalı olarak özel ve kimliği doğrulanmış iletişim kurmalarına izin verir. Açık Anahtar Altyapısı. Sağlar Karşılıklı kimlik doğrulama anahtar değişiminde, eksik olan bir özellik Diffie – Hellman anahtar değişimi protokol.

Açıklama

İki taraf, Alice ve Bob, bir grup üzerinde anlaşır jeneratör ile birinci dereceden ayrık günlük probleminin zor olduğu. Tipik olarak bir Schnorr grubu kullanıldı. Genel olarak J-PAKE, açık anahtar şifrelemesine uygun herhangi bir ana sipariş grubunu kullanabilir; Eliptik eğri kriptografisi. İzin Vermek paylaşılan (düşük entropi) sırları olabilir, bu bir şifre veya bir şifrenin karması olabilir (). Protokol iki turda yürütülür.

1. Tur
Alice seçer , ve gönderir , ile birlikte Sıfır bilgi kanıtları (örneğin Schnorr etkileşimli olmayan sıfır bilgi kanıtını kullanarak RFC 8235 ) üslerin kanıtı için ve . Bob benzer şekilde , ve gönderir , ile birlikte Sıfır bilgi kanıtları üslerin kanıtı için ve . Taraflardan hiçbiri diğerine bağlı olmadığı için yukarıdaki iletişim bir turda tamamlanabilir. Bittiğinde, Alice ve Bob alınanları doğrular. Sıfır bilgi kanıtları ve ayrıca kontrol et .
2. devre
Alice gönderir ve bir Sıfır bilgi kanıtı üssün kanıtı için . (Alice'in aslında yeni bir genel anahtar türetdiğini unutmayın. jeneratör olarak). Benzer şekilde, Bob gönderir ve bir Sıfır bilgi kanıtı üssün kanıtı için .

2. Turdan sonra Alice hesaplar . Benzer şekilde, Bob hesaplar . Aynı anahtarlama malzemesi ile Alice ve Bob, bir oturum anahtarını kullanarak Kriptografik karma işlevi: .

İki yuvarlak J-PAKE protokolü tamamen simetriktir. Bu, güvenlik analizini önemli ölçüde basitleştirmeye yardımcı olur. Örneğin, veri alışverişinde bir tarafın herhangi bir şifre bilgisini sızdırmadığının kanıtı, simetriye dayalı olarak diğer taraf için geçerli olmalıdır. Bu, gerekli güvenlik kanıtı sayısını yarı yarıya azaltır.

Uygulamada, bir taraf normalde inisiyatif alacağından, J-PAKE'yi üç akışta uygulama olasılığı daha yüksektir. Bu, güvenlik kaybı olmadan önemsiz bir şekilde yapılabilir. Alice'in Bob'a göndererek iletişimi başlattığını varsayalım: ve Sıfır bilgi kanıtları. Sonra Bob şu şekilde yanıt verir: ve Sıfır bilgi kanıtları. Sonunda Alice, Bob'a şunları gönderir: ve Sıfır bilgi kanıtı. Her iki taraf artık aynı oturum anahtarını türetebilir.

Uygulama gereksinimine bağlı olarak, Alice ve Bob isteğe bağlı bir anahtar doğrulama adımı gerçekleştirebilir. Bunu yapmanın birkaç yolu var. Açıklanan basit bir yöntem SPEKE şu şekilde çalışır: Alice Bob'a gönderir ve sonra Bob şu şekilde yanıt verir: .[2] Alternatif olarak, Alice ve Bob bilinen bir değeri (veya rastgele bir soruyu) şifrelemek için yeni oluşturulan oturum anahtarını kullanarak açık anahtar onayını gerçekleştirebilirler. EKE, Kerberos ve Needham-Schroeder tam olarak bu yöntemle açık anahtar onayı sağlama girişimlerinin tümü.

Güvenlik özellikleri

Temelde yatan Schnorr'un etkileşimli olmadığı göz önüne alındığında sıfır bilgi kanıtı güvenlidir, J-PAKE protokolünün aşağıdaki özellikleri sağladığı kanıtlanmıştır:[3]

  1. Çevrimdışı sözlük saldırı direnci - Herhangi bir şifre doğrulama bilgisini pasif / aktif bir saldırgana sızdırmaz.
  2. İleri gizlilik - Daha sonra parola açıklandığında bile güvenli kalan oturum anahtarları üretir.
  3. Bilinen anahtar güvenliği - Açıklanan bir oturum anahtarının diğer oturumların güvenliğini etkilemesini engeller.
  4. Çevrimiçi sözlük saldırı direnci - Etkin bir saldırganın, protokol yürütmesi başına yalnızca bir parolayı test etmesini sınırlar.

2015 yılında Abdalla, Benhamouda ve MacKenzie, cebirsel düşmanları varsayarak rastgele bir oracle modelinde güvenliğini kanıtlamak için J-PAKE'nin bağımsız bir resmi analizini gerçekleştirdi.[4]

Protokol tasarımı

J-PAKE protokolü, her iki tarafın da tam olarak aynı parolaları sağlaması durumunda bir kaybolma etkisi elde etmek için rastgele genel anahtarları bu şekilde yapılandırılmış bir şekilde birleştirerek tasarlanmıştır. Bu bir şekilde benzer Anonim veto ağı protokol tasarımı. Bununla birlikte fikrin özü, geriye doğru izlenebilir. David Chaum orjinal Yemek Kriptografları ağ protokolü,[5] bir yok olma efekti elde etmek için ikili bitlerin yapılandırılmış bir şekilde birleştirildiği yer.

Hayata geçirme

J-PAKE, OpenSSL ve OpenSSH deneysel bir kimlik doğrulama protokolü olarak. Ocak 2014'ün sonunda OpenSSH kaynak kodundan kaldırıldı.[6] Aynı zamanda NSS ve tarafından kullanıldı Firefox Sync sürüm 1.1, ancak farklı bir anahtar değişimi ve depolama yöntemi kullanan 1.5'te sona ermiştir.[7] Mozilla'nın J-PAKE sunucusu, 30 Eylül 2015 tarihinde Sync 1.1 depolama sunucuları ile birlikte kapatıldı.[8] Soluk ay J-PAKE'yi Sync hizmetinin bir parçası olarak kullanmaya devam ediyor.[9] Şubat 2013'ten beri J-PAKE, hafif API'ye eklenmiştir. Şişme kale (1.48 ve sonrası). J-PAKE ayrıca Konu (ağ protokolü)[10]

Standardizasyon

J-PAKE, uluslararası bir standart olarak ISO / IEC 11770-4 (2017) kapsamına alınmıştır.[11] Ayrıca yayınlandı RFC 8236.

Referanslar

  1. ^ F. Hao, P. Ryan. Hokkabazlık ile Şifre Doğrulamalı Anahtar Değişimi. 16. Uluslararası Güvenlik Protokolleri Çalıştayı Bildirileri, 2008.
  2. ^ Jablon, David (Ekim 1996). "Yalnızca Parola Doğrulamalı Anahtar Değişimi". Bilgisayar İletişimi İncelemesi. 26 (5): 5–26. CiteSeerX  10.1.1.57.4798. doi:10.1145/242896.242897.
  3. ^ F. Hao, P. Ryan. J-PAKE: PKI Olmadan Kimliği Doğrulanmış Anahtar Değişimi. Hesaplamalı Bilimde Springer İşlemleri XI, Hesaplamada Güvenlik Özel Sayısı, Bölüm II, Cilt. 6480, s. 192-206, 2010.
  4. ^ M. Abdalla, F. Benhamouda, P. MacKenzie J-PAKE Parola Doğrulamalı Anahtar Değişimi Protokolünün Güvenliği.
  5. ^ David Chaum. Yemek Kriptografı Problemi: Koşulsuz Gönderen ve Alıcının İzlenemezliği Journal of Cryptology, cilt. 1, Hayır, 1, s. 65-75, 1988
  6. ^ Src / usr.bin / ssh / Attic / jpake.c için OpenBSD CVS günlüğü
  7. ^ "Firefox Sync'in Yeni Güvenlik Modeli".
  8. ^ "Eski Sync hizmetini kapatma".
  9. ^ "Pale Moon 25.7.3'e güncellendi! - Pale Moon forumu".
  10. ^ http://threadgroup.org/Portals/0/documents/whitepapers/Thread%20Commissioning%20white%20paper_v2_public.pdf
  11. ^ https://www.iso.org/obp/ui/#iso:std:67933:en

Dış bağlantılar