Martins key.matique-Blog

>> Zurück zum Artikelverzeichnis >>


2-Faktor-Authentisierung –
Das Wie ist entscheidend!

Geschrieben: 17.12.2018
Letzte Überarbeitung: 24.09.2020

Was verbirgt sich hinter dem Begriff?

Der Identitätsnachweis des Benutzers soll durch mehrere unabhängige Mittel erfolgen, wobei insbesondere geheimes Wissen (z. B. Passwort), exklusiver Besitz (z. B. Handy) oder biometrische Daten in Frage kommen.

Was wird damit erreicht?

Damit wird das Risiko eines Angriffs, der die unbefugte Authentisierung zum Ziel hat (also dass sich der Angreifer in eine key.matique-Box hinein hacken kann), mi­ni­miert.

Das ist besonders wichtig, wenn das Hauptkennwort schwach gewählt, aufgeschrieben oder anderen erzählt wurde oder seine Eingabe von einer Kamera oder oder einem Keylogger mitgeschnitten werden kann.

Angriffsmethoden, die nicht auf den Login, sondern auf direkten Abgriff geheimer Daten vom key.matique-Server abzielen, werden zwar durch die Zwei-Faktor-Authentisierung (im Folgenden mit "2FA" abgekürzt) nicht behindert, aber sind von Haus aus schwieriger, weil eben nicht nur das Hauptkennwort zu knacken ist, sondern zunächst einmal der allgemeine Schutz des Servers vor unbefugtem Zugriff, dem wir uns natürlich besonders verschrieben haben, durchbrochen werden muss.

Zusätzliche Chancen für die Sicherheit

Wenn mehrere Faktoren im Spiel sind, ist auch eine Sperrung nach einer Reihe von Fehlversuchen möglich.

Bei nur einem Faktor (nur Hauptkennwort) können wir nämlich solche Sperrungen nicht durchführen: Sonst könnte ein Hacker durch gezielte Fehlanmeldungen den Zugang für die eigentlichen Besitzer blockieren (Denial-of-Service-Angriff).

Aber bei zwei Faktoren können wir drei Fälle unterscheiden:

  • Beide Faktoren sind ungültig: Der Anmeldeversuch wird ignoriert. Man kann getrost beliebig viele solche Versuche zulassen, wenn die Faktoren in der Kombination eine ausreiche Stärke haben. Ausreichend sind heute 128 Bit, mit 256 Bit sind wir wohl für alle absehbare Zukunft auf der sicheren Seite.
  • Beide Faktoren sind gültig: Die Anmeldung ist erfolgreich. Wenn Provider und Benutzer alles richtig gemacht haben, ist es äußerst un­wahr­schein­lich, dass ein Angreifer beide Faktoren simultan hacken konnte.
  • Ein Faktor ist gültig der andere nicht. Der Provider lässt mehrere Versuche zu. Erfolgt dann schließlich eine korrekte Anmeldung, werden die Fehl­ver­su­che vergessen. Wenn nicht, wird nach der maximalen Anzahl von Fehlversuchen der andere (bislang gültige) Faktor gesperrt.

Warum ist das so wichtig?

Es ist äußerst schwierig für einen Menschen, sich ein Kennwort, das 128 Bit Stärke aufweist, zu merken. Es wäre z. B. ein Kennwort mit 22 ausgewürfelten al­pha­nu­me­ri­schen Zeichen. Eine PIN hat z. B. nur etwa 13 Bit. (Stellen Sie sich vor, sie müssten 10 PINs auswendig lernen und jedesmal bei der Anmeldung eingeben.)

Wenn man aber die Anzahl von Fehlversuchen begrenzen kann, ist die notwendige Stärke des Faktors "Kennwort" viel geringer. Liegt die maximale Anzahl bei 15 Versuchen und hat das Kennwort 32 Bit Stärke, so liegt die Wahrscheinlichkeit eines Hack-Erfolges bei gerade mal eins zu drei Milliarden. (Trotzdem sollte man auch bei 2FA bei der Länge des key.matique Hauptkennworts nicht nachlässig werden, weil dieses nicht nur für die Anmeldung benötigt wird, sondern auch für die Verschlüsselung der Daten!)

Wie kann man die nötige Stärke erreichen?

Indem der zweite Faktor nicht gemerkt werden muss. D. h. er müsste irgendwo abgespeichert sein oder übertragen werden.

