© DrHitch/Shutterstock.com
Angriffsziel UI

2 Sicheres Einloggen mit zwei Faktoren


Die Kombination aus Benutzername und Passwort reichte lange aus, um einen Benutzer sicher zu identifizieren. Inzwischen gelangen diese Zugangsdaten immer öfter in falsche Hände. Also muss ein zusätzlicher Faktor die Authentifizierung absichern, wenn man wirklich auf Nummer sicher gehen will.

Es gibt viele Möglichkeiten, wie die Zugangsdaten für Webanwendungen (und natürlich auch alle anderen möglichen Zwecke) in die Hände von Cyberkriminellen gelangen können. Zum Beispiel kann auf der Clientseite der Benutzer auf einen Phishing-Angriff hereinfallen. Außerdem ist es denkbar, dass Schadsoftware auf seinem Rechner (oder einem von ihm genutzten Rechner in einem Internetcafé etc.) den Benutzernamen und das Passwort beim Einloggen in die Webanwendung ausspäht. Auch JavaScript-Code ist in der Lage, über eine Schwachstelle im Webbrowser die Zugangsdaten aus dem Passwortmanager auszulesen. Ein Man in the Middle kann die Zugangsdaten während der Übertragung ausspähen – ein vor allem bei unverschlüsselten Verbindungen und der Nutzung eines offenen WLANs nicht zu unterschätzendes Risiko. Und auf dem Server kann ein Cyberkrimineller die Datenbank mit den Zugangsdaten über eine SQL-Injection-Schwachstelle abfragen oder nach einem erfolgreichen Eindringen als Datei kopieren.

Benutzername und Passwort allein reichen also nicht mehr aus, um einen Benutzer sicher zu identifizieren. Die Authentifizierung muss daher um einen weiteren Faktor ergänzt werden. Wobei an dieser Stelle ein wichtiger Hinweis nicht fehlen darf: Auch zwei Faktoren schützen nicht vor einem Angreifer in der Verbindung.

Eingeschränkter Schutz

Eine Zwei-Faktor-Authentifizierung schützt nicht vor einem laufenden Man-in-the-Middle-Angriff: Da sich der Angreifer in der Verbindung zwischen Client und Server befindet, kann er sich nach erfolgreicher Authentifizierung durch den Benutzer gegenüber dem Server jederzeit als der betroffene Benutzer ausgeben (und gegenüber dem Benutzer als Server). Aber während der Man in the Middle die belauschte Benutzername-Passwort-Kombination auch später noch jederzeit nutzen kann, um sich bei der Webanwendung als Benutzer anzumelden, ist das bei einer Zwei-Faktor-Authentifizierung nicht möglich, da dem Angreifer der dafür zusätzlich benötigte zweite Faktor fehlt. Bevor wir zum zweiten Faktor kommen, betrachten wir erst mal die Möglichkeiten für eine Authentifizierung ganz allgemein.

Die Authentifizierungsmethoden im Überblick

Bei der Authentifizierung wird geprüft, ob eine bestimmte Entität – meist ein Mensch, mitunter aber auch zum Beispiel ein Server – der ist, der er zu sein vorgibt. Hier gehe ich davon aus, dass ein Benutzer authentifiziert werden soll. Für die Authentifizierung von Servern und Anwendungen gibt es andere, dafür besser geeignete Methoden. Generell gibt es drei mögliche Methoden für die Authentifizierung eines Benutzers. Man erkennt ihn an dem,

  • was er weiß, also im klassischen Fall an seinem Benutzernamen und dem zugehörigen Passwort oder der PIN beim Onlinebanking
  • was er hat, zum Beispiel ein Token zum Erzeugen von Einmalpasswörtern oder eine Smartcard am Geldautomaten
  • was er ist, zum Beispiel indem ein biometrisches Merkmal wie ein Fingerabdruck geprüft wird

Alle drei Methoden haben jeweils Vor- und Nachteile, die im Folgenden erläutert werden.

Authentifizierung anhand von Wissen

Die Vorteile dieser Methode liegen auf der Hand: Passwortabfragen und ähnliche Funktionen sind leicht zu implementieren, sehr flexibel und der Benutzer kann das Wissen zumindest in gewissen Grenzen frei wählen. Auch die Nachteile dürften bekannt sein: Das Wissen, also zum Beispiel das Passwort, kann vergessen werden; der Benutzer kann es beliebig oft kopieren und weitergeben. Außerdem kann das Wissen ausgespäht werden, beispielsweise durch Spyware auf einem kompromittierten Rechner oder einer Kamera am Geldautomaten. Und zu guter Letzt kann das Wissen, vor allem ein Passwort oder eine meist noch kürzere PIN, unter Umständen erraten oder durch einen Brute-Force-Angriff ermittelt werden.

Authentifizierung anhand von Besitz

