Methode zum Extrahieren privater RSA-Schlüssel aus SSH-Verbindungen
Eine Studie hat gezeigt, dass es für Angreifer möglich ist, private RSA-Schlüssel von einem SSH-Server zu berechnen, indem sie natürlich auftretende Rechenfehler während des Verbindungsaufbaus beobachten.
Das Secure-Shell-Protokoll (SSH) ist eine Methode zur sicheren Übertragung von Befehlen und zur Anmeldung bei einem Computer über ein ungesichertes Netzwerk. SSH basiert auf einer Client-Server-Architektur und verwendet Kryptografie zur Authentifizierung und Verschlüsselung von Verbindungen zwischen Geräten. Ein Host-Schlüssel ist ein kryptografischer Schlüssel, der zur Authentifizierung von Computern im SSH-Protokoll verwendet wird. Host-Schlüssel sind Schlüsselpaare, die normalerweise mit Public-Key-Kryptosystemen wie RSA erzeugt werden.
„Wenn eine Signaturimplementierung, die CRT-RSA verwendet, während der Signaturberechnung einen Fehler aufweist, kann ein Angreifer, der diese Signatur beobachtet, in der Lage sein, den privaten Schlüssel des Unterzeichners zu berechnen“, so eine Gruppe von Wissenschaftlern der University of California, San Diego und des Massachusetts Institute of Technology in einer Veröffentlichung in diesem Monat.
Mit anderen Worten: Ein Angreifer kann unbemerkt legitime Verbindungen verfolgen, ohne eine Entdeckung zu riskieren, bis er eine fehlerhafte Signatur entdeckt, die den privaten Schlüssel preisgibt. Der Angreifer kann sich dann als der kompromittierte Host ausgeben, um sensible Daten abzufangen und Man-in-the-Middle-Angriffe durchzuführen.
Die Forscher beschreiben die Methode als gitterbasierte Fehlerattacke zur Wiederherstellung von Schlüsseln, die es ihnen ermöglichte, die privaten Schlüssel zu 189 eindeutigen öffentlichen RSA-Schlüsseln abzurufen, die anschließend zu Geräten von vier Herstellern zurückverfolgt werden konnten: Cisco, Hillstone Networks, Mocana und Zyxel.
Allerdings funktioniert das nicht mit TLS Versionen ab 1.3, da hier der „Handshake“, der die Verbindung herstellt, verschlüsselt wird, sodass passive „Mithörer“ nicht auf die Signaturen zugreifen können.
„Diese Angriffe sind ein konkretes Beispiel für den Wert mehrerer Designprinzipien in der Kryptografie: Verschlüsselung von Protokoll-Handshakes, sobald ein Sitzungsschlüssel ausgehandelt wird, um Metadaten zu schützen, Bindung der Authentifizierung an eine Sitzung und Trennung von Authentifizierung und Verschlüsselungsschlüsseln“, so die Forscher.
Die Ergebnisse kommen zwei Monate nach der Veröffentlichung der Marvin-Attacke, einer Variante des ROBOT-Angriffs (kurz für „Return Of Bleichenbacher’s Oracle Threat“), der es einem Bedrohungsakteur ermöglicht, RSA-Chiffretexte zu entschlüsseln und Signaturen zu fälschen, indem er Sicherheitslücken in PKCS #1 v1.5 ausnutzt.