Yubikey personalisieren unter Windows

Die Programmierung eines Yubikeys kann auch unter Windows erfolgen. Hierzu gibt es unter yubico.com ein kostenfrei erhältliches Programmierwerkzeug.
Im Folgenden setze ich voraus, dass bereits ein Schlüssel erzeugt wurde, der GPG codiert und signiert in einer Datei keys.txt abgelegt ist, und der in den Key- Storage- Server importiert ist.
Im ersten Schritt lassen wir uns den Schlüssel im GPG Container anzeigen:  
root@kss:~# gpg < keys.txt
   
You need a passphrase to unlock the secret key for
   
user: "YK-KSM crater Import Key"
2048-bit ELG-E key, ID C938E64A, created 2011-03-08 (main key ID 9BC9EDF4)
gpg: gpg-agent is not available in this session
gpg: encrypted with 2048-bit ELG-E key, ID C938E64A, created 2011-03-08
      "YK-KSM crater Import Key"
# ykksm 1
# serialnr,identity,internaluid,aeskey,lockpw,created,accessed[,progflags]
2,cccccccccccd,059ea92c0ca9,a31ddbaf37b2350771633b94c6538c25,b0c6023e3dbd,2011-03-19T16:08:12,
   
gpg: Signature made Sat 19 Mar 2011 04:08:12 PM CET using DSA key ID 9BC9EDF4
gpg: Good signature from "YK-KSM crater Import Key"
 
Nun geht es an den eigentlichen Programmiervorgang. Da ein Bild bekanntlich mehr als tausend Worte sagt lasse ich die Bilder für mich sprechen. Die in den Screenshots eingetragenen Werte entsprechen den Werten aus dem Keyfile. Somit ist deutlich zu sehen welches Feld in welche Eingabemaske eingetragen werden muss.
Der Public ID string entspricht dem Feld identity. Allerdings muss der Wert vorher noch von ModHex in Hexadezimal umgewandelt werden. Das Programmierwerkzeug bietet hierzu im Hauptmenü einen entsprechenden Punkt (Convert between different number formats).
Der ID string wird aus dem Feld internaluid genommen.
Der 128 Bit Key kommt aus dem Feld aeskey.
Hier könnte man z.B. noch einstellen, dass nach der Ausgabe des OTP automatisch ein Zeilenumbruch gesendet wird.
Da es sich hierbei nur um erste "Spielereien" mit dem Key handelt lasse ich die Verschlüsselung der Konfiguration mal aussen vor. Sollte man hier jedoch ein Passwort eintragen, so darf man das nie vergessen! Das Passwort ist write-only und bei einem Verlust des Passwortes kann der Key nie wieder umprogrammiert werden!
Ich nehme die erste der beiden zur Verfügung stehenden "Speicherplätze" im Key.

Nach einem Klick auf "Run" wird die Konfiguration in den Key übertragen. Der Yubikey ist nun bereit für eine Authentifizierung gegen den Key- Server. Zum Testen startet man einen Browser seiner Wahl und gibt die URL des Keyservers ein- z.B.:  
http://KEYSERVER/wsapi/decrypt?otp=cccccccccccdljjebkhetgihhcincjkdcidbghnferhr
  Der OTP-String ist der, den der Yubikey beim Berühren des "Tasters" von sich gibt.
Die Antwort, die kommen sollte, sollte in etwa so aussehen:  
OK counter=0002 low=79a9 high=98 use=00