Vérification indépendante

Vérifier une preuve Ipocamp, sans Ipocamp

Une preuve Ipocamp se vérifie avec des outils publics et gratuits, par n'importe qui et à tout moment, y compris le jour où Ipocamp n'existerait plus. Il vous faut le fichier d'origine, intact, et son certificat PDF.

Étape 1

Recalculer l'empreinte du fichier

Utilisez l'outil intégré à votre ordinateur, sans rien installer. Ouvrez un terminal dans le dossier du fichier et lancez la commande de votre système.

SystèmeCommande
Windows (PowerShell)Get-FileHash "fichier.pdf" -Algorithm SHA256
Windows (invite de commandes)certutil -hashfile "fichier.pdf" SHA256
macOSshasum -a 256 fichier.pdf
Linuxsha256sum fichier.pdf

Le résultat est une suite de 64 caractères. Elle doit être identique à la ligne « Empreinte SHA-256 » du certificat. Windows l'affiche en majuscules, ce qui ne change rien.

Étape 2

Retrouver l'inscription sur Tezos

  1. Sur le certificat, copiez la référence de la ligne « Blockchain ». Elle commence par « oo ».
  2. Collez-la dans n'importe quel explorateur Tezos, par exemple TzKT (tzkt.io) ou Better Call Dev (better-call.dev).
  3. Vérifiez trois points : le statut est applied (inscrite), l'opération est envoyée par l'adresse d'Ipocamp vers le contrat d'Ipocamp (tous deux indiqués plus bas), et la date du bloc correspond à la date d'horodatage du certificat.

Étape 3

Lire l'empreinte inscrite et la comparer

  1. Dans l'opération, le paramètre de l'appel storeValue est un jeton signé : trois blocs de texte séparés par des points.
  2. Décodez le bloc du milieu avec un outil comme jwt.io ou CyberChef. Il contient un champ hash : l'empreinte du fichier, écrite au format base64url.
  3. Convertissez-la en hexadécimal. Dans CyberChef : « From Base64 » avec l'alphabet « URL safe », puis « To Hex ». Sur macOS ou Linux, la commande ci-dessous fait la même chose (ajoutez un signe = à la fin de la valeur).
  4. Le résultat doit être identique à l'empreinte calculée à l'étape 1.
echo 'VALEUR=' | tr '_-' '/+' | base64 -d | od -An -tx1 | tr -d ' \n'

Dépôts plus anciens : pour les premiers dépôts, la valeur inscrite est directement l'empreinte en hexadécimal (64 caractères). Comparez-la telle quelle avec le résultat de l'étape 1.

Étape facultative

Vérifier la signature du jeton

  1. Le jeton est signé par Ipocamp avec l'algorithme ES256. Les clés publiques de signature sont publiées au format standard JWKS à l'adresse ipocamp.io/.well-known/jwks.json.
  2. Repérez le champ kid dans l'en-tête du jeton (le premier bloc), prenez la clé qui porte le même kid, et vérifiez la signature avec n'importe quel outil ou bibliothèque JWT, par exemple jwt.io.

Ces clés sont recalculées à partir des signatures publiques inscrites sur Tezos, et chacune est confirmée par au moins deux signatures. La liste est mise à jour régulièrement. Si la clé d'un dépôt très récent n'y figure pas encore, les étapes 1 à 3 suffisent à vérifier la preuve.

Ce que prouve cette vérification

Si les trois étapes concordent, le fichier existait dans cet état exact à la date du bloc Tezos. Cette date est fixée par le réseau qui tient le registre, indépendamment d'Ipocamp. Chaque dépôt a sa propre inscription et se vérifie donc seul.

Le jeton contient aussi un champ id : une empreinte des informations d'auteur choisies au dépôt. L'auteur est ainsi lié à la preuve sans apparaître en clair dans le registre public.