Checksums als middel om de integriteit van bestanden te bewaken

From Tracks
Jump to navigation Jump to search
Other languages:
English • ‎Nederlands

Digitale bestanden zijn kwetsbaar, niet alleen door de snel wijzigende technologie maar ook doordat alle digitale dragers onbetrouwbaar zijn voor langetermijnbewaring als ze niet worden gekoppeld aan o.a. goede back-up- en controleprocedures. Zonder de nodige voorzorgen kunnen digitale gegevens zelfs al op korte termijn verloren gaan of onbedoeld wijzigen. Dit fenomeen noemt men bitrot. De oorzaak hiervan ligt vaak bij de mechanische slijtage van de drager, of in een wijziging van de chemische samenstelling ervan. Daarom is een identieke kopie als back-up steeds noodzakelijk. Ook fouten bij het kopiëren van bestanden kunnen echter gegevensverlies tot gevolg hebben, bv. bij het maken van een back-up.

Een checksum stelt je in staat om dergelijke fouten of informatieverlies op te sporen. Een checksum is de digitale vingerafdruk van een bestand, een controlegetal dat aan bestanden wordt toegekend. Zodra er ook maar iets aan de bestanden is gewijzigd, genereert de checksumsoftware een nieuwe reeks getallen. Elk gewijzigd bestand krijgt met andere woorden een nieuw controlegetal. Het vertelt je bij de verslechtering van de drager wanneer je het oorspronkelijke bestand moet vervangen door de back-up, en stelt je in staat te verifiëren of de back-up wel een identieke kopie is van het origineel. Iedereen die digitale bestanden duurzaam wil archiveren, zou zonder uitzondering dergelijke checksums moeten aanmaken en ze vervolgens regelmatig moeten controleren.

Hoe kan je checksums gebruiken?

Het principe van een checksum of controlegetal is erg eenvoudig: op een reeks letters of cijfers wordt met behulp van een algoritme een berekening uitgevoerd, met een nieuwe, kortere tekenreeks als resultaat. Door die berekening achteraf opnieuw uit te voeren en te vergelijken met de vorige uitkomst, kan worden gecontroleerd of de tekenreeks nog correct is.

Guide to finger-print identification (electronic resource) (1905) (14597913879).jpg

In de informatica wordt deze techniek gebruikt bij datacommunicatie en -opslag. Hierbij wordt een algoritme uitgevoerd op een reeks bits, de verzameling enen en nullen waaruit elk digitaal bestand in essentie bestaat. Wanneer daarvan een bit verandert, levert dit een ander controlegetal op en is het duidelijk dat er iets mis is met het bestand. Zo’n controlegetal kan op elke willekeurige reeks bits worden berekend, dus ook op bv. een digitale afbeelding of tekstbestand.

MD5

Het Message Digest Algorithm 5 (MD5) geeft een checksum van 32 tekens. Ieder teken bestaat uit een cijfer van 0 tot 9 of een letter van a tot f, bv. 5adb6b18a918913e279761a06e5ba73a. Door deze samenstelling zijn 1632 of 2128 verschillende combinaties mogelijk. De kans dat twee bestanden hetzelfde controlegetal opleveren, is extreem klein. Met een MD5-checksum kun je dus een quasi unieke vingerafdruk van elk bestand creëren.

Oorspronkelijk werd MD5 ontworpen als beveiligingsalgoritme, maar intussen blijkt het daarvoor te kwetsbaar te zijn. Als controlemiddel voldoet het echter nog steeds, bv. bij gebruik in een digitaal archief. MD5-checksums worden gecreëerd voor of tijdens de opname van bestanden in het digitaal archief. Op regelmatige tijdstippen en/of bij raadpleging van een bestand, wordt aan de hand van eerder gemaakte checksums gecontroleerd of het bestand nog steeds volledig en ongewijzigd is (en dus niet gecorrumpeerd is).

Dit is belangrijk omdat digitale bestanden vaak in grote hoeveelheden worden bewaard, en men onmogelijk ieder individueel bestand visueel kan gaan inspecteren. Bovendien zou een visuele inspectie van alle individuele bestanden in de meeste gevallen nog steeds onvoldoende uitsluitsel geven of de integriteit van de opgeslagen bestanden ongewijzigd is. Wanneer uit een controle van de MD5-checksum blijkt dat de integriteit van een digitaal bestand is gewijzigd, dien je terug te grijpen naar de (niet-gewijzigde) back-up en het gewijzigde bestand te vervangen door een exacte kopie van die back-up.

Checksum tools

Om MD5-checksums te gebruiken zijn een groot aantal – gratis – programma’s beschikbaar. Het principe is steeds hetzelfde en even eenvoudig: het programma creëert checksums van een aantal bestanden. Het resultaat is een klein tekstbestand, dat je samen met de bestanden bewaart. Wanneer je de bestanden wil controleren, vergelijkt het programma de nieuwe checksums met die in het tekstbestand. Wil je zeker zijn dat gegevens door bv. slijtage van de drager niet samen met het bestand verloren gaan, dan kan je het tekstbestandje ook op een andere locatie (bv. een externe harde schijf) opslaan.

Enkele voorbeelden van checksum tools:

Hou er rekening mee dat er regelmatig nieuwe checksum tools verschijnen, en dat de ondersteuning van oudere checksum tools op een gegeven ogenblik mogelijk stopt. De MD5-checksums zelf zijn echter niet afhankelijk van een bepaalde checksum tool.

De keuze voor een bepaalde checksum tool kan bepaald worden door verschillende factoren. Niet elke checksum tool draait onder alle besturingsprogramma’s of versies ervan; naargelang je gebruiker bent van Windows, Mac OS X of Linux, of een bepaalde versie ervan, kan het nodig zijn om een andere tool te kiezen. Ook niet alle tools hebben een grafische gebruikersinterface. Tools die enkel met een command line werken kunnen sommige gebruikers afschrikken. Sommige checksum tools bieden ook meer uitgebreide of andere gebruiksmogelijkheden dan andere tools. Met de meeste checksums tools kunnen niet alleen MD5-checksums worden gemaakt en gecontroleerd, maar ook andere types checksums.

Een uitgebreider overzicht van voorbeelden van checksum-tools vind je op Wikipedia.

Aan de slag met enkele checksum-tools

Ter illustratie demonstreren we hier drie mogelijkheden om MD5-checksums te creëren en te controleren. Met het oog op gebruiksvriendelijkheid hebben we gekozen voor checksum-tools met een grafische gebruikersinterface. We hebben zelf de checksums-tools gebruikt op een Apple-computer, maar ze draaien ook op andere besturingsprogramma’s dan macOS. Om de verschillende checksum-tools te installeren is het aangewezen om de installatiehandleidingen te raadplegen.


Auteurs: Rony Vissers (meemoo), m.m.v. Nastasia Vanderperren (meemoo) en Henk Vanstappen