In YubiKey
exokrypt_yubikey_2

Yubico OTP (One-Time Password) – Der YubiKey Guide – Teil 2

Was sind One-Time Passwords?

OTP steht für One-Time Password zu Deutsch Einmalpasswort und genau das ist OTP auch. One-Time Passwords werden gerne für 2 Faktor Authentifizierung verwendet, weil sie ein hohes Maß an Sicherheit gewährleisten und dabei einfach zu verwenden sind.
Man unterscheidet im Allgemeinen zwischen zwei Arten von OTP Passwörtern:

  • HOTPHMAC-based One-Time Password
  • TOTPTime-based One-Time Password

Eigentlich unterscheiden sich diese beiden Methoden nicht großartig voneinander. Sie haben meist dasselbe Ziel, nämlich einen starken zweiten Faktor für Logins bereitzustellen. Allerdings setzen die beiden OTP Varianten sich aus unterschiedlichen Informationen zusammen, hierzu aber später mehr.

One-Time Passwords werden wie der Name vermuten lässt, genau ein einziges Mal verwendet. Sie werden direkt in dem Moment generiert, in dem der Nutzer sie benötigt und sind meist nur für eine gewisse Zeit lang gültig.

OTP Lösungen können als Soft- und Hardware vorkommen und genutzt werden. Früher waren sogenannte Dongles oder Tokens, die man am Schlüsselbund getragen hat, gerade bei Unternehmen besonders weit verbreitet.
Heutzutage setzen viele Anwender auf eine etwas bequemere Software Lösung wie beispielsweise den Google Authenticator. Diese Software wird auf dem Smartphone installiert und kann beliebig viele „Token“ verwalten.

rsa_token

Beide Konzepte funktionieren nach dem gleichen Prinzip. Der Benutzer bekommt, meist alle 60 Sekunden ein neues OTP angezeigt, dass er beim Login als Second Factor eingeben muss. Dieser meist 6 oder 8-stellige Code ist immer nur genau 60 Sekunden gültig. In diesen 60 Sekunden muss der Benutzer ihn von seinem Hardware Token oder dem Smartphone ablesen und im Login Bildschirm des Online Dienstes oder des Computers eingeben. Nachdem die 60 Sekunden abgelaufen sind, wird automatisch ein neuer Code generiert und nur dieser ist dann noch gültig.

Um sicherzustellen, dass der Benutzer auch den richtigen bzw. den legitimen Code verwendet, vergleicht der Dienst den eingegebene Code mit seinem eigenen Code-Generator. Denn auch auf dem Server oder dem lokalen Computer läuft dieselbe Software zur Generierung dieser One-Time Passwörter. Die beiden Generatoren, also der am Server und der beim Benutzer (Soft- oder Hardware) müssen natürlich synchron laufen, damit dieses Verfahren funktionieren kann.

Wie funktioniert OTP im Detail?

otp

Vereinfacht kann man die Erzeugung eines One-Time Passwords wie folgt erklären:
Im ersten Schritt nimmt der OTP Generator (Hardware Token oder App auf dem Smartphone) einen einmal gespeicherten geheimen Schlüssel und verrechnet diesen mit einem weiteren Faktor, wir nennen diesen jetzt einfach mal Zahl, denn nichts anderes ist er eigentlich. Anschließend spukt der OTP Generator eine 6 oder 8-stellige Zahl aus.

TOTP – Time-based One-Time Password

Beim TOTP Verfahren wird der geheime Schlüssel zusammen mit der aktuellen Systemzeit verarbeitet und daraus ein OTP generiert. Beim Time-based OTP Verfahren wird meist ein kürzerer Timer verwendet, als bei HOTP. Dieser verkürzte Timer umfasst in der Regel nur 30 Sekunden, nicht wie bei HOTP 60 Sekunden.

HOTP – HMAC-based One-Time Password

Beim HOTP Verfahren wird ein geheimer Schlüssel zusammen mit einem Counter verarbeitet und daraus das OTP erzeugt. Dieser Zähler wird alle 60 Sekunden um 1 angehoben und ist dadurch für jedes neue OTP individuell.

