feat: expand overview of modern authentication methods and introduce FIDO2 protocol details

This commit is contained in:
2025-07-22 17:12:01 +02:00
parent 99e4922449
commit ae734e9839
3 changed files with 88 additions and 4 deletions

View File

@@ -1 +1,11 @@
\section{Moderne Authentifizierungsverfahren Überblick}\label{sec:moderne-authentifizierungsverfahren--uberblick}
\section{Moderne Authentifizierungsverfahren Überblick}\label{sec:moderne-authentifizierungsverfahren--uberblick}
Über viele Jahre hinweg haben traditionelle Authentifizierungsverfahren, wie Passwörter und PINs, gut funktioniert.
Allerdings haben Angreifer in der aktuellen Bedrohungslandschaft anspruchsvollere Angriffe entwickelt, die diese traditionellen Methoden umgehen können.
Für die Angriffe nutzen die Angreifer verschiedene Verfahren wie Wörterbuchangriffe, Social-Engineering-Kampagnen, Ausnutzung von Schwachstellen oder auch ganz neu die Nutzung von Künstlicher Intelligenz (KI) und Maschinelles Lernen (ML).
All diese Verfahren ermöglichen es, Passwörter leicht zu erraten, zu umgehen oder gehackt zu werden. Traditionelle Verfahren, die auf einem Faktor basieren, sind daher einfach umgehbar.
Moderne Authentifizierungsverfahren nutzen mehrere Faktoren, bedingte und kontextbezogene Sicherheitsrichtlinien und robuste Autorisierungsprotokolle, um zu bewerten, ob der Benutzer auch der ist, für den er sich ausgibt.
Organisationen wechseln von den traditionellen Authentifizierungsverfahren zu modernen Verfahren, da ihr Authentifizierungsprozess auf eine Kombination von Faktoren setzt,
Im Falle das ein Angreifer die erste Überprüfungsstufe, die zum Beispiel ein Passwort ist, überwindet aber die zweite Stufe nicht, so erhält dieser keinen Zugriff auf die Ressourcen und die Daten bleiben geschützt.
(vgl.\:\cite{vigo2024})

View File

