Fünf Forschende der UC San Diego und von Inria haben eine RSA-Signatur für einen 1024-Bit-Schlüssel gefälscht, ohne den privaten Schlüssel je zu kennen. Mit einer digitalen Signatur belegen Software und Dokumente, dass der Inhaber eines privaten Schlüssels sie freigegeben hat, und bisher hieß eine Signatur zu fälschen, diesen Schlüssel zu rekonstruieren, bei RSA also eine sehr große Zahl zu faktorisieren. Dieses Team ging einen anderen Weg. Es rechnete vom 13. März bis zum 31. August 2026 insgesamt 1.380 CPU-Kernjahre mit einem Algorithmus von Joux, Naccache und Thomé aus dem Jahr 2007, den bisher niemand in voller Größe ausprobiert hatte, und beschreibt das Ergebnis in ePrint 2026/2131. Ein Kernjahr ist ein Prozessorkern, der ein Jahr lang rechnet; verteilt auf einen Universitätscluster waren das fünf Monate Rechenzeit.
Das Paper beziffert auch, was der Angriff in seinem Szenario für RSA bedeutet. Sicherheit wird in Bit gemessen: Ein System mit 112 Bit Sicherheit erfordert zum Brechen etwa 2112 Operationen, und jedes Bit weniger halbiert den Aufwand. Unter diesem Angriff bietet ein 1024-Bit-RSA-Schlüssel 265, ein 2048-Bit-Schlüssel 290 und ein 4096-Bit-Schlüssel 2119. Damit liegen 1024 und 2048 Bit unter dem Minimum von 112 Bit, das NIST derzeit verlangt, und alle drei unter den 128 Bit, die NIST einem RSA-Modul von 3072 Bit zuschreibt, dem Minimum, das CNSA 1.0 für National Security Systems weiterhin vorgibt.
Der Angriff
Der Angriff braucht etwas, das gut geführte Systeme selten herausgeben: vorübergehenden Zugriff auf ein rohes RSA-Signaturorakel. Ein Orakel ist in diesem Sinne jedes System, das den privaten Schlüssel auf eine beliebige übergebene Zahl anwendet und das Ergebnis zurückgibt, ohne diese Zahl vorher in das Standardformat zu bringen, das beim Signieren üblich ist. Den Schlüssel sieht der Angreifer nie. Er muss dem Orakel nur etwa 232 Fragen stellen, also rund vier Milliarden Signaturanfragen, und die schwere Rechenarbeit anschließend offline erledigen.
Was er dafür bekommt, ist dauerhaft. Ist die Vorberechnung abgeschlossen, kann der Angreifer jede beliebige Nachricht auf eigener Hardware signieren, lange nachdem sein Zugriff auf das Orakel entzogen wurde, und jede weitere Fälschung mit demselben Schlüssel kostet etwa 180 Kernjahre. Die Autoren haben das an einem Hardware-Sicherheitsmodul vorgeführt, also an dem manipulationsgeschützten Gerät, das Organisationen gerade deshalb kaufen, damit Schlüssel es nie verlassen, und gezeigt, dass sie es über seine gewöhnliche Programmierschnittstelle imitieren konnten, ohne den Schlüssel herauszuholen. Für ein Sicherheitsteam ist die operative Lesart einfach: Vorübergehender Zugriff auf die falsche Schnittstelle kann zu einer Signierfähigkeit werden, die jede Zugriffsprüfung überdauert.
Die Kosten werden sinken. Das Team setzte weder GPUs noch KI ein, und mit vorhandenem GPU-Siebcode schätzen die Autoren die 1024-Bit-Berechnung auf zwei bis neun GPU-Jahre und eine 2048-Bit-Fälschung auf rund 227 GPU-Jahre. Nadia Heninger, eine der Autorinnen, erwartet, dass GPUs und KI diese Zahlen weiter senken.
Wo rohes Signieren noch vorkommt
Das meiste RSA-Signieren ist auf diese Weise nicht angreifbar. Bevor eine Nachricht signiert wird, wird sie normalerweise in eine feste Struktur verpackt, das sogenannte Padding, entweder im älteren Format PKCS#1 v1.5 oder im randomisierten Verfahren PSS, und diese Verpackung verwehrt einem Angreifer die rohe mathematische Operation, die diese Methode braucht. Gegen RSA mit Padding behaupten die Autoren keinen Angriff.
Rohes RSA überlebt an zwei Stellen. Die erste sind blinde Signaturen, bei denen ein Dienst einen Wert signiert, den er nicht sehen kann, damit sich das ausgegebene Token später nicht auf die anfragende Person zurückführen lässt. Privacy Pass, das Protokoll für anonyme Tokens, das Cloudflare und Apple einsetzen, damit Menschen belegen können, dass sie legitim sind, ohne sich zu identifizieren, beruht auf blindem RSA, und in diesem Entwurf signiert der Aussteller zwangsläufig, was er erhält. Heninger sagte gegenüber Ars Technica, die Zahl der Anfragen, die der Angriff braucht, liege in der Größenordnung dessen, was Cloudflare an einem Tag an Verkehr abwickelt. Die zweite Stelle sind Hardware-Sicherheitsmodule, die so konfiguriert sind, dass die Anwendung das Padding hinzufügt und das Modul die bloße RSA-Operation ausführt. In dieser Anordnung hält jeder, der die Schnittstelle des Moduls erreicht, einschließlich eines kompromittierten Anwendungsservers, ein rohes Orakel in der Hand. Schlüsselrotation erhöht die Kosten des Angriffs, weil die Vorberechnung für jeden neuen Schlüssel wiederholt werden muss, beseitigt ihn aber nicht.
Derselbe Schlüssel, zwei Sicherheitsniveaus
Derselbe 2048-Bit-Schlüssel hat damit zwei Sicherheitsniveaus. Hinter PSS behält er gegenüber Faktorisierung etwa 2112 Sicherheit, hinter einem rohen Signaturorakel bietet er 290, für den Angreifer rund vier Millionen Mal weniger Arbeit. Am Schlüssel selbst ändert sich nichts; das Sicherheitsniveau gehört zum Protokoll um ihn herum. Ein kryptografisches Inventar, das „RSA-2048“ verzeichnet, hat eine Schlüssellänge verzeichnet und das Sicherheitsniveau offengelassen, und es kann einen TLS-Handshake mit PSS nicht von einem Aussteller blinder Signatur-Tokens oder einer HSM-Schnittstelle im Rohmodus unterscheiden. Um das Asset zu bewerten, braucht es diesen Aufrufkontext.
Weil eine Schlüssellänge allein keine Note tragen kann, begrenzt [PQ]probe einen Endpunkt auf die Note C, bis er hybriden Post-Quanten-Schlüsselaustausch aushandelt, gleich welche RSA-Schlüssellänge er hat, und die schlechteste Adresse hinter einem Namen bestimmt die Note dieses Namens.
Der Aufschub bei Signaturen
Post-Quanten-Migrationspläne stellen den Schlüsselaustausch vor die Signaturen, und die Reihenfolge stimmt. Der Schlüsselaustausch schützt die Vertraulichkeit, und ein Angreifer kann verschlüsselten Verkehr heute aufzeichnen und ihn entschlüsseln, sobald es einen Quantencomputer gibt, ein Vorgehen, das als Harvest now, decrypt later bekannt ist. Eine Signatur wird dagegen geprüft, wenn sie verwendet wird, sodass eine künftige Fälschung nicht zurückreichen und eine bereits getroffene Entscheidung verändern kann. Executive Order 14412 folgt dieser Logik und setzt Ende 2030 als Frist für die Schlüsseletablierung und 2031 für Signaturen.
Das Jahr zwischen beiden Terminen war auf die Kosten der Faktorisierung kalkuliert, denn eine Signatur zu fälschen hieß, den Schlüssel zu rekonstruieren, und ein 2048-Bit-Schlüssel war außer Reichweite. Dieses Ergebnis fälscht eine Signatur ganz ohne Faktorisierung und senkt im Orakel-Szenario die Schätzung, auf der der Aufschub beruht, um fünfzehn Bit bei 1024, rund 33.000 Mal weniger Arbeit, und um zweiundzwanzig Bit bei 2048. Die Frist hat sich nicht verschoben, aber der Spielraum, der das Warten auf sie rechtfertigte, ist schmaler, als die Planung annahm.
Neunzehn Jahre im Regal
Die README des Teams erklärt, warum ein Algorithmus von 2007 im Jahr 2026 eine Nachricht ist: Für klassische Kryptoanalyse gibt es wenig Geld, und der Arbeitsmarkt belohnt Arbeit zu Post-Quanten-Kryptografie und KI, also blieb der Algorithmus Theorie, bis jemand fünf Monate Clusterzeit finanzierte.
Andere Angriffe haben ebenso lange darauf gewartet, dass jemand sie ausführt. Bleichenbacher veröffentlichte 1998 den Padding-Oracle-Angriff auf RSA, und die ROBOT-Forschenden fanden ihn 2017 in produktivem TLS wieder; Wang veröffentlichte 2004 MD5-Kollisionen, und die Schadsoftware Flame trug 2012 ein gefälschtes Microsoft-Zertifikat. Jedes Mal lag die Mathematik acht Jahre oder länger öffentlich vor, bevor jemand sie gegen ein eingesetztes System laufen ließ. Für Risikoverantwortliche heißt das: Die veröffentlichten Kosten eines Angriffs sind eine Obergrenze, die davon abhängt, wie viele es versucht haben, und kein Maß dafür, was die Mathematik zulässt.
Drei Ergebnisse in einem Monat
Die Fälschung erschien zusammen mit zwei Faktorisierungsrekorden. Am 3. September hat Eric Lu von Cognition RSA-260 faktorisiert, eine 862-Bit-Zahl, mit einer GPU-Implementierung des Zahlkörpersiebs, die der Coding-Agent Devin geschrieben hatte, für rund 4.900 GPU-Tage. Sechzehn Tage später faktorisierte Stephen Weis RSA-896 auf ungenutzten GPUs in zehn Tagen, mit in der Spitze 2.048 Beschleunigern und rund 30 GPU-Jahren Arbeit, und ohne gekaufte oder gemietete Hardware. Lu schätzt, dass ein Hyperscaler RSA-1024 für etwa 30 Millionen Dollar faktorisieren könnte, und merkt an, dass RSA-2048 ungefähr eine Milliarde Mal schwerer ist.
Auf lange Sicht ist der Rekord des allgemeinen Zahlkörpersiebs, des besten bekannten Verfahrens zur Faktorisierung solcher Zahlen, von etwa 430 Bit Mitte der 1990er-Jahre auf 862 Bit am 3. September gestiegen. Das sind rund vierzehn Bit pro Jahr, einschließlich einer zehnjährigen Lücke zwischen 768 Bit im Jahr 2009 und 795 Bit im Jahr 2019, in der niemand die Rechnung überhaupt durchführte. Auf dieser Steigung, die die Abbildung zeigt, liegt RSA-2048 etwa achtzig Jahre entfernt.
Rekorde: RSA-129 bis RSA-250, zusammengestellt von Paul Zimmermann; RSA-260, Eric Lu; RSA-896, Stephen Weis.
JP Aumasson trug am 20. September die beiden Septemberrekorde auf denselben Achsen auf, legte eine Gerade hindurch und las für RSA-2048 den 14. März 2028 ab, versehen mit dem Etikett „wildly irresponsible extrapolation“ und gefolgt von der Bitte, niemand möge darüber einen Artikel schreiben. Der Witz trägt, weil zwei Punkte immer eine Gerade ergeben, und die dreißigjährige Reihe zeigt, warum es eine Gerade ist und kein Trend. Rekorde messen, wie oft jemand dafür finanziert wurde, es zu versuchen, und genau diese Häufigkeit hat sich im September geändert.
In einem Monat hat sich der Preis desselben Schlüssels dreimal auf drei getrennten Wegen bewegt: durch GPU-Sieben, das ein Agent geschrieben hat, durch Faktorisierung auf freier Kapazität und durch eine Fälschung, die überhaupt keine Faktorisierung braucht und deren 1024-Bit-Kosten die Autoren unter Lus Kosten für eine kleinere Zahl ansetzen. Eine Note hält diesen Preis an einem Tag fest. In welche Richtung er sich bewegt, lässt sich nur an einer Population messen, die mit unveränderter Methode erneut gescannt wird, denn zwei Punkte ergeben ein Diagramm, und erst wiederholte Messung ergibt eine Vollerhebung.
Was sich ändert
Das unmittelbare Risiko ist gering, und die Autoren sagen das selbst: Das meiste eingesetzte RSA verwendet Padding, und die meisten Einsätze von rohem RSA rotieren ihre Schlüssel. Geändert hat sich die Zahl, mit der der Aufschub der Signaturmigration begründet wurde. Sie war eine Faktorisierungsschätzung, und Faktorisierung war nie der einzige Weg zu einer Signatur.
Für eine Sicherheitsleitung ergeben sich daraus zwei Aufgaben. Die erste ist, die Stellen zu finden, an denen RSA-Schlüssel ohne Padding signieren, in den meisten Organisationen also Token- und Blindsignaturdienste sowie Hardware-Sicherheitsmodule, deren Schnittstellen rohe RSA-Operationen erlauben, und einzuschränken, wer diese Schnittstellen erreicht. Die zweite ist, eine Schlüssellänge nicht länger als Risikobewertung zu behandeln. Ein Inventar, das Schlüssellängen ohne ihren Aufrufkontext verzeichnet, kann RSA überhaupt nicht bewerten. Verzeichnen Sie das Protokoll und bewerten Sie die Verwendung. Die Signaturfrist 2031 ist das feste Datum, das sie bereits ist.