Dual_EC_DRBG

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit Generator) ist ein von der National Security Agency entwickelter und veröffentlichter kryptographisch sicherer Zufallszahlengenerator (PRNG). Das Verfahren ist eines von vier in der NIST Special Publication 800-90 standardisierten PRNGs.[1] Kurz nach der Publikation durch das NIST wurden Vermutungen laut, der Algorithmus enthalte eine kleptographische Backdoor.[2]

Sicherheit[Bearbeiten]

Der Grund für die Aufnahme von Dual_EC_DRBG in den Standard war, dass sich seine Sicherheit auf ein schwieriges zahlentheoretisches Problem, das Decisional-Diffie-Hellman-Problem (DDH) in der verwendeten elliptischen Kurve, reduzieren lässt. Das dadurch gewonnene zusätzliche Vertrauen in die Sicherheit des Verfahrens kann in manchen Fällen den Geschwindigkeitsverlust von drei Größenordnungen gegenüber den anderen drei standardisierten Verfahren[2] rechtfertigen. Unter der Annahme, dass DDH ein schwieriges Problem ist, sind die vom Verfahren erzeugten Zwischenwerte, eine Folge von Punkten auf der elliptischen Kurve, ununterscheidbar von einer Folge zufälliger Punkte.[3][4][5]

Nach der Veröffentlichung des Standards fanden Forscher zwei Sicherheitsprobleme:

  • Die Bitfolge, die aus der Punktfolge erzeugt wird, kann für manche Parameter von einer gleichverteilt zufälligen Bitfolge unterschieden werden. Damit ist der PRNG für eine Anwendung als Stromchiffre und für weitere Anwendungen ungeeignet.[3][5][6]
  • Die Sicherheit des PRNG basiert auf der Annahme, dass das DDH-Problem schwierig ist. Für die von NIST empfohlene Kurve besteht aber die Möglichkeit, dass die Parameter der Kurve ausgehend von weiteren Werten gewählt wurden, die das Lösen dieses Problems wesentlich erleichtern (siehe den nächsten Abschnitt).

Kontroverse[Bearbeiten]

Im August 2007 warnten Dan Shumow und Niels Ferguson, dass der Algorithmus eine Schwäche aufweist, die als Backdoor ausgenutzt werden kann.[7] PRNGs sind ein vielfach genutztes kryptographisches Primitiv und diese Schwäche kann ausgenutzt werden, um jedes kryptographische Verfahren, das auf Dual EC beruht, zu brechen.

Tanja Lange und Daniel Bernstein fanden 2013 die erste Beschreibung der Hintertür − ausdrücklich gegen das TLS-Protokoll gerichtet − in einer vorläufigen Patentanmeldung der Firma Certicom vom 21.1.2005.[8]

Auf der im Standard definierten Kurve ist ein Punkt P vorgegeben, der die zyklische Gruppe erzeugt. Zusätzlich ist ein Punkt Q definiert. Da die Gruppe zyklisch ist, existiert eine Zahl d, mit Q = dP, der diskrete Logarithmus von Q zur Basis P in der hier additiv geschriebenen Gruppe. Shumow und Ferguson konnten zeigen, dass die Kenntnis von d es einem Angreifer erlauben würde, das Verfahren zu brechen. Es ist nicht klar, wie diese Konstanten P und Q gewählt wurden. Wenn Q echt zufällig gewählt wurde, ist es praktisch unmöglich, d zu berechnen. Es besteht jedoch die Möglichkeit, dass P und d gewählt wurden und Q = dP berechnet wurde. In diesem Fall könnte derjenige, der die beiden Punkte wählte, jede Instanz des PRNG auf dieser Kurve brechen.[9][10] Im Anhang A des Standards ist allerdings eine Methode definiert, wie eine eigene Kurve mit selbstgewählten Konstanten erzeugt werden kann.

