Verschlüsselung: Punkte auf der falschen elliptischen Kurve

Forscher der Ruhr-Universität Bochum haben einen schon lange bekannten Angriff auf Verschlüsselungsverfahren mit elliptischen Kurven in der Praxis umsetzen können. Verwundbar ist neben Java-Bibliotheken auch ein Hardware-Verschlüsselungsgerät von Utimaco.

Artikel veröffentlicht am , Hanno Böck
Hardware-Verschlüsselungsmodule von Utimaco verraten ihre geheimen Schlüssel auf elliptischen Kurven.
Hardware-Verschlüsselungsmodule von Utimaco verraten ihre geheimen Schlüssel auf elliptischen Kurven. (Bild: Utimaco)

Eine schon lange bekannte Schwäche von Verschlüsselungsverfahren auf Basis elliptischer Kurven haben Forscher der Ruhr-Universität Bochum in verschiedenen Implementierungen ausnutzen können. Auf der Bsides-Konferenz in Wien präsentierte Juraj Somorovsky die Forschungsergebnisse. In zwei Java-Bibliotheken war ein Angriff auf TLS-Verbindungen möglich, allerdings nur bei sehr selten eingesetzten Verschlüsselungsmodi. Weiterhin gelang es den Forschern, den privaten Schlüssel aus einem Hardware Security Module (HSM) der Firma Utimaco zu extrahieren.

Angriff bereits seit 15 Jahren bekannt

Stellenmarkt
  1. Data Analyst (m/w/d)
    STABILA Messgeräte Gustav Ullrich GmbH, Annweiler am Trifels
  2. DevOps-Ingenieur / Ingenieurin (m/w/d)
    Bundesnachrichtendienst, Bonn
Detailsuche

Die sogenannten Invalid-Curve-Angriffe wurden bereits im Jahr 2000 in einer Forschungsarbeit von Ingrid Biehl beschrieben. Bei Verschlüsselungsverfahren auf Basis elliptischer Kurven werden Berechnungen mit Punkten auf einer solchen Kurve durchgeführt. Die Idee des Angriffs: Die Algorithmen zur Berechnung der Kurvenpunkte funktionieren auch, wenn der Punkt sich auf einer anderen Kurve befindet.

Bei einem Diffie-Hellman-Schlüsselaustausch mit elliptischen Kurven besitzt jeder Teilnehmer des Schlüsselaustauschs einen geheimen Kurvenpunkt. Sendet nun einer der beiden Teilnehmer einen fehlerhaften Punkt, der sich auf einer deutlich kleineren Kurve befindet, kann er dadurch Informationen über den geheimen Kurvenpunkt des anderen Teilnehmers erhalten. Verhindern lässt sich der Angriff, indem jedes Mal geprüft wird, ob ein gesendeter Punkt wirklich auf der gemeinsam vereinbarten elliptischen Kurve liegt.

Bei einem gewöhnlichen Schlüsselaustausch, der auch als Ephemeral Key Exchange bezeichnet wird, ist der Angriff kein direktes Sicherheitsrisiko, da der geheime Kurvenpunkt nur für eine Verbindung gilt. Somit könnte ein Angreifer lediglich Informationen über den geheimen Schlüssel der aktuellen Verbindung erhalten, an der er selbst beteiligt ist. Allerdings unterstützt TLS auch einen eher selten genutzten statischen Schlüsselaustausch. Hierbei besitzt der Server ein Zertifikat, das den geheimen Schlüssel enthält.

JSSE und Bouncy Castle betroffen

Golem Akademie
  1. CEH Certified Ethical Hacker v11: virtueller Fünf-Tage-Workshop
    21.–25. Februar 2022, Virtuell
  2. Einführung in die Programmierung mit Rust: virtueller Fünf-Halbtage-Workshop
    9–13. Mai 2022, Virtuell
Weitere IT-Trainings

Somorovsky und seine Kollegen Tibor Jager und Jörg Schwenk konnten bereits im September auf der Esorics-Konferenz in Wien zeigen, dass eine ältere Version der Java-Bibliothek Bouncy Castle (1.50) und die Java-eigene JSSE-Bibliothek für den Angriff anfällig sind. Ein entsprechendes Hintergrundpapier ist online verfügbar. Bei Bouncy Castle funktionierte der Angriff direkt, 3.300 Verbindungen mit fehlerhaften Kurvenpunkten waren dafür notwendig.

Bei JSSE gestaltete sich der Angriff etwas schwieriger. Es stellte sich heraus, dass die Java-Bibliothek bestimmte Berechnungen von elliptischen Kurven fehlerhaft durchführt. Im normalen Betrieb war das kein Problem, da dieser Fehler dort nur sehr selten auftritt. Bei elliptischen Kurven mit weniger Kurvenpunkten trat der Fehler jedoch gehäuft auf. Er führte somit dazu, dass der Angriff deutlich erschwert wurde, möglich war er jedoch trotzdem. Nach etwa 17.000 Serververbindungen ließ sich der Serverschlüssel knacken. Somorovsky erklärte, dass er selbst nicht sicher sei, ob es sich dabei um eine bewusste Optimierung der Java-Bibliothek handele, die Fehler produziere, oder einen weiteren Bug.

