kraloz - Fotolia
Comment certifier un document avec la blockchain publique
Lors de Blockchain Paris, Claire Balva, du cabinet de conseil Blockchain Partner, a vanté les mérites des blockchains publiques dont une des applications montantes est la certification sans tiers de confiance.
Un des cas d’usages de la blockchain qui se popularise le plus est la certification de documents via les registres distribués (DLT).
Plusieurs interventions lors de l’édition 2019 de Blockchain Paris l’ont montré, à commencer par les projets MeRS (qui utilise la blockchain pour certifier des documents – y compris photos – liés au fret de marchandise) avec la solution de KEEEX, ou des montres Fugue (qui sont vendues avec un certificat numérique de propriété) avec la solution de Goodsid (qui certifie également des papiers au porteur comme dans les cas de diamants).
Docapost a aussi lancé un service de ce type, et des écoles commencent à explorer cette option pour « tamponner » les diplômes qu’elles émettent – comme le MIT.
La semaine dernière, lors de son Symposium de Barcelone, Gartner a de son côté émis l’idée d’un système similaire pour certifier les articles, les communiqués et les photos de presse afin de lutter contre les « fake news » et les contenus journalistiques volontairement altérés.
Mais il persiste souvent une confusion sur ce que fait – et donc ce que ne fait pas – la blockchain publique dans ce cas d’usage précis. Lors d’un échange avec le public sur la grande scène de Blockchain Paris, Claire Balva, co-fondatrice du cabinet de conseil Blockchain Partners, a bien repositionné la méthode.
La machine à hasher
La première confusion – qui s’estompe, mais qui existe encore – est qu’on ne certifie pas un document en le mettant dans une blockchain. Pour une raison simple : une blockchain est un registre (c’est-à-dire une liste de transactions) et non pas une base documentaire de type NoSQL, « ni un cloud », souligne fort justement Claire Balva.
L’information qui peut en revanche être stockée dans la blockchain publique est le hash du contenu à certifier. « Le hash est un peu comme la signature du document, c’est son empreinte digitale », illustre la cofondatrice de Blockchain Partner.
Un document génère – via un algorithme de hashage – un hash unique. Et deux documents différents généreront deux hash différents. Mieux, un changement infime, comme une virgule, donnera un hash entièrement différent.
Exemple (avec l’algorithme MD5) :
« Comment certifier un document avec la blockchain publique » donne le hash 342F849920D8FA98613F14BAF365D199. Et « Comment certifier un document avec la blockchain publique ? »(avec un ?) donne un hash qui n’a rien à voir : 1B3D565685FF94B6A07A15E486AFF764
En revanche, et c’est aussi très positif pour ce cas d’usage, le hash ne permet pas de retrouver la chaîne (de caractères ou de pixels, etc.) qui compose le document. On peut donc le partager publiquement sans crainte de dévoiler le contenu qui a généré le hash.
Dans une blockchain publique (dite « permissionless » en anglais), toutes les transactions sont transparentes pour tous les participants. C’est d’ailleurs là que peut surgir une autre confusion.
Partager un hash dans le registre public d’une blockchain comme Bitcoin ou Ethereum ne remet pas en cause la confidentialité du document (vu que le hash n’est pas « réversible »). La seule information potentiellement divulguée est « qui » a certifié le document et « quand ».
Ancrage
Reste la question de l’inscription dans le registre – qui n’est à la base pas non plus fait pour enregistrer des hash. Mais c’est tout de même possible avec un léger contournement.
Il suffit en fait de faire une transaction « du plus petit montant possible » (pour limiter le coût).
En effet, « dans une transaction, vous avez un champ de données – un peu comme lorsque vous faites un virement depuis votre compte en banque et que vous indiquez en légende “loyer du mois de mars” », rappelle Claire Blava. « C’est la même idée [avec une transaction dans une blockchain]. Sauf que vous mettez le hash à cet endroit, puis vous envoyez cette transaction ».
À date, le Bitcoin étant coté à 7 800 €, une telle opération sur cette blockchain coûterait entre 4 et 5 centimes plus des frais de transaction si le réseau est saturé.
La méthode est la même sur Ethereum où l’on peut réduire le « gaz » pour que la transaction coûte le moins cher possible (une certification ne nécessite en effet souvent pas d’être faite instantanément et peut attendre plusieurs dizaines de minutes).
Le hash – et par conséquent le document – est alors ancré dans la blockchain, à une date précise. Et ces informations, parce qu’elles sont massivement distribuées aux acteurs de la blockchain, sont inaltérables.
Retrouver le hash
Le hash généré est alors public, et attaché à une transaction. Pour le retrouver, rien de plus simple : « il suffit d’aller sur un explorateur de blockchain comme blockchain.info », conseille Claire Balva.
Là encore, une précision s’impose. Il ne faut pas confondre le hash d’un block (la signature « d’une page » du registre qui est reprise dans la page suivante et ainsi de suite – d’où la notion de chaîne) et le hash d’un document mis dans une transaction qui est elle-même une partie d’un block.
Le hash d’un document est mis dans une transaction qui est elle-même ajoutée à d’autres transactions pour constituer un block qui lui-même génère un hash.
Certificateur
La certification avec une blockchain publique est également possible parce que contrairement à certaines idées reçues, elle n’est pas anonyme, mais « pseudonyme »
En clair, les acteurs qui font des transactions le font à partir d’adresses elles-aussi publiques, mais qui ne révèlent pas leur nom. Il est en revanche possible de réconcilier les deux en communiquant que telle « adresse » (qui équivaudrait à un numéro de compte) est celui d’une entité officielle (Blockchain Partner par exemple).
Résultat, il est possible – en plus de la date et du document – de savoir qui a certifié – ou de le faire savoir à quelques personnes – en montrant sa clef publique (qui équivaut au numéro du compte qui a passé la transaction).
Limites de la méthode
Cette méthode de certification est efficace, mais elle a plusieurs limites.
La première est qu’elle n’est pas « user-friendly » sauf à être un geek. Mais plusieurs produits apparaissent – des couches d’abstractions – pour appliquer cette méthodologie, mais de manière très simple et sans le savoir.
Elle dépend aussi de la fluctuation des cours et des frais de transactions. Ceci étant, aujourd’hui, elle reste peu coûteuse.
Enfin, et surtout, elle n’est pas (encore) reconnue par les tribunaux et elle ne règle pas la question du stockage du contenu lui-même. Imaginez que vous stockiez un document sur un disque dur qui crashe, comme il est impossible de le reconstituer à partir du hash, la certification existe, mais elle devient… sans objet.
Il faut donc ajouter impérativement une solution pérenne d’archivage, de préférence dupliquée (comme un EFSS/Dropbox-like ou un ECM).
« L’important, c’est de pouvoir associer les trois : le document, le hash [dans la blockchain] et la clef publique de l’auteur », résume Claire Balva qui a mis en place cette méthode avec le cadastre de Genève (sur Ethereum).
Pour approfondir sur GED, signature électronique et partage de fichiers
-
Blockchain : quelles différences entre la Preuve de travail et la Preuve d’enjeu ?
-
ABF : premier maillon d’une blockchain nationale française
-
Cinq manières prometteuses d’utiliser la blockchain dans les ressources humaines
-
Sécurité et « soft power », les deux piliers de la stratégie DbaaS de Microsoft