Glossar · Sicherheit · Stand
mTLS
Bei mTLS weisen sich beide Seiten einer TLS-Verbindung mit Zertifikaten aus. Neben dem Server belegt auch der Client den Besitz seines privaten Schlüssels. Welche Zugriffe danach erlaubt sind, entscheidet eine separate Berechtigungsprüfung.
Beide Seiten weisen sich aus
Bei einer üblichen HTTPS-Verbindung prüft der Browser das Zertifikat des Servers. mTLS ergänzt die Authentifizierung des Clients. Der Server fordert ein Client-Zertifikat an und prüft den Nachweis, dass die Gegenstelle den zugehörigen privaten Schlüssel besitzt.
Zertifikat und privater Schlüssel sind dabei nicht dasselbe. Das Zertifikat enthält unter anderem den öffentlichen Schlüssel. Der private Schlüssel bleibt bei der jeweiligen Gegenstelle; er wird beim TLS-Handshake nicht an den anderen Teilnehmer übertragen.
Ein Beispiel zwischen zwei Diensten
Ein Abrechnungsdienst ruft eine interne API auf. Beide Seiten vertrauen einer festgelegten Zertifizierungsstelle. Die API verlangt zusätzlich ein passendes Client-Zertifikat. Eine verschlüsselte Verbindung allein reicht dadurch nicht mehr, um als dieser Dienst aufzutreten.
Anschließend muss die API entscheiden, welche Aktionen diese Identität ausführen darf. Ein gültiges Zertifikat ist kein Freibrief für alle Daten. Ausgabe, Erneuerung, Widerruf und Schutz der Schlüssel gehören ebenfalls zum Betrieb dieses Zugangs.
Wo die Authentifizierung endet
Steht ein Proxy dazwischen, kann er die mTLS-Verbindung beenden. Die Verbindung zum Ursprung ist dann eine eigene. Der Ursprung hat das Client-Zertifikat nicht selbst in demselben Handshake geprüft.
Soll die bestätigte Identität weitergegeben werden, braucht es einen vertrauenswürdigen Weg. Der Proxy muss von außen gelieferte Identitätsheader entfernen oder ersetzen; der Ursprung darf entsprechende Angaben nur von berechtigten Vermittlern akzeptieren. Ein frei setzbarer Header allein ist kein Zertifikatsnachweis.
Häufige Fragen
Ist mTLS eine andere Verschlüsselung als TLS?
Nein. Es nutzt TLS und ergänzt die gegenseitige Authentifizierung. Der Unterschied liegt darin, dass auch der Client seine Identität per Zertifikat nachweist.
Kann jedes Serverzertifikat als Client-Zertifikat dienen?
Das sollte nicht vorausgesetzt werden. Zertifikatsprofil, erlaubter Verwendungszweck und Vertrauenskonfiguration müssen zur Client-Authentifizierung passen.