Fehler in Hardware Security Module von Utimaco bestätigt

Zusammen mit Dennis Felsch führte Somorovsky einen weiteren Test des Angriffs durch, diesmal bei einem Hardware Security Module (HSM). Das Ziel von Hardware Security Modules ist es, den privaten Schlüssel im Gerät verborgen zu halten. Es ist im Normalfall nicht möglich, den Schlüssel mittels Software zu extrahieren. Hardware Security Modules werden häufig von Zertifizierungsstellen genutzt, da diese besonders hohe Sicherheitsanforderungen haben.

Mit knapp 100 Verbindungen gelang es Somorovsky und Felsch, den privaten Schlüssel aus einem Utimaco-Gerät aus der Secure-Server-Reihe zu extrahieren. Die Utimaco-Geräte sind nach dem Standard FIPS 140-2 Level 3 zertifiziert, der eigentlich genau solche Angriffe verhindern soll. Utimaco hat den Fehler bestätigt und ein Update für die Firmware bereitgestellt.

"Diese Analyse war möglich dank einer Kooperation von Utimaco mit unserem Institut", sagte Juraj Somorovsky Golem.de. "Es wäre wünschenswert, dass andere HSM-Hersteller ihre Geräte ähnlichen Tests unterziehen."

Angriffe vermeiden

Das Safecurves-Projekt von Dan Bernstein und Tanja Lange empfiehlt, die Angriffe mit falschen Kurvenpunkten bereits durch das Algorithmendesign zu vermeiden. Manche elliptische Kurven lassen sich als sogenannte Montgomery-Form darstellen, und die Kurvenpunkte können komprimiert versendet werden. Dabei werden dann lediglich die X-Koordinate und das Vorzeichen der Y-Koordinate übermittelt.

In dieser Form hat ein Angreifer nicht mehr die Möglichkeit, Punkte auf beliebigen ungültigen Kurven zu verschicken. Lediglich eine einzige ungültige Kurve bleibt übrig. Wählt man die geeignete elliptische Kurve, kann man sicherstellen, dass die übrige Kurve nicht angreifbar ist. Diese Eigenschaft wird auch als Twist-Security bezeichnet. Die momentanen Entwürfe der Kryptographie-Arbeitsgruppe der IETF zum Einsatz der von Bernstein entwickelten Kurve Curve25519 und von Curve448 sehen diese Vorsichtsmaßnahmen bereits vor.

Die statischen Schlüsselaustauschmodi von TLS werden generell nur sehr selten genutzt und sind auch aus anderen Gründen problematisch. Im August konnten österreischische Forscher einen Angriff zeigen, bei dem ein Angreifer, dem es gelingt, einem Nutzer ein Clientzertifikat unterzuschieben, damit unter bestimmten Umständen einen Man-in-the-Middle-Angriff durchführen kann. Da die statischen Schlüsselaustauschmodi praktisch keine Vorteile haben und auch keine Forward-Secrecy-Sicherheit bieten, ist es als weitere Vorsichtsmaßnahme sinnvoll, generell in Applikationen auf diese Modi zu verzichten.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Garmin Fenix 7 im Test
Outdoor-Wearable mit fast allem Drin und Dran

Eine weitere Funktionslücke ist geschlossen: Nun hat auch die Garmin Fenix 7 einen Touchscreen - und noch mehr Akkulaufzeit.
Von Peter Steinlechner

Garmin Fenix 7 im Test: Outdoor-Wearable mit fast allem Drin und Dran
Artikel
  1. Musterfeststellungsklage: Parship kann eine Kündigungswelle erwarten
    Musterfeststellungsklage
    Parship kann eine Kündigungswelle erwarten

    Die Verbraucherzentrale ruft zur Kündigung bei Parship und zur Teilnahme an einer Musterfeststellungsklage auf. Doch laut Betreiber PE Digital ist das aussichtslos.

  2. Coronapandemie: Bayern und Sachsen-Anhalt steigen aus Luca aus
    Coronapandemie
    Bayern und Sachsen-Anhalt steigen aus Luca aus

    Immer mehr Länder wollen die Luca-App nicht mehr nutzen. Bayern will verstärkt auf die Corona-Warn-App setzen.

  3. Open Source: Antworten Sie innerhalb von 24 Stunden
    Open Source
    "Antworten Sie innerhalb von 24 Stunden"

    Die E-Mail eines großen Konzerns an den Entwickler von Curl zeigt wohl eher aus Versehen, wie problematisch das Verhältnis vieler Firmen zu Open-Source-Software ist.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • RTX 3070 Ti 8GB 1.039€ • 1TB SSD PCIe 4.0 127,67€ • RX 6900XT 16 GB für 1.495€ • Razer Gaming-Tastatur 155€ • LG OLED 65 Zoll 1.599€ • Alternate (u.a. Razer Gaming-Maus 39,99€) • RX 6800XT 16GB 1.229€ • Thrustmaster Ferrari-Lenkrad 349,99€ • Razer Gaming-Stuhl 179,99€ [Werbung]
    •  /