CyvoDocOps
Français
Dark

Comment prouver qu'un document n'a pas changé

Six mois après que tout le monde ait signé, un litige éclate. L'autre partie présente sa copie de l'accord, et la clause 7 ne dit pas ce dont vous vous souvenez qu'elle disait. Les deux fichiers sont nommés agreement-final.pdf. Ils semblent tous les deux plausibles. Aucun de vous n'est nécessairement en train de mentir — les fichiers sont sauvegardés à nouveau, les versions se mélangent. Sans quelque chose enregistré au moment T, « voici le document sur lequel nous étions d'accord » n'est que le souvenir de deux personnes, et les souvenirs ne gagnent pas les arguments.

Qu'est-ce qu'un hachage ?

Un hachage cryptographique est une empreinte numérique des données. Vous soumettez un fichier à une fonction de hachage — SHA-256 est le choix moderne et judicieux — et elle renvoie une valeur de longueur fixe, 64 caractères hexadécimaux, que le contenu source soit d'une page ou de dix mille.

Trois propriétés le rendent utile :

Ainsi, l'empreinte est sûre à partager publiquement. Publier le hachage d'un contrat confidentiel ne révèle rien sur son contenu — mais cela ancre le contrat.

En résumé : un hachage répond exactement à une seule question — « ces deux fichiers sont-ils identiques octet par octet ? » — et y répond de manière définitive. Il ne touche pas aux autres questions auxquelles vous pourriez vouloir répondre.

À quoi sert un hachage ? ne prouver

C'est ici que l'idée est surestimée, il est donc important d'être précis. Un hachage correspondant vous indique que le fichier n'a pas été modifié. Il ne vous dit pas :

Les hachages vous donnent une preuve d'intégrité, pas ded'authenticité. Confondre les deux est l'erreur la plus courante dans ce domaine.

La partie que tout le monde comprend mal

Un hachage calculé maintenant ne prouve rien sur le passé. Si vous hachez un fichier aujourd'hui et que la valeur correspond au fichier d'aujourd'hui, vous n'avez rien appris — bien sûr qu'il correspond ; c'est le même fichier.

Un hachage ne devient une preuve que si sa valeur a été enregistrée quelque part de manière fiable avant l'existence du litige. La sécurité ne réside pas dans les mathématiques ; elle réside dans la chronologie. La question à laquelle un hachage répond est « cela correspond-il à ce que nous avons écrit à cette époque ? » — et cela nécessite que quelqu'un l'ait écrit à cette époque.

Ce qui fait donc foi, c'est le flux de travail, pas l'algorithme.

Un flux de travail réellement utile

  1. Hacher le fichier au moment où il devient définitif. Juste après la signature, avant qu'il ne soit archivé. Utilisez Hash de document.
  2. Enregistrer la valeur là où elle ne peut pas être révisée discrètement. Le mettre dans l'e-mail qui transmet le document. Le lire dans les procès-verbaux. L'envoyer à la partie adverse pour qu'elle le conserve aussi. L'objectif est un enregistrement avec une date qui n'est pas uniquement sous votre contrôle.
  3. Archiver le fichier exact. Il ne s'agit pas d'une réexportation. Ce n'est pas « le même document » imprimé à nouveau. Ce sont les octets exacts que vous avez hachés.
  4. Plus tard, recomputez et comparez. Même valeur : identique au niveau des octets, aucun argument. Valeur différente : le fichier a changé, même si ce n'est pas nécessairement malveillant — voir ci-dessous.

Ouvrir l'outil de hachage de document

Pourquoi votre hachage a changé alors que « rien n'a changé »

Cela déroute constamment les gens, et ce n'est pas un défaut du hachage. Un hachage couvre des octets, pas l'apparence. Deux PDF peuvent avoir l'air pixel-identiques et pourtant avoir des hachages différents :

Ainsi, un décalage signifie «ce ne sont pas les mêmes fichiers», et non «quelqu'un a trafiqué ceci». La réponse appropriée est l'enquête, et non l'accusation. Et la leçon pratique est ferme : Archivez le fichier que vous avez haché, et ne laissez rien le réenregistrer.

Conserver un enregistrement local

Si vous devez régulièrement établir que des documents n'ont pas dérivé, hacher chacun d'eux manuellement devient fastidieux. Un Registre de signature local conserve un enregistrement des documents que vous avez hachés sur votre propre appareil, afin que vous disposiez d'un journal personnel à vérifier ultérieurement — sans enregistrer les documents auprès d'un tiers.

Soyez clair quant à ce que cela est et ce que cela n'est pas. Il s'agit d'un registre privé, auto-géré : solide pour votre propre assurance, pour un processus interne, pour détecter une dérive accidentelle. C'est votre enregistrement — vous en avez le contrôle, ce qui est exactement la limitation lorsque la personne qui doute de vous est celle assise à l'autre bout de la table.

Lorsque vous avez besoin de plus qu'un hachage

Si un tiers doit être convaincu, l'intégrité seule ne suffira pas. Vous avez besoin de quelque chose qui lie le document à une identité, et idéalement à un moment, d'une manière qu'aucune des parties ne contrôle :

Pour les dossiers internes, les archives personnelles et les questions ordinaires « est-ce bien le fichier que j'ai envoyé ? », un hachage enregistré au moment suffit amplement. Pour des litiges, ce n'est pas le cas, et personne ne devrait suggérer le contraire.

Une note sur les anciens algorithmes

Si vous rencontrez MD5 ou SHA-1 dans un processus existant, traitez-les comme des sommes de contrôle plutôt que comme une mesure de sécurité. Les deux sont sujets à des attaques par collision pratiques : il est possible de construire deux fichiers différents ayant la même valeur, ce qui est précisément la propriété sur laquelle vous comptiez. Ils conviennent pour détecter une corruption accidentelle et ne sont pas adaptés à un usage adversarial. SHA-256 est le standard pour une bonne raison.

Pourquoi le calculer localement ?

Télécharger un document sur un site web pour en connaître l'empreinte numérique donne une copie de ce document à un tiers — alors qu'un calcul que votre propre appareil peut effectuer en un instant. Si le fichier est assez important pour justifier d'être « épinglé », il est assez important pour ne pas être remis. Dans CyvoDocOps, les opérations de ce type sont exécutées localement dans votre navigateur et le document n'est pas téléversé sur un serveur.

Questions fréquemment posées

Qu'est-ce qu'un hachage de fichier en termes simples ?

Une empreinte numérique courte dérivée du contenu d'un fichier. Même fichier, même empreinte ; changez quoi que ce soit et l'empreinte change complètement.

Deux documents différents peuvent-ils avoir le même hachage ?

En théorie, oui, en pratique non avec SHA-256 — personne ne peut construire un tel couple. Avec MD5 ou SHA-1, oui, et c'est pourquoi ils ne devraient pas être utilisés là où cela compte.

Un hachage prouve-t-il qui a écrit le document ?

Non. Il prouve que le fichier n'a pas changé. L'identité nécessite une signature numérique, qui lie un hachage à une clé appartenant à une personne ou une organisation connue.

Mon hachage a changé mais le document semble identique. A-t-il été altéré ?

Pas nécessairement. Le fait de sauvegarder, de remplir un champ de formulaire ou qu'un système réécrive la pièce jointe modifie tous les octets sans changer l'apparence. Cela signifie que le fichier est différent — ce qui mérite d'être investigué, mais ce n'est pas une preuve de mauvaise foi.

Le fichier est-il téléchargé pour être haché ?

Non. Le hachage est effectué localement dans votre navigateur et le document n'est pas envoyé à un serveur.

Guides et outils connexes