Multi-Faktor Authentifizierung (MFA)

Quelle: XKCD "Security"

Multi-Faktor Authentifizierung (MFA) beschreibt die Authentifizierung mit mehr als einem Faktor. Hierdurch will man verhindern, dass die Kenntnis des Passworts nicht der einzige Schutz der geheimen Daten ist.

Authentifizierungsfaktoren können sein:

  • etwas, das man weiß; ein Geheimnis, ein Passwort ...
  • etwas, das man hat; ein Schlüssel/Batch/Token, eine Smartcard, ein anderes Gerät ...
  • etwas, das man ist; biometrische Marker, Gesicht, Iris, Fingerabdruck ...

In der Praxis nutzen viele bekannte Dienste die Zwei-Faktor Authentifizierung (2FA) (auch bekannt als two-step verification) mit Passwort und einem Token.

Tokenbasierte MFA

Ein Token ist allgemein ein zusätlicher Gegenstand, den man als zweiten Faktor im Besitz haben muss. Oft ist das ein Smartphone mit entsprechender Authenticator App. Aber auch Hardware-Token wie Yubikeys, Nitrokeys oder auch Smartcards mit Kartenleser sind möglich.

Authenticator: OATH / *OTP

Oath (open authentication) ist (noch) einer der am häufigsten verwendeten zweiten Faktoren. Dienst und der Token kennen einen gemeinsamen Schlüssel, aus dem in abhängigkeit von Zeit (totp) oder einem Zähler (hotp) ein sog. Einmalpasswort  (one-time password, otp) generiert wird, das man als zusätzliches Kennwort eingibt. Der Schlüssel wird als QR-Code und Zeichenfolge geteilt. Nur wer das Gerät mit dem Schlüssel besitzt, kann die OTPs erstellen.

Dienste, die Oath anbieten, beziehen sich dabei oft auf "Google Authenticator", "Authenticator App", "otp app" oder ähnliches. Hinter all dem verbirgt sich dieselbe Technik, und man kann jede App oder jeden Hardware-Token verwenden, der Oath / OTP unterstützt.

Wir empfehlen die folgenden Authenticator Apps.

  • Aegis Authenticator(Android). Aegis verschlüsselt die Datenbank mit Password unterstützt aber auch ein Login mit Biometrie. Die App unterstützt verschlüsselte Backups der Datenbank.
     
  • Authenticator(iOS). Simple Authenticator App, die die Schlüssel verschlüsselt in der Apple Keychain speichert.
     
  • Yubico Authenticator(Android, iOS, Linux, Windows, Mac). Der Yubico Authenticator speichert die Schlüssel nicht in Software, sondern auf einem Yubikey. Der Vorteil ist, man kann seine Schlüssel auf einem Yubikey sicher speichern und dann an verschiedenen Geräten (Smartphone, Rechner) verwenden, auf dem der Yubico Authenticator verfügbar ist.

WebAuthn / FIDO2 / U2F

WebAuthn entwickelt sich rasant zum neuen Standard für 2FA im Web. WebAuthn ist ein assymetrisches Verfahren, das mit privaten und öffentlichen Schlüsseln arbeitet. Man ist man im Besitz eines Hardware-Tokens auf dem der persönliche, private Schlüssel gespeichert ist. Der Token wird bei einem  Webdienst registriert. Bei der Authentifizierung tauschen der Dienst und der Token dann geheime Informationen über den Browser aus. Voraussetzung ist also, dass man den Token besitzt und einen FIDO-kompatiblen Browser verwendet.

Die folgenden Hardware-Token unterstützen FIDO2 / U2F und werden von uns empfohlen

Die meisten gängigen Desktop Browser unterstützen mittlerweile WebAuthn. Auf mobilen Betriebssystemen ist die Unterstützung jedoch sehr gering.

Zertifikate

Zertifikate, wie die vom DFN ausgegebenen S/MIME Zertifikate, dienen als Identitätsnachweis und können bei Diensten als Authentifizierungsfaktor verwendet werden. Die Software muss die Authentifizierung über Zertifikat unterstützen. Das Zertifikat selbst wird auf einem Gerät oder Hardware-Token gespeichert.

Zertifikatsbasierte 2FA ist technisch simpel aber praktisch nicht weit verbreitet.

2FA an der Uni Konstanz

Die folgenden Dienste der Uni Konstanz unterstützen 2FA.