OpenID4VCI
OpenID4VCI, OpenID for Verifiable Credential Issuance, ist das Protokoll, mit dem eine Wallet ein Credential über einen standardisierten OAuth2-basierten Ablauf von einem Aussteller anfordert und empfängt.
Ein Inhaber startet den Ablauf aus seiner Wallet, entweder durch Scannen eines QR-Codes oder über einen Deep Link von der Website oder App eines Ausstellers, und die Wallet ruft ein Credential Offer ab, das beschreibt, welcher Credential-Typ angeboten wird und woher er kommt. Der Aussteller authentifiziert den Inhaber, zum Beispiel per eID-Login oder Dokumentenscan, und prüft, welchen Eligibilitätsnachweis er braucht, bevor er das Credential erzeugt, und gibt es dann signiert in einem Format wie SD-JWT VC oder mdoc zurück. Es gibt zwei Ausstellungsmodi: den Pre-Authorized-Code-Flow, bei dem der Inhaber bereits einen außerbandmäßigen Prozess wie einen Bankfilialbesuch durchlaufen hat und nur das resultierende Credential in die Wallet ziehen muss, und den Authorization-Code-Flow, der einem gewöhnlichen OAuth2-Login entspricht und die Ausstellung vollständig online in einer Sitzung ablaufen lässt. Ein Key-Binding-Nachweis bindet das Credential an einen bestimmten, nur von dieser Wallet-Instanz gehaltenen Schlüssel, sodass eine gestohlene Credential-Datei nicht von einem anderen Gerät wiedergegeben werden kann. OpenID4VCI ist das Ausstellungsprotokoll, auf dem die Referenzimplementierung der EUDI Wallet unter eIDAS 2.0 aufbaut, sodass ein Aussteller, der es unterstützt, jede EU-Wallet über eine einzige Integration erreichen kann statt über einen maßgeschneiderten Konnektor pro Mitgliedstaat oder Wallet-Anbieter. Dasselbe Protokoll funktioniert ebenso gut für einen mobilen Führerschein, ein Hochschuldiplom oder einen Handelsregisterauszug, weil der Inhalt des Credentials für die Transportschicht, die es liefert, undurchsichtig ist.
Verwandte Begriffe
Funktioniert OpenID4VCI für jeden Credential-Typ gleich?
Ja. OpenID4VCI ist ein Transport- und Autorisierungsprotokoll, kein Credential-Format, sodass derselbe Ablauf ein SD-JWT VC, ein mdoc oder jeden anderen von einem Aussteller unterstützten Credential-Typ ausstellt. Eine Wallet muss OpenID4VCI nur einmal umsetzen, um Credentials von jedem Aussteller zu erhalten, der dasselbe Protokoll spricht, unabhängig davon, was das Credential selbst darstellt.