Unboxing YubiKey 4 – Zwei-Faktor-Authentisierung

Auf Empfehlung meines Freundes Michael aus München habe ich mir den YubiKey 4 gekauft und beschreibe nun meine Unboxing Erfahrungen. Interessiert habe ich mich für den YubiKey 4 Nano der so klein ist, dass er in den USB-Anschluss verschwindet. Leider ist dieser nicht lieferbar. Amazon gibt nur folgenden Verfügbarkeitsstatus an „Derzeit nicht verfügbar. Ob und wann dieser Artikel wieder vorrätig sein wird, ist unbekannt“. Daher habe ich mich für den größeren Bruder den YubiKey 4 entschieden.

Die Lieferung

Nach der Bestellung über Amazon und prompten Lieferung am nächsten Tag habe ich den USB-Token gleich in den USB-Slot meines Win10 Notebooks geschoben. Leider gibt es keinen Hinweis über das Oben und Unten bei dem Stick, da das sehr flache Gerät in beiden Richtungen in den USB-Anschluss gesteckt werden kann. Ich habe mich aber am Y-Symbol des Tokens orientiert und bin prompt vom Windows Gerätemanager von meiner Annahme bestätigt worden.

Der Hardware-Token selbst ist nur rd. 3mm dick und wirkt durch das geringe Gewicht zerbrechlich. Da du bei Gebrauch regelmäßig von oben auf die Y-Taste drücken musst, um die Anmeldefunktion auszuführen, wird der Druck über den Hebel des Tokens direkt an den USB-Stecker des PCs oder Notebooks weitergegeben. Ein unachtsamer Moment und man kann seinen PC bzw. seinen USB-Stecker beschädigen. Bei der Ausführung YubiKey 4 Nano die nahezu flach mit dem USB-Anschluss abschließt kann das nicht passieren.

Automatische Erkennung des Tokens unter Windows

neue Geräte

Microsoft Gerätemanager Eingabegeräte (Human Interface Devices): HID-konformes Gerät, USB-Eingabegerät (2x) Smartcard-Leser: Microsoft Usbccid-Smartcard-Leser (WUDF) Smartcards: Identifizierungsgerät (NIST SP 800-73 [PIV]) USB-Controller: USB-Verbundgerät
Ansicht Gerätemanager nach dem Anstecken des YubiKey 4

Eigenschaften

Eigenschaften von Identifizierungsgerät (NIST SP 800-73 [PIV]) Allgemein Identifizierungsgerät (NIST SP 800-73 [PIV]) Gerätetyp: Smartcards Hersteller: Microsoft Speicherort: ScFilter Gerätestatus: Das Gerät funktioniert einwandfrei Einstellungen ändern OK | Abbrechen
Treibereigenschaften YubiKey 4 – PIV Smartcard

nativer Treiber

Eigenschaften von Identifizierungsgerät (NIST SP 800-73 [PIV]) Identifizierungsgerät (NIST SP 800-73 [PIV]) Treiberanbieter: Microsoft Treiberdatum: 21.06.2006 Treiberversion: 10.0.10586.0 Signaturgeber: Microsoft Windows Treiberdetails: Einzelheiten über Treiberdateien anzeigen OK | Abbrechen
nativer Microsoft Treiber für YubiKey 4 PIV Smartcard

Installation

Eigenschaften von Identifizierungsgerät (NIST SP 800-73 [PIV]) Ereignisse Identifizierungsgerät (NIST SP 800-73 [PIV]) Ereignisse Zeitstempel | Beschreibung 17.09.2016 19:58:00 | Geräteinstallation angefordert 17.09.2016 19:58:00 | Gerät konfiguriert (msclmd.inf) 17.09.2016 19:58:01 | Gerät gestartet (UmPass) 17.09.2016 19:58:01 | Gerät installiert (msclmd.inf) Der Prozess zum Installieren von Treiber msclmd.inf_amd64_52dd30354cce6272\msclmd.inf für Geräteinstanz-ID SCFILTER\CID_597562696B657934\8&30A17228&0&YUBICO_YUBIKEY_4_OTP+U2F+CCID_0_SCFILTER_CID_597562696B657934 wurde mit folgendem Status beendet: 0x0. Alle Ereignisse anzeigen... OK | Abbrechen
Vollautomatische Installation des YubiKey 4 PIV Smartcard-Treibers

