Wir bewegen uns viel im Internet und haben überall unsere Benutzerkonten. Mit ihnen kann man sich an Webseiten identifizieren und meist sind Benutzerkonten erst der Schlüssel dazu, die Webseite richtig nutzen zu können. Doch unsere Aktivitäten, die wir mit Hilfe der Benutzerkonten durchführen, sind nur geschützt durch die richtige Kombination von Benutzername und Kennwort.
Die Benutzernamen bekommt man meist recht schnell raus, der Schlüssel ist also meist nur das Kennwort. Doch viel zu häufig ging es schon durch die Medien, dass Passwörter ohne Wissen des Anwenders mitgespeichert wurden, verlorene Handys wichtige Passwörter auf sich hatten oder die Passwörter schlicht durch eine Attacke erraten wurden.
Und schon ist der Angreifer im eigenen Benutzerkonto.
Um so etwas zu verhindern, gibt es die Zwei-Faktor-Authentifizierung. Sie gewährleistet eine weitere Sicherheits-Stufe, die eure Benutzerkonten sicherer vor Angriffen machen sollen.
Dieser Artikel erschien erstmalig am 05.10.2013. Er wurde umfangreich überarbeitet, auf heutige Zeiten angepasst und neu veröffentlicht.
Idee hinter der Zwei-Faktor-Authentifizierung
Der Plan ist, eure Benutzerkonten nicht nur mit einem Kennwort zu schützen, sondern zusätzlich mit einer 6-stelligen Ziffernfolge, ein One Time Password oder kurz OTP.
Diese Ziffernfolge wird entweder per SMS auf eine voreingestellte Nummer gesendet oder auf einem separaten Gerät generiert, meist das eigene Smartphone oder einem sogenannten „Token“. Mitarbeiter, die bspw. für die Arbeit von zu Hause sich ins Arbeitsnetzwerk einwählen müssen, haben meist auch ein (RSA-)Token, das Verfahren „Zwei-Faktor“ gibt es schon seit Jahren. Man benötigt also nicht nur das Kennwort, sondern auch physischen Zugriff auf ein zweites Gerät – für einen Angreifer nahezu unmöglich zu realisieren.
Dieses One Time Password (OTP) ist individuell an ein Benutzerkonto gebunden und ändert sich zudem alle 30 Sekunden. Bekommt also jemand euer Passwort heraus, kann er sich immer noch nicht bei einem mit einer Zwei-Faktor-Authentifizierung gesicherten Seite anmelden: Ihm fehlt die Ziffernfolge, denn diese wird ausschließlich auf deinem Smartphone abrufbar. Und an das Gerät zu kommen, ist eine zusätzliche Hürde, die nahezu unüberwindbar ist.
Selbst wenn der Angreifer die Eingabe der Ziffernfolge mitgelesen oder ausspioniert hat: Spätestens nach 30 Sekunden ist diese Zahl wertlos, denn dann wird die Anmeldung mit dieser Kombination Passwort<->Ziffernfolge abgelehnt.
Die Technik dahinter
Die Sache ist sicher, da zwischen Endgerät und Server ein geheimes Passwort und ein Startwert ermittelt werden und mit Hilfe von einer nicht umkehrbaren mathematischen Berechnung One Time Password generiert werden.
Selbst mit Kenntnis des Vorgänger-OTPs ist es einem Angreifer nicht möglich, den Folgewert zu ermitteln, da die Berechnung auf Basis des geheimen Kennworts, des zufälligen Startwerts und eben der nicht umkehrbaren Formel geschieht (Mathematiker und Kryptographen lesen auf der Wikipedia den genauen Algorithmus).
Warum der ganze Aufwand?
Nun, bei Benutzerkonten wie hier bei Nerdtalk ist die Auswirkung eines möglichen Passwortklaus relativ gering. Man könnte in eurem Namen Kommentare posten und beim Besucher-Tippspiel teilnehmen. Ärgerlich, aber kein wahrer Schaden. Doch es gibt Services, die sind viel weitreichender: Facebook zum Beispiel.
Bekommt wer euer Facebook-Kennwort heraus, hat er Vollzugriff auf alle eure Bilder und Statusnachrichten. Er kann eure Freunde sehen, in eurem Namen öffentlich gefakte Nachrichten absetzen. Viel mehr noch: Viele Seiten nutzen das Facebook-Benutzerkonto zum Login auf der eigenen Seite. Mit dem Erlangen über das Facebook-Kennwort hat der Angreifer potentiell Zugriff auf noch viel mehr Seiten als nur Facebook.
Anderes Beispiel: Google. Bekommt der Angreifer hier das Passwort heraus, kann er (je nach Nutzungsgrad) alle eure Mails einsehen und in eurem Namen Mails verfassen, euren Kalender einsehen. Er kann alle Kontakte mit Telefonnummern und Adressen einsehen, der mögliche Schaden durch Missbrauch ist hier kaum zu ermessen. Die Dateien unter GoogleDrive wären nicht mehr sicher, private Dokumente können durch Fremde gelesen werden.
Ist es nicht sinnvoll, insbesondere solche Benutzerkonten noch besser zu schützen? Die Lösung lautet: Zwei-Faktor-Authentifizierung.
Vorgehen bei der Nutzung einer Zwei-Faktor-Authentifizierung
Nicht alle Webseiten bieten eine solche Authentifizierung an. Wir von Nerdtalk beispielsweise nicht – aber das ist ja auch nicht schlimm, denn die Auswirkungen sind gering. Seiten, die bereits eine Zwei-Faktor-Authentifizierung mit One Time Passwords unterstützen sind beispielsweise Facebook, Google, Evernote, Dropbox, Apple, Twitter oder auch Paypal. Eine umfangreiche Übersicht, welche Seiten bereits eine Zwei-Faktor-Authentifizierung unterstützen, gibt es auf der Two Factor Auth List.
Überall muss man dieses Sicherheitsfeature erst aktivieren. Meist kann man wählen, wie man das One Time Password erhalten möchte: Entweder man hinterlegt eine Handynummer, an die eine SMS mit dem One Time Password geschickt wird. Oder man lädt sich bereits vorher eine App herunter, die für die Generierung der OTPs geschrieben wurde, und füttert diese mit einem QR-Code bzw. einigen Eckdaten zur Seite.
Großer Klassiker im Bereich App ist der Google Authenticator, der für alle Plattformen erhältlich ist. Andere sympathiseren mit Authy. Beide Tools gibt es kostenlos in allen bekannten App Stores.
Der Login-Vorgang
Möchte man sich nun bei dieser Webseite einloggen, muss man ab sofort nicht nur das Kennwort, sondern eben auch das One Time Password eingeben. Erst dann gibts Zugriff. Für den Rechner zu Hause oder auf der Arbeit ist ein solches Vorgehen jeden Tag aufs Neue ziemlich umständlich, deswegen kann man bei allen Services einen Haken setzen, der den aktuellen PC als vertrauenswürdig einstuft. Setzt man diesen Haken, muss man ab sofort auf diesem PC für dieses Benutzerkonto kein One Time Password mehr eingeben. Fremd-PCs müssen weiterhin das One Time Password eingeben.
Doch es gibt Programme oder Webdienste, die auf mit Zwei-Faktor-Authentifizierung gesicherte Benutzerkonten zugreifen möchten, aber eben diese Art der Authentifizierung nicht unterstützen. Klassisches Beispiel: Der Mailclient, der die Mails von Google abrufen soll. Kann keine Zwei Faktor. Blöd.
Für solche Zwecke kann man ellenlange Kennwörter nutzen, die per Zufall von der entsprechenden Webseite generiert werden. Hier wird also zugunsten dieser Anwendungen ein Loch in die Sicherheit gebohrt: Mit einem spezifischen Kennwort kommt man dann doch ohne One Time Password (OTP) ins Benutzerkonto. Aber dadurch, dass diese Kennwörter ziemlich lang, zufallsgeneriert und nur für die Nutzung in vertrauenswürdigen Applikationen vorgesehen sind, ist die Gefahr zumindest überschaubar.
Zur Erinnerung: Passwörter, die zufallsgeneriert und länger als 9 Zeichen sind, lohnen sich für Angreifer nicht. Die Dauer, alle Möglichkeiten durchzuprüfen, liegt derzeit bei knapp 1.000 Jahren. Als weitere Sicherheitsstufe kann man das generierte Passwort auch im Nachgang nicht einsehen: Benötigt man ein Kennwort, muss man ein neues generieren – das alte kann man dann gleich löschen und somit ungültig machen.
Hilfe, ich habe meinen zweites Authentifizerungsgerät verloren!
Ich denke, die Vorteile dieser doppelten Absicherung sind klar geworden. Doch das Prinzip hinkt an einer Stelle: Hat man das Smartphone o.ä. nicht für das One Time Password zur Hand (vergessen, leer oder gar gestohlen), so kommt man auf fremden PCs nicht in die Benutzerkonten hinein – obwohl man der rechtmäßige Besitzer des Kontos ist.
Für solche Zwecke gibt es Ausnahmecodes. Diese werden von den Webseiten zur Verfügung gestellt und lassen, je nach Seite, einen einmaligen Login ohne OTP zu oder deaktivieren die OTP-Abfrage. Mit Hilfe dieser Codes kann man also im Notfall doch auf das Konto zugreifen – entsprechend sicher sollten die Codes also hinterlegt sein. Auch hier gilt der Hinweis, dass sehr lange, zufallsgenerierte Kennwörter nicht lohnenswert für Angreifer sind, sodass die Ausnahmecodes kein wahres Sicherheitsrisiko darstellen.
Man sollte nur sicherstellen, dass man die Codes nicht in einem Bereich speichert, der wiederum mit Zwei-Faktor-Authentifizierung absichert ist. Ansonsten hat man sich sehr effektiv ausgesperrt. 😉
Fazit
Eine Zwei-Faktor-Authentifizierung liest sich nun unglaublich aufwändig. Machen wir uns nichts vor: Man muss immer sein Handy oder ein Token zur Hand haben, um sich in fremde PCs einzuloggen.
Aber mal realistisch: Wie häufig loggt ihr euch tatsächlich in fremde PCs ein? Wenn es immer der selbe PC ist, könnte man darüber nachdenken, hier den Haken „Vertrauenswürdiger PC“ zu setzen, um so die OTP-Abfrage zu deaktivieren. Und wenn ihr an PCs seid, wo ihr den Haken aus Sicherheitsbedenken nicht setzen wollt: Umso besser, nun ist die Nutzung dieses PCs noch sicherer.
Zudem: Handys sind heute quasi immer am Mann, der Aufwand, es aus der Tasche zu kramen ist nun auch nicht die Welt…
Der Start ist womöglich etwas holprig, aber man kommt eigentlich schnell in den Flow hinein. Und dann kann man sich sicher sein, dass gerade die wichtigen Konten doppelt gesichert sind. Ich persönlich habe alle verfügbaren Dienste, die ich nutze, doppelt abgesichert und fühle mich gut dabei. Wie grausam wäre es, würde jemand auf mein Google- oder Facebook-Konto Zugriff erhalten. Und die Notizen in Evernote muss auch nicht jeder Fremde lesen.
Und jetzt seid ihr dran: Nutzt ihr schon Zwei-Faktor-Authentifizierung? Welche Erfahrungen habt ihr gemacht?