Authentifizierung

Kurz und einfach

Um ein Programm zu nutzen, muss ich mich anmelden. Um zu beweisen, wer ich bin, gibt es verschiedene Möglichkeiten:

Am sichersten ist es, zwei von diesen Dingen zusammen zu benutzen.

Authentifizierung und Authorisierung

Grundsätzlich wird bei einem Login-Vorgang der Benutzer mit seinem oder ihrem Userprofil verknüpft. Es wird sichergestellt, dass die Person wirklich die Person ist, die sie vorgibt zu sein ("Authentifizierung") und ob sie berechtigt ist, auf die gewünschte Ressource zuzugreifen ("Authorisierung").

Authorisierung wird von der Software geprüft, die der Benutzer verwenden möchte und wird deshalb hier nicht weiter behandelt.

Um die Person zu authentifizieren, gibt es verschiedene Strategien, die auf einen unterschiedlichen Faktor setzen:

(www.cloudflare.com/de-de/learning/access-management/what-is-multi-factor-authentication)

Werden mehrere von diesen Faktoren kombiniert, spricht man von Zweifaktor-Authentifizierung (2FA) oder Mehrfaktor-Authentifizierung (MFA). Durch diese Kombination kann die Sicherheit deutlich erhöht werden, da es sehr schwierig ist für Angreifer, an alle Faktoren zu gelangen.

Beispiel: Durch Phishing wird ein Passwort abgegriffen. Diese Art von Angriffen wird in der Regel von Akteuren durchgeführt, die geographisch weit entfernt sind, für die es sehr schwierig ist, in den Besitz eines physischen Objekts zu kommen.

www.cloudflare.com/de-de/learning/access-management/what-is-two-factor-authentication

Faktoren

"Wissen"

Die klassische Login-Methode mit Username und Passwort basiert auf dem Konzept, dass eine Person etwas weiss, das sonst niemand weiss.

Diese Login-Methode ist einfach zu implementieren, ist aber aus verschiedenen Gründen potenziell sehr unsicher und nicht sehr benutzerfreundlich:

Bei all diesen Punkten geht der eigentliche Sinn, dass das Passwort nur eine Person weiss, verloren.

Ein weit verbreiteter Irrglaube ist, dass Passwörter sicherer sind, wenn der verwendete Zeichensatz möglichst gross ist, also etwa Gross- und Kleinbuchstaben, Zahlen und Sonderzeichen verwendet werden. Die ist nicht grundsätzlich falsch, viel relevanter ist jedoch die Länge des Passworts.
Siehe auch XKCD: Password Strength.

"Besitz"

Aus den oben genannten Gründen ist es oft sinnvoll, den Faktor "Wissen" um einen weiteren Faktor zu erweitern. Oft wird dazu der Faktor "Besitzen" genutzt. Dabei wird bei der Authentifizierung überprüft, ob der Benutzer über ein physisches Objekt verfügt, welches möglichst nicht kopiert werden kann.

Verbreitet sind "Authenticator Apps", die auf einem Smartphone installiert werden, oder SMS bzw E-Mail-Codes. Hier wird sichergestellt, dass der User Zugriff auf das registrierte Smartphone (Authenticator App oder SMS) oder auf das E-Mail-Postfach hat. SMS und E-Mail sind dabei weniger sicher, weil ein Angreifer potenziell Zugriff auf das E-Mail-Postfach hat, oder die Telefonnummer entwendet hat.

Eine weitere Methode sind sogenannte "Hardware-Tokens". Das sind kleine Geräte, die aussehen wie ein USB-Stick und zur Authentifizierung in den Computer eingesteckt werden müssen. Diese sind sehr sicher, da die darauf gespeicherten Daten nicht ausgelesen werden können und damit sichergestellt ist, dass der Token so nur einmal existiert. Solche Tokens werden von verschiedenen Herstellern angeboten.

Passkeys

Eine Variante des Faktors "Besitzen" sind Passkeys. Diese sollen Passwörter ersetzen und den Authentifizierungs-Prozess sowohl sicherer als auch einfacher gestalten.

Dafür wird beim Erstellen des Benutzerkontos ein öffentlicher und ein privater Schlüssel erstellt. Der private Schlüssel verbleibt auf dem Gerät des Benutzers und der öffentliche wird zum Anbieter hochgeladen. Beim Login beweist nun der Benutzer mittels einem kryptografischen Verfahren im Besitz des privaten Schlüssels zu sein. Der Anbieter kann dies mit dem öffentlichen Schlüssel überprüfen.

Um zu verhindern, dass Angreifer, die in den Besitz des Gerätes mit Passkey gekommen sind, sich ebenfalls einloggen können, werden Passkeys mit einem weiteren Faktor verbunden, z.B. einem PIN (Faktor "Wissen") oder einem Fingerabdruck ( Faktor "Inhärente Eigenschaften").

(vgl. www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/Accountschutz/Passkeys/passkeys-anmelden-ohne-passwort_node.html)

"Inhärente Eigenschaften"

Damit ist eine physische Eigenschaft des eigenen Körpers gemeint, etwa das Gesicht oder ein Fingerabdruck. Diese Features werden von vielen modernen Smartphones bereits angeboten.

Es gibt auch Hardware-Tokens, welche zusätzlich über einen Fingerabdruck-Scanner verfügen, z.B. von Yubico.

(vgl. www.cloudflare.com/de-de/learning/access-management/what-is-multi-factor-authentication)