Passer au contenu principal

OpenID4VCI

OpenID4VCI, OpenID for Verifiable Credential Issuance, est le protocole qu'un wallet utilise pour demander et recevoir une attestation d'un émetteur via un flux standard basé sur OAuth2.

Un détenteur démarre le flux depuis son portefeuille, soit en scannant un QR code, soit en suivant un lien profond depuis le site web ou l'application d'un émetteur, et le portefeuille récupère une credential offer décrivant quel type de credential est proposé et où l'obtenir. L'émetteur authentifie le détenteur, par exemple via une connexion eID ou un scan de document, et vérifie la preuve d'éligibilité dont il a besoin avant de créer le credential, puis le renvoie signé dans un format tel que SD-JWT VC ou mdoc. Deux modes d'émission existent : le flux pre-authorized code, où le détenteur est déjà passé par un processus hors bande tel qu'une visite en agence bancaire et n'a plus qu'à récupérer le credential résultant dans le portefeuille, et le flux authorization code, qui reflète une connexion OAuth2 ordinaire et permet à l'émission de se dérouler entièrement en ligne en une seule session. Une preuve de key-binding lie le credential à une clé spécifique détenue uniquement par cette instance de portefeuille, si bien qu'un fichier de credential volé ne peut pas être rejoué depuis un autre appareil. OpenID4VCI est le protocole d'émission sur lequel repose l'implémentation de référence du portefeuille EUDI sous eIDAS 2.0, si bien qu'un émetteur qui le prend en charge peut atteindre chaque portefeuille de l'UE via une seule intégration plutôt qu'un connecteur sur mesure par État membre ou par fournisseur de portefeuille. Le même protocole fonctionne aussi bien pour un permis de conduire mobile, un diplôme universitaire, ou un extrait d'immatriculation d'entreprise, car le contenu du credential est opaque pour la couche de transport qui le délivre.

OpenID4VCI fonctionne-t-il de la même manière pour chaque type de credential ?

Oui. OpenID4VCI est un protocole de transport et d'autorisation, pas un format de credential, si bien que le même flux délivre un SD-JWT VC, un mdoc, ou tout autre type de credential pris en charge par un émetteur. Un portefeuille n'a besoin d'implémenter OpenID4VCI qu'une seule fois pour recevoir des credentials de tout émetteur parlant le même protocole, quel que soit ce que le credential lui-même représente.

Retour au glossaire