Mutual Transport Layer Security, oder mTLS, ist ein Prozess, der eine TLS-Verbindung startet , die von beiden Parteien verschlüsselt bleibt, wobei X.509-Digitalzertifikate zur gegenseitigen Authentifizierung verwendet werden.
MTLS trägt außerdem dazu bei, das Risiko bei der Migration von Diensten in Cloud-Instanzen zu mindern und verhindert, dass böswillige Dritte darauf zugreifen.
Was ist TLS?
Transport Layer Security (TLS) ist ein kryptografisches Protokoll, das die sichere Kommunikation in Computernetzwerken gewährleistet. Webdienste nutzen dieses Protokoll, um die gesamte Kommunikation zwischen Servern und Webbrowsern zu schützen. Es findet Anwendung in verschiedenen Bereichen wie Web-Browsing, E-Mail, Instant Messaging und Voice over IP (VoIP).
Wie funktioniert TLS?
TLS ermöglicht Webbrowsern die sichere Verbindung zu Webservern. Der Webbrowser kann dem Webserver aufgrund des Vertrauens einer dritten Partei (der Zertifizierungsstelle) vertrauen. Damit dieses Vertrauen funktioniert, muss der Webbrowser die Zertifizierungsstelle jedoch kennen. Aus diesem Grund sind auf den Geräten der Nutzer und in Webbrowsern bereits Zertifikate vieler öffentlicher Zertifizierungsstellen vorinstalliert. Diese vorinstallierten Zertifikate bilden die Vertrauensbasis zwischen Webbrowsern und Websites, die ein Nutzer besucht oder besuchen möchte.
Damit ein Webbrowser dem Zertifikat, das ein Webserver erfolgreich bereitstellt, vertrauen kann, sind die folgenden Schritte erforderlich:
- Das öffentliche Zertifikat der Zertifizierungsstelle muss im Betriebssystem oder Webbrowser vorhanden sein. Es bildet somit die Grundlage für alle Vertrauensbeziehungen.
- Der Webbrowser muss den Domänennamen der Site mit einem angeforderten Zertifikat nachweisen. Nach Überprüfung der Berechtigung stellt die CA ein neues Zertifikat aus und installiert es im Webbrowser, nachdem sie es mit ihrem privaten Schlüssel digital signiert hat.
- Wenn der Webbrowser die Website besucht und eine TLS-Verbindung startet, sendet der Webserver sein Zertifikat an den Webbrowser.
- Nun verwendet der Webbrowser das öffentliche Zertifikat der Zertifizierungsstelle, um die Signatur des empfangenen Zertifikats zu überprüfen. Nach erfolgreicher Überprüfung weiß der Webbrowser, dass er mit einem Webserver verbunden ist, dessen Domänenbesitz nachgewiesen wurde.
Was ist gegenseitige TLS-Authentifizierung?
Die gegenseitige oder Zwei-Wege-Authentifizierung ist ein Sicherheitsverfahren, bei dem sich die beteiligten Parteien vor der eigentlichen Kommunikation gegenseitig authentifizieren. Bei der gegenseitigen Authentifizierung kann eine Verbindung nur hergestellt werden, wenn sowohl Client als auch Server den Anmeldeinformationen des jeweils anderen vertrauen und diese überprüfen. Client und Server müssen digitale Zertifikate zur Identitätsprüfung bereitstellen. Dieser Zertifikatsaustausch erfolgt über das TLS-Protokoll , um sicherzustellen, dass Clients mit legitimen Servern kommunizieren und Server nur auf Anfragen von Clients reagieren, die aus legitimen Gründen zugreifen möchten.
Ist mTLS ein neues Protokoll?
Die gegenseitige Authentifizierung ist Teil des TLS-Standards und gehört seit der Einführung des Secure Socket Layer (SSL) zu dieser Spezifikation. Ein Webserver, der TLS zur Sicherung seines Datenverkehrs nutzt, könnte zur gegenseitigen Authentifizierung in der Lage sein. Der Server muss den Client zur Implementierung der gegenseitigen Authentifizierung nach seinem Zertifikat fragen, die meisten Webbrowser sind jedoch standardmäßig nicht dafür konfiguriert.
Wo ist mTLS nützlich?
- Die gegenseitige Authentifizierung kann immer dann eingesetzt werden, wenn der Server die Authentizität und Gültigkeit eines bestimmten Benutzers oder Geräts sicherstellen muss. In der Praxis kann mTLS für Folgendes eingesetzt werden:
- Benutzer, die bei Anwendungen authentifiziert werden
- Geräte in einem Unternehmens- oder privaten Netzwerk
- Content Delivery Networks (CDNs) oder Cloud-Sicherheitsdienste auf Backend-Servern
- Internet der Dinge (IoT) Sensoren
- Business-to-Business-Datenaustausch (B2B), der verschiedene APIs verwendet.
- Microservice-Architekturen, bei denen jeder Microservice sicherstellen muss, dass jede Komponente kommuniziert und gültig ist.
Wie fördert die gegenseitige Authentifizierung die Anwendungssicherheit?
Viele Unternehmen migrieren in die Cloud, um die Vorteile von Multi-Cloud-Plattformen zu nutzen. Diese Kommunikation birgt jedoch Sicherheitsrisiken im Zusammenhang mit verschiedenen Cloud-Instanzen. Daher ist es unerlässlich, sicherzustellen, dass nur autorisierte Anwendungen oder Prozesse darauf zugreifen können. Dieses Problem lässt sich durch die Nutzung von gegenseitiger TLS-Authentifizierung lösen. Die gegenseitige Authentifizierung wird entweder in Verbindung mit einem Passwort-/Identitätsanbieter oder allein verwendet, um den von einer bestimmten Zertifizierungsstelle akzeptierten Zertifikatsbereich einzuschränken. Ein Client authentifiziert die Identität einer Website, indem er die Anmeldeinformationen von Server und Client validiert. Bei Cloud-basierten Instanzen dient HTTP als Transportprotokoll für die API und ermöglicht so die gegenseitige Authentifizierung der Komponenten.
Vorteile von mTLS
mTLS ist weit verbreitet, da SSL veraltet ist. Zahlreiche Unternehmen, wie beispielsweise Skype, nutzen mTLS zur Absicherung ihrer Server, und Cloudflare ist ein bedeutender Anbieter von PKI für mTLS. Dies ist besonders wichtig, wenn der Datenverkehr in beide Richtungen verschlüsselt werden soll. Oftmals melden sich Geräte automatisch in einem Netzwerk an und können so auf Ressourcen zugreifen. Die Verwendung von TLS gewährleistet eine korrekte Verschlüsselung, und ohne Authentifizierung kann kein Gerät auf Ressourcen zugreifen, um Man-in-the-Middle-Angriffe und andere Cyberangriffe zu verhindern. Dies bedeutet, eine kryptografisch verifizierbare Geräte- oder Serveridentität bereitzustellen oder die Ressourcen der Nutzer flexibler zu gestalten und gleichzeitig deren Sicherheit zu gewährleisten.
Fazit
Keine Technologie ist perfekt, daher wird TLS regelmäßig aktualisiert, und Nutzer sollten stets vertrauenswürdige Zertifizierungsstellen (CAs) verwenden . Benutzernamen und Passwörter sind zwar eine gute Wahl, aber unzuverlässig und angreifbar. Für eine sicherere Methode empfiehlt sich die kryptografische Signatur zur Identifizierung authentisierbarer Geräte.