Laut einem Bericht der New York Times im September 2013 über die Enthüllungen des Whistleblowers Edward Snowden bestätigen geheime Memos des US-Auslandsgeheimdienstes NSA, dass diese Schwachstelle durch die NSA entwickelt worden war.[11] Mitte September 2013 veröffentlichte das Unternehmen RSA Security, unter anderem Anbieter der Kryptografie-Programmbibliothek RSA BSafe und des Authentifizierungssystem SecurID, eine Empfehlung an Entwickler die mit ihren Programmbibliotheken arbeiten, den darin als Standard enthaltenen Dual_EC_DRBG nicht weiter zu verwenden und stattdessen einen anderen Zufallszahlengenerator einzusetzen. Betroffen davon sind alle Anwendungen, die auf RSA BSafe zurückgreifen. Das Normungsinstitut NIST hat angekündigt, den Standard einer neuen Überprüfung zu unterziehen.[12][13] Die Implementierungsliste der US-Normungsbehörde NIST gibt einen Überblick über die von Implementierungen verwendeten Zufallszahlengeneratoren.[14].

Das NIST entschied nach einer Anhörungsphase, Dual_EC_DRBG aus dem Standard zu entfernen. Am 21. April 2014 veröffentlichte das NIST einen Entwurf für eine überarbeitete Version des Standards SP 800-90A, die Dual_EC_DRBG nicht mehr enthält.[15]

Einzelnachweise[Bearbeiten]

  1.  National Institute of Standards and Technology (Hrsg.): NIST SP 800-90: Recommendations for Random Number Generation Using Deterministic Random Bit Generators (Revised). 2007 (http://csrc.nist.gov/publications/nistpubs/800-90A/SP800-90A.pdf).
  2. a b Bruce Schneier: Did NSA Put a Secret Backdoor in New Encryption Standard? Wired News, 15. November 2007, abgerufen am 9. Oktober 2011 (englisch).
  3. a b  Kristian Gjøsteen: Comments on Dual-EC-DRBG/NIST SP 800-90. 2006 (http://www.math.ntnu.no/~kristiag/drafts/dual-ec-drbg-comments.pdf).
  4.  Daniel R. L. Brown: Conjectured Security of the ANSI-NIST Elliptic Curve RNG. 2006 (http://eprint.iacr.org/2006/117).
  5. a b  Daniel R. L. Brown and Kristian Gjøsteen: A Security Analysis of the NIST SP 800-90 Elliptic Curve Random Number Generator. In: CRYPTO 2007. 4622, Springer, 2007, S. 466–481, doi:10.1007/978-3-540-74143-5_26 (http://eprint.iacr.org/2007/048).
  6.  Berry Schoenmakers und Andrey Sidorenko: Cryptanalysis of the Dual Elliptic Curve Pseudorandom Generator. 2006 (http://eprint.iacr.org/2006/190).
  7.  Dan Shumow und Niels Ferguson: On the Possibility of a Back Door in the NIST SP800-90 Dual EC PRNG. In: CRYPTO Rump Session 2007. 2007 (http://rump2007.cr.yp.to/15-shumow.pdf).
  8. http://www.golem.de/news/dual-ec-das-patent-auf-die-nsa-hintertuer-1406-107219.html
  9. Matthew D. Green: The Many Flaws of Dual_EC_DRBG
  10. Aris Adamantiadis: Dual_Ec_Drbg backdoor: a proof of concept, 28. April 2014
  11. http://www.nytimes.com/2013/09/06/us/nsa-foils-much-internet-encryption.html?pagewanted=3
  12. Wired: RSA Tells Its Developer Customers: Stop Using NSA-Linked Algorithm, 19. September 2013
  13. Zeit Online: NSA hackt Kryptografie: Sicherheitsfirma RSA warnt vor sich selbst, 20. September 2013
  14. NIST: Liste der Implementierung von Zufallszahlen-Erzeugungsverfahren, 28. April 2014
  15. [1]