Sanyanggae LogoSanyanggae

☁️ Cloud en beveiliging

Wat bewijst een bestandshash? Integriteit en authenticiteit met SHA-256 onderscheiden

Leer hoe SHA-256 bytes in plaats van namen vergelijkt en hoe je een download controleert. Onderscheid oorzaken van afwijkingen en de rol van betrouwbare referentiewaarden en digitale handtekeningen.

사냥개 (Sanyanggae)Gepubliceerd Bijgewerkt 13 min

Dit is een vertaling van het Koreaanse origineel. Koreaans origineel · Vertaalcontrole: Gecontroleerd door AI

Verklarend schema dat bytevergelijking, de bron van een referentiehash en de grenzen van resultaatinterpretatie onderscheidt.
Verklarend schema van Sanyanggae dat bytevergelijking, de herkomst van referenties en de reikwijdte van verificatie onderscheidt. Geen werkelijke meting of certificaat van een digitale handtekening.

1. Dezelfde naam betekent niet dezelfde inhoud

Als naam en grootte van een gedownload installatiebestand overeenkomen met de downloadpagina, lijkt het al snel correct ontvangen. Maar namen kunnen veranderen en even grote bestanden kunnen verschillende inhoud hebben. Andersom verandert een foto kopiëren onder een andere naam niet noodzakelijk de bytes erin. Een hash helpt bij het vergelijken door de inhoud met een vastgelegde berekening om te zetten in een korte waarde. De vraag is of de ontvangen bytes overeenkomen met een betrouwbare referentie, en niet alleen of de bestandsnaam aannemelijk klinkt. Diezelfde vraag kun je stellen nadat je een back-up naar een ander opslagapparaat hebt verplaatst.

SHA-256 is een algoritme dat van de invoer een hashwaarde van 256 bits maakt. Die wordt meestal als 64 hexadecimale cijfers weergegeven, omdat elk cijfer vier bits vertegenwoordigt. De lengte van het resultaat groeit niet evenredig met de bestandsgrootte. Hetzelfde algoritme geeft voor dezelfde bytes hetzelfde resultaat. Omdat waarden van eindige lengte alle mogelijke invoer moeten vertegenwoordigen, bestaan er in beginsel botsingen: verschillende invoer met dezelfde waarde. Bruikbaar zijn voor praktische vergelijkingen is iets anders dan elk bestand een wiskundig unieke naam geven. RFC 6234 biedt berekeningen en testmateriaal, onder andere voor SHA-256.

2. Een hash is geen versleuteling of miniatuurkopie

Een hash kennen geeft geen ontsleutelknop waarmee het oorspronkelijke document of de foto terugkomt. Versleuteling is ontworpen om met een passende sleutel het origineel terug te halen; een cryptografische hash is geen opslagformaat om het te reconstrueren. Dat betekent ook niet dat alleen een hash publiceren elke invoer geheim houdt. Zijn er maar enkele mogelijke invoeren, dan kan iemand daarvan de hashes berekenen en vergelijken. Een uitleg van SHA-256 voor bestandscontrole mag daarom niet veranderen in het advies dat rechtstreeks hashen voldoende is om wachtwoorden op te slaan. Integriteitscontrole, vertrouwelijkheid en wachtwoordopslag stellen verschillende eisen.

Bij een berekening over het hele bestand vergelijk je niet alleen zichtbare tekens. Zinnen die er hetzelfde uitzien, kunnen door regeleinden, tekencodering of interne metadata verschillende bytes hebben. Een uitgepakt bestand is een ander vergelijkingsobject dan het archief zelf. Als je tekens normaliseert of regeleinden wijzigt vóór de berekening, krijg je de hash van de omgezette gegevens. Publiceert de aanbieder een waarde voor het oorspronkelijke archief, vergelijk die dan eerst met het gedownloade archief zelf. Dit past het onderscheid tussen weergave en bytes uit het eerdere artikel over Unicode en UTF-8 toe op praktische bestandscontrole.

3. Vergelijk met hetzelfde algoritme en de juiste referentie

Controleer vooraf in de officiële downloadinstructies samen de versie, het besturingssysteem, de bestandsnaam en het hashalgoritme. Een waarde voor een installatiebestand van een ander systeem of een andere versie is geen passende referentie. In PowerShell leest Get-FileHash -LiteralPath '.\download.zip' -Algorithm SHA256 een lokaal bestand en berekent het de hash. Het commando voert de inhoud op dat pad niet uit. De officiële Microsoft-documentatie legt uit dat de berekening de inhoud gebruikt en dat alleen hernoemen de waarde niet verandert. Pas naam en pad aan je werkelijke download aan en wijzig het bestand niet tijdens de berekening.

Vergelijk in de uitvoer alle 64 tekens van het veld Hash met de gepubliceerde SHA-256-waarde. Enkele gelijke tekens aan het begin of einde bewijzen geen volledige overeenkomst. Hexadecimale hoofdletters en kleine letters stellen dezelfde getallen voor; staan er andere tekens in of ontbreken cijfers, controleer dan eerst de gekopieerde waarde. Een overeenkomst ondersteunt de consistentie tussen de ontvangen bytes en de referentie die je vertrouwt. Het controleert geen feitelijke juistheid van een document, programmakwaliteit of schadelijk gedrag. Heeft het referentiebestand zelf een probleem, dan heeft een identieke kopie dezelfde hash. Een geslaagde berekening en de vraag of je het bestand kunt gebruiken vragen om afzonderlijke beoordelingen.

