Les « Verifiable Credentials » remplaceront-ils à l’avenir les certificats X.509 ?

Les certificats X.509 existent depuis plus de 40 ans. Ils sont utilisés pour l’identification de sujets (serveurs web, personnes, etc.). Ils sont considérés comme des preuves d’autorisation fiables et éprouvées et nous nous appuyons sur eux tous les jours. Pourquoi alors introduire avec Verifiable Credentials (VC) une nouvelle technologie inconnue du grand public ? Pour pouvoir comparer une solution d’infrastructure à clé publique (PKI) (qui repose sur des certificats X.509) avec une solution d’identité auto-surveillée (SSI), il faut d’abord mettre en lumière la différence et les caractéristiques de leurs justificatifs d’identité.

Dans une approche centrée sur l’utilisateur, les informations relatives à une identité sont transmises au titulaire sous la forme d’un conteneur standardisé, car il suit le processus « émettre-obtenir-posséder et présenter-vérifier ».

Figure 1 : Triangle centré sur l’utilisateur

Comment se présente ce processus ?

Les preuves sont créées par un émetteur (issuer). La preuve est ensuite remise au titulaire (Holder), qui la stocke pour une utilisation ultérieure. Sans que l’éditeur ne le sache, le titulaire peut prouver quelque chose sur lui-même en présentant ses preuves à un vérificateur (Verifier). Celui-ci peut alors décider si les preuves présentées sont suffisantes pour accéder à une ressource et s’il fait confiance à l’éditeur.

Dans cet article, nous ne cherchons pas à savoir s’il existe des failles de sécurité dans les VC par rapport aux certificats X.509. L’objectif est plutôt de comparer les deux récipients, car tant les VC que les certificats X.509 représentent une identité qui peut être vérifiée par un service de contrôle.

Signatures numériques

Une signature numérique est un procédé cryptographique de base qui permet au propriétaire d’une clé privée de signer un message avec celle-ci et à toute personne en possession de la clé publique correspondante de vérifier cette signature. Une signature numérique permet de prouver l’origine (authenticité) et l’intégrité (intégrité) des données.

 

Certificat X.509

Pour qu’une clé publique d’un participant puisse être utilisée en toute confiance par quelqu’un d’autre, elle est emballée avec des informations (p. ex. le nom) du titulaire dans un certificat et signée numériquement par l’émetteur. L’émetteur rend ainsi le certificat infalsifiable et certifie que l’information provient bien de lui.
En principe, un certificat X.509 peut contenir les informations suivantes :

  • Nom (quelques attributs facultatifs) du sujet à protéger
  • Clé publique du sujet
  • Informations supplémentaires de l’émetteur, but d’utilisation de la clé et du certificat
  • Informations de révocation
  • Signature d’un émetteur couvrant l’ensemble du contenu du certificat

Ce format d’un certificat X.509 est standardisé depuis longtemps et est largement utilisé depuis des décennies.

Vérification de l’identité (VC)

Les VC sont des preuves numériques qui permettent à un éditeur d’établir une affirmation concernant un titulaire. Elles sont signées numériquement par l’émetteur afin qu’un vérificateur puisse vérifier l’affirmation de l’émetteur.

Figure 2 Exemple d’un Verifiable CredentialsX.509

Les certificats et les VC ont le même objectif et le même contenu.

Quelle est donc la différence entre ces deux preuves ?

Un certificat X.509 est une structure rigide par rapport à un Verifiable Credential. Les certificats X.509 ont un format bien précis et l’on s’est mis d’accord au fil du temps sur un contenu. Ainsi, le certificat d’un serveur ou d’un utilisateur a un contenu prédéfini en fonction de sa classe de qualité. Il y a certes quelques tentatives et efforts pour élargir les certificats X.509 et le système PKI sous-jacent, comme par exemple les certificats d’attribut. Mais est-ce que cela apporte quelque chose ? A l’inverse, on peut dire que les Verifiable Credentials sont beaucoup plus flexibles dans leur principe. Un VC peut tout contenir, d’une simple déclaration (« true/false ») à une structure complexe (p. ex. IMS Comprehensive Learner Record[1]), pour autant que cette déclaration corresponde à certains formats (p. ex. JSON-LD ou JSON-JWT). La seule condition qui subsiste est qu’un examinateur doit pouvoir interpréter le contenu d’une preuve. Pour ce faire, la définition du schéma est indiquée dans l’exemple ci-dessus d’un VC. Cela rend un VC polyvalent par rapport à un certificat X.509.