Das Gerät meldet sich nicht als USB-Speichergerät an. Ich hoffte, dass ich ähnlich wie bei UMTS-Sticks die Software für den Token per Autostart o.ä. vom Token laden kann. Da das nicht der Fall war, ging ich auf die Suche nach einer Funktionsbeschreibung. Die mitgelieferte Beschreibung ist leider nur 4,3cm x 5cm groß und besteht im Wesentlichen nur aus einem Link: mtrix.de/yubikey4

Dem Link folgend, findet sich auf der Webseite des deutschen Lieferanten leicht verständliche Informationen, Anleitungen und weitere Links zum YubiKey. Ich selbst empfehle den Link „Erste-Schritte-Seite“.

Meine ersten Erkenntnisse

Da ich im ersten Moment etwas ratlos war, wo ich bei der Nutzung des YubiKey starten soll habe ich mir das frei verfügbare Tool YubiKey Personalization Tool von der Herstellerseite geladen und installiert. Leider sind die Informationen auf der schwedisch/amerikanischen Herstellerseite nur in Krypto-Experten-Englisch verfügbar. Für mich Okay, für Privatnutzer jedoch nur sehr schwer verständlich.

Das vorkonfigurierte Profil am YubiKey4 hat die Apps verfügbar:

  • YubiKey OTP
  • YubiOATH
  • Yubico U2F
  • OpenPGP
  • Yubico PIV

YubiKey NEO Manager 1.4.0 Devices YubiKey 4 Available apps YubiKey OTP YubiKeyOATH Yubico U2F OpenPGP Yubico PIV Settings Name: YubiKey 4 Serial: Firmware version: 4.3.1 U2F/FIDO: supported Change connection mode [OTP+U2F+CCID]
YubiKey NEO Manager, Aktivierung der Apps: OTP, U2F. CCID / USB-Smartcard
Der Token meldet sich lauf der kostenfreien Download-Software YubiKey NEO Manager, sobald er eingesteckt wird, mit folgenden verfügbaren Anwendungen am System an: OTP (YubiKey OTP), U2F (Yubico U2F) und CCID (CCID-Smartcard Reader mit Yubico PIV USB-Smartcard). Aber was bedeuten die ganzen Apps/Anwendungen und kann man die auch alle selbst nutzen?

YubiKey OTP und YubiOATH

Da die One-Time-Passwort Funktion immer eine unterstützte Anwendung benötigen, kann man diese Funktion nur selten nutzen. Es wird vom Hersteller eine (kurze) Liste von Passwort-Management-Lösungen gelistet die den YubiKey Token als OTP Gerät unterstützen. Eine Full-Disk-Encryption Lösung eines deutschen Herstellers wird ebenfalls gelistet, ich gehe davon aus, dass die Disk-Encryption-Lösung in der Pre-Boot-Phase ebenfalls die OTP-Funktion des YubiKeys unterstützt und so eine einfache online und offline Benutzeridentifizierung ermöglicht. Zu hoffen ist, dass mit der Zeit mehr und mehr Anwendungen die heute Passwort oder X.509 Zertifikate unterstützen auch den YubiKey OTP unterstützen.

Universal Second Factor – U2F

Die Funktion U2F (Universal Second Factor) geht aus einer Google Initiative heraus, wo gemeinsam mit Yubico und NXP die FIDO-Allianz gegründet wurde. Durch die Allianz gibt es seit Ende 2014 einen ersten Standard, der Zwei-Faktur-Authentisierung speziell für Web-Anwendungen ermöglichen soll. Da jedoch nur der Google Chrome Browser U2F direkt unterstützt und bei anderen Browsern Plug-Ins oder Software nachinstalliert werden muss, bezweifle ich, dass U2F sich in absehbarer Zeit eine nennenswerte Verbreitung erzielen wird. Funktionieren kann so eine Initiative meines Erachtens nur, wenn die Benutzer U2F-Devices sehr einfach und kostengünstig beziehen können, oder die namhaften USB-Speicher Hersteller die U2F-Funktion auf Ihre Memory-Sticks bündeln. Wenn man einen günstigen Token für U2F-Authentisierung benötigt bietet der Hersteller eine kostengünstige Variante des YubiKeys um € 20,00 (auch über Amazon) an, da normale Benutzer eher nicht € 47,60 investieren möchten, um sich bei Dropbox statt mit Passwort per Hardware-Token anzumelden. Zu Beachten ist, dass trotz starker Authentisierung die abgelegten Daten weiterhin unverschlüsselt bleiben.

