# Identifiants vérifiables

Les identifiants vérifiables, ou titres vérifiables, (IV, ou verifiable credentials en Anglais, VC) sont une norme ouverte pour les identifiants numériques. Ils peuvent représenter des informations présentées par des preuves d'identification physiques, telles qu'un passeport ou un permis de conduire, mais également des choses qui n'ont traditionnellement pas d'équivalent physique, comme le fait de détenir un compte bancaire. Ils présentent certains avantages par rapport aux identifiants physiques, notamment le fait d'être signés numériquement, ce qui les rend théoriquement inviolables et instantanément vérifiables$^,$ Néanmoins, la sécurité des identifiants vérifiables a également été remise en question. Les identifiants vérifiables posent également des problèmes d'utilisabilité. Les identifiants vérifiables peuvent être émis par n'importe qui, à n'importe quel sujet, et peuvent être présentées et vérifiées par tout le monde. L'entité qui génère l'identifiant est appelée l'émetteur. L'identifiant est alors remis au titulaire qui le stocke pour une utilisation ultérieure. Le titulaire peut alors prouver quelque chose à son sujet en présentant ses identifiants vérifiables à un vérificateur.

## Modèle de confiance

Le titulaire d'un titre vérifiable se trouve au centre d'un triangle de confiance, en position de médiation entre l'émetteur et le vérificateur.
* L'émetteur fait confiance au titulaire
* Le titulaire fait confiance au vérificateur
* Le vérificateur fait confiance à l'émetteur
Tout rôle dans le triangle peut être joué par une personne, une institution ou un appareil IoT.
Notons qu'étant donné qu'un identifiant vérifiable peut être créé par n'importe qui, la personne ou l'entité qui vérifie l'identifiant doit décider si elle fait confiance ou non à l'entité qui l'a émis. En cela, la situation est similaire à celle d'un employé de magasin qui doit décider s'il accepte ou non le permis de conduire d'un autre État comme preuve d'âge lors de l'achat d'alcool.

## Décentralisation

Le modèle VC place le titulaire d'un titre au centre de l'écosystème d'identité, donnant aux individus le contrôle de leurs attributs d'identité. Le modèle W3C VC est aligné sur celui des titres d'identité physiques : l'utilisateur détient des cartes (d'identité, permis de conduire…) et peut les présenter à n'importe qui à tout moment sans en informer l'émetteur de la carte ni lui demander d'autorisation. Un tel modèle est décentralisé et offre beaucoup plus d'autonomie et de vie privée aux participants.
Ce modèle peut-être mis en contraste avec le modèle de gestion d'identité fédérée tel qu'adopté par SAML et OpenID Connect, qui place le fournisseur d'identité dans le rôle central en tant que fournisseur d'attributs d'identité et en font le seul décideur des fournisseurs de services auxquels il acceptera de répondre ou non. Dans le modèle fédéré, le fournisseur d'identité a connaissance de chaque service visité par l'utilisateur.

## Modèle de données des identifiants vérifiables 1.0

Le modèle de données pour les identifiants vérifiables est une recommandation du World Wide Web Consortium (W3C), publiée le 19 novembre 2019 sous le titre "Verifiable Credentials Data Model 1.0 - Expressing verifiable information on the web" ("Exprimer des informations vérifiables sur le Web").

### Composition

Les identifiants vérifiables peuvent être exprimés en JSON et sont typiquement composés de :
* Contexte
* Émetteur
* Horodatage de l'émission
* Horodatage de l'expiration
* Type
* Sujet
* Attributs d'identité du sujet
* Preuve cryptographique pour assurer l'intégrité et l'authenticité de l'IV

### Alias

Il est possible de décrire en langage courant certaines propriétés JSON, dans le but de rendre les identifiants plus simples à utiliser.
Le contexte VC, défini via la propriété JSON @context, est une construction JSON-LD qui permet de décrire en termes familiers des propriétés JSON. En effet, selon le modèle de données VC, de nombreuses propriétés doivent avoir pour valeur une URI. Si les URI ont l'avantage d'être globalement non-ambiguës – une propriété importante pour un modèle de données global – elles ne sont loin d'être facile à lire ou retenir. La propriété @context permet de définir des alias courts en langage commun pour chaque URI. Cela rend beaucoup plus aisée et utilisable la spécification d'IV. Un exemple est donné ci-dessous.
Les VC W3C sont extensibles. N'importe que nouvelle propriété peut être ajoutée aux VC, au bon vouloir de l'émetteur. Les propriétés standard ont été définies spécifiquement en tant que points d'extension. Il s'agit notamment des éléments suivants :
* conditions d'utilisation – restrictions imposées à l'utilisation de l'IV par l'émetteur
* schéma – définit le contenu de l'IV
* preuve – informations recueillies par l'émetteur sur le sujet et/ou les attributs avant d'émettre l'IV
* statut – indication pour aider un vérificateur à découvrir l'état d'un IV (par exemple, s'il a été révoqué).

### Sujet

Il est prévu que la majorité des utilisateurs stockent leurs propres IV, ie : le titulaire et le sujet d'un IV sont alors la même entité. Mais ça n'est pas une obligation et il n'est pas nécessaire pour le titulaire d'un IV d'en être le sujet. Par exemple, lorsque le sujet d'un IV est un nourrisson et que l'IV est un certificat de naissance, le titulaire peut être l'un des parents ou les deux.

### Preuves

Aucun mécanisme de preuve n'a été standardisé pour l'heure, mais le modèle de données est suffisamment flexible pour prendre en charge divers mécanismes cryptographiques existants, tels que les signatures numériques. Les mécanismes de preuve utilisés à l'heure actuelle incluent : les jetons Web JSON avec signatures Web JSON, les preuves JSON-LD et les preuves à connaissance nulle en utilisant par exemple les identifiants anonymes proposés par IBM.

## Transport

Divers protocoles ont été spécifiés pour transporter les IV d'un émetteur à un titulaire, et d'un titulaire à un vérificateur. Par exemple :
* Aries RFC 0036 : Issue Credential Protocol 1.0. , et Aries RFC 0037 : Present Proof Protocol 1.0
* David W Chadwick, Romain Laborde, Arnaud Oglaza, Remi Venant, Samer Wazan, Manreet Nijjar "Improved Identity Management with Verifiable Credentials and FIDO" (Amélioration de la gestion des identités grâce aux identifiants vérifiables et FIDO), IEEE Communications Standards Magazine Vol 3, numéro 4, décembre 2019, pages 14 à 20
Aucun de ces protocoles n'a été standardisé. Une grande partie des personnes qui expérimentent actuellement les IV utilisent HTTPS pour transporter les IV entre les diverses parties.