Unter Authentifizierung ist der Prozess zu verstehen, welcher festlegt, ob einem Nutzer der Zugang zu einem System gewährt wird. Außerdem wird dabei auch die Identität des Nutzers überprüft. Der Nutzer wird dazu verpflichtet für die Erlaubnis oder die Rechte für den Zugang und die Nutzung des Systems, eine Art Nachweis erbringen. Je nach System können diese Berechtigungsnachweise unterschiedlich aussehen. Sie sind auch unter dem Begriff Authentifizierungsfaktor bekannt. Die Authentifizierung kann in drei verschiedene Kategorien unterteilt werden, die sich auf die Art des Nachweises beziehen. Diese Kategorien sind Wissen, Besitz und Biometrie. Auf die einzelnen Kategorien wird im \autoref{subsec:kategorien-von-authentifizierungsfaktoren} noch genauer eingegangen. (vgl.\:\cite{boonkrong2021}, S.\,45\:f.)
\subsection{Abgrenzung von Authentifizierung, Vertraulichkeit und Integrität}\label{subsec:abgrenzung-von-authentifizierung-vertraulichkeit-und-integritat}
Zur Abgrenzung der Authentifizierung von den Begriffen Vertraulichkeit und Integrität, ist es nötig die weiteren Begriffe zu definieren.
Vertraulichkeit beschreibt, dass ein nur autorisierte Nutzer Zugang zu entsprechenden Daten erhalten.
Sie geht verloren, wenn Daten an einen unbefugten Nutzer weitergeben werden.
Als Beispiel für eine Verletzung der Vertraulichkeit kann die weitergabe von Kundendaten an ein Konkurrenzunternehmen genannt werden.
Unter der Integrität ist der Schutz von Daten vor unbefugten Veränderung oder Löschung zu verstehen.
Es soll nicht möglich bestehen unbefugt Daten zu manipulieren oder gar zu löschen.
Beispielsweise wird bei einer Überweisung die Kontonummer des Empfängers gefälscht.
(vgl.\:\cite{kaufmann2023}, S.\,567)
\subsection{Unterschied zwischen Authentifizierung, Authentisierung und Autorisierung}\label{subsec:unterschied-zwischen-authentifizierung-authentisierung-und-autorisierung}
Der Begriff Authentifizierung ist zu Beginn des Kapitels definiert worden.
Die Begriffe Authentisierung und Autorisierung sind jedoch nicht identisch mit der Authentifizierung, dennoch werden sie oft synonym verwendet.
Authentisierung beschreibt den Nachweis der Identität eines Nutzers durch beispielsweise die Eingabe eines Benutzernamens und Passworts.
Geht es um die Autorisierung, so wird von der Vergabe von Zugriffsrechten basierende auf der bestätigten Identität des Benutzers gesprochen.
Also welche Aktionen oder Ressourcen dem Nutzer nach erfolgreicher Anmeldung zur Verfügung stehen.
Beim Authentifizierungsfaktor des Typs Wissen, nutzt der Benutzer, was er in seinem Gedächtnis gespeichert hat zur Authentifizierung. Dies kann beispielsweise ein Passwort oder eine PIN-Nummer sein. Die Authentifizierung durch Wissen besteht in vereinfachter Form aus zwei Schritten. Im ersten Schritt ist die Registrierungsphase, in dieser wählt der Antragsteller ein Passwort aus. Dieses wird dann in einer Passwortdatenbank gespeichert. Im Vorfeld der Speicherung wird möglicherweise das Passwort noch vorverarbeitet. Abgeschlossen ist diese Phase mit der Speicherung des Passwortes. Im zweiten Schritt, der Authentifizierungsphase, gibt der Antragsteller sein Passwort ein. Dieses wird dann mit dem in der Datenbank gespeicherten Passwort verglichen. Stimmen die Passwörter überein, so wird dem Antragsteller der Zugang gewährt. (vgl.\:\cite{boonkrong2021}, S.\,49\:f.)
Ist der Authentifizierungsfaktor des Typs Besitz, so ist eine Voraussetzung, dass der Antragsteller einen physischen Gegenstand besitzt. Dieser Gegenstand kann beispielsweise eine Chipkarte oder ein Authentifizierungs-Token sein. Ein Authentifizierungs-Token ist ein kleines Gerät, meist als Schlüsselanhänger, welches auf einem Display eine Reihe von Zahlen anzeigt. Diese Zahlen dienen als Passcode für den Authentifizierungsprozess. Der Token kann entweder synchron oder asynchron arbeiten. Im Falle eines synchronen Tokes, wird dieser mit dem Authentifizierungsserver synchronisiert. Das bedeutet, dass der Token die Zeit des Servers kennt und die angezeigten Zahlen auf dem Display in regelmäßigen Abständen aktualisiert. Während der Anmeldephase gibt der Antragsteller den angezeigten Code ein. Der Server vergleicht diesen Code mit dem, den er selbst berechnet hat. Asynchrone Tokens sind zeitunabhängig. Der Benutzer erhält beim Anmeldeversuch vom Authentifizierungsserver eine zufällige Ziffernfolge. Diese kann dann in den Token eingegeben werden. Der Authentifizierungs-Token berechnet anhand der Ziffernfolge einen Passcode, als Antwort. Der Benutzer gibt zum Abschluss des Anmeldeversuchs den Passcode ein. Bei übereinstimmenden Passcodes wird der Zugang gewährt. (vgl.\:\cite{boonkrong2021}, S.\,51\:f.)
Die dritte Kategorie der Authentifizierungsfaktoren ist die Biometrie. Dieses Kriterium beschäftigt sich mit Merkmalen des Antragstellers. Es nutzt somit Körpermaße, welche als biometrische Daten bezeichnet werden. Einfacher ausgedrückt, der Faktor erfordert, dass der Authentifikator den Antragsteller mittels einer biometrischen Information authentifiziert. Allgemein bekannte biometrische Merkmale sind beispielsweise der Fingerabdruck, der Handabdruck, die Handgeometrie, das Gesicht, die Iris und die Retina. Von diesen Merkmalen gelten allerdings nur der Fingerabdruck, die Netzhaut und die Iris als einzigartig. Wie beim Faktor Wissen besteht auch hier der Authentifizierungsprozess aus zwei Phasen. Die Registrierungsphase beginnt mit der Erfassung der biometrischen Daten des Antragstellers. Im Anschluss werden die erfassten Daten verarbeitet und in ein biometrisches Muster umgewandelt. Das Muster wird in einer Datenbank gespeichert. Auch in der zweiten Phase, der Authentifizierungsphase, wird mit der Erfassung der biometrischen Daten begonnen. Diese werden dann auch umgewandelt und mit dem in der Datenbank gespeicherten Muster verglichen. Bei Übereinstimmung war die Authentifizierung erfolgreich und der Antragsteller erhält Zugang. (vgl.\:\cite{boonkrong2021}, S.\,52\:f.)
Eine große Herausforderung bei klassischen Authentifizierungsverfahren ist, dass die Authentifizierungsmechanismen vor Kompromittierung durch Angreifer zu schützen. Authentifizierungsmethoden welche ausschließlich aus Benutzernamen und Passwort bestehen, gelten als unsicher. Das Open Web Application Security Project (OWASP) stuft auf der Liste der am meisten beobachteten Anwendungsschwachstellen, die fehlerhafte Authentifizierung auf dem zweiten Platz. Die Angreifer versuchen auf ganz unterschiedliche Weisen an die Authentifizierungsdaten zu gelangen. Im weiteren Verlauf soll detaillierter auf Standardpasswörter, Replay-Angriffe und Man-in the Middle-Angriffe eingegangen werden.
Standardpasswörter sind vordefinierte und vorkonfigurierte Passwörter für eine Software oder ein Gerät. Oft vorhanden in Geräten wie Routern, Switchen, drahtlose Zugangspunkte und Internet of Things (IoT) Geräte. Sie gelten als Hauptproblem bei Authentifizierungsmechanismen, da sie oft übersehen werden. Werden diese Passwörter nicht geändert, können Angreifer ohne große Probleme für beliebige Geräte und Software ein Standardpasswort finden. Diese Passwörter sind in der Regel öffentlich zugänglich und können von Angreifern leicht gefunden werden. Ein Beispiel für ein Standardpasswort ist ``admin'' oder ``123456''. Mittels dem in Erfahrung gebrachten Passwort kann der Angreifer in den meisten Fällen als Administrator auf das Gerät zugreifen. Es gibt aber auch Möglichkeiten die Sicherheit von Standardpasswörtern zu erhöhen. Das wären unter anderem, das Verwenden von eindeutigen und sicheren Standardpasswörtern oder der den Benutzer nach der erstmaligen Anmeldung zwingen, das Standardpasswort zu ändern. (vgl.\:\cite{boonkrong2021}, S.\,59\:f.)
Eine beliebte Methode um Authentifizierungsmechanismen anzugreifen sind Replay-Angriffe. Zur Durchführung eines solchen Angriffs muss der Angreifer Zugang zum Netzwerk zwischen zwei kommunizierenden Parteien haben. Der Angriff kann nur dann Erfolgreich sein, wenn die Anmeldedaten des Benutzers nicht im Klartextformat vorliegen. Die Durchführung eines Replay-Angriffs ist wie folgt, der Angreifer kopiert das Passwort oder die Zugangsdaten einer Entität und verwendet diese, um sich bei der anderen Entität zu authentifizieren. Es wird das Ziel verfolgt den Benutzer zu imitieren, dessen Zugangsdaten kopiert wurden. Vereinfacht ausgedrückt, kopiert der Angreifer die Nachricht mit den Zugangsdaten und sendet diese erneut an einen Authentifizierungsserver, in der Hoffnung, erfolgreich verifiziert zu werden. (vgl.\:\cite{boonkrong2021}, S.\,61)
Der Man-in-the-Middle-Angriff tritt auf, wenn ein Angreifer in der Kommunikation zwischen zwei Parteien sitzt und die Kommunikation abhört. Da alle Nachrichten über den Angreifer geleitet werden, kann dieser die Nachrichten lesen und manipulieren. Das bietet dem Angreifer die Möglichkeit beiden Parteien vorzutäuschen, dass jede Partei glaubt, direkt mit der anderen zu kommunizieren. Ein Authentifizierungsangriff kann so aussehen, dass der Angreifer sich z. B. als legitimer WLAN-Zugangspunkt ausgibt. Dadurch kann der Angreifer Benutzernamen und Passwörter abfangen und diese an den Authentifizierungsserver weiterleiten und sich damit als der Benutzer ausgeben. (vgl.\:\cite{boonkrong2021}, S.\,62)