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

Re: FIDO-basierte SSH-Schluessel


Und hier sind nun die Ergebnisse von ein bisschen mit einem blauen Key
spielen, vermutlich nur interessant für "dritte", Du kennst das ja alles
schon ;-)

On Thu, Jun 09, 2022 at 06:46:37PM -0000, Christian Weisgerber wrote:
> On 2022-06-09, Marc Haber <mh+uugrn@xxxxxxxxxxxx> wrote:
> > 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.
> 
> Keine Ahnung. Für die FIDO-Basisfunktionalität braucht man keine
> zusätzlichen Werkzeuge. Die Yubi-Tools habe ich noch nie angefasst.

Der ykman bzw. ykman-gui erlauben u.A. die Fähigkeiten des eingesteckten
Keys anzuzeigen (meine alten yubikey4 können kein FIDO), die PIN zu
setzen und die Applikation zu resetten. Der Reset der Applikation
scheint auch der einzige Weg zu sein, einen yubikey mit verlorener oder
durch achtmalige Falscheingabe gesperrter PIN wiederzubeleben;
non-resident Keys funktionieren danach nicht mehr. Das System geht dabei
durch alle Übungen (Passphrase-Abfrage, PIN-Abfrage, Schlüssel anfassen)
und sagt dann "Agent Refused Operation" bzw "invalid format". Der Reset
selbst erfordert die PIN nicht, man muss den Schlüssel einmal ziehen und
wieder stecken und dann nochmal anfassen.

> Damit man bei Verlust des Authenticators nicht ausgesperrt ist,
> sollte man sinnvollerweise einen Reserve-Authenticator haben, mit
> dem man einen Reserve-SSH-Schlüssel erzeugt und auch dessen .pub
> in allen .ssh/authorized_keys verteilt.

... oder eine der zahlreichen anderen Methoden für die
ssh-Authentifikation verwenden, der FIDO-ssh-key ist ja nur ein
_zusätzlicher_ Key.

> > Kann man diese gerätespezifischen Schlüssel neu generieren
> > lassen wenn irgendwas passiert ist?
> 
> Das ist nicht spezifiziert. Ich glaube bei YubiKeys kann man alles
> Schlüsselmaterial zurücksetzen. Ob damit auch alte FIDO-Schlüssel
> ungültig werden, weiß ich nicht.

Wenn damit die "Reset" Operation gemeint, ist werden zumindest an diesen
Authenticator gebundenene non-resident keys ungültig und resident Keys
gelöscht (ssh-keygen -K => "no keys to download").

> 
> > Gibt es eine über das "den Key anfassen" hinausgehende Sicherung,
> > z.B. eine PIN?
> 
> FIDO2 hat ein Flag "User Verification" eingeführt. Damit muss sich
> der Benutzer gegenüber dem Authenticator ausweisen, z.B. über
> biometrische Merkmale. Als Notbehelf gibt es da auch die Möglichkeit
> eine PIN zu setzen, die am Rechner eingegeben und an den Authenticator
> übermittelt wird. ssh-keygen(1) kann mit einer Option Schlüssel
> erzeugen, die "User Verification" anfordern, und ssh(1) kann die
> PIN vermitteln.

Das funktioniert sowohl mit im Agent eigeladenen Schlüssel als auch bei
spontanem ssh-Aufruf, man muss also für maximalen Diskomfort für einen
Login (a) den Passphrase für den key (b) die PIN für den Authenticator
eingeben und (c) den Authenticator anfassen.

> > Dieses "den Key anfassen" ist nach meiner Erfahrung ausgesprochen
> > lästig.
> 
> Diese so genannte "User Presence"-Prüfung verhindert, dass man dem
> Authenticator im Hintergrund Authentisierungsanfragen schickt, die
> dieser auch beglaubigt, ohne dass der Benutzer etwas davon mitbekommt.

Ja, freilich. Irgend einen Tod muss man sterben. Schöner wäre es
freilich, wenn ich sagen könnte "einmal anfassen hält 15 Sekunden". Wenn
ich ein mssh auf 20 Hosts aufmache oder einen ansible-run mit 50,
bekomme ich ja auch nicht angezeigt, für welche Beglaubiung ich das Ding
gerade anfasse. Mit hinreichend gutem Timing bekommt der Angreifer
selbstverständlich meine Beglaubigung.

> Ich gehe von jemandem aus, der bisher eben keinen Smartcard/usw.-
> gestützten Schlüssel hatte, sondern einfach einen privaten SSH-Schlüssel
> unter seinem Homedirectory liegen hat. Da ändert sich dann nichts,
> außer dass der private Schlüssel nur noch im Zusammenspiel mit dem
> FIDO-Authenticator funktioniert.

... und dass er sich durch Präsenzprüfung und PIN-Zwang noch ein wenig
mehr Diskomfort einbauen kann.

Grüße
Marc

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

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>
Re: FIDO-basierte SSH-SchluesselMarc Haber <mh+uugrn@xxxxxxxxxxxx>
Re: FIDO-basierte SSH-SchluesselChristian Weisgerber <naddy@xxxxxxxxxxxx>