Der Besitz eines Merkmals hat einige Vorteile: Manche Merkmale wie zum Beispiel Smartcards können sich selbst aktiv ändern und dadurch vor Angriffen schützen, zum Beispiel indem die Anzahl der Fehlversuche bei einer PIN-Eingabe protokolliert und die Karte beim Überschreiten eines Grenzwerts gesperrt wird. Außerdem kann das Merkmal bei Bedarf ersetzt werden; einige Merkmale erlauben zusätzlich die Speicherung von Daten.

Dem stehen einige Nachteile gegenüber. Fangen wir mit der Server-/Betreiber-Seite an: Das verwendete Merkmal, zum Beispiel ein Token zum Erzeugen von Einmalpasswörtern, muss angeschafft und verwaltet werden, was beides mit Kosten verbunden ist. Irgendwann muss es ersetzt werden, was wieder mit zusätzlichem Aufwand und Kosten verbunden ist. Außerdem kann das Merkmal genau wie Wissen weitergegeben werden. Teilweise ist auch das Anfertigen einer Kopie möglich, zum Beispiel beim Einsatz einer Magnetkarte.

Auch für den Benutzer gibt es Nachteile, zum Beispiel muss er das Merkmal mit sich führen, wenn er die Webanwendung an mehr als einem Ort nutzen will, was mit zusätzlichem Aufwand verbunden ist. Das Merkmal kann gestohlen werden, wenn auch nicht wie im Fall von Wissen unbemerkt vom Benutzer oder aus der Ferne. Das Merkmal kann verloren gehen oder so beschädigt werden, dass es nicht mehr funktionsfähig ist – im einfachsten Fall reicht es aus, wenn bei einem Token zum Erzeugen von Einmalpasswörtern die nicht zu wechselnde Batterie leer ist; was natürlich nach Murphys Gesetz im ungünstigsten Moment passiert.

Authentifizierung anhand von „Sein“ (Biometrie)

Der Vorteil liegt auf der Hand (oder beim Fingerabdruck in der Fingerspitze): Da das Merkmal quasi ein „Bestandteil“ des Benutzers ist, kann es nicht vergessen oder weitergegeben werden. Unter Umständen ist aber ein Diebstahl möglich. Als Erstes fällt einem dabei meist der aus Action-Filmen bekannte abgehackte Finger ein, es geht aber auch viel unauffälliger und unblutiger, denn die meisten Fingerabdrucksensoren lassen sich auch von einem entsprechend aufbereiteten Fingerabdruck [1] austricksen.

Dem einzigen Vorteil stehen etliche Nachteile gegenüber. Zunächst muss das Merkmal erfasst und verwaltet werden, unter Umständen müssen die erfassten Daten auch auf mehrere Standorte verteilt werden. Hinzu kommt, dass das Merkmal nur mit zusätzlichem Aufwand, zum Beispiel einem Fingerabdrucksensor, geprüft werden kann. Außerdem lässt sich das Merkmal im Allgemeinen nur mit einer bestimmten Wahrscheinlichkeit prüfen – es besteht die Gefahr von False Positives (Unbefugte Dritte werden als befugte Benutzer erkannt) oder False Negatives (Befugte Benutzer werden abgewiesen). Da sich das Merkmal im Laufe der Zeit ändern kann, ist mitunter eine Neuerfassung erforderlich. Ein Ersatz des Merkmals ist im Allgemeinen nicht oder nur eingeschränkt möglich. Außerdem führt die Erfassung biometrischer Daten automatisch zu Datenschutzproblemen – ich persönlich würde zum Beispiel garantiert keiner Webanwendung biometrische Daten anvertrauen.

Zu guter Letzt gibt es noch das Problem der Diskriminierung der Personengruppen, denen das Merkmal fehlt und die dadurch von der Nutzung ausgeschlossen sind. Für diese Personen ist eine zusätzliche Authentifizierungsmöglichkeit nötig, die man aber sowieso für den Fall braucht, dass die Prüfung des Merkmals nicht möglich ist. Was zum Beispiel schon passiert, wenn der Fingerabdrucksensor des Benutzers defekt ist oder der Benutzer sich die Hand gebrochen hat, an der der für die Prüfung verwendete Finger sitzt – von einer eingegipsten Hand lässt sich schlecht ein Fingerabdruck nehmen.

Womit wir zu einem allgemeinen Problem der Zwei-Faktor-Authentifizierung kommen, auf die ich im Fazit noch eingehen werde: Was passiert, wenn der zweite Faktor ausfällt? Die Webanwendung kann nicht unterscheiden, ob der Fingerabdrucksensor des Benutzers oder sein Token zum Erzeugen von Einmalpasswörtern defekt ist oder ein Benutzer das nur behauptet, um die Prüfung von „Sein“ oder „Besitz“ zu umgehen.

Kombination kompensiert manche Nachteile

Durch eine Kombination der Methoden können die Nachteile zumindest teilweise kompensiert werden. Dabei kommt es aber a...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang