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
Eigenschaften
nativer Treiber
Installation
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
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.
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.
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.
Kurzer Nachtrag zum Beitrag: der Anbieter MTRIX bietet unter dem folgendem Link https://www.mtrix.de/portfolio/yubico/anwendungen/ eine Übersicht an unterstützten Anwendungen an.
Ein Besuch lohnt sich, da auch technische Anleitungen zu den Anwendungen verlinkt sind.
Sichere Grüße, Andreas
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
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.:
… 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