Mit zwei Faktoren authentisieren, aber richtig!

Zwei-Faktor- oder Multi-Faktor-Authentisierung wird heute von sehr vielen Webseiten wie Dropbox, Google, Apple, Facebook oder PayPal unterstützt. Sie hebt den Sicherheitslevel, weil neben einem Faktor den man kennt (das Passwort) ein weiterer Faktor, den man hat (Zwei-Faktor) oder der man ist (Multi-Faktor) für den erfolgreichen Einlog-Vorgang notwendig sind. Durch diese relativ einfache Erweiterung der Authentisierung sind erbeutete Passwort-Dateien schlichtweg wertlos. Ohne den oder die weiteren Faktor(en), häufig ist das eine PIN, die per SMS oder (weniger sicher) per Mail verschickt wird, ist keine Anmeldung möglich. Aber nur weil Zwei-Faktor Authentisierung eingesetzt wird, ist die Anmeldung noch nicht automatisch sicher. So sind zwei Faktoren die auf dem gleichen Endgerät auflaufen, auch wenn sie über zwei verschiedene Kommunikationskanäle übertragen werden, kein Gewinn für die Sicherheit. Eine PIN, die per SMS gesendet wird, mit einem Schlüsselwort über E-Mail oder durch eine App abzusichern, ist zu Zeiten von Smartphones mit standardmäßig eingebauten Mail-Clients nicht mehr sinnvoll. Bei hohen Sicherheitsansprüchen ist es auch wichtig, den Code für die Authentisierung erst dann zu generieren, wenn die Session gestartet und die Authentisierung mit dem ersten Faktor bereits durchgeführt wurde. Es ist zwar aus verschiedenen Gründen einfacher, wenn die Endgeräte mit vorgefertigten Codes ausgestattet werden, doch sind solche Implementationen systembedingt leichter angreifbar. Sie benötigen in der Regel eine Seed-Datei deren Inhalt die Ausgangsdaten für die später erzeugten Codes enthält. Wird die Seed-Datei gestohlen oder kompromittiert, könnten auch die damit erzeugten Codes repliziert werden. Ebenfalls wichtig: der erzeugte Code für ein Endgerät darf nur auf diesem Endgerät nutzbar sein. Sollte der Code abgefangen werden, ist er auf einem anderen Endgerät wertlos. Damit werden Man-in-the-Middle-Attacken erschwert. Egal wie der...