Ausgehende REST-Aufrufe mit mTLS
REST-Aufruf mit Authentifizierung via Client-Zertifikat mit mTLS
Mutual TLS (mTLS) steht für Mutual Transport Layer Security und ist eine Erweiterung von TLS (Transport Layer Security), dem meistverwendeten Sicherheitsprotokoll für die Verschlüsselung und den Schutz von Daten im Internet. Während TLS hauptsächlich verwendet wird, um die Kommunikation zwischen einem Client (z.B. einem Webbrowser) und einem Server zu sichern, geht mTLS einen Schritt weiter, indem es eine beidseitige Authentifizierung ermöglicht. Das bedeutet, dass sowohl der Client als auch der Server ihre Identität gegenseitig bestätigen müssen, bevor eine sichere Kommunikation stattfinden kann.
Vorteile von mTLS:
Verbesserte Sicherheit: Durch die beidseitige Authentifizierung können sowohl der Client als auch der Server sicher sein, dass sie Daten mit dem richtigen Partner austauschen. Dies schützt vor verschiedenen Arten von Angriffen, einschließlich Man-in-the-Middle-Angriffen.
Fein abgestimmte Zugriffskontrolle: mTLS ermöglicht eine detaillierte Zugriffskontrolle auf Ressourcen. Da die Identität jedes Clients verifiziert wird, kann der Zugriff auf spezifische Dienste oder Daten strikt reguliert werden.
Datenschutz: Die verschlüsselte Kommunikation schützt sensible Informationen vor dem Zugriff durch Dritte.
Standardkonformität: Für bestimmte Branche, insbesondere im Finanz- und Gesundheitswesen, kann mTLS dabei helfen, Compliance-Anforderungen zu erfüllen.
Voraussetzungen für mTLS:
TLS-Unterstützung: Sowohl Clients als auch Server müssen TLS unterstützen.
Zertifikate: Sowohl der Client als auch der Server benötigen digitale Zertifikate. Diese dienen als digitale Pässe oder Ausweise, die die Identitäten bestätigen. Diese Zertifikate werden i.d.R von einer vertrauenswürdigen Zertifizierungsstelle (Certificate Authority, CA) ausgestellt.
Der Kunde ist zuständig passende Zertifikate im CRM zu hinterlegen, sodass diese bei einem REST-Aufruf mit mTLS zur Verfügung stehen.
Das CRM benötigt ein Schlüsselpaar bestehend aus einem privaten, verschlüsselten Schlüssel (encrypted private key) und dem dazugehörigen öffentlichem Zertifikat, um sich gegenüber der Gegenstelle zu authentifizieren. Der Schlüssel muss in der Syntax nach PKSC8 und das Zertifikat im Syntax nach X.509 vorliegen. Beide Werte werden zusammen in PEM-Format im CRM abgelegt.Vertrauenswürdige Zertifizierungsstellen: Der Client und der Server müssen sich gegenseitig vertrauen, was bedeutet, dass die Zertifikatsketten, die ihre Zertifikate validieren, bis zu einer gemeinsam anerkannten CA zurückverfolgbar sein müssen.
mTLS bietet eine sehr hohe Sicherheit für die Kommunikation zwischen Systemen. Es ist besonders nützlich in Umgebungen, in denen hohe Sicherheits- und Vertrauensanforderungen bestehen. Es erhöht jedoch die Komplexität durch den Aufwand für die Einrichtung und Verwaltung der Zertifikate (Zertifikate haben ein Ablaufdatum und müssen regelmäßig erneut ausgestellt und verteilt werden) bzw. bei die Gestaltung der REST-Aufrufe.