Comprendre la philosophie, le fonctionnement et les applications du self-sovereign Iidentity

Les fraudes à l'identité sont en forte augmentation. L'individu doit pouvoir contrôler et gérer son identité numérique sans intervention d'une autorité administrative tierce.

À l’heure où l’augmentation des fraudes à l’identité s’accélère (+44% depuis 2019), la question de la gestion des données personnelles par des services tiers est au cœur des débats.

Dans ce contexte, l’approche du Self-Sovereign Identity (SSI) ou de l’identité numérique auto-souveraine connaît une avancée sans précédent, notamment grâce aux évolutions de la technologie blockchain et des Privacy Enhancing Technologies (ces technologies permettant d’apporter connaissance et confiance tout en protégeant les données personnelles des utilisateurs).

Cette approche où l’individu doit pouvoir contrôler et gérer son identité numérique, sans l’intervention d’une autorité administrative tierce, est en passe de devenir un standard dans le développement d’applications web3.

Mais quelles sont les fondations et les principaux concepts qui forment le SSI ?

Comment le SSI permet-il de redonner le contrôle des données personnelles aux utilisateurs finaux, sans compromettre l’expérience utilisateur lors de la jouissance d’un service ?

Concentrons-nous sur les verifiable credentials (VCs) ou justificatifs vérifiables et les decentralized identifiers (DIDs) ou les informations d’identification décentralisées qui, avec la blockchain, constituent les éléments fondateurs du SSI.

Verifiable credentials ou justificatifs vérifiables pour l’authentification en ligne

Dans le monde physique, nous justifions régulièrement nos droits d’accès à certaines prestations de service. Si vous souhaitez louer un véhicule, on vous demandera de présenter un permis de conduire valide. Pour un séjour en Italie, c’est votre carte d’identité qu’il vous faudra présenter lors de votre passage à la frontière.

Jusqu’à très récemment, ce processus d’authentification classique, reposant sur la présentation d’une pièce justificative délivrée par un gouvernement, n’avait pas d’équivalent sur Internet.

Ainsi, dans le cadre d’une démarche administrative en ligne où une preuve vous est demandée pour accéder à un service, il vous suffit de fournir une copie d’une pièce justificative physique - comme, par exemple, une photocopie de votre carte d’identité / passeport.

Problème : cette copie est aisément falsifiable (merci Photoshop !)

On a donc commencé à réfléchir à des méthodes de vérification permettant de fournir le même niveau de confiance que celui d’un document d’identité délivré par l’Etat, en ligne et plus simple.

À quoi ressemblerait une expérience de vérification grâce à un wallet comprenant des verifiable credentials ou justificatifs vérifiables en français ? Commençons tout d’abord par rappeler ce qu’est un wallet.

Qu’est-ce qu’un wallet ?

Très connu dans l’univers des crypto-monnaies, les wallet (ou portefeuilles en français) sont des procédés de stockage sécurisé d’actifs numériques (comme des crypto-monnaies) qui peuvent se matérialiser sous forme de clé de stockage physique ou sous forme d’application mobile.

Chaque wallet se compose de deux clés :

  1. Une clé publique qui peut correspondre, par exemple, à une adresse bitcoin et qui est connue de tous,
  2. Une clé privée qui n’est connue que du propriétaire du wallet, qui permet de signer des transactions et de prouver à l’ensemble des pairs d’un réseau que l’on est bien le propriétaire d’un actif numérique. Si les wallet peuvent stocker des cryptomonnaies, ils peuvent également stocker des VCs.

En quoi consiste les verifiable credentials ?

Les verifiable credentials sont des ensembles d’attributs émis par une entité qui attestent de propriétés sur un individu. Ces ensembles d’attributs, signés numériquement par un émetteur, sont certifiés.

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.

Cela reviendrait, par exemple, à prouver à un site de paris en ligne que vous avez plus de 18 ans… sans divulguer votre date de naissance. Le site de paris en ligne serait en mesure de vérifier votre éligibilité sans avoir à interroger une administration tierce.

Le tout, avec un degré de confiance équivalent à celui offert lors de la présentation d’une carte d’identité, comme “dans la vraie vie".

Principe de triangle de la confiance dans une approche self-sovereign identity

Mais comment peut-on préserver la confidentialité d’une donnée tout en divulguant une information ? Autrement dit, comment veiller à ce qu’au niveau de la consultation du registre de preuves, je peux justifier que j’ai plus de 18 ans… sans divulguer ma date de naissance stockée dans mon wallet ?

