Einmalpasswörter

Aus schokokeks.org Wiki
Version vom 28. Januar 2008, 21:00 Uhr von Bernd (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Wenn man sich von einem Rechner, den andere Personen kontrollieren können (Internet-Café, bei Fremden, ...) mit einem Passwort einloggen möchte, besteht immer die re...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Wenn man sich von einem Rechner, den andere Personen kontrollieren können (Internet-Café, bei Fremden, ...) mit einem Passwort einloggen möchte, besteht immer die reale Gefahr, dass der Rechner das Passwort irgendwo protokolliert ("Keylogger") und damit andere Personen Zugriff auf das Passwort und damit den benutzten Account haben.

Um diesem Problem zu begegnen gibt es eigentlich nur eine funktionierende Lösung: One-Time-Pads bzw. Einmalpasswörter (kurz: OTP).

Das Prinzip ist wie beim TAN-Verfahren im Online-Banking, dass es eine Liste von möglichen Passwörtern gibt und jedes kann nur einmal benutzt werden.

S/Key

Wir setzen für diesen Zweck S/Key ein. Dieses System kommt von OpenBSD.

Diese Einmalpasswörter haben zwei interessante Vorteile:

  1. die Einmalpasswörter werden aus einer für den Benutzer eindeutigen ID, der OTP-Nummer und einem geheimen (konstanten) Passwort errechnet und nicht zufällig erzeugt. Es ist daher immer möglich, unter Kenntnis des konstanten Passworts das aktuell gültige OTP zu erzeugen.
  2. die Passwörter sind zwar relativ lang, aber sie werden als 2- bis 4-buchstabige englische Wörter ausgegeben, so dass man nicht buchstabe für Buchstabe irgendwelche Zufallsfolgen eingeben muss sondern ein solches Passwort recht einfach von z.B. einem Zettel abschreiben kann.

Die Berechnung gültiger OTPs ist entweder mit dem Programm "skey" (bei uns installiert) oder auch über andere skey-kompatibel Generatoren möglich. solche Generatoren gibt es auch für Handys und PDAs, so dass man evtl. so einen Passwort-Generator immer dabei haben kann.


Einrichtung

Vor der aller ersten Benutzung muss der Account für S/Key freigeschaltet werden und eine initiale Passwortliste erzeugt werden. Dies geschicht mit folgendem Befehl:

skeyinit

Dieses fragt folgende Dinge ab:

  1. Das normale Passwort (damit sich nicht ein Dritter Zugang verschaffen kann, nur weil man eine Konsole offen gelassen hat)
  2. Ein neues, sicheres Passwort. Es wird verlangt, dass dieses Passwort mindestens 10 Zeichen hat. Da man sich alleine mit Kenntnis dieses Passworts einloggen kann, sollte das auch wirklich ein gutes Passwort sein.
  3. Eine Wiederholung des gerade eingegebenen Passworts

Es werden dann 100 OTPs erzeugt. S/Key nummeriert die OTPs absteigend, beginnend bei 99. So sieht man immer, wie viele man noch übrig hat.

Danach gibt es das erste OTP aus, das für den nächsten Login benutzt werden kann.

Benutzung

Will man das OTP benutzen, stellt man einfach dem Benutzernamen ein :skey hinten an.

Z.B. kann sich der Benutzer bernd@zucker.schokokeks.org mittels bernd:skey@zucker.schokokeks.org mittels OTP einloggen.

Beim Login zeigt S/Key dann etwas wie folgendes an:

otp-md5 98 zuck45464
S/Key response or system password:

Er erwartet also Passwort Nummer 98 für die Passwortliste mit der ID zuck45464. Mit diesen Informationen kann man sich z.B. mittels

skey 98 zuck45464

Auf einem kompatiblen Gerät unter Eingabe des geheimen Passworts das passende OTP errechnen lassen.


Erneuern der Passwortliste

Sind alle OTPs verbraucht oder besteht Grund zur Annahme dass das sichere Passwort doch nicht mehr so sicher ist, dann kann die Passwortliste erneuert werden. Das geht einfach wieder mit dem Befehl

skeyinit