\section{Multi-Faktor-Authentifizierung}\label{sec:multi-faktor-authentifizierung}

Die Multi-Faktor-Authentifizierung kurz MFA, ist eine Authentifizierungsmethode bei der mindestens zwei oder mehr Authentifizierungsfaktoren kombiniert werden, um Zugang zu einem System oder Ressource zu erhalten.
Die MFA ist eine Kernkomponente einer starken Richtlinie für das Identitäts- und Zugriffsmanagement (IAM).
Anstelle, dass das System nur nach einem Benutzernamen und Passwort fragt, wird vom Benutzer ein oder mehrere Authentifizierungsfaktoren verlangt, was die Wahrscheinlichkeit eines erfolgreichen Angriffs erheblich verringert.

Es bleibt die Frage offen, warum MFA so wichtig ist.
Der Hauptgrund ist, das die Sicherheit des Unternehmens erhöht wird, da der Benutzer sich nicht mehr ausschließlich mit einem Benutzernamen und Passwort anmeldet.
Diese sind anfällig für zum Beispiel Brute-Force-Angriffe und können somit von Dritten gestohlen werden.
Der Einsatz eines weiteren Authentifizierungsfaktors erhöht das Vertrauen, dass das Unternehmen von Angriffen solcher Art geschützt ist.
Die Zwei-Faktor-Authentifizierung (2FA) wird meist als synonym für die MFA verwendet, ist aber eigentlich ein Teilbereich dessen.
Sie beschränkt die Anzahl der Authentifizierungsfaktoren auf zwei, während die MFA mindestens zwei oder mehr Authentifizierungsfaktoren umfasst.
(vgl.\:\cite{onelogin2025})

\subsection{Implementierungsvarianten}\label{subsec:implemntierungsvarianten}

\subsubsection{Software-Token}\label{subsubsec:software-token}

Aus den verschiedenen Implementierungsvarianten ist die Nutzung eines software- und zeitbasierten Einmalpasswortes die beliebteste Option.
Bekannt ist diese unter dem Namen Time-Based One-Time Passwort (TOTP).
Für die Nutzung ist eine Authentifizierungs-App auf einem mobilen Endgerät zu installieren.
Die am häufigsten genutzten Apps sind Google Authenticator oder Authy.
Innerhalb der App wird durch den Time-Based One-Time Passwort Algorithmus ein Code generiert.
Wie der Algorithmus funktioniert wird in dem RFC 6238 näher erläutert.
Als Eingabe erhält die Generierungsfunktion die aktuelle Uhrzeit zum Zeitpunkt der Authentifizierung.
Dies ist der Grund, warum ein generierter Code nur für maximal 60 Sekunden gültig ist und wird der Code nicht innerhalb dieser Zeit eingegeben, so muss ein neuer erstellt werden.
Im Gegensatz zum herkömmlichen SMS-basierten Einmalpasswort, wird der Authentifizierungscode auf demselben Gerät generiert und auch angezeigt.
So muss der Code nicht über das Netzwerk übertragen werden und das Risiko entfällt, dass der Code von einem Angreifer abgefangen wird.

Bei der Benutzerfreundlichkeit von softwarebasierten Authentifizierungs-Apps herrscht uneinigkeit.
Jeder Nutzer hat die Möglichkeit sich so eine App herunterzuladen, zu installieren und zu nutzen.
Dabei sind aber nicht alle TOTP-Anwendungen sicher.
Die Android-Malware \glqq{}Cerberus\grqq{} ist in der Lage, zeitbasierte Einmalpasswörter abzufangen, die von bestimmten TOTP-Apps erzeugt wurden.
Cerberus ist vom Malware-Typ Trojaner und nutzt eine Schwachstelle in der App aus, um sich weitere Berechtigungen zu verschaffen.
Läuft die App, so kann der Trojaner die Bildschirminhalte der App auslesen und an den Server des Angreifers übermitteln.
Positiv ist, dass Cerberus nicht weit verbreitet ist, was dem Anbieter die Möglichkeit gibt, die Sicherheitslücke in der Anwendung zu schließen.
(vgl.\:\cite{boonkrong2021}, S.\,139-141)

