Yubikey: Unterschied zwischen den Versionen

Aus Cowwwiki
Zur Navigation springen Zur Suche springen
Benjaminfras (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „Auf dieser Seite möchte ich einige Anwendungsbeispiele für den Yubikey Neo festhalten. =Yubikey als sicherer Client SSL Zertifikatsspeicher= Meine Bank hat…“
 
Benjaminfras (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 12: Zeile 12:
**yubico-c
**yubico-c
**yubico-c-client
**yubico-c-client
**yubikey-personalization
**yubikey-personalization*
**yubikey-personalization-gui
**yubikey-personalization-gui*
**yubikey-piv-manager
**yubikey-piv-manager
**opensc-tool
**opensc-tool*
**pcsclite
**pcsclite
**ccid
**ccid
<span style="color:red">Hinweis:</span> Technisch gesehen sind nicht alle o. g. Pakete erforderlich, erleichtern aber ungemein die Arbeit.
==Zertifikat hinzufügen==
Sind alle Pakete installiert schließen wir den Yubikey an den PC an und starten den Yubikey Manager. Hier prüfen wir, ob unter CCID ein Häkchen gesetzt ist. Falls nicht, dies bitte tun und speichern. Man wird dann aufgefordert den Yubikey abzuziehen und wieder anzustecken.
Nun prüfen, ob die Smartcard auf dem System sichtbar ist. Zuerst müssen wir `pcscd` starten
<syntaxhighlight lang="bash">
sudo systemctl restart pcscd
sudo systemctl enable pcscd.service
</syntaxhighlight>
Letzte Zeile aktiviert den `pcscd` beim Systemstart.
Nun sollte die Smartcard auf dem System sichtbar sein. Das können wir mit `opensc-tool` bzw. `yubico-piv-tool` verifizieren:
<syntaxhighlight lang="bash">
opensc-tool -list-readers
# oder
yubico-piv-tool -a list-readers
</syntaxhighlight>
Wird die Smartcard angezeigt, z. B. `Yubico Yubikey NEO OTP+U2F+CCID 00 00`, dann können wir den PKCS12 Keystore importieren:
<syntaxhighlight lang="bash">
yubico-piv-tool -s 9a -i ACNLB.p12 -K PKCS12 -a import-key -a import-cert
</syntaxhighlight>
Ob der Import erfolgreich war, lässt sich mit folgendem Befehl verifizieren:
<syntaxhighlight lang="bash">
yubico-piv-tool -a status
</syntaxhighlight>
<span style="color:red">Hinweis:</span> Nicht vergessen, den Default-PIN von 123456 zu ändern! Das kann man entweder über das grafische Tool `YubiKey PIV Manager` oder auf der Console mit folgendem Befehl machen:
<syntaxhighlight lang="bash">
yubico-piv-tool -a change-pin
</syntaxhighlight>
==Zertifikat aus Yubikey benutzen==
Ich verwende den Chromium Browser auf einem Manjaro Linux System. Während im Firefox der YubiKey unter den `erweiterten Einstellen` direkt eingebunden werden kann, erfolgt das für Chrome vorab auf der Console. Dazu bitte zuerst den Browser schließen und folgenden Befehl ausführen:
<syntaxhighlight lang="bash">
modutil -dbdir sql:.pki/nssdb/ -add "CAC Module" -libfile /usr/lib/opensc-pkcs11.so
</syntaxhighlight>
Anschließend den Browser wieder starten. Beim Zugriff auf eine HTTPS Seite, die ein Client Zertifikat erfordert, sollte der YubiKey automatisch angesprochen werden und die Aufforderung zur PIN-Eingabe angezeigt werden. Nach erfolgreicher Verifizierung der PIN werden die Zertifikate ausgelesen.
<span style="color:red">Hinweis:</span> Der YubiKey muss angsteckt sein, bevor der Browser gestartet wird. Andernfalls kann es sein, dass der Browser nicht erkennt, dass eine Smartcard an den Rechner angeschlossen ist.
=Yubikey als sicherer PGP Schlüsselspeicher=
folgt

Aktuelle Version vom 25. Oktober 2017, 19:57 Uhr

Auf dieser Seite möchte ich einige Anwendungsbeispiele für den Yubikey Neo festhalten.

Yubikey als sicherer Client SSL Zertifikatsspeicher

Meine Bank hat mir für den sicheren Onlinebanking Zugang ein Client SSL Zertifikat ausgestellt. Anders als in Deutschland üblich, loggt man sich nicht mit den Zugangsdaten ein und bestätigt die Transaktion dann mit einer TAN (SMS, PUSH, PhotoTAN, usw.), sondern für den Login selbst wird ein zweiter Faktor (Client SSL Zertifikat) vorausgesetzt. Für die Ausführung der Transkation wird dann nur noch ein Passwort benötigt. Als Speicherort für das Zertifikat ist der Yubikey hervorragend geeignet, da er im sog. CCID Modus wie eine Smartcard arbeitet. Eine Smartcard hat die Eigenschaft, dass Schlüssel sicher aufbewahrt und benutzt werden können, aber nicht extrahiert werden können.

Voraussetzungen

  • CCID Modus muss auf Yubikey aktiviert sein
  • Client SSL Zertifikat und Schlüssel im PKCS12 Format
  • Notwendige Softwarepakete sind installiert
    • yubico-c
    • yubico-c-client
    • yubikey-personalization*
    • yubikey-personalization-gui*
    • yubikey-piv-manager
    • opensc-tool*
    • pcsclite
    • ccid

Hinweis: Technisch gesehen sind nicht alle o. g. Pakete erforderlich, erleichtern aber ungemein die Arbeit.

Zertifikat hinzufügen

Sind alle Pakete installiert schließen wir den Yubikey an den PC an und starten den Yubikey Manager. Hier prüfen wir, ob unter CCID ein Häkchen gesetzt ist. Falls nicht, dies bitte tun und speichern. Man wird dann aufgefordert den Yubikey abzuziehen und wieder anzustecken.

Nun prüfen, ob die Smartcard auf dem System sichtbar ist. Zuerst müssen wir `pcscd` starten

sudo systemctl restart pcscd
sudo systemctl enable pcscd.service

Letzte Zeile aktiviert den `pcscd` beim Systemstart.

Nun sollte die Smartcard auf dem System sichtbar sein. Das können wir mit `opensc-tool` bzw. `yubico-piv-tool` verifizieren:

opensc-tool -list-readers

# oder
yubico-piv-tool -a list-readers

Wird die Smartcard angezeigt, z. B. `Yubico Yubikey NEO OTP+U2F+CCID 00 00`, dann können wir den PKCS12 Keystore importieren:

yubico-piv-tool -s 9a -i ACNLB.p12 -K PKCS12 -a import-key -a import-cert

Ob der Import erfolgreich war, lässt sich mit folgendem Befehl verifizieren:

yubico-piv-tool -a status

Hinweis: Nicht vergessen, den Default-PIN von 123456 zu ändern! Das kann man entweder über das grafische Tool `YubiKey PIV Manager` oder auf der Console mit folgendem Befehl machen:

yubico-piv-tool -a change-pin

Zertifikat aus Yubikey benutzen

Ich verwende den Chromium Browser auf einem Manjaro Linux System. Während im Firefox der YubiKey unter den `erweiterten Einstellen` direkt eingebunden werden kann, erfolgt das für Chrome vorab auf der Console. Dazu bitte zuerst den Browser schließen und folgenden Befehl ausführen:

modutil -dbdir sql:.pki/nssdb/ -add "CAC Module" -libfile /usr/lib/opensc-pkcs11.so

Anschließend den Browser wieder starten. Beim Zugriff auf eine HTTPS Seite, die ein Client Zertifikat erfordert, sollte der YubiKey automatisch angesprochen werden und die Aufforderung zur PIN-Eingabe angezeigt werden. Nach erfolgreicher Verifizierung der PIN werden die Zertifikate ausgelesen.

Hinweis: Der YubiKey muss angsteckt sein, bevor der Browser gestartet wird. Andernfalls kann es sein, dass der Browser nicht erkennt, dass eine Smartcard an den Rechner angeschlossen ist.

Yubikey als sicherer PGP Schlüsselspeicher

folgt