Statisches Passwort

Versteckt ist eine weitere Funktion, die nicht als App angezeigt wird, aber über das YubiKey Personalization Tool verfügbar ist, nämlich „Statisches Passwort“ („Static Password“). Per Static Password kann man einen der beiden Slots mit einem statischen Passwort belegen. Ich habe einfach mein Festplatten-Verschlüsselungspasswort konfiguriert und kann nun über die Slot 2 Funktion des Tokens mich mit dem Hardware-Token an meiner Festplattenverschlüsselung anmelden.

Das Ablegen eines statischen Passwortes auf dem USB-Token ist sicherheitstechnisch jedoch schlechter als die manuelle Eingabe die Passwörter. Zum einen ist man verleitet dasselbe Passwort für mehrere Anwendungen zu nutzen, da der YubiKey nur zwei Slots unterstützt und somit maximal zwei statische Passworte. Zum anderen wird das Passwort per virtueller Tastatur (HID-Device) quasi eingegeben und kann daher von jedem Keylogger gelesen werden. Und drittens kann jeder der meinen YubiKey nur kurz in Händen hält den Token anstecken und das Passwort im Notepad oder jedem anderen Texteditor einlesen. Ohne YubiKey ist das Ergaunern meines statischen Passwortes, dass nur in meinem Kopf gespeichert ist, nicht so einfach.

Etwas besser wird die Sicherheit, wenn man ein statisches Passwort vom Token mit einem eigenen Passwort ergänzt. Also den ersten Teil z.B. einen vierstelligen Code eingeben und erst dann das statische Passwort vom YubiKey anfordern. Der YubiKey sendet dann auch die Eingabetaste mit dem statischen Passwort und die Anmeldung in der Anwendung erfolgt wie gewohnt.

Ich empfehle aufgrund der KeyLogger-Schwäche die Funktion nur sehr bedingt und habe mein Festplattenverschlüsselungs-Passwort wieder vom YubiKey gelöscht!

PIV konforme Smartcard

Der YubiKey 4 bietet über die PIV App eine PIV USB-Smartcard, die unter Windows über einen virtuellen CCID Smartcard-Leser direkt angesprochen werden kann. Hierfür wird über die Windows CryptoAPI der Microsoft eigene Base Smart Card Crypto Service Provider genutzt, um die YubiKey USB-Smartcard anzusprechen. Nach der Initialisierung der USB-Smartcard über das kostenlose Download-Tool YubiKey PIV Manager können mit dem PIV Manager X.509 Zertifikate unterschiedlicher Aufgaben (Authentisierung, digitale Signatur, Schlüssel-Management / Verschlüsselung, sowie eine Sonderfunktion) direkt erstellt oder bestehende Zertifikate importiert werden. Hier ein Screenshot des Tools.

Authentication | Digital Signaturer | Key Managememt | Card Authentication The X.509 Certificate for PIV Authentication and its associated private key, as defined in FIPS 201, is used to authenticate the card and the cardholder. No certificate loaded. Import from file... | Generate new key...
YubiKey PIV Manager zur Initialisierung, Zertifikatsimport und Generierung von X.509 Zertifikaten

Besonderes Lob an die Entwickler für die Funktion „Generate new key…“ mit der in wenigen Sekunden ein selbstgenerierter Schlüssel auf der USB-Smartcard erstellt werden kann. Hierfür ist sonst immer eine Zusatzsoftware oder ein komplexer Open-Source Aufbau notwendig.

Ein einfacher Test der Funktion der USB-Smartcard kann in der Windows cmd.exe Eingabeaufforderung der Befehlt certutil -SCinfo ausgeführt werden. Nach (mehrfacher) Eingabe der USB-Smartcard PIN werden umfangreiche Informationen zu der Smartcard, den APIs und den Zertifikaten ausgegeben.

