https://www.golem.de/2002/146649-222290-222289_rc.jpg
OpenSSH kann nun auch mit Hardware-Tokens genutzt werden, um die Schlüssel weiter abzusichern.(Bild: Martin Wolf/Golem.de)

OpenSSH 8.2 unterstützt U2F-Hardware als zweiten Faktor

Das aktuelle OpenSSH 8.2 bringt erstmals Support für Fido U2F mit. Damit lässt sich für SSH künftig eine Zwei-Faktor-Authentifizierung über einen Hardware-Token einrichten. Die Entwickler bezeichnen SHA-1 außerdem als veraltet und wollen dies künftig entfernen.

by

Die Entwickler von OpenSSH haben die Version 8.2 ihrer Programmsammlung zur sicheren Daten- und Dateiübertragung veröffentlicht. Die wohl wichtigste Neuerung der neu verfügbaren Version ist die Unterstützung für die Zwei-Faktor-Authentifizierung per U2F der Fido-Alliance. U2F steht für Universal Second Factor, einem Industriestandard der Fido-Allianz, deren Anfänge bereits auf das Jahr 2009 zurückgehen.

Ziel der Allianz ist es, eine möglichst einfach nutzbare Form einer Zwei-Faktor-Authentifzierung anzubieten. Dabei genügt zum Anmelden nicht allein ein Passwort, sondern es kommt ein Hardware-Token als zweiter Faktor zum Einsatz, etwa in Form eines lokalen USB-Sticks. Um den Token für eine Transaktion zu aktivieren, muss der Anwender ihn teilweise sogar berühren, um seine physische Anwesenheit vor dem Rechner zu belegen.

Diese Form der Authentifzierung klappt nun auch mit OpenSSH. Das Programm generiert für die Tokens die speziellen Public-Key-Typen ecdsa-sk und ed25519-sk zusammen mit den ergänzenden Zertifikat-Typen. Erledigt wird dies durch das Hilfsprogramm zur Schlüsselerzeugung SSH-Keygen. Der Nutzer schiebt die Schlüssel dann auf den entsprechenden Token. Der folgende beispielhafte Befehl würde ein Schlüsselpaar generieren: ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk.

Für Angreifer soll der private Key dann ohne Zugriff auf den Hardware-Token völlig nutzlos sein, heißt es in der Ankündigung. Nach der Schlüsselerzeugung können diese wie gewohnt mit OpenSSH verwendet werden. Die einzige Einschränkung ist eben, dass für die Verwendung der Schlüssel auch der dazugehörige Hardware-Token am Rechner angeschlossen sein muss.

Die SSH-Entwickler weisen darauf hin, dass Fido-Tokens ECDSA-P256 unterstützen müssten, der Hardware-Support für Ed25519 jedoch weniger verbreitet sei. Auch unterstützt demnach nicht jede Hardware die sogenannten Resident Keys oder die SSH-Keygen-Option --no-touch-required, die es ermöglicht, die Berührungsaktivierung eines Token zu umgehen.

Resident Keys für Fido

Die erwähnten Resident Keys sind ein Teil von Fido2, das OpenSSH 8.2 ebenfalls unterstützt. Gewöhnlich generiert SSH für U2F einen privaten Key für den Rechner und einen für den Token, der auf diesem verbleibt, sich also nicht vom USB-Gerät exportieren lässt. Möchte jemand den Token mit einem anderen Rechner verwenden, muss er dafür den Private Key des Rechners A auf den Rechner B kopieren, was umständlich ist.

Resident Keys ermöglichen es aber, private Schlüssel für einen Token zu erzeugen, die sich auf einem anderen System direkt vom Token herunterladen lassen. Wie Nutzer diese Resident Keys generieren und später auf anderen Rechnern beziehen, erläutern die Entwickler ebenfalls in der Ankündigung zu OpenSSH 8.2.

SHA-1 ist veraltet

Unter Verweis auf die immer besser werdenden Angriffe auf die Hashfunktion SHA-1 bezeichnen die Entwickler diese nun auch in OpenSSH offiziell als veraltet. "In naher Zukunft wird der Public-Key-Signaturalgorithmus Schlüssel ssh-rsa standardmäßig deaktiviert", heißt es dazu in der Ankündigung. Zum Bedauern der Entwickler werde der Algorithmus jedoch immer noch breit eingesetzt. Als Alternative dazu gebe es bereits seit Längerem ECDSA, Ed25519 und auch RSA-SHA2, die alle bereits von OpenSSH unterstützt würden.