OpenID4VCI
OpenID4VCI, OpenID for Verifiable Credential Issuance, is het protocol waarmee een wallet een credential aanvraagt en ontvangt van een uitgever via een standaard OAuth2-gebaseerde flow.
Een houder start de flow vanuit zijn wallet, hetzij door een QR-code te scannen hetzij door een deeplink vanaf de website of app van een uitgever te volgen, en de wallet haalt een credential offer op die beschrijft welk credentialtype wordt aangeboden en waar het te verkrijgen is. De uitgever authenticeert de houder, bijvoorbeeld via eID-login of een documentscan, en controleert welk bewijs van gerechtigdheid hij ook nodig heeft voordat hij de credential aanmaakt, en levert die vervolgens ondertekend af in een formaat zoals SD-JWT VC of mdoc. Er bestaan twee uitgiftemodi: pre-authorised code flow, waarbij de houder al een buiten-band-proces heeft doorlopen, zoals een bezoek aan een bankfiliaal, en alleen de resulterende credential nog in de wallet moet ophalen, en authorization code flow, die de gewone OAuth2-login weerspiegelt en de uitgifte volledig online in één sessie laat plaatsvinden. Een key-binding proof koppelt de credential aan een specifieke sleutel die alleen door die wallet-instantie wordt bewaard, zodat een gestolen credentialbestand niet vanaf een ander apparaat kan worden herhaald. OpenID4VCI is het uitgifteprotocol waarop de referentie-implementatie van de EUDI Wallet onder eIDAS 2.0 is gebouwd, zodat een uitgever die het ondersteunt via één integratie elke EU-wallet kan bereiken in plaats van een aangepaste connector per lidstaat of per wallet provider. Hetzelfde protocol werkt even goed voor een mobiel rijbewijs, een universitair diploma, of een uittreksel van bedrijfsregistratie, aangezien de inhoud van de credential ondoorzichtig is voor de transportlaag die hem aflevert.
Gerelateerde termen
Werkt OpenID4VCI voor elk type credential op dezelfde manier?
Ja. OpenID4VCI is een transport- en autorisatieprotocol, geen credentialformaat, dus dezelfde flow geeft een SD-JWT VC, een mdoc, of elk ander credentialtype uit dat een uitgever ondersteunt. Een wallet hoeft OpenID4VCI maar één keer te implementeren om credentials te ontvangen van elke uitgever die hetzelfde protocol spreekt, ongeacht wat de credential zelf voorstelt.