La principale différence entre les certificats X.509 et les Verifiable Credentials réside toutefois dans la confidentialité. Lorsque les certificats X.509 ont été développés (la première publication a eu lieu en 1988), il n’y avait pas encore d’exigences de confidentialité. Celles-ci n’ont été ajoutées que plus tard. Auparavant, la « non-falsifiabilité » était la seule exigence centrale. Aujourd’hui, la non-falsification de la preuve et la protection de la vie privée sont des exigences.

Aujourd’hui, les principales exigences en matière de respect de la vie privée sont les suivantes :

  • Divulgation sélective : Un utilisateur doit pouvoir choisir quelles données personnelles il souhaite partager avec un service de vérification.
  • Abus : un utilisateur doit pouvoir s’assurer qu’un service de contrôle ne recevra pas de lui un identifiant permettant de l’identifier, à moins que l’utilisateur ne le transmette volontairement.
  • Anonymat : l’utilisateur doit avoir la possibilité de cacher son identité au service vérificateur.

Avec les certificats X.509, par exemple, la première exigence est très difficile à mettre en œuvre, car les applications classiques ne permettent qu’une vérification « en bloc » (tout ou rien). En revanche, avec les VC – pour autant qu’ils suivent un certain protocole (lors de l’émission et de la présentation) – cela est plus facilement réalisable.

D’un autre côté, un service vérificateur doit pouvoir vérifier les affirmations qui lui sont présentées et s’assurer qu’elles sont toujours valables et qu’elles ont été émises précisément pour cet utilisateur par un éditeur de confiance.

Les certificats X.509 remplissent depuis longtemps ce type de vérification simple, en raison de leur structure prédéfinie. En revanche, dès qu’il s’agit de respecter un degré minimal de confidentialité, les récipients et leurs applications sont confrontés à des défis d’un tout autre ordre.

Voici une comparaison sous forme de tableau des principales exigences mentionnées ci-dessus :

Conclusion

Les Verifiable Credentials ont plusieurs avantages sur les certificats X.509. Premièrement, ils sont beaucoup plus flexibles en ce qui concerne leur contenu et deuxièmement, ils s’adressent mieux à la protection de la sphère privée. En outre, ils constituent la base de l' »identité auto-souveraine », qui pourrait devenir une approche technologique sérieuse dans le domaine des identités.

Les VC ne remplacent toutefois pas simplement les certificats X.509. Les deux types de certificats apparaîtront simultanément à l’avenir. Là où la protection de la sphère privée d’un titulaire est importante, les VC seront probablement de plus en plus utilisés. En revanche, pour la protection des canaux de communication (Secure Channels), les certificats X.509 continueront d’être utilisés à l’avenir. Actuellement, les protocoles classiques, tels que S/MIME ou TLS, ne supportent pas les VC. Mais cela pourrait bientôt changer.

Il est donc judicieux d’adapter les environnements existants de manière à ce qu’ils supportent non seulement les certificats X.509 mais aussi les VC, afin de permettre la coexistence des deux technologies.


Références

[1] https://www.imsglobal.org/activity/comprehensive-learner-record

[2] Cela serait possible avec des certificats d’attributs individuels (une extension des certificats d’identité X.509).

[3] Avec les signatures BBS+ (BbsBlsBoundSignature2020).

[4] Avec une présentation adaptée (BbsBlsBoundSignatureProof2020)

Creative Commons Licence

AUTHOR: Gerhard Hassenstein

Gerhard Hassenstein est chargé de cours à la HESB Technique et informatique.

AUTHOR: Annett Laube

Annett Laube est chargée de cours en informatique à la HESB Technique et informatique et dirige l'Institute for Data Applications and Security (IDAS). Elle a la responsabilité professionnelle du magazine scientifique SocietyByte, notamment pour le thème principal Digital Identity, Privacy & Cybersecurity.

Create PDF

Posts associés

0 réponses

Laisser un commentaire

Rejoindre la discussion?
N’hésitez pas à contribuer !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *