Secure Hash Algorithm 1

SHA-1 (Secure Hash Algorithm 1) was lange tijd een standaard in cryptografie. Deze hashfunctie werd in 1993 ontwikkeld door de National Security Agency (NSA) en werd in 1995 gepubliceerd door het National Institute of Standards and Technology (NIST). SHA 1 zet een invoer van willekeurige lengte om in een 160-bits hashwaarde. Lange tijd werd het gebruikt voor digitale handtekeningen en certificaten. Tegenwoordig wordt SHA-1 als onveilig beschouwd. Toch wordt SHA-1 soms nog gebruikt door oude applicaties en infrastructuren. De meeste browsers, certificaatautoriteiten en softwareleveranciers hebben de hashfunctie inmiddels echter uitgefaseerd. Moderne protocollen zoals TLS 1.2 en hoger gebruiken veiligere alternatieven. Organisaties worden aangeraden om over te stappen naar SHA-2 of SHA-3.

 

Hashfunctie

 

Hoe werkt SHA-1?

SHA-1 werkt volgens de zogenaamde Merkle-Damgård-structuur dat meerdere stappen bevat, waaronder:

Padding:

De invoer wordt uitgebreid tot een veelvoud van 512 bits.

Inititialisatie:

De hashwaarde begint met vijf vaste 32-bits waarden.

Iteratief proces:

De data wordt in blokken verwerkt met een compressiefunctie.

Hash-output:

Na het verwerken van alle blokken ontstaat de 160-bits hash.

 

 

Waarom is SHA-1 onveilig?

Sinds de jaren 2000 zijn verschillende zwakke plekken in deze hashfunctie blootgelegd, zoals hashbotsingen (collision attacks), Shattered-attacks en lengte-extensieaanvallen. Bij een hashbotsing kunnen twee verschillende invoeren dezelfde hash genereren, wat kan leiden tot vervalsing of manipulatie. Een Shattered-attack in 2017 toonde aan dat twee verschillenden PDF-bestanden dezelfde SHA-1-hash konden hebben, waardoor de praktische kwetsbaarheid van de hashfunctie werd bevestigd. Bij een lengte-extensieaanval kan een bekende aanvaller een bekende hash uitbreiden zonder de oorspronkelijke invoer te kennen. Ook dit levert beveiligingsproblemen op.

 

Gebruik van SHA-1 wordt afgeraden

SHA-1 heeft dan weliswaar een belangrijke rol gespeeld in de ontwikkeling van cryptografie, maar tegenwoordig wordt het gebruik van deze hashfunctie sterk afgeraden. Er zijn inmiddels moderne hashfuncties ontwikkeld zoals SHA-256 (onderdeel van de SHA-2-familie) dat onder andere door Bitcoin wordt gebruikt vanwege zijn sterkere beveiliging. Ook SHA-3 (dat is gebaseerd op de zogenaamde ‘sponge-constructie’ is een veilige en efficiënte hashfunctie.

 

Terug naar boven ↑

 

Op de hoogte blijven van de ontwikkelingen op het gebied van blockchaintechnologie? Meld je dan nu aan voor de blogpost!

 

Meld je aan voor de blogpost!
Ik ga ermee akkoord dat mijn naam en e-mailadres worden gedeeld met Mailchimp.
Met de blogpost van Uitleg Blockchain blijf je automatisch op de hoogte van de nieuwste ontwikkelingen omtrent de blockchain technologie.
We hebben een hekel aan spam. Uw e-mailadres zal niet worden verkocht of gedeeld met anderen (afgezien van het marketing automation platform dat wij gebruiken voor onze e-maillijst).