Wissen von A bis Z

mTLS (Mutual TLS)

Wenn sich nicht nur der Server, sondern auch der Client schick macht und seinen Ausweis zeigt, nennt man das mTLS.

mTLS (Mutual TLS) bezeichnet eine Variante von TLS, in der sich nicht nur der Server, sondern auch der Client mit einem X.509-Zertifikat ausweist. Beide Seiten prüfen die Zertifikatskette der Gegenstelle, sodass nach erfolgreichem Handshake eine beidseitig authentifizierte Verbindung besteht.

In der Praxis kommt mTLS vor allem in Maschinen-zu-Maschinen-Szenarien zum Einsatz: zwischen Microservices in einem Service Mesh (z. B. Istio, Linkerd), in Zero-Trust-Netzwerken, bei API-Zugriffen kritischer Systeme oder bei IoT-Geräten. In Cloud-Umgebungen wie Kubernetes wird mTLS häufig automatisch durch SPIFFE/SPIRE-basierte Identitäten konfiguriert.

Einsatzzweck ist eine starke beidseitige Authentifizierung ohne klassische Passwörter oder API-Keys. Das senkt das Risiko von Credential-Diebstahl und ermöglicht feingranulare Identitäten je Service oder Workload, die zentral über eine PKI verwaltet werden.

Die technische Möglichkeit, dass auch der Client ein Zertifikat schickt, gibt es seit den ersten SSL-Versionen Mitte der 1990er Jahre. Die breite operative Bedeutung gewann mTLS aber erst mit der Verbreitung von Microservices, Cloud-Native-Architekturen und Zero-Trust-Konzepten ab etwa 2015.

In vielen Service-Mesh-Implementierungen wird mTLS zwischen Sidecar-Proxies wie Envoy automatisch erzwungen, ohne dass die Anwendung selbst etwas davon mitbekommt – die Anwendung kommuniziert mit "localhost", die Verschlüsselung übernimmt die Infrastruktur. Diese Trennung von Geschäftslogik und Identität ist eine der zentralen Errungenschaften moderner Plattformarchitekturen.

Zurück