Re: FIDO-basierte SSH-Schluessel
- From
- Christian Weisgerber <naddy@...>
- Date
On 2022-06-08, Marc Haber <mh+uugrn@...> wrote:
>> Wenn du die FIDO-Unterstützung von deinem YubiKey nicht verkonfiguriert
>> hast, dann erzeugst du einfach einen Schlüssel
>>
>> $ ssh-keygen -t ecdsa-sk # auch ed25519-sk ab Firmware 5.2.3
>
> Gefährdet das meinen PIV-Key auf demselben Yubi-Key oder ist das ein
> anderer Key-Slot?
Das ist harmlos.
Erstens existieren laut Yubico zumindest für die 5er-Modelle getrennte
Slots:
| The YubiKey 5 Series provides applications for a wide variety of
| authentication options: FIDO2, OATH, OpenPGP, OTP, Smart Card,
| U2F. The applications are all separate from each other, with
| separate storage for keys and credentials.
https://docs.yubico.com/hardware/yubikey/yk-5/tech-manual/yk5-apps.html
Zweitens wird bei obiger Schlüsselerzeugung überhaupt kein Slot
belegt. Tatsächlich ist es üblich, dass FIDO-Geräte eine unbegrenzte(!)
Anzahl Schlüssel unterstützen.
Ich erklär's, aber man braucht das nicht zu wissen, um FIDO-basierte
SSH-Schlüssel sinnvoll anzuwenden.
Bei der Schlüsselerzeugung fallen nach FIDO-Abstraktion drei Teile
an:
1. Der private Schlüssel, der das Gerät nie verlässt.
2. Der öffentliche Schlüssel, den die Gegenseite bekommt.
3. Der Keyhandle, dessen Format frei ist, der aber dem Gerät
für jede Authentisierung übermittelt werden muss, damit es den
passenden privaten Schlüssel zuordnen kann.
Bei Webauthn bekommt die Gegenseite den Keyhandle, bei SSH wird
er im privaten SSH-Schlüssel gespeichert.
Eine gängige Implementierung ist nun, dass der zufällig erzeugte
private FIDO-Schlüssel mit einem gerätespezifischen Schlüssel
symmetrisch verschlüsselt ("wrapped") wird und dieses Chiffrat als
Keyhandle ausgegeben wird.
Yubico hat ein etwas anderes, aber gleichwertiges Verfahren:
https://www.yubico.com/blog/yubicos-u2f-key-wrapping/
Das FIDO-Gerät speichert also in Wirklichkeit gar nichts, sondern
bekommt mit dem Keyhandle jedes Mal alles Notwendige, um den privaten
Schlüssel herzuleiten.
FIDO2 hat zusätzlich Resident Keys eingeführt, wo der Keyhandle auf
dem Gerät gespeichert wird, worauf sich die Slotzahl bezieht. Kann
man mit OpenSSH auch erzeugen und benutzen, ist aber nicht von
allgemeinem Interesse.
--
Christian "naddy" Weisgerber naddy@...
--
Unix User Group Rhein-Neckar e.V. https://www.uugrn.org
Archiv und An-/Abmeldeinformationen https://mail2.uugrn.org
Veranstaltungen https://fixme.uugrn.org https://stammtisch.uugrn.org
Thread
In reply to: Re: FIDO-basierte SSH-Schluessel (was: Reboot shell.uugrn.org am 08. Mai) Marc Haber <mh+uugrn@...>
Follow-ups:
- Re: FIDO-basierte SSH-Schluessel Ralph Mayer <rmayer@...>
- Re: FIDO-basierte SSH-Schluessel Marc Haber <mh+uugrn@...>
- Re: FIDO-basierte SSH-Schluessel Christian Weisgerber <naddy@...>