Vorteile des YubiKey One-Time Passwords gegenüber anderen OTP Generatoren

Der wohl gravierendste Unterschied zwischen dem YubiKey OTP Modus und herkömmlichen Lösungen wie beispielsweise dem Google Authenticator ist die Tatsache, dass der Nutzer das One-Time Passwort mit einem YubiKey nicht mehr selbst von Hand eintragen muss. Wird der YubiKey beim Login Prozess angesteckt und der Button auf der Oberseite gedrückt, fügt er selbstständig das generierte One-Time Passwort in das entsprechende Feld ein.
Das hat neben dem Usability Aspekt zudem den Vorteil, dass deutlich längere OTPs generiert werden können, als das bei einer Eingabe von Hand praktikabel wäre. Die OTPs des YubiKeys sind 32 Zeichen lang und nicht wie bei den bereits vorgestellten Lösungen 6 bzw. 8 Zeichen. Das erhöht die Sicherheit des Verfahrens nochmals erheblich.

Ein weiterer entscheidender Vorteil des YubiKeys ist der verwendete geheime Schlüssel. Bei den meisten gebräuchlichen Lösungen am Markt ist dieser Schlüssel vom Hersteller auf dem Hardware Token bereits von Werk aus „eingebrannt“. Das bedeutet er kann nicht verändert oder verifiziert werden. Gerne wird ein und derselbe geheime Schlüssel auf verschiedenen Geräten verwendet, was sich negativ auf die Sicherheit auswirken kann. Bei YubiKeys ist dieser Prozess anders. Als Unternehmen oder auch als versierter Privatanwender ist es möglich, den geheimen Schlüssel selbst zu erzeugen und auf dem YubiKey zu hinterlegen. Dadurch behält der Anwender zu jeder Zeit die volle Kontrolle über diesen und kann ihn nach Bedarf ändern.

yubicase_shop_1140_de_v3

In 10 Schritten One-Time Passwords auf deinem YubiKey einrichten – einfach und unkompliziert

Damit du deinen YubiKey sicher für die 2 Faktor Authentifizierung bei Online Diensten nutzen kannst, musst du eigentlich gar nichts machen. Der YubiKey kommt fertig konfiguriert zu dir nach Hause.

Für alle diejenige die aber selbst einen sicheren geheimen Schlüssel auf Ihrem YubiKey hinterlegen wollen, ist der nachfolgende Teil gedacht.

1. Um deinen YubiKey online verwenden zu können, musst du als erstes dein YubiKey Personalization Tool auf dem Computer starten. Der YubiKey sollte jetzt bereits an einem freien USB Port deines Computers angesteckt sein.

2. Jetzt wählst du oben im Menü den Menüpunkt „Yubico OTP“ aus.

3. Anschließend klickst du auf „Quick“. Der Menüpunkt „Advanced“ ist hauptsächlich für Unternehmensanwendung gedacht und ermöglicht der EDV Abteilung eines Unternehmens die Programmierung mehrerer YubiKeys hintereinander.

4. Als nächstes wählst du oben unter „Configuration Slot“ den Slot aus, auf dem du das Yubico One-Time Passwort nutzen möchtest. Welcher deiner Slots bereits belegt ist, kannst du rechts im Seitenmenü unter „Programming status“ sehen. In unserem Fall ist der Slot 1 bereits konfiguriert / belegt, daher wählen wir den Slot 2 für das OTP aus.

5. Wenn du absolut auf Nummer sichere gehen möchtest, kannst du jetzt noch einige Male auf den „Regenerate“ Button unten im Menüabschnitt „Actions“ klicken. Sobald du den Haken bei „Hide values“ entfernt hast, siehst du auch wie sich deine „Public Identity“, „Private Identity“ und der „Secret Key“ verändern.

