Zwei-Faktor-Authentifizierung.

Achtung, diesen Beitrag schrieb ich vor über 11 Jahren. Beachte, dass sich in der Zeit viel geändert haben kann und wird! Nicht alles lässt sich immer noch so anwenden, manches passt auch gar nicht mehr.

Jeder kennt sie, die Zwei-Faktor-Authentifizierung, teilweise ohne sich dessen bewusst zu sein. Selbst die Leute, die mit Technik nichts am Hut und am Rechner zwei linke Hände haben.
Wie kann man sich überhaupt authentifizieren? Es lassen sich drei Gruppen ausmachen: Besitz, Wissen und Biometrie.

Der Besitz:
Jemand besitzt etwas mit dem Er sich authentifizieren kann. Beispiele aus dem Alltag währen z.B. ein Schlüssel, die EC-Karte oder ein Personalausweis. Mit dem passenden Schlüssel authentifiziert man sich quasi gegenüber dem Schloss und kann dieses öffnen oder mit dem Personalausweis, kann man sich gegenüber der Polizei authentifizieren, wer man ist.

Das Wissen:
Jemand weiß etwas um sich zu authentifizieren. Dies kann das Passwort zum Twitter-Account sein oder die PIN-Nummer der SIM-Karte im Handy.

Die Biometrie:
Hierfür werden körperliche Merkmale verwendet, die absolut eindeutig eine Person authentifizieren. Zur Authentifizierung mittels biometrischen Merkmalen werden beispielsweise der Fingerabdruck oder ein Irisscan verwendet. Der Vorteil der Biometrie ist, dass man seine Merkmale immer dabei hat – vorausgesetzt, man schneidet sich nicht ausversehen den Finger ab. 😉

Die Zwei-Faktoren-Authentifizerung nutzt nun, wie der Name es schon vermuten lässt, zwei dieser Faktoren. Im Alltag wäre das beispielsweise die Authentifizierung am Geldautomaten. Ich besitze etwas, meine persönliche EC-Karte und ich weiß etwas, meine PIN-Nummer. Nur so komme ich an mein Geld.

Solche Authentifizierungsverfahren gibt es auch online. Damit erhöht man die Sicherheit im Vergleich zur Authentifizierung nur über ein Passwort. Selbst wenn das Passwort zu einem Account erraten oder abgefangen ist, es ist nur ein Teil der Authentifizierung. Ohne den zweiten Teil ist das Passwort nichts wert. Google bietet einem schon länger die Möglichkeit, seinen eigenen Account zu schützen, indem man außer dem Passwort auch noch einen Code eingeben muss. Dieser Code ist nur eine begrenzte Zeit gültig. Im Firmenumfeld realisiert man die Codeerzeugung meist über sogenannte Tokens. Diese kleinen Geräte werden einmalig initialisiert und erzeugen dann auf Knopfdruck einen mehrstelligen (Zahlen-)Code. Das Problem hier ist allerdings, dass man bei mehreren Zugängen auch mehrere dieser Geräte dabei haben muss.
Ich persönlich habe zwei dieser Tokens bei mir, mehr würde ich aber nicht haben wollen – irgendwann wird es einfach unpraktisch.
Damit Google nicht jedem Anwender solch einen Token zuschicken muss, was nicht nur ein ziemlicher Aufwand, sondern auch mit einigen Kosten verbunden wäre, nutzt der Anwender sein Handy. Entweder bekommt man jedes Mal eine SMS geschickt, ähnlich dem mTan-Verfahren, welches teilweise beim Onlinebanking eingesetzt wird oder aber man installiert eine Anwendung auf seinem Telefon und generiert den Code selbst.

Für die Neugierigen und Interessierten unter euch, der von Google verwendete Algorithmus für das „Time-Based One-Time Password (TOTP)“ ist in dem RFC 6238 zu finden.

Auch andere Dienste und Unternehmen setzen auf das TOTP-Verfahren. So kann man bei Amazon AWS nicht nur einen Hardwaretoken nutzen, sondern auch eine App. Man muss nur das „virtual MFA device“ auswählen. MFA steht bei Amazon für „Multi-Factor Authentication“. Auch Dropbox hat die Zwei-Faktor-Authentifzierung eingeführt, nach der Aktivierung in den Einstellungen muss man sich auf der Webseite mit Passwort und dem jeweils neu erzeugten Code einloggen.

Eine kleine (und nicht vollständige) Auswahl der Apps, die einem das TOTP erzeugen können sind der Google Authenticator, Amazon AWS MFA und Authenticator. Mit diesen drei Apps sind die gängigen Smartphones, Android, iPhone, BlackBerry und Windows 7, abgedeckt.

Da der Algorithmus hinter TOTP bekannt ist, gibt es die verschiedensten fertigen Implementierungen in Java, Javascript, Python, C# und anderen Sprachen.
Wie man die Zwei-Faktoren-Authentifizierung unter Linux zum Absichern seines SSH-Accounts nutzen kann, verrate ich euch im nächsten Blogeintrag.

Achtung, diesen Beitrag schrieb ich vor über 11 Jahren. Beachte, dass sich in der Zeit viel geändert haben kann und wird! Nicht alles lässt sich immer noch so anwenden, manches passt auch gar nicht mehr.

About chaosblog

2 comments on “Zwei-Faktor-Authentifizierung.

Schreibe einen Kommentar zu Falko Zurell (@maxheadroom) Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert