Af Torben B. Sørensen, 23/02/17
SHA-1 (Secure Hash Algorithm 1) er en hashfunktion, der ud fra et input danner en hashværdi af fast længde. Det er et krav til hashfunktioner, at forskellige input ikke må føre til den samme hashværdi – hvis de gør det, kan man ikke bruge hashværdien til at dokumentere, at der er tale om et bestemt dokument.
Google har sammen med forskere fra CWI Institute i Amsterdam dannet to PDF-dokumenter, der er forskellige, men som har samme SHA-1-hashværdi.
Det tog 9.223.372.036.854.775.808 beregninger af SHA-1-hashværdier, før forskerne fandt to dokumenter, der gav den samme værdi. Det svarer til 6.500 års udregninger, hvis de skulle udføres med enkelt CPU, efterfulgt af 110 års beregninger med en grafikprocessor (GPU).
Trods det store antal beregninger er angrebet 100.000 gange hurtigere, end hvis det skulle gennemføres ved at afprøve alle teoretiske muligheder. Det ville kræve 12 millioner GPU-år.
Svagheder i SHA-1 har været kendt længe. I 2011 anbefalede NIST (National Institute of Standards and Technology), at man holdt op med at bruge funktionen. Flere browsere er holdt op med at have tillid til certifikater med SHA-1-hashværdier.
Anbefaling
Erstat SHA-1 med mere sikre hashfunktioner.
Links
- Announcing the first SHA1 collision, Google
- Shattered.it
- Svagheder i kryptering er foreløbig ufarlige, DKCERT, 2-9-2004
- Hvert tredje websted bruger usikker SHA-1, DKCERT, 23-11-2016