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

Re: FIDO-basierte SSH-Schluessel


On 2022-06-09, Marc Haber <mh+uugrn@xxxxxxxxxxxx> wrote:

> (1) mit Resident Keys
> Dabei ist der Key komplett auf dem Key gespeichert und der Key macht die
> Kryptographie wie bei einem normalen Crypto-Device, damit braucht man
> nur den Key und eventuelle Sicherheitsmaßnahmen wie eine PIN (wenn es
> das bei dem Key gibt) um die Authentifikation auslösen zu können.

Wenn man mit ssh-keygen einen Resident Key erzeugt, wird der private
SSH-Schlüssel (= FIDO-Keyhandle) zwar auf dem Authenticator
gespeichert, aber um ihn mit ssh benutzen zu können, muss man ihn
vom Authenticator runterladen, sei es als Datei (ssh-keygen -K),
sei es direkt in den ssh-agent (ssh-add -K).

Ich sehe keinen Sicherheitsgewinn gegenüber einem Nonresident Key,
der auf dem Rechner liegt.

Um Resident Keys anlegen zu können, muss meines Wissens mit
Herstellersoftware eine PIN am Authenticator konfiguriert werden.
Auch hier gilt: Wenn man den Rechner, an dem der Authenticator
steckt, als kompromittiert betrachtet, dann kann ja auch die Eingabe
der PIN an diesem Rechner abgefangen werden.

Schützen tut die PIN davor, dass bei einem verloren gegangenen
Authenticator der Finder einen Resident Key davon herunterladen
kann.

Resident Keys mögen sinnvoll sein in einem Firmenumfeld, wo man an
ständig wechselnden Rechnern arbeitet. Wer dagegen immer am selben
Desktop und Laptop sitzt, kann dort einfach ~/.ssh/id_ed25519_sk
hinterlegen.

> Wenn ich richtig verstanden habe, kann man mit FIDO2-SSH nur elliptische
> Kurven verwenden, und zwar ed25519-sk und ecdsa-sk, wobei ed25519 der
> Vorzug zu geben ist.

Der ursprüngliche, schlanke U2F-Industriestandard (heute "FIDO U2F",
"FIDO1") hat fest ECDSA mit der Kurve NIST P-256 verwendet. Das ist
dasselbe Verfahren wie ecdsa-sha2-nistp256 bei SSH, ist aber aufgrund
von Protokollunterschieden nicht direkt kompatibel.

Zu den zahlreichen Erweiterungen von FIDO2 gehört die optionale
Unterstützung weiterer Signaturverfahren, darunter auch Ed25519.

Ed25519 ist auch nur ECDSA, aber mit der Kurve 25519, die irgendwelche
wünschenswerten mathematischen Eigenschaften hat...
https://safecurves.cr.yp.to/
..., und einer hoffentlich weithin kopierten Beispielimplementierung,
die als Best Practice eine deterministisch erzeugte Nonce verwendet
und robust gegen Seitenkanalangriffe (Berechnungszeit, Energie-
verbrauch) ist.

> Entspricht das dem Stand von Technik und Forschung

Ja.

> oder möchte man aktuell ein anderes Verfahren verwenden?

Für die Zukunft gilt, dass ECDSA nicht quantensicher ist.
Warten wir mal ab, ob der aktuelle NIST-Wettbewerb ein alltags-
taugliches Postquanten-Signaturverfahren abwirft, und dann wird
irgendwann ein solches neues Signaturverfahren bei SSH (TLS, IKE,
usw. usf.) fällig - und auch neue FIDO-Authenticators.

> Hat man bei ed25519-sk Kryptografie mit FIDO2 die Qual der Wahl
> verschiedener Schlüssellängen,

Nein, Ed25519 hat keine wählbaren Parameter.

-- 
Christian "naddy" Weisgerber                          naddy@xxxxxxxxxxxx

-- 
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-SchluesselMarc Haber <mh+uugrn@xxxxxxxxxxxx>
Re: FIDO-basierte SSH-SchluesselMarc Haber <mh+uugrn@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>
Re: FIDO-basierte SSH-SchluesselRalph Mayer <rmayer@xxxxxxxxxxxxxxxx>
Re: FIDO-basierte SSH-SchluesselMarc Haber <mh+uugrn@xxxxxxxxxxxx>