June 15, 2021

Verifiable Credentials

5 MIN READ – TEAM XSL LABS

Share on twitter
Share on telegram
Share on email
Share on linkedin
Share on facebook

Verifiable Credentials

Dès la naissance, nous nous voyons affubler d’éléments permettant de nous identifier, c’est-à-dire des éléments qui permettent de nous distinguer des autres, de nous reconnaître aux yeux de tous. Nous portons notamment dès ce moment un nom, un prénom, une date et un lieu de naissance. En France, ces données sont d’abord rassemblées afin de les inscrire au registre d’état civil. Cette première identification permet de nous individualiser.

Notre identité est au cœur de notre vie de tous les jours, qu’il s’agisse d’une simple carte de bibliothèque, de notre permis de conduire, de notre passeport, il existe tout un faisceau d’éléments, pièces et preuves qui attestent de celle-ci, qui permettent de nous reconnaître et nous identifier au quotidien. Par extension, l’identité s’étend aussi à notre personnalité : dans les faits, même sans état civil, chaque personne pourrait être identifiée par son parcours, par ses goûts, par ses choix, par son fonctionnement.

L’article 4 du Réglement Général sur la Protection des données (RGPD) donne la définition suivantes aux données à caractère personnel : « toute information se rapportant à une personne physique identifiée ou identifiable […] ; est réputée être une «personne physique identifiable» une personne physique qui peut être identifiée, directement ou indirectement, notamment par référence à un identifiant, tel qu’un nom, un numéro d’identification, des données de localisation, un identifiant en ligne, ou à un ou plusieurs éléments spécifiques propres à son identité physique, physiologique, génétique, psychique, économique, culturelle ou sociale ».

Dans cette définition, les données personnelles sont toutes celles qui se rapportent à une personne a minima identifiable : ainsi, même en l’absence d’un document formel de type carte d’identité ou d’un identifiant, un simple faisceau d’indices qui pourrait permettre d’identifier un individu suffit pour que des données rattachées au profil d’une personne soient considérées comme personnelles. L’identité ne se limite donc pas, selon le RGPD, à l’état civil d’une personne, il encadre des éléments qui vont jusqu’à sa psychologie.

Si dans le monde « réel » l’identification d’une personne est en pratique facile (par exemple, pour accéder à une bibliothèque, on peut présenter une carte contenant des éléments écrits et une photo qui permet de nous identifier facilement), il en va différemment sur Internet où l’identité s’établit davantage via du profilage, et non de l’identification réelle. Les données qui sont actuellement absorbées par des bases de données sont autant des données comportementales que des données à caractère personnel au sens du RGPD. Il s’agit d’une définition très large de la donnée personnelle, qui dépasse la simple donnée d’identité.

De fait, l’identité dans le cadre de notre SDI regroupe d’une part un identifiant décentralisé standardisé (vous pouvez retrouver nos articles à ce sujet sur notre blog), et d’autre part les Verifiable Credentials (en français, références vérifiables). C’est à eux que nous allons nous intéresser aujourd’hui.

Les Verifiable Credentials (VC) sont l’équivalent numérique des informations d’identification ainsi que des certifications qui entourent une personne. Il peut par exemple s’agir d’un permis de conduire ou d’un diplôme : ce sont des éléments qui font partie de notre identité, et qui peuvent permettre de prouver certaines informations (dans l’exemple, le fait d’être en mesure de pouvoir conduire tel type de véhicule, ou pouvoir justifier de la validation d’études dans un domaine). Ainsi, les VC sont utiles dans le monde numérique afin de pouvoir prouver des informations revendiquées par l’utilisateur à des tiers. Il s’agit d’informations qui ne sont pas falsifiables et qui peuvent être vérifiées cryptographiquement.

Un groupe de travail (1) du W3C a mis en place les prémices de ce que seront les VC de demain à l’échelle du web, le fruit de leur travail est passé au stade de la recommandation au sein du W3C en Novembre 2019 (2)

Plusieurs rôles liés à ces références vérifiables sont ainsi définis :

  • le titulaire (Holder) : il s’agit de toute personne, organisation ou objet qui possède des références vérifiables et peut créer des présentations à partir de ceux-ci afin de les transmettre à quiconque a besoin de vérifier ces éléments.
  • le sujet DID (DID Subject) : il s’agit ici de l’entité à propos de laquelle une demande de VC est effectuée. La plupart du temps, ce rôle se confond avec celui du titulaire : le titulaire est alors celui à qui est liée l’information qui doit être vérifiée, mais ce n’est pas toujours le cas. Par exemple un parent peut posséder les VC relatifs à son enfant, ici le titulaire est donc le parent de l’enfant, et le sujet DID est l’enfant. Ceci peut aussi s’appliquer à des objets.
  • l’émetteur (Issuer) : il s’agit de toute entité capable de délivrer des références vérifiables aux titulaires.
  • le vérificateur (Verifier): il s’agit de toute entité qui nécessitera une présentation afin d’authentifier les références vérifiables puis procéder à la vérification de celles qui lui sont transmis.