C:\Users\aschuster>certutil -SCinfo Die Microsoft Smartcard-Ressourcenverwaltung wird ausgeführt. Aktueller Leser-/Kartenstatus: Leser: 1 0: Yubico Yubikey 4 OTP+U2F+CCID 0 --- Leser: Yubico Yubikey 4 OTP+U2F+CCID 0 --- Status: SCARD_STATE_PRESENT | SCARD_STATE_INUSE --- Status: Die Smartcard wird von einem anderen Prozess verwendet. --- Karte: Identity Device (NIST SP 800-73 [PIV]) --- ATR: 3b f8 13 00 00 81 31 fe 15 59 75 62 69 6b 65 79 ;.....1..Yubikey 34 d4 4. ======================================================= Karte im Leser wird analysiert: Yubico Yubikey 4 OTP+U2F+CCID 0 --------------===========================-------------- ================ Zertifikat 0 ================ --- Leser: Yubico Yubikey 4 OTP+U2F+CCID 0 --- Karte: Identity Device (NIST SP 800-73 [PIV]) Anbieter = Microsoft Base Smart Card Crypto Provider Schlüsselcontainer = 7423d22f-68cc-eeec-6ac0-0105275fc10b Kein Schlüssel "AT_SIGNATURE" für Leser: Yubico Yubikey 4 OTP+U2F+CCID 0 Seriennummer: 01 Aussteller: CN=aschuster Nicht vor: 17.09.2016 21:11 Nicht nach: 17.09.2017 21:11 Antragsteller: CN=aschuster
USB-Smartcard Test mit dem Microsoft CertUtil.exe
Als kleinen Hinweis für alle Smartcard Spezialisten möchte ich mitgeben, dass die USB-Smartcard die angepriesenen RSA 4096 und ECC p384 Operationen nicht unterstützt, sondern bei RSA 2048 und ECC p256 limitiert ist.

Die USB-Smartcard kann mit OpenSC einer Open-Source Middleware mit einer PKCS#11 Software-Schnittstelle betrieben werden. Laut meiner Recherche funktioniert TrueCrypt / VeraCrypt aber nicht mit dem Token, da TrueCrypt/Veracrypt eine Dateioperation für das Keyfile nutzen möchte, die bei der X.509 Zertifikatsunterstützung der YubiKey PIV-Smartcard nicht unterstützt wird. Mit TrueCrypt/VeraCrypt kann der Token daher maximal über die statische Passwortfunktion genutzt werden. Schade!

OpenPGP

Mit einer installierten GnuPG Software lässt sich der USB-Token als OpenPGP Smartcard nutzen. OpenPGP scheint aber unter Windows nicht populär zu sein. Sobald ich herausgefunden habe wann man OpenPGP Schlüssel benutzt und welche Software das unterstützt werde ich das in einem separaten Blog Beitrag beschreiben. Unter folgendem Link finden sich eine Vielzahl an Befehlsbeispielen für die gpg2 / OpenPGP Nutzung: Hersteller Knowledge-Base

Slot 1 und Slot 2 Funktion nutzen

Die Nutzung der beiden Slots ist denkbar einfach. Kurzes drücken der Y-Taste am Token aktiviert die Funktion des Slots 1 die mit YubiKey OTP vorkonfiguriert ist. Hält man hingehen die Y-Taste am Token für ca. 3 Sekunden gedrückt, wird die Funktion des Slots 2 aktiviert. In meiner aktuellen Konfiguration habe ich ein statisches Passwort auf Slot 2 gelegt.

Die Funktion U2A und PIV-Smartcard scheint keinen der zwei Slots zu benötigen, sondern läuft parallel.

Wie funktioniert der YubiKey 4 technisch?

Ich habe den USB-Token technisch nicht komplett analysiert, aber einige Überlegungen zur technischen Implementierung habe ich nach Sichtung der frei verfügbaren Unterlagen angestellt. Über einen integrierten USB-Hub am USB-Token melden sich mehrere USB-Geräte am PC an. Eines der Geräte ist der Smartcard-Reader, ein anderes ist eine USB-Tastatur über die die OTP-Token und auch das statische Passwort als Tastatureingabe zurück an die (Web-)Anwendungen gesendet werden. Ich gehe davon aus, dass das eine andere USB-Eingabegerät die U2F-Schnittstelle darstellt und das weitere USB-Eingabegerät eine interne Funktion hat oder für die Steuerung des OTP-Challenge/Response Features benötigt wird.

Ein moderner Mikrocontroller im USB-Token virtualisiert die Funktionen in Apps und meldet ein flexibles Krypto-Gerät am System an. Aus Sicherheitsgründen kann der YubiKey leider nicht geflashed werden. Finde ich schade, da der Hersteller so die Chance vergibt, dass mögliche Security-Exploits am Token gefixt werden können, oder neue Apps den Weg auf die Hardware finden.

Fazit: Große Innovation zu einem vernünftigen Preis!