Es sollte nicht an den Kosten scheitern

Man denkt gleich an die TAN-Übertragung aufs Handy via SMS. Doch das ist nicht ganz billig: Mit ca. sieben Cent Kosten (2018) pro SMS müssten wir bereits beim Einkauf dieses Dienstes rechnen und diese Kosten entsprechend an unsere Kunden weitergeben. (Jetzt wissen wir, warum Bankgebühren trotz Online-Banking immer noch so hoch sind, außer die Bank kommt mit überteuerten Zinsen oder mit Provisionen für die Vermittlung von riskanten Geldanlagen auf ihre Kosten.)

Außerdem ist das Verfahren zeitaufwändig. Besonders in abgelegenen Gebieten, wo die Verbindung zum Mobilfunknetz unzuverlässig ist.

Doch was bringt eigentlich die TAN-SMS? Sie bringt nur den Nachweis, dass der Anmelder das registrierte Handy noch besitzt. Und dieser Nachweis ist auch noch ziemlich schwach: Eine sechsstellige TAN hat eine Stärke von nur knapp 20 Bit.

Also das sollten wir besser hinkriegen. Billiger, stärker und weniger zeitaufwändig!

Biometrische Daten? Besser nicht!

Sie haben sicher eine praktische Bedeutung. Ein Fingerabdruck auf dem Handy, um sich rasch nach einem Timeout wieder anzumelden, ist schon OK.

Aber biometrische Daten haben den Nachteil, dass diese jeder in der Umgebung stehlen kann. Ein Fingerabdruck auf dem Glas, ein Haar mit DNA, ein Foto vom Gesicht. Wenn jemand wirklich an die Daten kommen will, er kommt dran und kann damit dann das Anmeldesystem täuschen.

Für key.matique, das wichtige Daten schützen soll, keine Option!

Wie denn dann?

Wir implementieren Folgendes:

key.matique speichert ein Cookie ("device_id") in den Browser-Daten auf dem Gerät ab. Das passiert bei der Registrierung und bei jeder erfolgreichen Anmeldung. Dieses Cookie enthält einen 256-Bit-Schlüssel und ist damit ein starker Beweis, dass dem Anmelder das Gerät gehört, sofern er vorsichtig ist, und andere nicht die Daten von dem Gerät stehlen lässt.

Dieses Cookie ist der zweite Faktor bei der Anmeldung. Im Normalfall.

Sind die beiden Faktoren wirklich unabhängig?

Ich gebe zu: Darüber könnte man streiten: Wenn man das key.​ma­tique-​Haupt­kenn­wort (wie von uns empfohlen) im Browser speichert und für den Browser ein Hauptpasswort benutzt, dann sind beide Faktoren im Browser gespeichert.

Allerdings ist es etwas anderes, als ob man, wie früher möglich, den PIN-PUk-Brief zu der TAN-Liste legt:

Solange man das Hauptpasswort des Browsers nicht eingegeben hat, ist das Hauptkennwort der key.matique-Box nicht über den Browser zugänglich.

Das Cookie könnte ein Angreifer nur dann abgreifen, wenn er entweder phy­si­ka­li­schen Zugang auf den Rechner hat (und die Platte unverschlüsselt ist), oder auf ihn im laufenden Betrieb von außen zugreifen kann.

Aber es ist immer so bei einer 2FA, dass irgendwann, spätestens beim Benutzen beider Faktoren, diese zusammen kommen. Wenn jemand eine TAN via SMS bekommt und diese zusammen mit dem Kennwort in den Computer eintippt, könnte z. B. ein Keylogger auch beide gemeinsam abgreifen.

Wie schon an anderer Stelle gesagt: Es kann gar nicht um absolute Sicherheit gehen, sondern immer nur darum, die Sicherheit (gegenüber Al­ter­na­tiv­mög­lich­kei­ten) zu erhöhen.

Bei der 2FA ist letztlich nur entscheidend, dass die Be­schaf­fung beider Faktoren durch einen Angreifer ungleich schwieriger ist, als die Beschaffung eines einzelnen Faktors.

Wie schwierig ist das Hacken beider Faktoren zusammen?

