Elliptische Kurven: Die Herkunft der Nist-Kurven
Nach den jüngsten Enthüllungen fragen sich Kryptographen, welche Algorithmen von der NSA beeinflusst sein könnten. Zweifel bestehen auch bei elliptischen Kurven, die für Public-Key-Kryptographie eingesetzt werden.

"Ich vertraue diesen Konstanten nicht mehr", schreibt Bruce Schneier in einem Blogkommentar über die Kryptographie mit elliptischen Kurven. "Ich glaube, dass die NSA diese durch ihre Verbindungen zur Industrie manipuliert hat."
Es ist eine bemerkenswerte Aussage. Kryptographie-Guru Bruce Schneier stellt damit einen wichtigen Kryptographiestandard infrage: die Verschlüsselung mit den elliptischen Kurven, die 1999 von der US-Behörde Nist (National Institute of Standards and Technology) standardisiert wurden. Anders als der Zufallsgenerator Dual_EC_DRBG, um den es in den vergangenen Tagen ebenfalls zahlreiche Spekulationen gab, werden die Nist-Kurven tatsächlich in vielen realen Anwendungen eingesetzt.
Der Hintergrund: Elliptische Kurven sind eine mathematische Struktur, in der sich bestimmte Kryptographieverfahren wie Diffie-Hellman oder ElGamal durchführen lassen. Die Verfahren kommen mit deutlich kürzeren Schlüssellängen aus als klassische Verfahren und sind dadurch schneller. Es gibt zahlreiche unterschiedliche elliptische Kurven. Zwar wäre es theoretisch auch möglich, für jede Verschlüsselung oder Signatur eine eigene Kurve zu erstellen, aber aus Gründen der Performance und der Einfachheit verwendet man üblicherweise standardisierte Kurven.
Kurven mit Hashverfahren erstellt
Manche Kryptographen vermuten, dass es bestimmte Kurven geben könnte, in denen die Verschlüsselung unsicherer ist und sich angreifen lässt. Um den Verdacht solcher Manipulationen nicht entstehen zu lassen, wurden die Kurvenparameter mit Hilfe der Hash-Funktion SHA-1 erstellt. Die Idee dabei: Da SHA-1 eine nicht umkehrbare Funktion ist, ist es nicht möglich, damit spezielle manipulierte Werte zu erstellen.
Das Problem: Als Eingabe für die Hash-Funktion wurden Werte verwendet, deren Herkunft unklar ist. Im Normalfall würde man hier einen trivialen Wert wie 0 oder 1 oder universelle Konstanten wie e oder Pi verwenden. Das Nist hat aber andere Werte verwendet, für die Kurve P-192 lautet dieser etwa 3045ae6f c8422f64 ed579528 d38120ea e12196d5. Geschrieben wurde der Standard von Jerry Solinas, einem Mitarbeiter der NSA.
Hintertür möglich
Es wäre theoretisch möglich, dass der NSA eine bestimmte Zahl von Kurven mit Hintertüren bekannt war - etwa eine aus einer Million. Dann könnte man so lange probieren, geeignete Werte für die SHA-1-Funktion zu finden, bis eine schwache Kurve dabei herauskommt.
Die Kryptographen Tanja Lange und Dan Bernstein haben im Mai - noch vor den Snowden-Enthüllungen - in einem Vortrag auf dieses und weitere Probleme der Nist-Kurven hingewiesen. Sie sind damit nicht die Ersten. Bereits 2005 wiesen die Autoren des Brainpool-Standards auf dieses Problem hin. Die Brainpool-Kurven sind eine mögliche Alternative zu den Nist-Kurven, werden aber nur selten eingesetzt.
"Ein Angreifer, der eine solche verwundbare Kurve konstruiert, müsste deutlich mehr wissen als die öffentlich bekannte Forschung", erklärte Tanja Lange Golem.de. "Nach den neuesten Enthüllungen bin ich mir nicht mehr sicher, ob meine Aussagen zu den Kurven nur paranoide Spekulation waren. Ich werde jetzt nochmal alle Eigenschaften der Nist-Kurven genau untersuchen - aber ich erwarte, dabei nichts zu finden."
Selbst im Nist werden kritische Stimmen laut. "Wenn die NSA ein Programm hat, um bewusst Schwächen in Kryptographiestandards einzufügen und dies bei mindestens einem Nist-Standard getan hat, dann sind alle Parameter mit möglichen Hintertüren beängstigend", schrieb Nist-Mitarbeiter John Kelsey kürzlich auf einer Mailingliste. "Wir können diese unmöglich in Standards belassen, von denen wir wollen, dass sie benutzt werden."
Alternative Curve25519
Lange und Bernstein empfehlen statt der Nist-Kurven die Nutzung von Curve25519. Diese wurde von Bernstein selbst entwickelt. "Auch aus anderen Gründen ist das sinnvoll", so Lange. "Die Implementierung der Nist-Kurven ist sehr fehleranfällig. Das liegt aber vermutlich nicht an bösem Willen, sondern daran, dass damals die Erforschung der elliptischen Kurven noch nicht so weit war."
Für die Nist-Kurven existieren zahlreiche Standards, sie lassen sich in bestehenden Anwendungen nicht einfach durch Alternativen wie Curve25519 ersetzen. So gibt es etwa bislang keine in Standards festgeschriebene Möglichkeit, Curve25519 zur Absicherung von TLS-Verbindungen zu nutzen. Es gibt hierzu aber erste Vorschläge.
Das Nist hat uns auf Anfrage eine Stellungnahme versprochen, bisher haben wir diese jedoch nicht erhalten.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Bei mir war der artikel irgendwie nicht mal auf der startseite - ich bin durch zufall...
Du meinst so, wie wenn ein Paar der 1000ende Augen in Debian's OpenSSL ein "memory leak...
Kenne den Artikel. Ja, gerade wegen dem Artikel habe ich meinen Kommentar hier...
Man kann wirksame Maßnahmen ergreifen um sich selbst etwas, wenn auch nur etwas, aus der...