Erfolgreicher Hardwareangriff auf RSA-Implementierung

Forscher haben gezeigt, wie sich in einem speziellen Fall aus gewissen fehlerhaften RSA-Signaturen der geheime Schlüssel berechnen lässt. Die Praxisrelevanz des Angriffs ist jedoch fraglich.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Christiane Rütten

Forscher der University of Michigan konnten durch Manipulation der Spannungsversorgung eines Embedded-Prozessors an den von ihm verwendeten geheimen RSA-Schlüssel gelangen. Der Angriff zielt auf die Berechnung von RSA-Signaturen mit Hilfe des FWE-Algorithmus (Fixed Window Exponentiation), wie es beispielsweise in der Kryptobibliothek OpenSSL der Fall ist. Bei dem untersuchten Embedded-Prozessor handelt es sich um ein SPARC-basiertes Leon3-SoC, das auf einem FPGA von Xilinx läuft und laut den Wissenschaftlern aber repräsentativ für Embedded-Systeme sein soll.

Grundlage der von Andrea Pellegrini, Valeria Bertacco und Todd Austin in einem Paper beschriebenen Attacke ist die Absenkung der Spannungsversorgung der Prozessoreinheit gerade so weit, dass es bei den zur Signaturberechnung erforderlichen Multiplikationsoperationen gelegentlich zu Bitfehlern kommt. Aufgrund der mathematischen Eigenschaften des FWE-Algorithmus lassen sich aus einer fehlerhaften Unterschrift unter gewissen Umständen vier Bits des geheimen Schlüssels errechnen. Da man nicht vorhersagen kann, welche Unterschriften einen geeigneten Fehler enthalten und welche vier Schlüsselbits sich daraus berechnen lassen, muss man sehr viele Signaturen sammeln.

Zur Rekonstruktion des geheimen Schlüssels aus einem Satz von 8800 fehlerhaften Signaturen benötigte ein Cluster aus 80 PCs rund 100 Stunden. Laut einem Bericht von The Register, der den Kryptoexperten Karsten Nohl zitiert, lässt sich der FWE-Algorithmus leicht mit einer Fehlererkennung ausstatten, die die Attacke vereitelt. Die OpenSSL-Entwickler wollen demnach in Kürze auch einen entsprechenden Patch liefern.

Der Angriff dürfte sich jedoch in der Praxis nur schwer umsetzen lassen. Laut den Forschern muss man an rund 1000 Signaturen gelangen, bei deren Berechnung es im FWE-Algorithmus zu einer fehlerhaften Multiplikation mit genau einem gekippten Bit gekommen ist. Selbst in dem speziellen Testsystem der Forscher, das mit fast nichts anderem als der Signaturerzeugung beschäftigt war, war dies nur bei 10 Prozent der Unterschriften der Fall.

In der Praxis dürften sich auch nur wenige Produktivsysteme dazu bringen lassen, beständig Signaturen zu erzeugen, die sich vom Angreifer auch noch ohne weiteres auslesen lassen. Ist der Prozessor hauptsächlich mit anderen Dingen beschäftigt, kommt es durch die Spannungsmanipulation vorwiegend zu Fehlern und gegebenenfalls Abstürzen in Programmcode außerhalb des RSA-Codes.

Darüber hinaus sind RSA-basierte Kryptosysteme im Embedded-Bereich nur selten anzutreffen, etwa bei HDMI/HDCP oder in TPM-Modulen, die in der Regel jedoch in speziellen Chips implementiert sind. Wie gut sich der FWE-Angriff auf andere Prozessoren und Kryptosysteme übertragen lässt, wird sich noch zeigen müssen. In vielen Szenarien dürfte es auch – beispielsweise mit einer Cold-Boot-Attacke – wesentlich leichter sein, an die geheimen Schlüssel zu gelangen.

Siehe dazu auch:

(cr)