Brute-Force-Angriffe auf eine key.matique-Box über das Internet (Ausprobieren häufig benutzter oder anderen Services gestohlenen Kennworten) funktionieren nicht mehr, wenn die Geräte-Berechtigung über ein Cookie erforderlich ist.

Der Diebstahl des Cookie ist remote nur möglich, wenn bereits das Gerät mit Malware infiziert ist. Lokal ist er einfacher möglich, aber man braucht ja noch das Kennwort. Wer ein Cookie stehlen kann, kommt wohl auch an die verschlüsselten Kennworte heran. Die könnten am ehesten noch mit der Brute-Force-Methode ermittelt werden. D. h. der Angreifer könnte die Kennworte seiner Liste als Haupt­pass­wort für den Browser ausprobieren. Aber das nach dem Stehlen der Daten wiederum ein zweiter aufwändiger Akt, da gute Browser für ihre Passwortmanager ein Schlüs­sel­stre­ckungs-​Ver­fah­ren (Key Stretching) anwenden.

Nur wenn es einem lokalen Angreifer gelingt, einen Keylogger zu installieren und die Festplatte zu kopieren, kann er direkt an das Hauptpasswort des Browsers gelangen und an die damit zu entschlüsselnden Daten und gleichzeitig an das Berechtigungs-Cookie des Computers für key.matique. Das ist schon eine recht hohe Hürde. Wer diese Hürde überspringt, könnte aber wohl ohnehin auf alle Passwort-Eingaben im Browser zugreifen. D. h. der Schaden würde durch das dann mögliche Eindringen in die key.matique-Box kaum noch vergrößert. Im Gegenteil: Wer Sitzungskennwörter verwendet, könnte das Eindringen des Hackers erkennen und den Schaden durch unverzügliches Ändern aller Kennwörter begrenzen.

Deshalb gehen wir davon aus, dass die von uns implementierte 2FA eine stark verbesserte Sicherheit bringen wird. Der Clou ist aber, dass der Benutzer bei normalen Anmeldungen dafür keinen Aufwand spendieren muss.

Allerdings gibt es ein paar Sonderfälle, um die man sich kümmern muss, und die ich im Rest dieses Artikels behandle.

Der Teufel steckt bekanntlich in den Details. Welche sind das?

  • Wie kann man auf einem weiteren Computer, Smartphone oder Tablet dieses Cookie abspeichern, d. h. dieses Gerät berechtigen, die An­mel­dung gegenüber key.matique durchzuführen?
  • Was passiert, wenn man den Browser wechselt? (Meist hat jeder Browser seine eigenen Cookies)
  • Wie kann ich mich auf Reisen, vom Computer eines Freundes oder von einem Internet-Cafe aus bei key.matique noch anmelden?
  • Wenn ein Gerät verloren gegangen ist, wie kann man dann verhindern, dass der Finder oder Dieb das Cookie als Berechtigungsnachweis nutzt?
  • Was mache ich, wenn ich versehentlich das entscheidende Cookie ge­löscht und mich damit ausgesperrt habe?
  • Ist die 2FA auch bei Mini-Boxen mit Notfallkoffern sinnvoll?

Diese Fragen sauber und transparent zu behandeln, ist entscheidend, denn: Wenn man das Verhalten nicht genau kennt, sperrt man sich entweder leicht aus oder hinterlässt Sicherheitslücken oder benutzt womöglich die Zwei-​Fak­tor-​Au­then­ti­sie­rung gar nicht erst.

Die angedachte Lösung mit dem Cookie ist nämlich keineswegs eine Erfindung von matique, sondern wird bereits in anderen Web-Anwendungen praktiziert. Allerdings mangelt es dort oft an der sauberen Behandlung der oben aufgeworfenen Fragen mit den eben angesprochenen Konsequenzen. Vielleicht sprechen die dahinter stehenden Service-Provider deshalb auch gar nicht von Zwei-​Fak­tor-​Au­then­ti­sie­rung, obwohl auch bei ihnen dieses Prinzip hinter ihrer Methode steht.

Ein neues Gerät berechtigen

Die eine Möglichkeit ist, kurzzeitig die 2FA abzuschalten, sich mit dem neuen Gerät anzumelden (damit wird es freigeschaltet und das Cookie wird gesetzt) und danach die #{ hyphen 'Zwei-_Fak_tor-_Au_then_ti_sie_rung' } wieder anzuschalten.