4. Een afwijking vraagt om onderzoek en bewijst geen aanval

Stel dat een gisteren gedownload distributiebestand afwijkt van de waarde in de instructies van vandaag. Dit is een uitlegvoorbeeld, geen verslag van een werkelijk incident. Kijk eerst of de instructies dezelfde versie betreffen, of je een bestand voor een ander apparaat hebt ontvangen en of de download klaar was vóór de berekening. Misschien heb je een uitgepakt bestand gehasht in plaats van het archief, of heeft een editor het document opnieuw opgeslagen. Een ander vergelijkingsobject moet worden onderscheiden van wijzigingen tijdens overdracht of opslag. Een afwijkende waarde alleen vertelt niet wie wat wanneer veranderde.

Voer een afwijkend installatiebestand niet meteen uit om het te onderzoeken. Controleer opnieuw de officiële downloadinstructies en referentiewaarde en vergelijk daarna een nieuwe download. Blijft het verschil bestaan, zoek dan naar correcties of ondersteuning van de aanbieder en bewaar het resultaat. Noteer samen het controletijdstip, bronadres, de versie, het algoritme en de berekende waarde. Herhaald dezelfde uitkomst wijst op een consistente lezing van het huidige lokale bestand, maar lost geen fout in de gepubliceerde referentie of het distributiepad op. De referentieregistratie overschrijven met de verwachte uitkomst vernietigt de basis om latere veranderingen te beoordelen.

5. Waarom vertrouw je de referentie en wat voegt een handtekening toe?

Als een aanvaller zowel het bestand als de aangekondigde hash kan wijzigen, kan die de hash van het aangepaste bestand berekenen en als nieuwe referentie publiceren. NIST SP 800-175B beschrijft deze beperking van een hash zonder sleutel of handtekening. De waarde ophalen van een HTTPS-pagina op het officiële adres helpt bij het controleren van bron en overdrachtsweg, maar garandeert niet dat de distributieserver zelf niet is gecompromitteerd. Het gaat erom waar de referentie vandaan komt en via welke vertrouwensprocedure je haar verkreeg, niet hoe lang de tekenreeks lijkt. Twee overeenkomende waarden van hetzelfde scherm bevestigen op zichzelf niet de identiteit van de maker.

Digitale handtekeningen maken het mogelijk de relatie tussen handtekening en gegevens te controleren, bijvoorbeeld met een betrouwbaar verkregen openbare sleutel. Biedt de aanbieder een verificatieprocedure, volg dan ook de officiële stappen om eigenaar en vingerafdruk van de sleutel te controleren. Een onbekende sleutel naast een bestand van onduidelijke herkomst zomaar vertrouwen lost het beginpunt van vertrouwen niet op. Ook HMAC, met een gedeelde geheime sleutel, is een authenticatiemiddel dat verschilt van een gewone hash, maar geen functie die je willekeurig aan elke download toevoegt om alles op te lossen. Een geldige handtekening bewijst niet dat een programma foutloos is of dat een document waar is. Byte-overeenkomst, broncontrole en inhoudsbeoordeling hangen samen, maar vragen elk eigen bewijs.

6. Leg bij back-ups en samenwerking ook de reikwijdte vast

Bij persoonlijke fotoback-ups helpt het bewaren van de SHA-256-waarden van originelen en vergelijken met kopieën om veranderingen tijdens een verplaatsing te herkennen. Bewaar ook de referentielijst zo dat die niet samen met de originelen verdwijnt of wordt overschreven. Schrijft fotobeheersoftware draaiingsinformatie of opnamemetadata opnieuw, dan kan de hash veranderen terwijl de foto er vergelijkbaar uitziet. Onderscheid eerst of je exacte bytes wilt bewaren of de betekenis van een bewerkte foto wilt behouden. Voor een hele map is de hash van één bestand niet genoeg: beheer de opgenomen bestanden, relatieve paden en afzonderlijke waarden samen.

Bij gezamenlijke documentbeoordeling kan een hash ook de exact beoordeelde versie vastleggen. Maar een controle op gelijke hashes vervangt geen bewijs dat iemand werkelijk de hele tekst las of een vertaling vergeleek. Noteer wat wanneer en hoe is beoordeeld en verbind die registratie daarna aan de bestandswaarde. De afbeelding bij dit artikel is een eigen verklarend schema van bytevergelijking, herkomst van referenties en de reikwijdte van verificatie; het is geen werkelijke meting of certificaat. Noteer bij bestandscontrole achtereenvolgens doel en algoritme, de referentiebron en de grenzen van wat de uitkomst aantoont. Zo kan iemand anders de procedure herhalen zonder overeenkomsten of afwijkingen te overdrijven.

Bronnen en verdere informatie

Dit artikel legt openbare informatie uit. Een bronvermelding betekent geen controle of goedkeuring door de genoemde organisatie.

Over de uitgever en contact

Andere artikelen over dit onderwerp