Resolving an Apparent Key-Dependent Timing Side-Channel in Bouncy Castle ML-DSA-65 Signing: A Pre-Registered Discrimination
Diese Arbeit zeigt auf, dass ein scheinbarer schlüsselabhängiger Zeit-Seitenkanal in der ML-DSA-65-Implementierung von Bouncy Castle tatsächlich ein statistisches Artefakt der natürlichen Variation beim Rejection-Sampling ist, welches verschwindet, wenn die Zeitmessung innerhalb eines vorregistrierten Protokolls erfolgt, das die exakte Anzahl der durchgeführten Iterationen berücksichtigt, wodurch die Sicherheit der Implementierung über alle standardisierten Parametersätze hinweg bestätigt wird.
Originalarbeit lizenziert unter CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
In der Welt der digitalen Sicherheit sind die mächtigsten Schlösser oft jene, die am längsten zum Knacken brauchen. Seit Jahrzehnten entwerfen Mathematiker Verschlüsselungssysteme, die auf komplexen Problemen basieren, um Daten sicher zu halten. Da Computer leistungsfähiger werden und das Versprechen von Quantencomputern in greifbare Nähe rückt, wetteilen Wissenschaftler darum, neue Schlösser zu bauen, die selbst diese zukünftigen Maschinen nicht brechen können. Eines der vielversprechendsten neuen Designs wird als ML-DSA bezeichnet. Es handelt sich um eine Methode zur Erstellung digitaler Signaturen, dem elektronischen Äquivalent einer handschriftlichen Unterschrift auf einem Vertrag oder einem Zertifikat. Diese Signaturen beweisen, dass eine Nachricht von einer bestimmten Person stammt und nicht manipuliert wurde.
Es ist jedoch eine neue Art von Gefahr neben diesen mathematischen Schlössern aufgetaucht. Es handelt sich nicht um einen Fehler in der Mathematik selbst, sondern um einen Fehler in der Art und Weise, wie die Mathematik auf einem Computer ausgeführt wird. Dies ist als Timing-Seitenkanalangriff bekannt. Stellen Sie sich einen Tresor vor, der etwas lauter klickt, wenn die richtige Kombination eingegeben wird, oder eine Tür, die einen Bruchteil einer Sekunde länger braucht, um sich zu öffnen, wenn der richtige Schlüssel verwendet wird. Wenn ein Angreifer diese winzigen Zeitunterschiede mit extremer Präzision messen kann, könnte er in der Lage sein, den geheimen Schlüssel abzuleiten. Für das neue ML-DSA-System haben die Designer eine Sicherheitsfunktion eingebaut: Der Prozess beinhaltet viel Versuch und Irrtum. Der Computer versucht, eine Signatur zu erstellen, prüft, ob sie gültig ist, und wenn dies nicht der Fall ist, verwirft er sie und versucht es erneut. Da die Anzahl der Versuche zufällig variiert, variiert auch die Gesamtzeit, die für die Signatur eines Obuts benötigt wird. Diese Zufälligkeit soll den geheimen Schlüssel verbergen, indem sie es unmöglich macht, festzustellen, ob eine bestimmte Verzögerung durch den Schlüssel oder einfach durch Pech verursacht wurde.
Ein Forscher namens Arpan Sharma untersuchte kürzlich, ob diese Sicherheitsfunktion in einer populären Softwarebibliothek namens Bouncy Castle wie beabsichtigt funktioniert. Diese Bibliothek wird weit verbreitet eingesetzt, um alles von Software-Updates bis hin zu sicheren Webverbindungen abzusichern. Als Sharma sich zum ersten Mal die Daten ansah, bemerkte er etwas, das wie ein Leck aussah. Durch den Vergleich der Zeit, die für die Signierung von Nachrichten benötigt wurde, mit zwanzig verschiedenen geheimen Schlüsseln stellte er fest, dass einige Schlüssel konsistent länger brauchten als andere. Der Unterschied war gering – etwa 1,35 Prozent – aber in der Welt der Sicherheit kann selbst ein winziger, konsistenter Unterschied ein Signal sein, dass ein Geheimnis preisgegeben wird. Die Frage war, ob dieser Unterschied eine echte Schwachstelle war, ein Fehler im Code, der den geheimen Schlüssel beeinflussen ließ, oder lediglich eine statistische Illusion, die durch die Natur des Zufallssystems verursacht wurde.
Um dies zu beantworten, verließ sich Sharma nicht auf eine einfache Vermutung oder einen schnellen Test. Er entwarf ein strenges, vorab geplantes Experiment, um das Signal vom Rauschen zu trennen. Der Kern seiner Methode bestand darin, die Arbeit zu betrachten, die der Computer tatsächlich für jede einzelne Signatur leistete, anstatt nur auf die endgültige Zeit zu schauen. Er entwickelte ein Werkzeug, das genau aufzeichnete, wie oft der Computer versuchen und scheitern musste, bevor er eine gültige Signatur fand. Dies ist entscheidend, da die Zeit, die für die Signierung einer Nachricht benötigt wird, direkt mit der Anzahl der Versuche verknüpft ist, die der Computer wiederholen muss. Wenn ein Schlüssel zufällig ein „glückliches“ Set von Nachrichten erhielt, die weniger Wiederholungen erforderten, war er schneller fertig, nicht weil der Schlüssel anders war, sondern weil die Mathematik an diesem Tag einfacher war.
Sharma führte eine massive Kampagne durch und generierte über 1,2 Millionen Signaturen für jeden der zwanzig Schlüssel. Er gruppierte die Signaturen dann basierend auf der exakten Menge der geleisteten Arbeit. Er stellte eine einfache Frage: Wenn zwei Signaturen exakt dieselbe Anzahl an Wiederholungen erforderten und exakt dieselben Schritte durchliefen, benötigten sie dann immer noch unterschiedlich viel Zeit, je nachdem, welcher Schlüssel verwendet wurde? Die Antwort war ein definitives Nein. Sobald er die Anzahl der Wiederholungen berücksichtigte, verschwand der Zeitunterschied zwischen den Schlüsseln. Die winzigen Variationen, die blieben, waren so geringfügig, dass sie durch die natürlichen, zufälligen Fluktuationen des Prozessors und des Speichers des Computers erklärt werden konnten und nicht durch die geheimen Schlüssel selbst.
Die Studie ging darüber hinaus, um sicherzustellen, dass die Ergebnisse kein Zufall des spezifischen Computers oder der Art und Weise waren, wie die Software in den Speicher geladen wurde. Sharma wiederholte das Experiment mit einem frischen Satz von Schlüsseln und einem frischen Satz von Nachrichten. Er führte auch einen Kontrolltest durch, bei dem er die Reihenfolge vertauschte, in der der Computer die Daten verarbeitete. Wenn die Zeitunterschiede durch die geheimen Schlüssel verursacht worden wären, würde die Reihenfolge der Schlüssel keine Rolle spielen. Wenn die Unterschiede jedoch durch die Position der Daten im Speicher des Computers verursacht worden wären, würde die Reihenfolge die Ergebnisse verändern. Das Experiment zeigte, dass die Zeitunterschiede nicht den Schlüsseln folgten, sondern dem Layout des Speichers. Dies bestätigte, dass der scheinbare Leak ein Artefakt der Computerumgebung war und nicht ein Fehler in der Sicherheit des Codes.
Die Forschung untersuchte auch den einen Teil des Codes, von dem bekannt war, dass er je nach Daten leicht variiert. Die Software prüft während des Prozesses die Größe von Zahlen, und wenn eine Zahl zu groß ist, stoppt sie die Prüfung der restlichen Liste sofort. Dies ist eine Standardoptimierung, um Zeit zu sparen, aber es bedeutet, dass der Computer für manche Eingaben früher stoppen könnte als für andere. Sharma maß die Auswirkung dieser Abkürzung und stellte fest, dass sie eine Verzögerung von nur etwa einem Nanosekunden beitrug. Dies ist eine Nanosekunde, eine Zeitspanne von nur einer Milliardstel Sekunde, eine Zeitskala, die so klein ist, dass sie weit unter der Schwelle liegt, die ein Angreifer realistisch messen oder nutzen könnte, um einen Schlüssel zu stehlen.
Die Ergebnisse wurden auf die gesamte Familie dieser neuen digitalen Signaturstandards angewendet, einschließlich der kleineren und größeren Versionen, die für verschiedene Sicherheitsstufen verwendet werden. In jedem Fall war das Ergebnis dasselbe. Die Softwareimplementierung war sauber. Die scheinbaren Zeitunterschiede waren kein Anzeichen dafür, dass die geheimen Schlüssel geleakt wurden. Stattdessen waren sie das natürliche Resultat eines Systems, das darauf ausgelegt ist, seine Arbeit zu variieren, um genau diese Schlüssel zu schützen. Die Studie kam zu dem Schluss, dass die Bouncy Castle Bibliothek gegen diese spezifische Art von Angriff sicher ist. Die anfänglich Alarm schlagende Zeitspanne von 1,35 Prozent war lediglich das Echo von zwanzig verschiedenen Schlüsseln, die zwanzig verschiedene Stichproben aus einer Zufallsverteilung zogen – ein statistisches Echo statt einer Sicherheitslücke.
Diese Untersuchung dient als Erinnerung daran, wie schwierig es ist, zu beweisen, dass ein System sicher ist. In der Vergangenheit hätten Forscher vielleicht beim ersten Anzeichen eines Zeitunterschieds aufgehört und eine Schwachstelle deklariert. Diese Studie zeigt, dass in komplexen, randomisierten Systemen das erste Anzeichen oft nur das ist, was das System tut, um seine Aufgabe zu erfüllen. Durch die sorgfältige Messung der geleisteten Arbeit und die Kontrolle der Umgebung war der Forscher in der Lage, zwischen einem echten Leck und einer statistischen Illusion zu unterscheiden. Das Ergebnis ist eine Bestätigung, dass die neuen digitalen Signaturen robust sind und dass die zufälligen Variationen in ihrer Geschwindigkeit ein Merkmal und kein Fehler sind. Für die Millionen von Geräten, die auf diese Signaturen angewiesen sind, um sicher zu bleiben, ist die Botschaft klar: Das Schloss hält, und die Zeit, die man zum Drehen des Schlüssels benötigt, verrät nichts über das Geheimnis im Inneren.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.