La solution de Paymium au problème de la certification des diplômes des étudiants de l’ESILV

Suite à de nombreuses demandes, et profitant d’un peu de temps libre au mois d’août, je détaille ci-dessous la solution ingénieuse de Paymium au problème de la certification des diplômes des étudiants de l’ESILV. Pour comprendre le texte ci-dessous que je pense être très détaillé, il faut en préalable avoir compris ce qu’est une fonction de hachage. En gros, une fonction de hachage est une fonction dite à sens unique et résistante aux collisions faibles et fortes. Je renvoie le lecteur à Wikipedia par exemple ou à un cours de cryptographie élémentaire. La définition est à la portée de n’importe quel lycéen ou lycéenne. L’image par une fonction de hachage d’un document quelconque s’appelle un « hash ». La fonction de hachage utilisée est SHA-256 qui respecte les critères de la NSA américaine.

Il est important d’insister d’emblée sur le fait que la solution de Paymium est complètement transparente : elle ne s’appuie sur aucun brevet de fabrication dont le secret serait gardé par quelques-uns. Elle est également décentralisée. Pour obtenir la preuve voulue, il n’est nul besoin de passer par un tiers de confiance ou par un serveur particulier. La preuve est inscrite dans la blockchain du bitcoin et tout explorateur de blockchain pour peu qu’il prenne en compte les transactions du type OP_RETURN fait l’affaire. Il en est ainsi notamment de blocktrail, blockcypher, chain.so, kaiko ou smartbit par exemple.

Le site diploma.report crée par Paymium offre à chaque étudiant un espace pour retrouver tous ses documents administratifs. diploma.report n’est pas un passage obligé pour obtenir une preuve. C’est juste un espace confortable pour l’étudiant  – qu’il peut partager avec le public pour autant qu’il en donne l’adresse – où il retrouve facilement ses pièces importantes. Chaque étudiant est par ailleurs fortement encouragé à conserver ses documents sur un disque dur externe ou une clé USB. Les sites de l’ESILV et diploma.report peuvent se faire attaquer mais même si cela devait arriver, cela serait sans conséquence pour l’étudiant. La blockchain du bitcoin, elle, étant en pratique infalsifiable, l’étudiant aurait toujours la possibilité de prouver sa bonne foi.

dr2

La seule chose réellement importante est que l’école, en l’occurrence l’ESILV, rende publique l’adresse qu’elle a utilisée pour enregistrer les traces des diplômes de ses étudiants. C’est pourquoi, ici, l’ESILV revendique publiquement l’adresse 1LtRb89nFo8nzFSqZcWajhsmPgbe4NkAGY comme étant celle ayant servi à mener l’opération. Il serait bon dans l’intérêt de tous et en particulier de ceux qui souhaitent développer une économie autour de la nouvelle technologie des registres distribués qu’apparaissent des sites qui répertorient les adresses publiques de celles (associations, écoles, institutions, entreprises) qui souhaiteraient précisément s’identifier publiquement.

dr4

Prenons l’exemple d’un étudiant de l’ESILV qui vient de recevoir son diplôme. Avec son accord, j’ai pris pour modèle Aloys Fortier. C’était un élève particulièrement doué et humble. Après un excellent stage de fin d’études à la BRED, il a choisi de suivre un mastère spécialisé en techniques financières de l’ESSEC. Il travaille actuellement à Londres pour une grande banque d’investissement américaine. Son site recense quelques projets qu’il a mené lors de sa scolarité à l’ESILV et notamment une super vidéo (et un tuto en prime) qui explique comment créer simplement une interface entre C# et Excel permettant un debug en temps réel (sans ligne de code en VBA). Je vous invite à la regarder. Mais c’est une autre histoire…

Pour rentrer sur son espace personnel, Aloys a juste besoin de rentrer son prénom et son nom ici… On accède naturellement à cette page à partir de la page d’accueil en cliquant successivement sur Schools (en haut à droite) puis sur 2015. Tout le monde peut le faire pour lui. Il n’y a rien à cacher puisqu’il n’y a aucun dommage possible (impossible pour un attaquant de falsifier la blockchain !). Pour se rendre directement sur l’espace personnel d’Aloys, il suffit de suivre ce lien qui est public. En cliquant sur le premier bouton vert (DiplomeESILV-2015-AloysFORTIER.pdf) vous pouvez découvrir son diplôme numérisé en pdf. Techniquement, tous les documents téléchargeables disponibles sur diploma.report le sont depuis un « cloud » d’Amazon.

Si vous avez peur d’aller sur diploma.report et que vous préférez rester sur mon blog, vous pouvez cliquer sur DiplomeESILV-2015-AloysFORTIER, le résultat est le même ! Merci à Aloys de m’avoir donné l’autorisation de mettre son diplôme en valeur !