@@ -14,7 +14,6 @@ Das Client-to-Authenticator Protocol kurz CTAP, ist ein Protokoll, welches die K
\subsubsection{Web Authentication}\label{subsubsec:web-authentication}
In Zusammenarbeit der FIDO-Alliance und dem WWW-Consortium wurde die Web Authentication (WebAuthn) entwickelt. Sie hatten das Ziel einen Standard zu schaffen, welcher Phishing-Angriffe verhindert. WebAuthn wurde im März 2019 als offizieller Webstandard anerkannt und wird von den meisten Browsern, zur Anmeldung bei webbasierten Diensten, unterstützt. Der Unterschied zwischen dem FIDO2-Standard und WebAuthn liegt darin, dass WebAuthn zusätzlich zum privaten Schlüssel, auch die korrekte Domain des Dienstes im Endgerät speichert und miteinander verknüpft. Dies schränkt die Nutzung des Schlüssels auf die konkrete Domain ein, wodurch Man-in-the-Middle-Angriffe ausgehebelt werden. (vgl.\:\cite{kebschull2023}, S.\,150\:f.)
%(vgl.\:\cite{kebschull2023}, S.\,150--152)
Beim WebAuthn ist genauso wie beim FIDO2-Standard in Registrierungs- und Anmeldeprozess zu unterscheiden. In \autoref{fig:webauthn-registrierung} ist der Registrierungsprozess dargestellt.
@@ -25,7 +24,7 @@ Beim WebAuthn ist genauso wie beim FIDO2-Standard in Registrierungs- und Anmelde
\label{fig:webauthn-registrierung}
\end{figure}
Im ersten Schritt der Registrierung wird die Webseite des Webdienstes aufgerufen (1). Voraussetzung für die Nutzung von WebAuthn ist, dass der Webdienst diesen auch als Authentifizierungsmethode anbietet. Nach der Auswahl der WebAuthn-Authentifizierungsmethode, wird das zu verschlüsselnde Datenwort (Challenge) mit dem Benutzernamen an den Client zurückgesendet (2). Die erhaltenden Daten werden mit der Domain des Webdienstes an den Authentifikator geben (3). Dieser erstellte eine dazugehörige ID, den privaten und öffentlichen Schlüssel und speichert diese auf dem Gerät. Im Anschluss wird die Challenge mit dem privaten Schlüssel verschlüsselt. Die verschlüsselte Challenge wird zusammen mit der ID und dem öffentlichen Schlüssel zurückgesendet (4). Der Client leitet die Daten an den Webdienst weiter (5) und schließt damit die Registrierung ab.
Im ersten Schritt der Registrierung wird die Webseite des Webdienstes aufgerufen (1). Voraussetzung für die Nutzung von WebAuthn ist, dass der Webdienst diesen auch als Authentifizierungsmethode anbietet. Nach der Auswahl der WebAuthn-Authentifizierungsmethode wird das zu verschlüsselnde Datenwort (Challenge) mit dem Benutzernamen an den Client zurückgesendet (2). Die erhaltenden Daten werden mit der Domain des Webdienstes an den Authentifikator geben (3). Dieser erstellte eine dazugehörige ID, den privaten und öffentlichen Schlüssel und speichert diese auf dem Gerät. Im Anschluss wird die Challenge mit dem privaten Schlüssel verschlüsselt. Die verschlüsselte Challenge wird zusammen mit der ID und dem öffentlichen Schlüssel zurückgesendet (4). Der Client leitet die Daten an den Webdienst weiter (5) und schließt damit die Registrierung ab.
Der Anmeldeprozess ist in der folgenden \autoref{fig:webauthn-anmeldung} dargestellt.
@@ -44,7 +43,7 @@ Die Vorteile der Nutzung von Webauthn sind:
\item Es ist nicht mehr notwendig, Passwörter zu merken oder zu verwalten
\item Jeder Webdienst erhält einen spezifischen Zugang und dieser kann somit nicht über verschiedene Dienste hinweg zugeordnet werden
\item Ist ein wirksames Mittel gegen Man-in-the-Middle-Angriffe
\item Die Sicherheit von WebAuthn kann durch die zusätzliche Verwendung eines USB-Tokens erhöht werden
\item die Sicherheit von WebAuthn kann durch die zusätzliche Verwendung eines USB-Tokens erhöht werden
\end{itemize}
(vgl.\:\cite{kebschull2023}, S.\,151)
@@ -78,5 +77,67 @@ Der Einsatz von TPMs hat folgende Vorteile:
\subsection{Funktionsweise und Ablauf}\label{subsec:funktionsweise-und-ablauf}
In der Funktionsweise ähnelt das FIDO2-Protokoll einem Public-Key-Verfahren.
Im groben Ablauf wird bei der Registrierung ein Schlüsselpaar aus einen privaten und einem öffentlichen Schlüssel generiert.
Der private Schlüssel ist nur auf dem Endgerät des Nutzers im TPM gespeichert und kann nicht ausgelesen werden.
An den Dienstleister wird der öffentliche Schlüssel übermittelt.
Bei der Anmeldung des Nutzers dient der private Schlüssel zur Verschlüsselung eines Datenpakets und wird ausschließlich im TPM eingesetzt.
So weisst das Endgerät des Nutzers nach, dass der Nutzer im Besitz des privaten Schlüssels ist.
Bei genauerer Betrachtung des Ablaufs der FIDO2-Authentifizierung, ist zu erkennen, dass in zwei Authentifizierungsschritte unterschieden wird.
Zum einen die Registrierung und zum anderen die Anmeldung.
Bei der Registrierung wird dem Nutzer ein FIDO2-Authentifikator angeboten.
Dem gegenüber muss der Nutzer sich über biometrische Faktoren, einer PIN, einer beliebigen anderen sicheren Methode oder dem Besitz authentifizieren.
Auf Basis dessen wird für den Dienst vom Authentifikator ein Schlüsselpaar generiert.
Der private Schlüssel wird im Authentifikator gespeichert und der öffentliche Schlüssel wird an den Dienst übermittelt.
Der zweite Authentifizierungsschritt ist die Anmeldung.
In diesem Schritt fordert der Dienst den Nutzer auf, sich mit demselben FIDO2-Authentifikator zu authentifizieren, den er bereits bei der Registrierung verwendet hat.
Um den Authentifizierungsprozess zu starten, muss der Nutzer auf seinem Gerät dieselbe Authentifizierungsmethode verwenden, die er ursprünglich für die Anmeldung genutzt hat.
Hierzu sendet der Dienst ein Datenpaket an den Authentifikator. Dieser verschlüsselt es mithilfe des privaten Schlüssels, der beispielsweise in der Hardware eines USB-Tokens hinterlegt ist, und übermittelt das verschlüsselte Ergebnis zurück an den Dienst.
Anschließend überprüft der Dienst die Authentizität, indem er das empfangene Datenpaket mit dem zugehörigen öffentlichen Schlüssel entschlüsselt und mit dem ursprünglich gesendeten Datenpaket vergleicht. Stimmen beide überein, ist nachgewiesen, dass der Nutzer im Besitz des privaten Schlüssels ist.
Die Authentisierung gilt in diesem Fall als erfolgreich, und der Dienst gewährt dem Nutzer den Zugriff.
\subsection{Weitere Arten von FIDO-Protokollen}\label{subsec:weitere-fido-protokollen}
Neben dem FIDO2-Standard hat die FIDO-Alliance noch zwei weitere Protokolle entwickelt.
Dies sind das Universal Second Factor (U2F) und das Universal Authentication Framework (UAF)\@.
Jeder von ihnen hat durch ihre Umsetzung bestimmte Vor- und Nachteile.
In den nächsten Abschnitten werden die beiden Protokolle kurz vorgestellt.
\subsubsection{Universal Second Factor}\label{subsubsec:universal-second-factor}
Das Universal Second Factor (U2F) Protokoll ersetzt das Passwort nicht vollständig, sondern arbeitet nebenher.
Es fordert den Nutzer auf seine Identität, zusätzlich zu seinem Passwort mit einem zweiten Faktor zu verifizieren.
Das kann aus etwas sein was der Kategorie Wissen oder Besitz sein.
Wurde der Sicherheitsschlüssel aktiviert, verwendet der Browser diesen, um den Zugang zum gewünschten Dienst zu ermöglichen.
(vgl.\:\cite{nevis2022})
\subsubsection{Universal Authentication Framework}\label{subsubsec:universal-authentication-framework}
Ein weiteres Protokoll ist das Universal Authentication Framework (UAF), welches eine passwortfreie Authentifizierung ermöglicht.
Gleichzeitig unterstützt es eine Multi-Faktor-Authentifizierung, für erhöhte Sicherheit.
Entwickelt würde es hauptsächlich für mobile Endgeräte, wie Smartphones.
Weit verbreitet ist das UAF im Finanzsektor in den Vereinigten Staaten und Europa.
(vgl.\:\cite{nevis2022})
\subsection{Vorteile und Herausforderungen}\label{subsec:vorteile-und-herausforderungen}
Der FIDO2-Standard bietet mehrere Vorteile, die ihn zu einer attraktiven Wahl für moderne Authentifizierungsmethoden machen:
\begin{itemize}
\item Nutzer müssen sich nie mit einem komplexen Passwort auseinandersetzen
\item Private Schlüssel verlassen das Endgerät nicht
\item Jeder Dienst erhält ein eigenes Passwort
\item Jede Authentifizierung hat immer ein unterschiedliches Datenpaket
\item Passwort oder Schlüssel wird niemals über das internet übertragen, was heißt es kann nicht abgefangen werden
\end{itemize}
Jedoch hat auch dieses Authentifizierungsverfahren seine Herausforderungen:
\begin{itemize}
\item Der Betreiber des Dienstes muss sicherstellen, dass es keine alternativen Authentifizierungsmethoden gibt, die das FIDO2-Verfahren umgehen können
\item Erhöhter administrative Aufwand, da ein robustes Verfahren für den Einsatz des FIDO2-Authenfikators geschaffen werden muss
\item Es ist trotzdem grundsätzlich über einen Man-in-the-Middle-Angriff angreifbar
\end{itemize}
(vgl.\:\cite{kebschull2023}, S.\,148\:f.)