Tyranus Blog

Einmalpasswörter im Web

07. April 2013 | 2 Minuten zu lesen

Ein Einmalpasswort ist ein Passwort, das verbraucht wird, sobald es einmal benutzt worden ist. Der Vorteil eines Einmalpasswortes ist, dass es einem mitlauschenden Angreifer keinen Nutzen mehr bringt.

Ein bekanntes Beispiel für ein Einmalpasswort sind die Transaktionsnummern (TAN) beim Onlinebanking. Der Nachteil von TANs ist jedoch, dass man die Liste der noch verfügbaren TANs nicht immer griffbereit hat. Es ist ja auch nicht sinnvoll diese Liste mitzunehmen.

Ein weiteres Beispiel für die Verwendung von Einmalpassworten ist eine Token-Authentifizierung. Bei PayPal z.B. kann man sich eine Scheckkarte oder Schlüsselanhänger bestellen (das Token), auf der 6-stellige Zahlen eingeblendet werden, die in regelmäßigen Abständen (z.B. 30 Sekunden) wechseln. Diese Zahlen sind die Einmalpasswörter. Bei jeder PayPal-Transaktion muss das aktuell auf dem Token erscheinende Einmalpasswort eingegeben werden. Das Prinzip funktioniert so, dass sowohl das Token, als auch PayPal das gleiche Geheimnis kennen und aufbauend auf dieses Geheimnis nach einer gleichen kurzen Zeitspanne ein neues Geheimnis erzeugen. Immer wenn die Zeitspanne wieder verstrichen ist, erzeugen sie aus dem vorherigen Geheimnis ein weiteres Geheimnis. Wichtig ist also für die Token-Authentifizierung, dass beide Uhren synchron bleiben. Der Nachteil davon ist, dass man für jede Anwendung ein eigenes Token benötigt und man bald keinen Platz mehr in der Brieftasche oder am Schlüsselbund hat.

Es gibt nun aber auch Webstandards, die sich genau damit beschäftigen, die Funktionsweise des Tokens nicht nur für eine bestimmte Anwendung abzubilden, sondern das Problem generell zu lösen. Die verwendeten Webstandards sind HOTP (An HMAC-Based One-Time Password Algorithm) und TOTP (Time-Based One-Time Password Algorithm).

Als Token dient dabei idealerweise das Smartphone, welches man ohnehin dabei hat. So stellt z.B. die App HDE OTP Generator oder Google Authenticator die Funktionsweise eines Tokens auf dem Smartphone bereit. Die Einrichtung des Tokens für einen Webdienst ist sehr einfach. Der Webdienst zeigt einen QR-Code an, den man mit dem Smartphone scannt. Dadurch gelangt das Geheimnis auf das Token und die Zahlenfolge läuft ab.

Wenn Webdienste diesen Webstandard verwenden, so bezeichnen sie es häufig als Zwei-Faktor-Authentifizierung oder Zweistufige Authentifizierung, weil sie das Einmalpasswort zusätzlich zum regulären Passwort abfragen. Dadurch wird verhindert, dass bei Verlust des Tokens der Finder sich mit dem Token anmelden kann. Oft kann man auswählen, dass man das Token nicht bei jeder Anmeldung am Webdienst eingeben muss, sondern nur bei der ersten Anmeldung an einem neuen Rechner. Das bietet mehr Sicherheit als eine alleinige Passworteingabe und man verzichtet gleichzeitig nicht auf Kompfort. Für den Fall, dass man das Token verliert, bieten die Webdienste meist noch eine Liste von Nummern, die immer funktionieren. Diese Liste sollte man in seinen Passwort-Safe legen und nicht mitnehmen.

Immer mehr Webdienste nutzen diese zweistufige Authentifizierung. Ich kenne:

  • Dropbox: Einstellungen -> Sicherheit -> Zweistufige Überprüfung
  • Google: Konto -> Sicherheit -> Bestätigung in zwei Schritten
  • AppNet: Settings -> Security -> Two-Factor Authentication
  • Amazon Web Services: Activate MFA
  • Wordpress: Google Authenticator Plugin installieren

Weitere Quellen: