Mutual TLS (mTLS) ist eine Art der Authentifizierung, bei der sich die beiden Parteien einer Verbindung gegenseitig über das TLS-Protokoll authentifizieren.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Mutual TLS, kurz mTLS, ist eine Methode zur gegenseitigen Authentifizierung. mTLS stellt sicher, dass die Parteien an beiden Enden einer Netzwerkverbindung die sind, die sie vorgeben zu sein. Dafür wird überprüft, ob beide den richtigen privaten Schlüssel haben. Die Informationen in ihren jeweiligen TLS-Zertifikaten bieten eine zusätzliche Überprüfung.
mTLS wird häufig in einem Zero Trust-Sicherheitsrahmen* verwendet, um Nutzer, Geräte und Server innerhalb einer Organisation zu verifizieren. Es kann auch helfen, APIs sicher zu halten.
**Zero Trust bedeutet, dass keinem Nutzer, Gerät oder Netzwerk Traffic standardmäßig vertraut wird, ein Ansatz, der hilft, viele Sicherheitslücken zu beseitigen.
Transport Layer Security (TLS) ist ein Verschlüsselungsprotokoll, das im Internet weit verbreitet ist. TLS, das früher SSL genannt wurde, authentifiziert den Server in einer Client-Server-Verbindung und verschlüsselt die Kommunikation zwischen Client und Server, sodass externe Parteien die Kommunikation nicht ausspähen können.
Drei wichtige Punkte zur Funktionsweise von TLS sollten Sie kennen:
TLS arbeitet mit einer Technik, die als Public-Key-Kryptographie bezeichnet wird und auf einem Schlüsselpaar beruht – einem öffentlichen Schlüssel und einem privaten Schlüssel. Alles, was mit dem öffentlichen Schlüssel verschlüsselt wird, kann nur mit dem privaten Schlüssel entschlüsselt werden.
Ein Server, der eine mit dem öffentlichen Schlüssel verschlüsselte Nachricht entschlüsselt, beweist also, dass er im Besitz des privaten Schlüssels ist. Den öffentlichen Schlüssel kann jeder einsehen, indem er sich das TLS-Zertifikat der Domain oder des Servers ansieht.
Ein TLS-Zertifikat ist eine Datendatei, die wichtige Informationen zur Überprüfung der Identität eines Servers oder Geräts enthält, einschließlich des öffentlichen Schlüssels, einer Erklärung darüber, wer das Zertifikat ausgestellt hat (TLS-Zertifikate werden von einer Zertifizierungsstelle ausgestellt), und des Ablaufdatums des Zertifikats.
Der TLS-Handshake ist der Prozess zur Verifizierung des TLS-Zertifikats und des Besitzes des privaten Schlüssels durch den Server. Beim TLS-Handshake wird auch festgelegt, wie die Verschlüsselung nach Abschluss des Handshakes erfolgen soll.
Normalerweise verfügt der Server bei TLS über ein TLS-Zertifikat und ein öffentliches/privates Schlüsselpaar, während der Client dies nicht hat. Der typische TLS-Prozess läuft folgendermaßen ab:
Bei mTLS haben jedoch sowohl der Client als auch der Server ein Zertifikat, und beide Seiten authentifizieren sich mit ihrem öffentlichen/privaten Schlüsselpaar. Im Vergleich zu regulärem TLS erfolgen bei mTLS zusätzliche Schritte zur Verifizierung beider Parteien (zusätzliche Schritte sind fett gedruckt):
Die Organisation, die mTLS implementiert, fungiert als ihre eigene Zertifizierungsstelle. Dies steht im Gegensatz zu Standard-TLS, bei dem die Zertifizierungsstelle eine externe Organisation ist, die überprüft, ob der Zertifikatsinhaber rechtmäßiger Eigentümer der zugehörigen Domain ist (erfahren Sie mehr über die Validierung von TLS-Zertifikaten).
Für mTLS ist ein „Root“-TLS-Zertifikat erforderlich. Das ermöglicht es einer Organisation, ihre eigene Zertifizierungsstelle zu sein. Die von autorisierten Clients und Servern verwendeten Zertifikate müssen mit diesem Stammzertifikat übereinstimmen. Das Stammzertifikat ist selbstsigniert, d. h. die Organisation erstellt es selbst. (Dieser Ansatz funktioniert nicht für einseitiges TLS im öffentlichen Internet, da eine externe Zertifizierungsstelle diese Zertifikate ausstellen muss).
mTLS macht den Traffic zwischen einem Client und einem Server in beide Richtungen sicher und vertrauenswürdig. Dies bietet eine zusätzliche Ebene der Sicherheit für Nutzer, die sich in das Netzwerk oder die Anwendungen eines Unternehmens einloggen. Es verifiziert auch Verbindungen mit Client-Geräten, die keinen Anmeldeprozess durchlaufen, wie Internet of Things-Geräte (IoT).
mTLS verhindert verschiedene Arten von Angriffen, darunter:
Für alltägliche Zwecke bietet die Einweg-Authentifizierung ausreichenden Schutz. Die Ziele von TLS im öffentlichen Internet sind 1) sicherzustellen, dass niemand gefälschte Websites besucht, 2) private Daten zu schützen und zu verschlüsseln, während sie die verschiedenen Netzwerke, die das Internet bilden, durchqueren, und 3) zu gewährleisten, dass die Daten während der Übertragung nicht verändert werden. Einseitiges TLS, bei dem der Client nur die Identität des Servers verifiziert, erfüllt diese Ziele.
Außerdem wäre die Verteilung von TLS-Zertifikaten an alle Endnutzer extrem schwierig. Das Generieren, Verwalten und Verifizieren der Milliarden von Zertifikaten, die dafür erforderlich sind, ist eine nahezu unmögliche Aufgabe.
In kleinerem Maßstab ist mTLS jedoch äußerst nützlich und für einzelne Organisationen durchaus praktikabel, insbesondere wenn diese Organisationen einen Zero Trust-Ansatz für die Netzwerksicherheit verfolgen. Da bei einem Zero Trust-Ansatz standardmäßig keinem Nutzer, keinem Gerät und keiner Anfrage vertraut wird, müssen Organisationen in der Lage sein, jeden Nutzer, jedes Gerät und jede Anfrage zu authentifizieren, wenn sie versuchen, auf einen beliebigen Punkt im Netzwerk zuzugreifen. mTLS ermöglicht dies, indem es Nutzer authentifiziert und Geräte verifiziert.
Cloudflare Zero Trust verwendet mTLS für Zero Trust-Sicherheit. Cloudflare API Shield verwendet mTLS auch zur Verifizierung von API-Endpunkten und stellt damit sicher, dass keine unbefugten Parteien potenziell böswillige API-Anfragen senden können. Erfahren Sie, wie Sie mTLS mit Cloudflare implementieren.