En cliquant sur le second bouton vert à partir de l’espace perso d’Aloys sur diploma.report (Download Diploma Report), vous pouvez télécharger un fichier qui par défaut porte le nom diploma_batch_1.pdf.

dr5

 

Vous pouvez aussi cliquer sur ce lien : diploma_batch_1 en restant sur mon blog. Même résultat ! Rien à cacher ! C’est un fichier de cinq pages qui a l’air bien mystérieux… Sur la première page, on trouve en en-tête le logo de l’ESILV. Chacune des lignes du fichier représente une suite de chiffres et de lettres… Il se trouve que chacune de ces suites est égale au hash d’un diplôme numérisé d’un étudiant. Le document diploma_batch_1.pdf rassemble donc l’ensemble des hash des diplômes des étudiants de l’ESILV de la même promo qu’Aloys.

Par exemple, le hash du diplôme d’Aloys est 765bc0b9b2b9c4acb60c59364cd98cf8630c65a13dd28c9120394128c5deb6f3. C’est indiqué sur son espace perso à la suite de « Diploma Digest: ». Pour en avoir confirmation, il suffit de cliquer sur le HERE de l’encadré en gris « Compute the SHA256 hash of any file: Click HERE to select the file in your computer hard drive. » qui se trouve en bas à gauche puis d’insérer le fichier DiplomeESILV-2015-AloysFORTIER.pdf qui vient d’être téléchargé. Il n’est bien sûr nul besoin d’aller sur diploma.report pour calculer le hash d’un document. Vous trouverez sur internet plusieurs sites qui le font également. Pour comparer, vous pouvez par exemple aller sur cryptage.online-convert.com/fr/generateur-sha256, cliquer sur le bouton « Choisissez un fichier » puis sur le bouton « Convertir le fichier ». Au final, le résultat sera le même. Le hash du diplôme d’Aloys par SHA 256 est bien égal à 765bc0b9b2b9c4acb60c59364cd98cf8630c65a13dd28c9120394128c5deb6f3 (version hexadécimale) et ce hash est bien présent à la troisième ligne du fichier diploma_batch_1.

J’insiste encore. Pour plus de sécurité, Aloys est fortement invité à conserver les deux pdf précités (DiplomeESILV-2015-AloysFORTIER et diploma_batch_1) ailleurs que sur son espace perso disponible sur diploma.report. Au fond, Aloys n’a besoin que de ces deux documents pour prouver l’authenticité de son diplôme. Tout le reste peut s’en déduire. En effet, le hash de diploma_batch_1 est bien 14aca82c72ee4e944da4c07cb791536e71044d0f7d524e4f4b4f1de43612fa63 comme annoncé à la ligne « Diploma Report Digest: » et comme on peut le vérifier en calculant le hash grâce au calculateur en ligne de diploma.report ou à cryptage.online-convert.com par exemple.

Théoriquement, Aloys a en plus besoin de l’identifiant de la transaction passée par Paymium pour le compte de l’ESILV sur la blockchain du Bitcoin. Cet identifiant est 266a896c28cae8e4b2a953240beb41079dddb48644bf02555b802a71e086f0c0 comme on peut le voir en dessous de « Diploma Report OP_RETURN Tx ID: » sur l’espace perso d’Aloys. Mais en fait, en tapant l’adresse publique de l’ESILV dans un explorateur de blockchain, on aboutit à cet identifiant de transaction vu que l’adresse prise par l’ESILV n’a servi qu’une seule fois comme input d’une transaction ! Par exemple, si on tape 1LtRb89nFo8nzFSqZcWajhsmPgbe4NkAGY dans chain.so, on voit que l’adresse de l’ESILV 1LtRb89… est impliquée dans deux transactions. Dans la première, l’adresse précitée a été créditée de 0.0249 bitcoins (l’adresse est l’output d’une transaction) et dans l’autre, elle a été débitée du même montant. L’adresse figure dans ce cas comme input d’une transaction un peu particulière qui s’est produite le 23 juin 2016. On constate que sur les 0.0249 bitcoins que contenait l’adresse de l’ESILV, 0.0239 ont été versés sur une certaine adresse (qui a donc récupéré une partie de l’argent). Explicitement, cette adresse est 1KZBoT1xuY9FZBf38g3DqjQEUycKejUADo (output 0) mais c’est sans intérêt. On voit également que 0.001 bitcoins ont été versés au titre de frais de transaction. Par contre, il est important de constater qu’il ne s’agit pas seulement d’une transaction financière classique puisqu’il existe un autre output « Nonstandard ». Le script pour cet output 1 utilise l’opcode OP_RETURN. C’est le moyen le plus utilisé (car le plus simple et le plus efficace) pour laisser une trace dans la blockchain. On peut y laisser actuellement jusqu’à 40 bytes de métadonnées… Le texte laissé par l’ESILV est court et n’utilise pas toute cette place.