Sauberer ist es sich auf einem berechtigten Gerät einen Anmeldeschlüssel (mit kurzer Lebensdauer) zu besorgen und diesen auf dem neuen Gerät zur erstmaligen Anmeldung als zweiten Faktor zu verwenden.

Wechsel des Browsers

Ein Browserwechsel ist aus Sicht einer Web-App genauso zu werten wie ein Geräte wechsel. Die Web-App sieht nur die Cookies, die sie beim Browser abgelegt hat. Verwendet man einen anderen Browser, werden keine Cookies gefunden. Also benötigt man einen Anmeldeschlüssel, wenn man die 2FA nicht abschalten möchte.

Auf Reisen

Hier kann wieder ein Anmeldeschlüssel (mit einer sinnvollen Gültigkeitsdauer, die auch die Möglichkeit einer verzögerten Rückreise einschließt) dienen. Man kann ihn ausdrucken und im Hotelsafe lagern. Das Hauptkennwort hat man ja im Gegensatz dazu hoffentlich nur im Kopf, so dass auch bei Diebstahl des Schlüssels nichts Schlimmes passieren kann.

Geht's einfacher?

Wenn eine E-Mailbox gut geschützt ist (z. B. durch ein sehr langes, zufällig gewähltes Kennwort), kann ein kurzlebiger Anmeldeschlüssel, der auf ein bestimmtes Gerät bezogen ist, generiert und dem Box-Besitzer zugesandt werden, wenn dieser sich mit einem noch nicht freigeschalteten Gerät anmelden will. Das wird aber nur dann gemacht, wenn zumindest Boxname und Hauptkennwort richtig eingegeben wurden.

Diese Variante ist schwächer als die ausschließliche Benutzung von in der Box erstellten und abgefragten Anmeldeschlüssel. Denn E-Mails können von Dritten mitgeschnitten und verfälscht werden.

Doch diese "schwache" Variante ist weitaus sicherer als der komplette Verzicht auf 2FA. Denn nun sind gegen Botnet-Angriffe Lock-Outs möglich, die nur dann einen Box-Besitzer, der sein Hauptkennwort weiß, selbst betreffen, wenn Angreifer systematisch seine E-Mails mitschneiden und gezielt versuchen, damit den zweiten Faktor auszuhebeln.

Letzteres wäre dann aber erkennbar und könnte durch Gegenmaßnahmen bekämpft werden. Sollte der Mitschnitt der E-Mails nicht abstellbar sein, schließlich durch übergang auf die "starke" Variante, in der auf das Zusenden von Anmeldeschlüsseln per E-Mail verzichtet wird. Aber dann wüsste der Benutzer, warum er das tut und wohl immer noch bevor sein Hauptkennwort geknackt wird.

Deshalb haben wir uns entschieden, neben der "starken" auch die "schwache" Variante der 2FA unseren Benutzern anzubieten.

Und noch einfacher

Weil die Akzeptanz der 2FA so wichtig ist, haben wir uns zu noch einem weiteren Kompromiss durchgerungen:

Normalerweise lehnen wir jeglichen Link in unseren Mails als Sicherheitsrisiko ab. Zu groß erscheint die Gefahr des Phishings, bei denen der Benutzer mit gefälschten Mails auf gefälschte Seiten gelockt wird, um dort Zugangsdaten abzugreifen.

Aber die 2FA kann diese Gefahr stark einschränken. Und deshalb ist es gerechtfertigt, dafür eine Ausnahme zu riskieren: Wir erlauben dem Benutzer einzustellen, dass in den Mails, mit denen wir in der schwachen Variante Anmeldeschlüssel versenden, auch ein Freischaltungslink mit versendet wird. Dieser Freischaltungslink ist z. B. auf einem Smartphone weitaus leichter zu tippen als den Schlüssel aus der E-Mail zu kopieren und in die Anmeldemaske einzufügen.

Den Risiken, die solch ein Link in sich birgt, begegnen wir durch eine systematische Aufklärung beim Setzen der Einstellung, in der E-Mail und auf der Seite, zu der der Freischaltungslink führt. Letztere führt zudem nirgendwo hin (hat keine Links) und lässt dem Benutzer nur die Möglichkeit den Tab wieder zu schließen. Und der Benutzer wird dafür sensibilisiert, vorsichtig zu werden, sollte sich die Seite diesbezüglich einmal anders verhalten.

