Gegenseitige OpenID Connect-TLS-Clientauthentifizierung und zertifikatgebundenes Zugriffstoken

OpenID Connect for Open Banking-Anwendungen können für die Verwendung eines MTLS-Clientzertifikats (MTLS = Mutual TLS) für die Clientauthentifizierung konfiguriert werden. Registrieren Sie die Details des Clientzertifikats, damit die Clientauthentifizierung mit dem Zertifikat ausgeführt werden kann, anstatt einen geheimen Clientschlüssel zu speichern und zu verwenden.

Zugriffs- und Aktualisierungstoken können an das Zertifikat gebunden werden, das zum Herstellen einer gegenseitigen TLS-Verbindung mit IBM® Verify am Endpunkt https://{{tenant}}/oauth2/token verwendet wird. Diese Verbindung wird als "Besitznachweis" verwendet, wenn der Ressourcenserver das Token validieren und erzwingen muss, dass dasselbe Zertifikat vorhanden sein muss, damit dieses konkrete Zugriffstoken verwendet wird. Dieser "Besitznachweis" verhindert, dass gestohlene Zugriffstoken für den Zugriff auf geschützte Ressourcen verwendet werden können. Während der Selbstüberprüfung (Introspektion) dieses Tokens wird eine Anforderung für die Bestätigungsmethode "cnf" zurückgegeben, die den Fingerabdruck des Zertifikats enthält.
{
	"iss": "https://server.example.com",
	"sub": "ty.webb@example.com",
	"exp": 1493726400,
	"nbf": 1493722800,
	"cnf": {
		"x5t#S256": "bwcK0esc3ACC3DB2Y5_lESsXE8o9ltc05O89jdN-dg2"
	}
}
Hinweis: Die MTLS-Client-Authentifizierung ist keine Voraussetzung für zertifikatsgebundene Zugriffstoken. Es kann auch eine andere Methode zur Clientauthentifizierung, z. B. JWT mit privatem Schlüssel, für die Clientauthentifizierung verwendet werden, während das generierte Zugriffstoken weiterhin an ein Zertifikat gebunden werden kann.

Voraussetzungen

  • Konfigurieren Sie einen angepassten Domänennamen für den Tenant zusammen mit einem registrierten CA-Bundle. Dieses wird normalerweise bei der Erstellung oder Aktualisierung des Verify-Tenants bereitgestellt.
  • Konfigurieren Sie den Client der Relying Party für die Verwendung der gegenseitigen TLS-Clientauthentifizierung.
  • Konfigurieren Sie den Ressourcenserver oder das Ressourcen-API-Gateway, um zertifikatgebundene Zugriffstoken zu überprüfen.

Vorgehensweise

  1. Erstellen Sie einen API-Client mit aktivierter Berechtigung zum Verwalten von Zusammenschlüssen. Siehe „API-Clients erstellen “.
  2. Rufen Sie ein Token mit den API-Clientberechtigungsnachweisen ab. Siehe „Verwalten von OIDC-Tokens “.
  3. Verwenden Sie das Token, um auf den Endpunkt zum Konfigurieren des Zusammenschlusses zuzugreifen. Aktualisieren Sie den OpenID Connect-Zusammenschluss mit einem neuen Wert für mtlsEndpointBaseURI. Der Wert dieses Konfigurationsparameters ist die URL, die das HTTPS-Schema und den angepassten Domänennamen enthält. Beispiel: https://customdomain.jke.com. Weitere Informationen finden Sie in der API-Dokumentation zu Endpunkt des OpenID Connect-Zusammenschlusses.
  4. Wenn Sie die Anwendung OpenID Connect for Open Banking erstellen oder ändern möchten, stellen Sie sicher, dass die folgenden Einstellungen konfiguriert sind.
    • Legen Sie als Methode für die Clientauthentifizierung Mutual TLS fest.
    • Legen Sie als Attribut für die TLS-Clientauthentifizierung ein unterstütztes Attribut fest. Beispiel: Die E-Mail-Adresse SAN email address für den alternativen Namen (Subject Alternative Name, SAN). Dieses Attribut ist das Zertifikatsattribut, das abgeglichen wird, wenn die TLS-Clientauthentifizierung ausgeführt wird.
    • Legen Sie für das Attribut der TLS-Clientauthentifizierung den Wert fest, der abgeglichen werden soll. Wenn beispielsweise das Attribut SAN email address ausgewählt wurde, ist dieses Attribut die E-Mail-Adresse.
    • Aktivieren Sie certificate-bound access tokens.