Il s’agit bien d’un texte laissé par l’ESILV car seul le titulaire de l’adresse 1LtRb89nFo8nzFSqZcWajhsmPgbe4NkAGY est capable de passer une transaction en tant qu’input. Or, l’ESILV a insisté pour dire qu’elle possédait cette adresse… Quant au texte après OP_RETURN, il suffit de lire le résultat après « Message ». C’est sans surprise 14aca82c72ee4e944da4c07cb791536e71044d0f7d524e4f4b4f1de43612fa63, c’est à dire le hash du fichier diploma_batch_1 (la liste de tous les hash des diplômes). Autrement dit, c’est comme si l’ESILV disait : « je, soussignée ESILV, certifie que tout étudiant dont le hash du diplôme figure dans la liste du fichier diploma_batch_1 fait bien partie d’une même promotion diplômée par l’ESILV ». Signé ESILV, le 23 juin 2016. Or, le hash du diplôme d’Aloys fait partie de la liste. C’est le troisième. Donc Aloys a bien été diplômé par l’ESILV…

Si un jour, Aloys est en contact avec un employeur qui lui demande la preuve de son diplôme de l’ESILV, il n’aura qu’à lui faire parvenir le pdf de son diplôme, le pdf diploma_batch_1, l’identifiant de l’enregistrement sur la blockchain et l’adresse de l’ESILV ayant servi à la transaction. Il n’est bien sûr pas obligé d’aller sur diploma.report pour cela. Mais il lui suffit aussi d’envoyer le lien vers son espace perso à son futur employeur de sorte que celui-ci n’ait plus qu’à cliquer… Paymium n’a pas fait que passer une transaction sur la blockchain au nom de l’ESILV. Il offre en plus un grand confort d’utilisation aux étudiants et aux employeurs.

Encore deux points importants : si par malheur, l’ESILV perd la clé secrète associée à la clé publique utilisée pour mener la transaction décrite ci-dessus, cela sera sans conséquence pour Aloys. Rappelons de manière technique qu’une adresse bitcoin est le (double) hash d’une clé publique qui se déduit elle-même d’une clé secrète à partir de l’algorithme ECDSA et on ne peut mener une transaction sans posséder la clé secrète. Quoi qu’il arrive, même si un escroc parvient à voler cette clé secrète (on peut imaginer qu’un attaquant passe une transaction grâce à cette clé secrète et inscrit sur la blockchain le hash d’un fichier de diplômés qui ne reprend volontairement pas le hash du diplôme d’Aloys par exemple), il ne parviendra pas à modifier l’historique de la blockchain de sorte que les diplômes de l’ESILV de la promo d’Aloys seront toujours associés à la première transaction mettant en jeu l’adresse 1LtRb89nFo8nzFSqZcWajhsmPgbe4NkAGY en tant qu’input. En fait, l’ESILV peut même jeter cette clé secrète, on s’en fiche ! Elle a servi une fois et c’est la première fois qui compte ! Paymium insiste pour dire : « Seule la première transaction où cette adresse apparaît comme input fait foi de sorte qu’une éventuelle compromission (vol) ultérieure de la clé par un pirate serait sans conséquence. »

Ceci entraîne le second point suivant : l’adresse 1LtRb89nFo8nzFSqZcWajhsmPgbe4NkAGY correspond à la promo d’Aloys. La future promo possédera naturellement une autre adresse Bitcoin que l’ESILV revendiquera publiquement comme étant la sienne… On utilisera une autre clé pour écrire une trace des diplômes de la future promo de l’ESILV que j’espère aussi brillante que celle d’Aloys !

Cela n’a l’air de rien. Ce n’est pas compliqué. Mais c’est ingénieux et c’est une première mondiale. L’ESILV est devenue de ce fait la première école au monde à avoir inscrit les diplômes de ses étudiants dans la blockchain du bitcoin et concrètement, c’est Pierre Noizat de Paymium qui l’a fait pour elle. Pour être honnête, la première école à y avoir songé est la Holberton School lorsqu’elle a présenté son modèle d’entreprise à la presse fin 2015. Il semblerait que cette école à qui je souhaite bonne chance ouvre ses portes (façon de parler car j’imagine qu’elle utilisera beaucoup de cours en ligne) en octobre 2016.

Félicitations Pierre !

3 pensées sur “La solution de Paymium au problème de la certification des diplômes des étudiants de l’ESILV”

Laisser un commentaire