Aujourd'hui, de plus en plus de diplômes, certificats et titres de compétences sont délivrés. Mais il y a aussi de plus en plus de faux diplômes. L'achat d'un diplôme est devenu tout-à-fait possible. C'est une véritable industrie dans certains pays où elle peut représenter des milliards de dollars. Il existe des sites web pour acheter de faux diplômes. Il existe même de faux diplômes aux plus hauts niveaux de responsabilité. Par exemple, il a été découvert en 2020 que l'armée suédoise a été dupée par un « officier » avec un faux diplôme. Les conséquences peuvent être désastreuses pour les pays, les entreprises et les particuliers. C'est pourquoi la certification des diplômes devient de plus en plus cruciale, ainsi que la capacité de les vérifier de manière indépendante.

Bien sûr, la technologie propose de nombreuses solutions différentes pour ces enregistrements numériques depuis un certain temps maintenant. Le principal problème est que ces solutions classiques reposent sur un seul maillon potentiellement faible : l'organisation chargée de fournir les documents officiels. Et si la corruption faisait son chemin dans l'organisation? En informatique classique, toutes les données peuvent être modifiées tant que vous pouvez mettre la main sur le(s) serveur(s). Nous aurions donc besoin de fournir une réelle garantie que même l'organisation en charge des données ne peut pas les modifier.

Ce problème général, s'étendant au-delà du périmètre des certificats qui nous intéresse ici, n'a été résolu que récemment. La réponse est venue sous la forme d'une nouvelle technologie: la blockchain. Sans surprise, la certification basée sur la blockchain est actuellement un secteur en évolution rapide et hautement compétitif. Pour un client, fin 2019 j'ai travaillé sur une étude de toutes les solutions disponibles. Nous en avons trouvé plus de 20 dont seulement 2 étaient des solutions open source ou des standards ouverts. Blockcerts est l'un de ceux-là et aussi le plus connu. Il a été développé en 2015 par le MIT Media Lab et Learning Machine et une première version est sortie à l'été 2016.

Comment fonctionne Blockcerts ?

Prenons un cas d'étude où une université souhaite délivrer des certificats à ses étudiants. Dans le vocabulaire de la certification, l'université est appelée un émetteur ou Issuer, et les étudiants qui reçoivent les certificats sont appelés des destinataires ou Recipients.

La transaction blockchain

En général, sur toute blockchain, tout changement de données est exécuté en soumettant une transaction. Sur toutes les blockchains, les transactions sont conservées pour toujours dans le registre afin qu'elles puissent être vérifiées à tout moment à l'avenir. Dans notre cas d'étude, nous voudrons utiliser une blockchain publique telle que Bitcoin ou Ethereum. Sur ces blockchains, toutes les transactions sont accessibles au public à tout moment et pour toujours. Ainsi, tout le monde pourra toujours voir la transaction dans laquelle le certificat a été délivré, et donc vérifier sa validité.

Le problème de l'identité sur la blockchain

L'émetteur, une université par exemple, pourrait simplement avoir un compte sur la blockchain et ajouter des certificats. Le problème est que dans la plupart des blockchain, les comptes sont anonymes et étranges, comme par exemple 0x69fdad6eaaaecdea9c736f9cbdfb3f4d30e6894c. Pas très parlant, non? Nous pouvons savoir que cette adresse a fait quelque chose, mais nous ne pouvons pas savoir à qui appartient cette adresse. C'est pourquoi tous les émetteurs doivent déclarer leur adresse officielle de blockchain sur leur site officiel. Il peut donc être vérifié ultérieurement que l'adresse qui a signé la transaction appartient à l'université. C'est ce que nous appelons l'Issuer profile.

Malheureusement, actuellement il existe un manque dans le standard Blockcerts 2.0. Il peut être exploitée par un pirate informatique de façon à prétendre être un issuer qu'il / elle N'EST PAS, en hébergeant un faux profil d'issuer sur son propre serveur. C'est pourquoi sur les certificats Blockcerts actuels, vous devez toujours vérifier que l'URL du profil de l'issuer est vraiment sur le site web officiel de l'issuer.

Le problème des données sur la blockchain

Alors maintenant que le problème d'identité est résolu, ajoutons simplement le certificat sur la blockchain, non ? Eh bien, ce n'est pas si simple. L'écriture de données sur la blockchain est extrêmement coûteuse, et sur la blockchain Bitcoin, même pas possible pour des données complexes telles que les certificats. Ainsi, au lieu de stocker toutes les données de certificat sur la blockchain, nous stockons simplement ce que nous appelons leur hash en informatique.

Vous voyez le frigo dans votre cuisine? Au lieu de certifier tout l'arrangement complexe infini d'atomes dont il est fait, nous certifions simplement son numéro de série.

Il sera maintenant possible de vérifier que le hash de ce certificat a été enregistré dans la transaction blockchain et donc de vérifier le certificat.

Signature en masse de certificats

Très bien, nous avons également résolu le problème des données, stockons un hash de certificat sur la blockchain! Eh bien... nous pourrions. Mais si par exemple vous souhaitez délivrer le même diplôme mais à 1000 étudiants? Au lieu de répéter le processus pour chaque étudiant, nous aimerions bien délivrer tous ces certificats en même temps. Pour ce faire, nous utilisons un concept de cryptographie appelé arbre de Merkle.

Imaginez-vous un chêne. Au lieu de certifier chaque feuille, nous pouvons simplement certifier la racine du chêne. Nous pouvons prouver plus tard qu'une feuille donnée appartient à cet arbre en question, qui a été certifié, et donc que cette feuille est certifiée elle aussi.

Coût de signature des certificats

Nous avons donc cette signature en masse d'une part (1 transaction pour autant de certificats que vous le souhaitez). De l'autre part côté, une transaction blockchain Blockcerts est extrêmement peu coûteuse. En effet, en raison de ses débuts sur Bitcoin (ou plutôt grâce à!), une transaction Blockcerts est techniquement une transaction de type "burn", qui est presque la moins chère possible. L'implémentation de Blockcerts sur Ethereum suit le même principe et n'utilise aucun smart contract pour l'instant.

Conclusion

Blockcerts est vraiment un système élégant pour émettre jusqu'à des milliers de certificats pour même pas un centime d'euros. Si vous avez le savoir-faire et les outils, bien sûr. Cependant, il doit encore évoluer.

Articles dans cette catégorie