January 22, 2021

Document technique – Partie 1

5 MIN READ – TEAM XSL LABS

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp

Document Technique – Partie 1

“A wallet to rule them all”

Pour comprendre l’écosystème bâti autour du wallet “ONE”, nous rappellerons d’abord comment ce projet s’inscrit dans la lignée des travaux autour des identités décentralisées qui visent à utiliser la blockchain pour prouver l’authenticité d’informations personnelles et mieux gérer les accès à ces données.

Un wallet multi-identités pour des données personnelles valorisées et sous contrôle

Nos existences numériques se composent aujourd’hui d’une multitude de données personnelles peu vérifiables et sollicitées abusivement à chaque création de compte utilisateurs, sans que le service qui les demande ait un intérêt particulier à disposer de ces données. Chaque internaute n’avait jusqu’à maintenant ni les outils pour gérer la diffusion de ses données d’identité ni les moyens de contribuer à changer la façon abusive dont les services collectent ces données.

Chacun de nous gère péniblement une identité numérique composée d’une multitude de sous-identités et d’attributs associés à différents contextes. Faire la démonstration de son identité et de ses attributs est un réel défi, surtout dans un monde où les services dématérialisés se multiplient et où les déplacements physiques sont limités.

La gestion des identités numériques comprend la gestion de :

1 – la phase d’enrôlement de l’utilisateur et de validation de ses attributs

2 – l’identification et l’authentification de l’utilisateur sur la base de ces informations vérifiées

3 – la réception, le stockage et la présentation de « verifiable credentials » (références vérifiables)

4 – l’accès à des services et à des transactions sur la base de ses « verifiable credentials »

Cette gestion est généralement déléguée à l’utilisateur qui doit gérer manuellement toutes les sociétés auprès desquelles il doit systématiquement refaire la démonstration d’une partie de ses informations pour pouvoir accéder aux services qu’elles proposent.

Les fournisseurs de services en ligne combinent souvent le rôle de fournisseur d’identité et enrôlent leurs propres utilisateurs ou, faute de mieux, délèguent ce fardeau à des tierces parties peu scrupuleuses comme les géants des réseaux sociaux à travers des boutons du type « connectez-vous avec votre compte facebook ».

Les États tentent, à travers diverses régulations :

– d’encadrer l’utilisation de ces données personnelles pour limiter leur utilisation abusive (RGPD), souvent à des fins de profilage publicitaire,

– de renforcer les niveaux de sécurité des authentifications sur les services en ligne les plus sensibles (PSD2, eIDAS, TSP).

Il est à noter qu’en matière de sécurité, les bonnes pratiques poussées par ces régulateurs reprennent les mêmes bases cryptographiques bien connues des amateurs de crypto-actifs : condensats, chiffrement des données, authentification forte, signature des données et des transactions.

Des rapprochements entre cybersécurité générique et sécurité des crypto-actifs existent déjà avec par exemple le support de FIDO (protocole d’authentification forte issus de travaux des géants du web et abondés par les régulateurs) sur certains « hardware wallets » (Ledger, Trezor, Bitbox). Existe également l’ajout de fonctionnalité de chiffrement de message à la dernière version de Metamask.

Inversement, certains wallets crypto peuvent maintenant effectuer des signatures de messages en dehors du cadre habituel des transactions et transferts de crypto-actifs.

Nous verrons aussi plus tard que les acteurs centralisés de la cybersécurité traditionnelle comme les autorités de certification qui fournissent des certificats peuvent eux aussi tirer profit de ce rapprochement.

Les attributs de nos profils / avatars / comptes en ligne sont pour le moment essentiellement hébergés par celui qui les a demandés pendant la phase de création. C’est la situation habituelle, celle dans laquelle le fournisseur de service en ligne fait aussi office de fournisseur d’identité.

Illustration 1-1 : Le fournisseur service (SP) créée le compte de l’utilisateur et ses attributs (directement utilisés)

Les rôles de fournisseur d’identité et de fournisseur de service peuvent être dissociés, c’est le principe des ouvertures de compte et partages d’information à travers les logins de réseaux sociaux.

Illustration 1-2 : Le fournisseur service (SP) utilise les attributs d’un compte créé chez un fournisseur d’identité (IDP) externe

La transition vers les architectures décentralisées

Dans une architecture décentralisée, les crypto-actifs sont attribués en référence à une adresse publique, dépendant d’une clé privée conservée par l’utilisateur dans son portefeuille. L’utilisateur effectue uniquement des signatures de transactions qui seront vérifiées / validées.

Illustration 1-3 : Aucune information personnelle n’est conservée hors du portefeuille local du propriétaire de “cryptos”

Avant de pouvoir associer à son identité des informations personnelles vérifiées par des entités tierces, il faut créer un DID, un identifiant qui référence un seul utilisateur et respecte les principes suivants :

– le DID ne pourra pas être assigné (ou réassigné) à quelqu’un d’autre,
– le DID peut fonctionner sans autorité centrale,
– le DID est relié à une ou plusieurs clés cryptographiques permettant de vérifier que son propriétaire a sur lui un contrôle exclusif,
– le DID permet de retrouver un document public, le “DID Document”, qui permet de référencer d’autres éléments tels qu’une ou plusieurs clés publiques, des services, etc.

Illustration 1-4 : le DID d’un utilisateur, Identifiant unique

Dans le prochain article, nous reviendrons dans le détail sur les documents DID et leur liens avec les “Verifiable Credentials”. Les “références vérifiables” (en français) sont les informations personnelles qui ont été vérifiées par un acteur de confiance, généralement lui aussi disposant de son propre DID.

Ces informations personnelles sont donc signées par le vérificateur initial et retournées à l’utilisateur qui peut alors choisir de les diffuser comme bon lui semble.

Illustration 1-5 : le Wallet ONE permet de recevoir et contrôler les références credentials

Le portefeuille qui gère la clé privée lié au DID de l’utilisateur doit savoir gérer les Verifiable Credentials reçus et doit aussi :

  • Démontrer cryptographiquement à l’IDentity Provider qu’il contrôle bien son DID
  • Tester la validité et la vérifiabilité du “Verifiable Credentials” fourni par l’IDP
  • Obtenir les fichiers référencés dans les Verifiable Credentials sur des espaces de stockage centralisés et décentralisés
  • Stocker les Verifiable Credentials
  • Diffuser les Verifiable Credentials sur les bons canaux de communication
  • Utiliser les autres clés cryptographiques spécifiés pour d’autres usages (chiffrement, signature générique, signature pour l’authentification)
  • Gérer certains DIDs d’autres chaînes par souci d’interopérabilité / capacité d’évolution

Ce Wallet peut profiter des avancées significatives des Hierarchical Deterministic Wallets et proposer une procédure de sauvegarde et restauration simplifiée.

Illustration 1-6 : le HD Wallet “ONE” gère l’ensemble des clés privés nécessaires à tous les usages cryptographiques

Nous verrons dans un prochain article comment les Verifiable Credentials sont générés, transmis puis présentés pour vérification.

 

Copyright © 2020 XSL Labs – All rights reserved