Laatst bijgewerkt:
Integriteit
Maanden later moet je kunnen aantonen dat de dataset die je terugziet, dezelfde is als die je afgaf. Dat doe je met een hash, niet met versleuteling.
Versleuteling bewijst niets over wijzigingen
BitLocker beschermt tegen meelezen, niet tegen wijzigen. Wie de sleutel heeft, kan de inhoud aanpassen en de drager opnieuw afsluiten. Schrijf dus niet in een verslag dat een drager “beveiligd is tegen manipulatie” omdat hij versleuteld is. Daarvoor dient een hash.
Wat een hash doet
Een SHA-256-hash is een waarde van 64 tekens die volgt uit de inhoud van een bestand. Wordt er in een mailbox één bericht gewijzigd, toegevoegd of verwijderd, dan verandert de hash. Iedereen die het bestand en de oorspronkelijke waarde heeft, kan dat narekenen, zonder jou op je woord te moeten geloven.
Een hash zegt niets over bestanden die er niet meer zijn: wat verdwijnt, laat geen afwijkende hash na. Daarom hoort er ook een inventaris bij.
Zet de hashes in het ondertekende verslag
Een lijst met hashes op de drager zelf bewijst niets. Wie de bestanden kan wijzigen, kan die lijst mee aanpassen. Zet de hashes daarom ook in het verslag dat je digitaal ondertekent. Dan hangen ze aan je handtekening en aan het moment van ondertekenen.
Klopt de hash bij de ontvanger nog met die in het verslag, dan kan de ontvanger zeker zijn dat er onderweg niet aan gemorreld is door een derde.
Wat op elke drager staat
- de databestanden;
MANIFEST.txt: wat er in de dataset zit, wat bewust niet, en waarom;CHECKSUMS_SHA256.txt: één hash per bestand.
Zet ook de hash van MANIFEST.txt in het verslag. Anders kan net de beschrijving van wat erin zit achteraf ongemerkt veranderen.
Hashes berekenen en nakijken
PowerShell staat op elke Windows-computer en rekent SHA-256 uit, voor één bestand of voor een hele map. Je hebt dus geen extra software nodig, en een partij evenmin: met dezelfde opdracht kijkt die één bestand na.
Geef ook mee hoe een partij de hele lijst nakijkt. Zo’n controle meldt gewijzigde en ontbrekende bestanden, maar geen bestand dat erbij gekomen is. Daarvoor heb je MANIFEST.txt nodig, en een vergelijking van het aantal regels in de lijst met het aantal bestanden op de drager.
De scripts om te kopiëren, en de valkuilen die erbij horen, staan op Hashes in PowerShell.
Bereken de hash bij ontvangst
Bereken de hash bij ontvangst, niet pas bij aflevering. Dan ligt de begintoestand vast, en is elke latere bewerking een bewuste stap in plaats van een onverklaard verschil.
Het hashen zelf gaat snel: 2 GB uit het geheugen duurt enkele seconden. Van een externe schijf of een netwerkmap duurt het ongeveer even lang als het uitlezen van die schijf.