La réponse à cette question repose sur deux concepts :

  1. La divulgation sélective (ou selective disclosure en anglais) : vous pouvez générer des preuves à partir de quelques attributs d’un ensemble de données. Dans notre exemple, cela reviendrait à prouver que vous avez plus de 18 ans en présentant votre carte d’identité mais sans dévoiler l’adresse postale qui y figure. Concrètement, vous ne divulguez que l’attribut nécessaire à la preuve.
  2. Le zero-knowledge proof (ou preuve à divulgation nulle) : grâce à ce protocole sécurisé qui utilise la cryptographie, vous pouvez prouver l’authenticité d’un attribut vous concernant sans avoir à révéler la valeur de la donnée. Vous pouvez ainsi prouver que vous avez plus de 18 ans sans révéler votre date de naissance. Cela reviendrait à répondre à la question “Est-ce que vous avez plus de 18 ans ?” par un simple “Oui” qui a la même valeur que la présentation d’une carte d’identité.

C’est grâce à ces deux concepts que le self-sovereign identity et ses verifiable credentials peuvent prouver une information sans divulguer la donnée interrogée.

On imagine deux situations

La première : une auto-école demande à une personne souhaitant passer le permis de justifier son âge. Plutôt que de divulguer les données de ses verifiable crendentials dans son wallet, une approche SSI permettrait à cet individu de ne divulguer qu’une partie des attributs associés au verifiable credential 1 lors de la présentation de la preuve. C’est la divulgation sélective.

La seconde : pour postuler à une offre d’emploi, un recruteur demande à un candidat de prouver qu’il est bien détenteur d’un diplôme niveau bac +5. Grâce au SSI et à la méthode zero knowledge proof, le recruteur n’a pas besoin de connaître d’autres informations comme la date d’obtention du diplôme. Il sait juste que le candidat est bien détenteur d’un diplôme de niveau Bac+5.

L’approche SSI, dont les verifiable credentials sont une composante essentielle, protège la vie privée des individus notamment grâce à la divulgation sélective et au zero-knowledge proof.

Mais comment vérifie-t-on l’authenticité des parties prenantes (émetteur, titulaire et vérificateur) ?

C’est là qu’interviennent les Decentralized Identifiers (DIDs).

Decentralized Identifiers : pour que les identifiants facilitent l’authentification sous le contrôle de l’utilisateur

Aujourd’hui, lorsque vous envoyez des messages sur une application, postez sur un réseau social ou publiez un article de blog, vous êtes associés à des identifiants choisis par les opérateurs des services que vous utilisez.

Ces identifiants sont la propriété de ces services tiers - identifiants sur lesquels les utilisateurs finaux n’ont aucun contrôle - et sont contenus dans les metadonnées exploitées par ces services (NB : les metadonnées sont les informations qui définissent le contexte et l’utilisation des données).

Comme vous l’aurez compris, ces identifiants posent de sérieux problèmes de confidentialité. Une entreprise comme Whatsapp, bien qu’elle encrypte les messages que vous transmettez à vos proches, collecte bien les données contenues dans ces fameuses meta-données : la date et l’heure de l’envoi de vos messages, leurs destinataires, la durée d’appel avec vos contacts, ainsi que votre position géographique.

Au-delà des problèmes de confidentialité, les informations contenues dans ces meta-données sont monétisées par ces services, notamment pour la création de profils qui sont ensuite utilisés pour le ciblage publicitaire.

C’est la raison pour laquelle partager ses envies d’achat de nouvelles baskets sur une application de messagerie se traduit très souvent par l’apparition de bannières publicitaires qui en font la promotion lors de vos sessions de navigation.

C’est là tout l’intérêt des DIDs : des identifiants uniques et sécurisés, créés par l’utilisateur pour son authentification nécessaire à l’accès à des services en ligne.

Lorsqu’un individu demande un verifiable credential à un émetteur - par exemple, une organisation -, il peut créer un DID éphémère, dédié à cet échange entre l’émetteur et l’individu, auquel sera rattaché le verifiable credential.

La blockchain permet notamment de stocker les identités des émetteurs et de déclarer la validité d’un verifiable credential. Ainsi, une personne souhaitant vérifier un verifiable credential pourra consulter le registre d’identité et de preuves afin 1) de confirmer l’identité de son émetteur et sa légitimité à émettre un tel justificatif et 2) de confirmer que le justificatif est toujours valide.

Le fait de stocker ces registres sur une blockchain permet à l’émetteur d’avoir un contrôle total sur son identité, sans dépendre d’un tiers unique, mais également à la personne de vérifier un justificatif sans avoir à contacter son émetteur.

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. 

Ce sont ces DIDs et ces VCs qui renforcent la confiance entre les différents acteurs de l’écosystème, autour de l’utilisateur qui reprend le contrôle de ses données ainsi certifiées, des émetteurs aux vérificateurs.

DIDs et VCs sont à la base du self-sovereign identity

À l’heure des cyberattaques toujours plus sophistiquées et de la remise en cause de l’exploitation des données personnelles, la gouvernance du web n’a jamais autant mobilisé les acteurs de l’industrie, au premier rang desquels les internautes. Avec le SSI en passe de devenir le standard des applications web3, il est indispensable de comprendre ses bases conceptuelles et technologiques et nous espérons que cette série d’articles saura vous aiguiller.