Endlich ein Anbieter der zum einen auch Privatnutzern und Kleinunternehmen den Zugang zu Zwei-Faktoren-Authentisierung und Crypto-Token ermöglicht und zum anderen sich wirklich darum bemüht, eine funktionierende Web-Authentisierung mit einem zweiten Faktor zu ermöglichen.

Sollte man in der glücklichen Lage sein eine Software zu nutzen, die den YubiKey nativ unterstützt, dann ist der USB-Token uneingeschränkt empfehlenswert. Drittlösungen bekommt Otto Normalverbraucher aber eher nicht selbst zum Laufen, da dann Open-Source Add-Ons oder sehr komplexe Einstellungen des Tokens erforderlich sind.

Wünschenswert wäre eine verständliche Erklärung über die Funktionsweise der Lösung. Leider stellt sich der Token eher als Wunderlösung mit einem Black-Box Ansatz dar, als Hilfen zu geben wie man seine 2FA-Investition voll ausnutzen kann.

Als größten Vorteil der Lösung sehe ich die Nutzung des YubiKey Tokens ohne zusätzlichen Treiber und ohne Installationssoftware. Den Token einfach Einstecken, eine kompatible (Web-)Anwendung starten und per One-Time-Passwort anmelden.

Kennst du eine wichtige Anwendung die der YubiKey unterstützt, oder hast weitere Erfahrungen mit dem Token? Bitte schreibe den Lesern ein Kommentar!

3 thoughts on “Unboxing YubiKey 4 – Zwei-Faktor-Authentisierung”

  1. Firefox unterstützt (nach manueller Konfiguration in about:config) seit Version 57 und ohne zusätzliche Add-Ons auch U2F.

    1. about:config öffnen.
    2. „webauth“ suchen
    3. Einschalten von (auf True setzen):
    a. security.webauth.u2f
    b. security.webauth.webauthn_enable_usbtoken

    1. Hallo Thomas,

      vielen Dank für Dein Kommentar, das wusste ich bis jetzt nicht!

      Kürzlich hatte ich ein Eventreihe zum Thema Multi-Factor-Authentication und wir haben am Event die aktuellen Kundentrends analysiert.
      Als Ergebnis ist herausgekommen, dass Kunde sehr stark nach Authentisierung im Offline und Online Bereich unterscheiden und bevorzugt nach einfach nutzbaren Methoden Ausschau halten. Das (statische) Passwort ist tot, das haben viele Teilnehmer bestätigt…

      In Online Authentisierungsbereich setzen Kunden heute – und wahrscheinlich auch zukünftig – weiterhin auf Flash-SMS, SMS und Software-OTP Verfahren wie den Google Authenticator. Besonders scheint hier das Handy eine wichtige Rolle im Bereich der 2FA zu erhalten.

      Anders sieht es bei der Offline Authentisierung aus. Hier schwindet die Akzeptanz für neue Smartcard Projekte und Kunden werden wohl zukünftig virtuelle Smartcards mit X.509 Authentisierung in Ihren Projekten berücksichtigen. Wunsch hierzu wäre jedoch eine Authentisierung der virtuellen Smartcard mit Biometrie oder per Smartphone.

      Zur Biometrie gibt es speziell in unserer DACH Region eine generelle negative Grundeinstellung, die sich durch die DSGVO nochmals deutlich negativieren wird, siehe DSGVO Artikel 9 Abs. 1.:

      Die Verarbeitung personenbezogener Daten, aus denen die rassische und ethnische Herkunft, politische Meinungen, religiöse oder weltanschauliche Überzeugungen oder die Gewerkschaftszugehörigkeit hervorgehen, sowie die Verarbeitung von genetischen Daten, biometrischen Daten zur eindeutigen Identifizierung einer natürlichen Person, Gesundheitsdaten oder Daten zum Sexualleben oder der sexuellen Orientierung einer natürlichen Person ist untersagt.

      … außer die Personen haben ausdrücklich eingewilligt, was im Firmenumfeld fächendeckend eher unwahrscheinlich wird.

      Auf dem U2F Wikipedia Eintrag habe ich auch einen interessanten Satz gefunden: „Das Betriebssystem Windows 10 von Microsoft unterstützt die U2F-Funktionen nicht nur für eigene Dienste, sondern innerhalb des Systems auch bei der Anmeldung bei mehreren tausend Diensten von Drittanbietern.“
      Hast Du dazuvielleicht auch Erfahrung?

      Sicher Grüße, Andreas

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*