Die aufklärenden Hinweise haben irgendwann ihr Ziel erreicht und werden dann wohl überblättert. Somit steht hier ein sinnvoller einmaliger Aufwand gegen die dauerhafte Erleichterung, die der Link bietet.

Wir sind zuversichtlich, auch durch diese Maßnahme in der Summe ein Mehr an Benutzerfreundlichkeit und darüber bessere Akzeptanz und damit auch ein Mehr an Sicherheit zu gewinnen.

Warum überhaupt unterschiedliche Einstellungen?

Menschen sind unterschiedlich. Ihre Umgebungen auch. Manche reisen viel und benutzen viele unterschiedliche Geräte. Für diese wäre vielleicht ein super-starkes Hauptkennwort ohne zweiten Faktor die beste Lösung. Andere benötigen allerhöchste Sicherheit und haben einen ausgeprägten Ordnungssinn. Sie kommen vermutlich mit der starken 2FA-Variante gut zurecht.

Wieder andere vergessen leicht, etwas mitzunehmen. Für sie könnte die schwache Variante das Richtige sein. Wenn sie schon ein Verständnis dafür entwickelt haben, wie Phishing funktioniert, geht das auch mit Freischaltungslinks, sonst sollten sie wohl besser mit Copy/Paste arbeiten.

Gerät verloren?

Dann sollte es für den Zugriff auf key.matique gesperrt werden. Das ist bequem von einem anderen berechtigten Gerät aus möglich. Ist ein solches nicht verfügbar, geht das auch über ein Support-Ticket.

Ausgesperrt?

Wir weisen natürlich bei der Einrichtung der 2FA darauf hin, was man nicht machen sollte. Aber, sollte es doch passieren, keine Sorge: Über ein Support-Ticket lässt sich die Freischaltung eines Geräts erreichen. Weitere Geräte kann man dann wieder selbst über Anmeldeschlüssel freischalten.

Minibox mit Notfallkoffer

Das ist ein beliebtes Mittel, um eine digitale Vererbung für den Fall sicherzustellen, dass man "vor den Bus rennt" und der Lebenspartner an alle Geheimnisse kommen kann, um das Nötigste zu regeln, während man selbst noch im Koma liegt.

Solche Boxen werden oft jahrelang nicht angeschaut und enthalten vielleicht nur als versiegeltes Geheimnis das Hauptkennwort des Lebensgefährten.

In der Zeit zwischen Einrichtung und Verwendung des Notfallkoffers können E-Mail-Adresse und Telefonnummer geändert werden, ohne dass man daran denkt, die Minibox entsprechend upzudaten.

Es könnte auch sein, dass der alte Rechner verloren geht oder neu aufgesetzt wird, und dabei alle Cookies verloren gehen.

Daher kann es klug sein, sich einen Anmeldeschlüssel mit unbegrenzter Laufzeit auszudrucken und an einem sicheren Ort zu hinterlegen. Das Hauptkennwort sollte man auch hinterlegen, aber möglichst anders, z. B. elektronisch bei einer anderen Box (aber nicht gerade der des Lebenspartners) oder beim key.matique-Support.

Im Ernstfall weiß man dann entweder noch das Hauptkennwort und wo der Ausdruck des Anmeldeschlüssels liegt, oder man kann das Hauptkennwort vom key.matique-Support über ein Support-Ticket wieder erhalten und, wenn nötig, auch einen neuen Anmeldeschlüssel.

Anmeldeschlüssel verlegt

Über ein Support-Ticket kann man die Freischaltung des aktuellen Geräts beantragen. Wir haben für die Prüfung eines solchen Antrags Kriterien festgelegt, der Missbrauch ausschließt, aber das Verfahren dennoch einfach hält.

Wo finde ich die entsprechenden Menüpunkte?

Sobald das Ganze implementiert ist:

Die Dinge, die man aus der Box heraus tun kann (Anmeldeschlüssel erstellen oder löschen, Gerät sperren, 2-Faktor-Authentisierung an- und ausschalten), gehen über das Menü "Einstellungen", Unterpunkt "Anmeldung".

Die Dinge, die man man außerhalb einer angemeldeten Sizung tun muss (Gerätefreischaltung anfordern), kann man über das Support-Menü anstoßen.


>> Zurück zum Artikelverzeichnis >>