Was bedeutet gegenseitige Authentifizierung? | Zwei-Wege-Authentifizierung

Gegenseitige Authentifizierung oder Zwei-Wege-Authentifizierung liegt vor, wenn beide Seiten einer Verbindung die Identität des jeweils anderen verifizieren.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Gegenseitige Authentifizierung definieren
  • Erklären Sie, wie die gegenseitige Authentifizierung funktioniert
  • Die wichtigsten Anwendungsfälle für die gegenseitige Authentifizierung auflisten

Link zum Artikel kopieren

Was bedeutet gegenseitige Authentifizierung?

Von gegenseitiger Authentifizierung spricht man, wenn zwei Seiten eines Kommunikationskanals die Identität des jeweils anderen verifizieren, anstatt dass nur eine Seite die andere verifiziert. Die gegenseitige Authentifizierung wird auch als „Zwei-Weg-Authentifizierung“ bezeichnet, weil der Prozess in beide Richtungen geht.

Wenn jemand eine Rideshare-App benutzt, überprüft er normalerweise das Nummernschild oder die Beschreibung des Fahrzeugs, um sicherzustellen, dass er in das richtige Auto einsteigt. Sobald die Person eingestiegen ist, fragt der Fahrer den Fahrgast nach seinem Namen, um zu bestätigen, dass er die richtige Person mitnimmt. Der Fahrgast und der Fahrer überprüfen jeweils, ob sie mit der gewünschten Person interagieren – sodass der Fahrer den richtigen Dienst anbietet, der Fahrgast in einem Auto sitzt, das zu seinem Ziel fährt, und beide bestätigen können, dass sie mit jemandem zusammen sind, der von der Rideshare-App verifiziert worden ist.

In ähnlicher Weise verifiziert die gegenseitige Authentifizierung beide Parteien in einem digitalen Kommunikationskanal. Ein Client und ein Server, die die gegenseitige Authentifizierung nutzen, überprüfen unabhängig voneinander die Identität des jeweils anderen, anstatt dass nur der Client den Server authentifiziert. Auch bei Verbindungen zwischen Geräten, z. B. zwischen Internet of Things-Geräten (IoT), wird häufig die gegenseitige Authentifizierung verwendet.

Die gegenseitige Authentifizierung wird am häufigsten mit dem Protokoll Transport Layer Security (TLS) assoziiert, kann aber auch von anderen Protokollen und in anderem Kontext verwendet werden. Erfahren Sie mehr über gegenseitige TLS.

Wie funktioniert die gegenseitige Authentifizierung?

Es gibt drei Hauptmethoden für die gegenseitige Authentifizierung der Enden eines Kommunikationskanals:

1. Authentifizierung mit öffentlichem Schlüssel: Diese Methode stützt sich auf die Verschlüsselung mit öffentlichen Schlüsseln. Bei der Verschlüsselung werden die Daten mit Hilfe eines Schlüssels verschlüsselt. Bei der Verschlüsselung mit öffentlichem Schlüssel werden zwei Schlüssel verwendet – ein öffentlicher und ein privater Schlüssel. Die mit dem öffentlichen Schlüssel verschlüsselten Daten werden mit dem privaten Schlüssel entschlüsselt, und die mit dem privaten Schlüssel verschlüsselten Daten werden mit dem öffentlichen Schlüssel entschlüsselt.

Bei der gegenseitigen Authentifizierung mit öffentlichem Schlüssel geben beide Seiten der Kommunikation einen öffentlichen Schlüssel bekannt, und beide müssen den Besitz des privaten Schlüssels nachweisen, der zu ihrem öffentlichen Schlüssel gehört – wie jemand, der einen von der Regierung ausgestellten Personalausweis vorlegt, um seinen Namen zu verifizieren. Jede Seite sendet einen Datenabschnitt, der als „Signatur“ bezeichnet wird, und verschlüsselt diese Signatur mit ihrem privaten Schlüssel, während die andere Seite die Signatur mit dem öffentlichen Schlüssel entschlüsselt. Wenn die Signatur mit dem öffentlichen Schlüssel korrekt entschlüsselt werden kann, wurde der richtige private Schlüssel verwendet, und die Partei, die die Signatur gesendet hat, ist legitim.

2. Authentifizierung von Zertifikaten: Dieser Ansatz ähnelt der Authentifizierung mit öffentlichem Schlüssel, nur dass beide Parteien statt eines öffentlichen Schlüssels ein Zertifikat mit öffentlichem Schlüssel besitzen. Das Zertifikat enthält zusätzliche Informationen, mit deren Hilfe die Identität der Parteien überprüft werden kann. Dazu gehört, wer das Zertifikat und den öffentlichen Schlüssel ausgestellt hat, für wen das Zertifikat gilt, wann das Zertifikat abläuft usw. TLS-Zertifikate können für diese Art der gegenseitigen Authentifizierung verwendet werden, wenn beide Seiten über ein solches Zertifikat verfügen

3. Benutzername und Kennwort: Trotz des Namens wird bei dieser Methode der gegenseitigen Authentifizierung immer noch ein Zertifikat auf der Serverseite verwendet. Der Server legt dem Client ein Zertifikat vor, der das Zertifikat verifiziert. Auf der Clientseite funktioniert es genauso wie die typische Benutzername/Passwort-Authentifizierung: Der Client sendet seine Benutzername/Passwort-Kombination an den Server, der die Anmeldedaten verifiziert.

Wann wird die gegenseitige Authentifizierung verwendet?

Eine einseitige Authentifizierung findet im Internet ständig statt. Jedes Mal, wenn jemand eine Website mit HTTPS lädt, authentifiziert sein Gerät die Identität des Webservers, indem es das TLS-Zertifikat des Servers überprüft. Ein anderes Beispiel wäre eine Person, die sich bei ihrem Konto in einer Anwendung anmeldet – in diesem Fall authentifiziert die Anwendung die Person.

