OpenSSH 9.0 sichert Schlüsselaustausch gegen Angriffe durch Quantencomputer

Version 9.0 von OpenSSH behebt viele Fehler des freien SSH-Frameworks – und soll schon jetzt vorausschauend vor Qantencomputer-Angriffen schützen.

In Pocket speichern vorlesen Druckansicht 32 Kommentare lesen
Verschlossene Tür, Schloss, Sicherheit

(Bild: Andrew Derr/Shutterstock.com)

Lesezeit: 4 Min.
Von
  • Michael Plura

Das Release 9.0 von OpenSSH korrigiert primär Fehler wie ein Speicherleck in der Parameterverarbeitung bei scp(1) sowie einige selten auftretende Bugs bei sshd(8). Neben diesen grundsätzlichen Fixes für die originäre OpenBSD-Implementation wurde vor allem auch an sshd(8) in den portierten Varianten ausgebessert: Sftp(1) und der sftp-server(8) haben die Entwickler um die praktische Funktion erweitert, Dateien per cp (copy-data) serverseitig zu kopieren.

Um vor möglichen zukünftigen Angriffen mit Quantencomputern zu schützen, implementieren die OpenSSH-Entwickler bereits jetzt eine Streamlined NTRU Prime genannte Methode zum Schlüsselaustausch. NTRU ist ein quelloffenes Public-Key-Kryptosystem, das gitterbasierte Kryptografie zur Ver- und Entschlüsselung von Daten verwendet. Es besteht aus zwei Algorithmen: NTRUEncrypt, der zur Verschlüsselung dient, und NTRUSign, der für digitale Signaturen eingesetzt wird. Im Gegensatz zu anderen gängigen Public-Key-Kryptosystemen ist es resistent gegen Angriffe mit dem Shor-Algorithmus.

Das OpenSSH-Team definiert sich damit einmal mehr ein Vorreiter der IT-Sicherheit. Als eines der ersten freien Projekte im Masseneinsatz setzen sie ab sofort und standardmäßig ein quantencomputersicheres Kryptoverfahren ein. Die frühe Implementation ist keinesfalls ein Zeichen von Paranoia, sondern macht durchaus Sinn: Sie soll vor dem sogenannten "capture now, decrypt later"-Problem schützen – also davor, dass man jetzt anfangen muss, langfristig relevante Daten vor Angriffen mit Quantencomputern schützen.

Die Verschlüsselung der Nutzdaten über ein symmetrisches Verfahren wie AES mit 256 oder nahezu beliebig mehr Bit ist nicht das eigentliche Problem bei Angriffen durch Quantencomputer. Es geht eben "nur" um das Knacken des Austauschs des dafür generierten, zufälligen Schlüsselpaars, was bisher mit einem herkömmlichen Diffie-Hellman-Schlüsseltaustausch auf Basis elliptischer Kurven (X25519 ECDH) erfolgt.

Dieses Verfahren gilt als anfällig für quantenkryptografische Angriffe, auch wenn die aktuelle (bekannte) Leistung – also die Anzahl der Quibits – erster Quantencomputer dafür bei Weitem noch nicht ausreicht. Es gibt viele Schätzungen darüber, wie viele Qubits zum zeitnahen Knacken von asymmetrischen Verschlüsselungen benötigt werden, man bewegt sich da vermutlich im Bereich mehrere tausend Qubits. Wo steht die aktuelle Forschung? Google zeigte im letzten Jahr seinen Sycamore-Prozessor mit 54 Qubits.

Die OpenSSH-Entwickler sind sich als Teil der OpenBSD-Community bewusst, dass neue Implementierungen Fehler enthalten können. Statt nur einen neuen Algorithmus zu verwenden, kombinieren die OpenSSH-Entwickler NTRU mit dem bislang als Standard eingesetzten X25519 ECD. Das soll eine Art Sicherheitsnetz bilden, denn selbst bei noch unbekannten Sicherheitslücken oder den geheimen Backdoors der Geheimdienste greift so noch der alte Schutz.

Bereits in dem vor knapp zwei Monaten veröffentlichten OpenSSH 8.9/8.9p1 wurde angekündigt, dass die Implementation von scp(1) nicht mehr das veraltete und teilweise umständlich zu handhabende scp/rcp-Protokoll verwenden, sondern SFTP nutzen wird. Vor allem die Behandlung von Wildcards und relativen Pfaden bereitete durch die nötige Einklammerung mit Anführungszeichen so manchem Admin Kopfschmerzen. Mit SFTP statt scp/rcp soll alles einfacher werden, bestehende Skripten müssen Nutzer jedoch anpassen. Wer das nicht kann oder will, hat als letzten Ausweg noch den Parameter -O. Er weist scp(1) an, "legacy scp/rcp" zu verwenden.

An OpenSSH arbeiten immer zwei Teams: Die eigentliche Entwicklung wird auf OpenBSD zugeschnitten, verfolgt daher dessen Prinzipien und produziert Code, der so einfach und sicher wie möglich ist. Das zweite Team fügt dann den Code hinzu, der nötig ist, um es an GNU/Linux, Windows, macOS und andere Systeme anzupassen. Diese Variante erkennt man immer am Zusatz p wie portable zur Versionsnummer. Der aktuelle Code von OpenSSH 9.0 kann von der Projektseite heruntergeladen werden. Das im Mai erscheinende OpenBSD 7.1 wird selbstverständlich die native Implementierung von OpenSSH 9.0 enthalten.

(fo)