Dernière mise à jour:
Intégrité
Des mois plus tard, vous devez pouvoir démontrer que le jeu de données que vous retrouvez est bien celui que vous avez remis. Cela se fait avec un hachage, pas avec du chiffrement.
Le chiffrement ne prouve rien quant aux modifications
BitLocker protège contre la lecture, pas contre la modification. Qui possède la clé peut modifier le contenu et reverrouiller le support. N’écrivez donc pas dans un rapport qu’un support est « protégé contre la manipulation » parce qu’il est chiffré. C’est le rôle d’un hachage.
Ce que fait un hachage
Un hachage SHA-256 est une valeur de 64 caractères qui découle du contenu d’un fichier. Si un seul message d’une boîte aux lettres est modifié, ajouté ou supprimé, le hachage change. Toute personne qui possède le fichier et la valeur d’origine peut le vérifier, sans devoir vous croire sur parole.
Un hachage ne dit rien des fichiers qui n’existent plus : ce qui disparaît ne laisse aucun hachage divergent. C’est pourquoi un inventaire doit l’accompagner.
Mettez les hachages dans le rapport signé
Une liste de hachages sur le support lui-même ne prouve rien. Qui peut modifier les fichiers peut aussi modifier cette liste. Mettez donc aussi les hachages dans le rapport que vous signez numériquement. Ils sont alors liés à votre signature et au moment de la signature.
Si le hachage que calcule le destinataire correspond encore à celui du rapport, le destinataire peut être sûr qu’aucun tiers n’y a touché en route.
Ce que contient chaque support
- les fichiers de données ;
MANIFEST.txt: ce que contient le jeu de données, ce qu’il ne contient volontairement pas, et pourquoi ;CHECKSUMS_SHA256.txt: un hachage par fichier.
Mettez aussi le hachage de MANIFEST.txt dans le rapport. Sinon, c’est justement la description du contenu qui pourrait changer à votre insu.
Calculer et vérifier les hachages
PowerShell est présent sur tout ordinateur Windows et calcule le SHA-256, pour un fichier ou pour un dossier entier. Vous n’avez donc besoin d’aucun logiciel supplémentaire, et une partie non plus : avec la même commande, elle vérifie un fichier.
Indiquez aussi comment une partie vérifie la liste complète. Un tel contrôle signale les fichiers modifiés et manquants, mais pas un fichier ajouté. Pour cela, il faut MANIFEST.txt, et une comparaison entre le nombre de lignes de la liste et le nombre de fichiers sur le support.
Les scripts à copier, et les pièges qui vont avec, sont sur Hachages dans PowerShell.
Calculez le hachage à la réception
Calculez le hachage à la réception, pas seulement à la remise. L’état initial est alors fixé, et chaque opération ultérieure est une étape délibérée plutôt qu’un écart inexpliqué.
Le hachage lui-même est rapide : 2 Go depuis la mémoire prennent quelques secondes. Depuis un disque externe ou un dossier réseau, cela dure à peu près aussi longtemps que la lecture de ce disque.