Die hier aufgeführten Werte sind für dich als Anwender nur Nebensache. Du kannst nicht damit interagieren oder sie anderweitig verändern. Sie werden automatisch mit Hilfe deines YubiKeys und deines Computers zufällig erzeugt.

6. Um deinen erzeugten geheimen Schlüssel jetzt auf deinem YubiKey zu speichern, klickst du einfach im Menüabschnitt „Actions“ auf den Button „Write Configuration“. Während des Vorgangs leuchtet das Licht deines YubiKeys eine Weile durchgehend auf.

7. Anschließend solltest du am oberen Rand des Menüs die Mitteilung sehen, dass dein YubiKey erfolgreich konfiguriert wurde. Im rechten Seitenmenü wird jetzt auch angezeigt, dass der Slot 2 ebenfalls konfiguriert ist.

8. Der letzte Schritt ist jetzt deinen erzeugten Schlüssel bei Yubico zu hinterlegen. Hierzu klickst du nach erfolgreicher Konfiguration auf den Button „Upload to Yubico“ im Menüabschnitt „Actions“.

Du wirst anschließend auf die Webseite https://upload.yubico.com/ in deinem Browser weitergeleitet.

Adresse prüfen!

Bitte überprüfe unbedingt die URL die sich in deinem Browser öffnet. Es muss genau die hier genannte Adresse erscheinen. Anderenfalls ist es sehr wahrscheinlich, dass etwas nicht stimmt. Du solltest dann den Vorgang abbrechen und die Einrichtung auf einem anderen Computer durchführen. Zudem solltest du deinen Computer mit einem Anti-Viren Scanner untersuchen, um eventuelle Malware zu beseitigen.

Wenn bei dir alles so angezeigt wird, wie beschrieben kannst du guten Gewissens deine E-Mail-Adresse eintragen.
Anschließend muss du in das Feld „OTP from YubiKey“ klicken und auf den Knopf auf deinem YubiKey drücken. Du wirst sehen, dass wir von Zauberhand eine Zeichenfolge in das Feld eingefügt wird.

Das ist dein One-Time Passwort, welches dein YubiKey in diesem Moment generiert hat. Zu guter Letzt musst du noch bestätigen, dass du kein Roboter bist und zum Abschluss des Vorgangs auf „Upload AES key“ klicken.

9. Wenn alles erfolgreich war, bekommst du die Nachricht angezeigt „Success! Key upload successful
Sollte bei dir ein Fehler aufgetreten sein, prüfe ob du den richtigen Slot deines YubiKeys bei der Eingabe ins Feld „OTP from YubiKey“ verwendet hast. Wenn du wie hier in diesem Beispiel den Slot 2 verwendet hast, musst du lange auf den Knopf an deinem YubiKey drücken, um den richtigen Slot zu aktivieren.

10. Als finalen Schritt kannst du nun noch deinen hinterlegten Schlüssel testen lassen.
Dazu navigierst du entweder über den Link unterhalb der Tabelle, oder direkt mit diesem Link auf die entsprechende Seite:

https://demo.yubico.com/otp/verify

Klicke jetzt mit deiner Maus in das entsprechende Feld und drücke den Knopf auf deinem YubiKey. Anschließend klickst du auf „VALIDATE“ um dein One-Time Passwort abzugleichen. Wenn alles in Ordnung ist, bekommst du im Feld „Previously validated OTPs“ einen grünen Haken vor dem generierten OTP.
Solltest du keinen grünen Haken angezeigt bekommen, musst du den Prozess von Schrit 1 an nochmal wiederholen.

Tipp für erfahrene Anwender:

Solltest du beim Einrichten deines YubiKeys noch mehr Sicherheit haben wollen, empfehlen wir die Einrichtung in einer Virtuellen Maschine durchzuführen. Zusätzlich kannst du noch einen VPN oder das TOR Netzwerk für die Verbindung zu den Yubico Servern nutzen. Das stellt sicher, dass keinerlei Malware auf deinem Rechner die Schlüssel bei der Erzeugung oder beim Übertragen an die Yubico Server auslesen kann.