Le Self-Sovereign Identity (SSI) ou identité numérique auto-souveraine est une approche qui s’est popularisée avec l’émergence des technologies Web3, parmi lesquelles on retrouve la Blockchain.
Après nous être penchés sur sa définition dans un récent article de blog et avoir consacré un livre blanc sur le sujet, nous avons décidé de nous intéresser aux concepts technologiques qui rendent le SSI possible : les Verifiable Credentials (VCs) et les Decentralized Identifiers (DIDs).
Dans cet article, nous allons vous présenter :
- En quoi les VCs facilitent l’authentification en ligne
- De quelle manière la divulgation sélective et le Zero-Knowledge Proof opèrent pour préserver la confidentialité des informations
- Comment les DIDs permettent une vérification sous le contrôle de l’utilisateur
Les VCs ou l’authentification en ligne simplifiée
Les VCs permettent de répondre à une question simple : comment peut-on fournir, en ligne, une preuve de vérification d’identité qui a le même niveau de confiance qu’un document d’identité délivré par l’Etat ?
Pour répondre à cette question, il est nécessaire, dans un premier temps, de parler des outils qui permettent de stocker ces Verifiable Credentials : les fameux wallets ou portefeuilles numériques en français.
Définition d’un wallet
Comme tout portefeuille physique qui contient vos autres cartes de crédit, papiers d’identité et autres cartes de fidélité, les wallets permettent de stocker des actifs numériques. Les wallets peuvent prendre la formé de clé de stockage - comme les clés Ledger - ou sous forme d’application mobile.
Chaque wallet comprend 2 clés :
- une clé publique accessible par tout le monde (ex : une adresse Bitcoin)
- une clé privée (ex : une série de caractères connue que du propriétaire du wallet)
Si un wallet peut contenir des NFTs, il peut également contenir des VCs.
Qu’est-ce qu’un VC ?
Les Verifiable Credentials sont des certificats numériques, standardisés, émis par une entité qui certifie des propriétés sur un individu. Ces certificats permettent de partager des informations en ligne de façon sécurisée et privée.
Grâce à ces justificatifs vérifiables, il devient possible pour n’importe quel individu de délivrer des informations spécifiques nécessaires à l’accès à un service… sans divulguer les données concernées.
Les VCs permettent, par exemple, de prouver son éligibilité pour l’accès à un service… sans divulguer de données personnelles (ex : on peut prouver que vous avez plus de 18 ans… sans divulguer votre date de naissance… et avec un haut niveau de confiance).
Comment peut-on prouver un état sans divulguer de données ? C’est possible grâce à la divulgation sélective et au Zero-Knowledge Proof.
La divulgation sélective permet de générer une preuve à partir d’un ensemble d’attributs choisis. Imaginez si vous pouviez prouver que vous avez plus de 18 ans avec votre carte d’identité sans dévoiler l’adresse postale qui y figure. C’est divulguer que l’attribut nécessaire à la preuve.
Le Zero-Knowledge Proof est un protocole cryptographique qui permet de vérifier l’authenticité d’une propriété sans révéler la valeur de la donnée. Vous pouvez prouver que vous avez plus de 18 ans sans dévoiler votre date de naissance.
Divulgation sélective et Zero-Knowledge Proof sont au cœur de l’application du Self-Sovereign Identity.
Dans le schéma ci-dessus largement inspiré de celui du W3C, on peut imaginer deux situations.
La première : un site de paris en ligne demande à une personne qui souhaite utiliser ses services de prouver qu’elle a bien plus de 18 ans. Grâce à son wallet, cette personne pourrait simplement dévoiler ses Verifiable Credentials où se trouvent les attributs nécessaires pour prouver son éligibilité. Mais, ce faisant, elle dévoilerait des informations personnelles qui ne sont pas nécessaires. Une autre approche consisterait donc à créer un justificatif dérivé comprenant strictement les informations nécessaires à la preuve. C’est ce qu’on appelle la divulgation sélective.
La seconde : pour exercer une fonction dans son entreprise, un employeur demande à un candidat de prouver qu’il détient bien un diplôme de niveau bac + 5. Grâce au protocole Zero-Knowledge Proof, l’employeur sait si le candidat détient le diplôme… sans avoir besoin de savoir quand ce diplôme a été obtenu.
On peut donc vérifier des attributs sans avoir à partager d’informations… mais comment s’assurer que ces preuves sont authentiques et non pas falsifiées ?
Intéressons-nous maintenant aux Decentralized Identifiers (DIDs).
Les DIDs: faciliter l’authentification sous le contrôle de l’utilisateur
Aujourd’hui, lorsque vous envoyez des messages sur une application, des identifiants vous sont attribués.
Ces identifiants sont la propriété de l’opérateur de l’application. Ces identifiants sont contenus dans des métadonnées, c’est-à-dire des informations qui définissent le contexte et l’utilisation des données.
Or ces identifiants peuvent poser des problèmes de confidentialité. Par exemple, Whatsapp collecte les données associées à votre utilisation de l’application dans les méta-données : l’horodatage de vos messages, les destinataires, la durée d’appel, votre position géographique (cela n’a rien à voir avec le fait que Whatsapp encrypte bien vos messages).
Par ailleurs, ces données sont monétisées. Par exemple, pour la création de profils, ensuite utilisés pour le ciblage publicitaire.
Les DIDs permettent de contourner ce problème de confidentialité et de monétisation. Les DIDs sont des identifiants sécurisés, uniques et créés par l’utilisateur pour garantir son authentification à des services en ligne par exemple.
Lorsqu’une personne demande un VC à un émetteur, il peut créer un DID éphémère, dédié à cet échange entre la personne et l’émetteur, et auquel sera rattaché le VC.
La Blockchain stocke les données concernant les émetteur et confirment la validité d’un VC.
Ainsi, un individu qui veut vérifier un VC peut interroger un registre d’identités et de preuves pour confirmer l’identité de son émetteur et son éligibilité à émettre un tel justificatif… en confirmant que le justificatif en question est toujours valable.
Comme le dit très bien Quentin Drouot, CTO d’Archipels : “Votre fournisseur d’énergie n’a pas besoin de savoir qu’un de ses clients s’est inscrit sur un site de paris en ligne sous prétexte que celui-ci doit vérifier que vous résidez en France”.
Les DIDs et les VCs renforcent la confiance entre l’émetteur, l’utilisateur et le vérificateur.
DIDs + VCs = SSI
Les cyberattaques ont considérablement augmenté ces dernières années, remettant en cause les modèles traditionnels de gestion des données personnelles.
Dans ce contexte, le SSI devient une solution de premier choix. Pour toute question sur le SSI ou l’identité décentralisée, n’hésitez pas à nous contacter