[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FIDO-basierte SSH-Schluessel


On Wed, Jun 08, 2022 at 08:01:53PM -0000, Christian Weisgerber wrote:
> On 2022-06-08, Marc Haber <mh+uugrn@xxxxxxxxxxxx> 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.

Weißt Du wie die Softwareunterstützung für Yubikeys unter Debian aktuell
aussieht? Die meisten Yubi-Tools sind iirc wegen python 2 aus Debian
rausgeflogen.

> 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.

Das "Gerät" ist z.B. der FIDO2-USB-Schlüssel, also das Stück Hardware
das man am Hosenbund hat? Die "Gegenseite" ist bei Webauthn der
Webserver auf dem die Applikation läuft? Wie lang ist so ein Keyhandle
üblicherweise, sieht man ihn als Bestandteil des Keys? Ist ein
Bruteforceangriff auf das Keyhandle ein realistischer Angriff? Wie
sperrt man einen Key bei Verlust?

> 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.

"gerätespezifisch" heißt hier, spezifisch für das Stück Hardware am
Hosenbund? Kann man diese gerätespezifischen Schlüssel neu generieren
lassen wenn irgendwas passiert ist? Gibt es eine über das "den Key
anfassen" hinausgehende Sicherung, z.B. eine PIN?

Dieses "den Key anfassen" ist nach meiner Erfahrung ausgesprochen
lästig. Meine Yubikeys generieren einen OTP-Key wenn man sie zu lange
anfasst (nicht abschaltbar) und  sie fühlen sich schon angefasst wenn
man sie ein einem Schlüsselbund hat und einer der anderen Schlüsse
Kontakt zum nackten Oberschenkel hat. Wie oft ich schon ein
ccccccjdujcgrntedufutkehhehdltutbbjgjdrunnuj in irgendwelche Chats
geschrieben habe geht auf keine Kuhhaut.

> 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.

Warum ist das uninteressant? Das ist doch viel näher an dem was wir
gewöhnt sind?

Grüße
Ma "sorry wegen der hohen Überdeckung zur Antwort an Ralph" rc

-- 
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421

-- 
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

Follow-Ups:
Re: FIDO-basierte SSH-SchluesselChristian Weisgerber <naddy@xxxxxxxxxxxx>
References:
Re: Reboot shell.uugrn.org am 08. MaiChristian Weisgerber <naddy@xxxxxxxxxxxx>
FIDO-basierte SSH-Schluessel (was: Reboot shell.uugrn.org am 08. Mai)Marc Haber <mh+uugrn@xxxxxxxxxxxx>
Re: FIDO-basierte SSH-Schluessel (was: Reboot shell.uugrn.org am 08. Mai)Christian Weisgerber <naddy@xxxxxxxxxxxx>
Re: FIDO-basierte SSH-Schluessel (was: Reboot shell.uugrn.org am 08. Mai)Marc Haber <mh+uugrn@xxxxxxxxxxxx>
Re: FIDO-basierte SSH-SchluesselChristian Weisgerber <naddy@xxxxxxxxxxxx>