Ces rôles s’articulent autour du schéma suivant :

Ecosystem

On observe que dans cet exemple d’écosystème, on s’appuie sur une base de données vérifiables. Ce registre a pour rôle de fluidifier le système, il peut en exister plusieurs, centralisés ou décentralisés. Notre choix s’est porté sur la blockchain (registre décentralisé) afin de stocker des données non sensibles et ainsi garantir leur intégrité.

Au centre de ce modèle, on retrouve les titulaires de VC. Ils effectuent des demandes aux émetteurs de VC afin d’obtenir des références vérifiables qui leur serviront à prouver des informations les concernant auprès des vérificateurs.

Le groupe de travail considère que le respect de la vie privée et la sécurité des données sont au cœur de l’écosystème des références vérifiables.

Il est ainsi primordial que les utilisateurs n’aient à fournir que le minimum d’informations requises pour chaque situation. Il s’agit alors de pouvoir créer des présentations vérifiables qui contiennent uniquement les informations nécessaires.

Ces présentations vérifiables recoupent les données dérivées d’un ou plusieurs VC, de manière à rendre vérifiable l’ensemble auprès du vérificateur concerné.

Par exemple, il peut s’agir pour une personne en recherche d’emploi de pouvoir présenter des justificatifs attestant de son parcours professionnel ainsi que de ses études et diplômes. Ici, une présentation vérifiable qui regroupe ces éléments à partir de données de divers VC déjà établis est fournie au vérificateur (dans ce cas un futur employeur potentiel). Celui-ci peut alors être certain de la véracité des informations du demandeur, il est en mesure de constater que les éléments transmis proviennent bien des bons émetteurs, sans avoir la main sur le contenu des références vérifiables elles-mêmes. Dans certains cas, le zero-knowledge proof (3) peut être utilisé afin de prouver des informations sans avoir à révéler la référence vérifiable : un VC relatif à une date de naissance peut être utilisé pour prouver un âge minimum.

Tous ces éléments répondent à des normes techniques spécifiques décrites dans la recommandation du W3C et que nous avions détaillées (4) dans notre document technique. L’importance du respect de ces normes est un enjeu majeur étant donné que ceci permet de garantir l’interopérabilité des futurs systèmes.

Ainsi, l’écosystème des verifiable credentials permettent aux entités d’obtenir des certificats contenant des attributs, d’en devenir titulaire, et de choisir ou non de les transmettre à toute entité qui en ferait la demande.

Afin qu’un tel système fonctionne, et de manière à établir une chaîne de confiance de bout en bout, une signature numérique est apposée par l’émetteur de VC, de telle sorte que les vérificateurs de VC puissent, au-delà de la validité des informations transmises, vérifier qu’elles ont été validées par l’émetteur lui-même.

C’est ici qu’interviennent les clés publiques des identifiants décentralisés des émetteurs, titulaires et vérificateurs de VC. Les clés publiques, disponibles publiquement, liées aux identifiants décentralisés tels que notre SDI permettent d’assurer que n’importe quel vérificateur puisse être certain de la véracité de l’information et de son émetteur.

Au-delà de la recommandation du W3C, la sécurité est un enjeu crucial de l’écosystème des verifiable credentials.

Il s’agit notamment d’assurer l’intégrité des données et informations transmises. À cette fin, l’utilisation du hachage des références vérifiables (vc trace sur la blockchain) permet d’assurer que le contenu de celles-ci ou d’une présentation vérifiable n’a pas été falsifié.

Les Verifiable Credentials sont donc le cœur de l’écosystème de XSL Labs. Ce sont eux qui permettent d’établir et de construire l’identité même des détenteurs de SDI et qui garantissent des interactions de confiance entre ceux-ci, tout en respectant leur vie privée et la sécurité de leurs données. Le développement de l’écosystème de XSL Labs répond à l’augmentation des pratiques numériques et au développement des réglementations destinées à protéger les individus et leurs données.


(1) https://www.w3.org/2017/vc/WG/

(2) https://www.w3.org/TR/vc-data-model/

(3) https://www.xsl-labs.org/blog/zero-knowledge-proof-fr/

(4) https://www.xsl-labs.org/blog/document-technique-partie-3/

Copyright © 2020 XSL Labs – All rights reserved