Die gegenseitige Authentifizierung beseitigt zwar einige Sicherheitslücken und macht einige Arten von Angriffen weitaus schwieriger, erfordert aber mehr Zeit und Rechenleistung für den Informationsaustausch. Außerdem ist ein gewisses Setup erforderlich – beide Seiten der Kommunikation benötigen eine Reihe von Anmeldeinformationen, ein öffentlich-privates Schlüsselpaar oder ein öffentliches Schlüsselzertifikat (je nach Art der Authentifizierung). Daher ist die gegenseitige Authentifizierung für den durchschnittlichen Nutzer schwer zu implementieren. Normalerweise ist die gegenseitige Authentifizierung daher kein Bestandteil von TLS, wenn jemand eine Webanwendung verwendet.

Zu den wichtigsten Anwendungsfällen für die gegenseitige Authentifizierung gehören:

  • IoT: Die meisten IoT-Geräte müssen sich zum einwandfreien Funktionieren mit einem entfernten Server verbinden. Möglicherweise müssen sie auch eine Verbindung zu anderen IoT-Geräten herstellen. IoT-Geräte müssen dies über ein ungesichertes Netzwerk (das Internet) tun. Die gegenseitige Authentifizierung hilft sicherzustellen, dass die erhaltenen Daten korrekt sind und von einer legitimen Quelle stammen. Das verringert das Risiko, dass ein Angreifer die Verbindungen kompromittiert hat.
  • API-Sicherheit: Die Authentifizierung stellt sicher, dass API Anfragen von einer legitimen Quelle stammen. Die gegenseitige Authentifizierung ist eine Möglichkeit, um sicherzustellen, dass eine API keine Anfragen von Angreifern annimmt und dass ein API-Benutzer keine gefälschten API-Antworten akzeptiert.
  • Zero Trust-Sicherheit: „Zero Trust“ ist eine Philosophie, die davon ausgeht, dass jeder Nutzer oder jedes Gerät eine Bedrohung darstellen könnte. Indem beide Seiten einer Verbindung sich authentifizieren müssen, gewährleistet die gegenseitige Authentifizierung, dass nur legitime Nutzer mit dem Netzwerk, dem Server oder der Anwendung verbunden werden. Umgekehrt können Nutzer sicher sein, dass sie sich mit dem richtigen Netzwerk, Server oder der richtigen Anwendung verbunden haben.

Gegen welche Arten von Angriffen hilft die gegenseitige Authentifizierung?

On-Path-Angriffe: Bei einem On-Path-Angriff befindet sich ein Angreifer in der Mitte einer Verbindung zwischen zwei Parteien. Der Angreifer fängt die Kommunikation in beide Richtungen ab und gibt sich gegenüber den beiden Beteiligten als der jeweils andere aus. Die gegenseitige Authentifizierung hilft, diese Art von Angriff anzuhalten, da der Angreifer nicht in der Lage ist, sich bei beiden Enden der Kommunikation zu authentifizieren.

Spoofing und Impersonation: Mit diesen Angriffen gaukeln Angreifer einem Server oder einem Nutzer vor, er sei eine bekannte und vertrauenswürdige Partei. Ein Angreifer könnte einem Nutzer einen Webserver vortäuschen oder umgekehrt. Solche Angriffe sind weitaus schwieriger, wenn sich beide Seiten authentifizieren müssen.

Diebstahl von Zugangsdaten: Einige Formen der gegenseitigen Authentifizierung basieren auf Passwörtern, und auch bei diesen könnte es zu einem Diebstahl von Zugangsdaten kommen (wenn ein Angreifer das Passwort eines legitimen Nutzers stiehlt). Da die gegenseitige Authentifizierung jedoch in der Regel auf öffentlichen Schlüsseln basiert, ist der Diebstahl von Anmeldeinformationen nicht möglich, da es keine Anmeldeinformationen zu stehlen gibt. Dies hält die Wirkung von Phishing-Angriffen an.

Welche Protokolle unterstützen gegenseitige Authentifizierung?

Diese Netzwerkprotokolle haben entweder eine integrierte gegenseitige Authentifizierung oder bieten die Möglichkeit, sie zu verwenden:

Secure Shell Protokoll (SSH): SSH ist ein Tunneling-Protokoll für die sichere Verbindung zu einem entfernten Server oder Gerät. SSH kann entweder die Authentifizierung mit öffentlichen Schlüsseln oder mit Zertifikaten verwenden. Mit anderen Worten: Sie können sich bei SSH entweder mit einem öffentlichen Schlüssel oder mit einem öffentlichen Schlüsselzertifikat gegenseitig authentifizieren.

TLS: Obwohl TLS nicht standardmäßig beide Enden einer Verbindung gegenseitig authentifiziert, kann es für diesen Zweck verwendet werden. Gegenseitiges TLS (mTLS) ist eine der am häufigsten verwendeten Arten der gegenseitigen Authentifizierung. Bei mTLS verfügen beide Seiten einer Verbindung über ein TLS-Zertifikat. mTLS wird häufig für API-Sicherheit, IoT-Sicherheit und Zero Trust-Sicherheitsanwendungen verwendet.

Bietet Cloudflare gegenseitige Authentifizierung an?

Die gegenseitige Authentifizierung ist das Herzstück mehrerer Zero Trust-Sicherheitslösungen von Cloudflare. Cloudflare for Teams, eine Zero Trust-Lösungssuite für die Zugriffskontrolle von Anwendungen und das Surfen im Internet, bietet mTLS zur Verifizierung von Nutzern und Geräten. Cloudflare API Shield unterstützt mTLS für die API-Authentifizierung und -Sicherheit.