Erfolgreiche Timing-Angriffe auf Verschlüsselung mit elliptischen Kurven

Zwei finnischen Wissenschaftlern gelang es, den geheimen Schlüssel eines SSL-Servers zu berechnen. Das US-CERT rät derweil von der Verwendung des betroffenen Verfahrens ab.

In Pocket speichern vorlesen Druckansicht 158 Kommentare lesen
Lesezeit: 2 Min.

Durch einen so genannten Timing-Angriff konnten die Wissenschaftler Billy Bob Brumley und Nicola Tuveri den geheimen Schlüssel eines TLS/SSL-Servers ermitteln, der Elliptic Curve DSA einsetzt. Der Angriff beruht auf der Tatsache, dass die benötigte Zeit für eine Multiplikation Rückschlüsse auf deren Operanden zulässt.

Kryptographie auf elliptischen Kurven kommt häufig an Stelle asymmetrischer Verfahren wie RSA oder DSA zum Einsatz, die normalerweise sehr lange Schlüssel erfordern. Die Sicherheit dieser Verfahren basiert dabei auf der Schwierigkeit, den diskreten Logarithmus in der Gruppe der Punkte der elliptischen Kurve zu berechnen. Bei ECC genügt etwa ein Schlüssel mit 160 Bit, um ein ähnliches Sicherheitsniveau zu erreichen wie bei RSA mit einem 1024-Bit-Schlüssel.

(Bild: PDF: Remote Timing Attacks are Still Practical)

Für ihre Tests setzen die Wissenschaftler einen SSL-Server mit OpenSSL auf und stoppten die Zeit für das Erstellen einer digitalen Signatur mit Elliptic Curve DSA (ECDSA). Damit konnten sie den geheimen Schlüssel des Servers zurückrechnen. Beim Aufbau einer SSL-Verbindung über das lokale Loopback-Interface gelang das quasi instantan. Über ein lokales Netz induzierten die Paketlaufzeiten zwar Messungenauigkeiten, aber diese ließen sich mit etwas zusätzlichem Rechenaufwand kompensieren. Insgesamt erwies sich der in dem Paper Remote Timing Attacks are Still Practical (PDF-Datei) beschriebene Angriff auch übers Netz als durchführbar.

Eine konkrete Abhilfe ist bislang nicht bekannt; das US-CERT schlägt als Lösung vor, auf den Einsatz von ECDSA für digitale Signaturen zu verzichten. Die Forscher empfehlen, zeitunabhängige Funktionen für Operationen auf elliptischen Kurven zu implementieren, um diese Art von Angriffen auszuschließen. (ju)