\subsubsection{Hardware-Token}\label{subsubsec:hardware-token}

Hardware-Token oder auch Authentifizierungstoken genannt, waren ursprünglich das am meisten genutzte Geräte für den zweiten Authentifizierungsfaktor.
Vom aussehen ähneln sie einer Mischung aus einem USB-Stick und einem Schlüsselanhänger mit größtenteils einem kleinen Display.
Manche besitzen auch ein Tastenfeld, um eine PIN einzugeben.
Die Hauptfunktion eines Hardware-Tokens ist es, bei jedem Login-Versuch einen neuen nummerischen Code zu generieren.

Heutzutage gibt es zwei Arten von Hardware-Token, die synchronisierten und asynchronen Tokens.
Synchronisierte Tokens stimmen ihre interne Zeit mit der des Authentifizierungsservers ab und erzeugen auf Basis dieser Zeit einen Code.
Asynchrone Tokens hingegen, erhalten eine zufällige Ziffernfolge vom Server.
Diese wird manuell in den Token eingegeben und dieser generiert daraufhin einen Code.
Neuere Hardware-Token in Form von USB-Sticks werden direkt in den USB-Port des Computers gesteckt.
Somit kann der Token den nummerischen Code automatisch an das System oder die Anwendung, bei dem der Nutzer sich gerade anmelden möchte, übertragen werden.
(vgl. \cite{boonkrong2021}, S.\,137\:f.)

\subsubsection{Einmalpasswörter über Short-Message-Service}\label{subsubsec:einmalpassworter-uber-sms}

Die SMS als Authentifizierungsfaktor ist keine neue Methode und lässt sich folgendermaßen beschreiben: Nachdem ein Nutzer seinen Benutzernamen und sein Passwort in ein System eingegeben hat, wird ein einmalig gültiges Passwort, ein sogenanntes One-Time Password (OTP), erzeugt und dem Nutzer per SMS zugesendet.
Der Nutzer muss diesen erhaltenen Code anschließend in das System oder die Anwendung eingeben, bevor ihm der Zugang gewährt wird.

Das OTP wird dabei mithilfe des HMAC-based One-Time Password (HOTP)-Algorithmus berechnet.
Die technische Spezifikation dieses Verfahrens ist im Dokument RFC 4226 beschrieben.
Das OTP zählt nicht zur Kategorie „Wissen“, da sich der Nutzer den Code nicht merken muss.
Vielmehr gehört es zur Kategorie „Besitz“, da der Code an das persönliche Mobiltelefon des Nutzers gesendet wird.

Es gibt jedoch einige Schwachstellen bei dieser Methode. Das National Institute of Standards and Technology (NIST) hat erkannt, dass das System nicht überprüfen kann, ob das OTP tatsächlich beim vorgesehenen Empfänger ankommt.
Ein weiteres potenzielles Risiko ergibt sich aus Sicherheitslücken im SS7-Protokoll (Signaling System Number 7), das auch als CCIS7 (Common Channel Interoffice Signaling 7) bekannt ist.
Dieses Protokoll wird hauptsächlich dazu verwendet, Mobilfunknetze zu verbinden und Anrufe sowie SMS zwischen verschiedenen Netzwerken weiterzuleiten.
Sollte ein Angreifer Zugriff auf das SS7-Protokoll erhalten, könnte er Telefonate und SMS mitlesen und so auch OTPs abfangen, die per SMS versendet werden.

Aus diesen Gründen betrachten Experten den SMS-Authentifizierungsfaktor als die am wenigsten sichere Form der Benutzerauthentifizierung.
Dennoch wird diese Methode nach wie vor am häufigsten eingesetzt, vor allem von Finanzinstituten.
(vgl.\:\cite{boonkrong2021}, S.\,138\:f.)


(vgl. \cite{boonkrong2021}, S.\,138\:f.)