{"id":14,"date":"2026-06-10T09:14:52","date_gmt":"2026-06-10T09:14:52","guid":{"rendered":"https:\/\/shattered.io\/se\/2026\/06\/10\/sha1-kollision\/"},"modified":"2026-06-10T12:36:04","modified_gmt":"2026-06-10T12:36:04","slug":"sha1-kollision","status":"publish","type":"post","link":"https:\/\/shattered.io\/se\/cryptography\/sha1-kollision\/","title":{"rendered":"SHAttered: den f\u00f6rsta praktiska SHA-1-kollisionen"},"content":{"rendered":"<h2 id=\"nar-en-bruten-hashfunktion-blev-verklighet\">N\u00e4r en bruten hashfunktion blev verklighet<\/h2>\n<p>Den 23 februari 2017 offentliggjorde forskningsinstitutet CWI i Amsterdam tillsammans med Google den f\u00f6rsta praktiska kollisionen f\u00f6r hashfunktionen SHA-1. Resultatet fick namnet SHAttered. F\u00f6r f\u00f6rsta g\u00e5ngen kunde n\u00e5gon visa upp tv\u00e5 olika filer som producerade exakt samma SHA-1-v\u00e4rde, inte som ett teoretiskt resonemang utan som tv\u00e5 faktiska filer vem som helst kunde ladda ner och kontrollera.<\/p>\n<p>Det h\u00e4r var ett \u00f6gonblick som kryptografer hade f\u00f6rutsp\u00e5tt i \u00e5ratal. Svagheter i SHA-1 hade diskuterats sedan mitten av 2000-talet, och flera teoretiska attacker hade pressat ner kostnaden f\u00f6r en kollision steg f\u00f6r steg. SHAttered var beviset p\u00e5 att kostnaden hade sjunkit tillr\u00e4ckligt f\u00f6r att en kollision skulle g\u00e5 att genomf\u00f6ra i praktiken av en tillr\u00e4ckligt resursstark akt\u00f6r.<\/p>\n<h2 id=\"vad-en-kollision-ar\">Vad en kollision \u00e4r<\/h2>\n<p>F\u00f6r att f\u00f6rst\u00e5 varf\u00f6r detta var allvarligt beh\u00f6ver man f\u00f6rst\u00e5 vad en kollision inneb\u00e4r. En hashfunktion tar data av godtycklig storlek och producerar ett resultat av fast l\u00e4ngd. SHA-1 ger alltid ett resultat p\u00e5 160 bitar. Eftersom indatan kan vara obegr\u00e4nsat stor men resultatet \u00e4r begr\u00e4nsat, finns det matematiskt sett o\u00e4ndligt m\u00e5nga olika indata som delar samma hashv\u00e4rde. Det g\u00e5r inte att undvika.<\/p>\n<p>Hela po\u00e4ngen med en kryptografisk hashfunktion \u00e4r dock att det ska vara praktiskt ogenomf\u00f6rbart att faktiskt hitta tv\u00e5 s\u00e5dana indata. S\u00e5 l\u00e4nge ingen kan hitta en kollision kan ett hashv\u00e4rde fungera som ett unikt fingeravtryck. S\u00e4g att du ser hashv\u00e4rdet av ett dokument, d\u00e5 litar du p\u00e5 att det enbart kan h\u00f6ra till just det dokumentet. En kollision bryter precis det antagandet. Pl\u00f6tsligt finns tv\u00e5 olika dokument med samma fingeravtryck, och fingeravtrycket s\u00e4ger inte l\u00e4ngre entydigt vilket dokument det handlar om.<\/p>\n<h2 id=\"de-tva-pdf-filerna\">De tv\u00e5 PDF-filerna<\/h2>\n<p>SHAttered demonstrerades med tv\u00e5 PDF-filer. De tv\u00e5 filerna har olika inneh\u00e5ll och ser olika ut n\u00e4r man \u00f6ppnar dem, men de delar samma SHA-1-v\u00e4rde:<\/p>\n<pre><code>38762cf7f55934b34d179ae6a4c80cadccbb7f0a\n<\/code><\/pre>\n<p>Vem som helst kan ladda ner dem och k\u00f6ra en SHA-1-ber\u00e4kning p\u00e5 b\u00e5da f\u00f6r att se att v\u00e4rdet \u00e4r identiskt. Filerna finns tillg\u00e4ngliga som <a href=\"https:\/\/shattered.io\/static\/shattered-1.pdf\">shattered-1.pdf<\/a> och <a href=\"https:\/\/shattered.io\/static\/shattered-2.pdf\">shattered-2.pdf<\/a>.<\/p>\n<p>Det avg\u00f6rande \u00e4r att samma tv\u00e5 filer ger helt olika resultat n\u00e4r man i st\u00e4llet ber\u00e4knar deras SHA-256-v\u00e4rde. Det visar tydligt att problemet ligger hos SHA-1 och inte hos filerna i sig. SHA-256, som tillh\u00f6r den nyare SHA-2-familjen, skiljer obekymrat de tv\u00e5 filerna \u00e5t. SHA-1 g\u00f6r det inte. Den fullst\u00e4ndiga forskningsrapporten som beskriver metoden finns publicerad som <a href=\"https:\/\/shattered.io\/static\/shattered.pdf\">shattered.pdf<\/a>.<\/p>\n<h2 id=\"den-enorma-berakningsinsatsen\">Den enorma ber\u00e4kningsinsatsen<\/h2>\n<p>En kollision i SHA-1 var aldrig gratis att ta fram. Forskarna ber\u00e4knade att attacken kr\u00e4vde ungef\u00e4r 9,2 triljoner SHA-1-ber\u00e4kningar (cirka 9,2 g\u00e5nger tio upph\u00f6jt till arton operationer). Det \u00e4r ett tal som \u00e4r sv\u00e5rt att greppa intuitivt.<\/p>\n<p>Uttryckt i ber\u00e4kningstid motsvarade insatsen ungef\u00e4r 6 500 processor\u00e5r av arbete i en f\u00f6rsta fas, plus omkring 110 grafikprocessor\u00e5r i en andra fas. Med andra ord, om en enda dator skulle utf\u00f6ra hela arbetet ensam, skulle det ta tusentals \u00e5r. Genom att f\u00f6rdela arbetet \u00f6ver mycket stora m\u00e4ngder h\u00e5rdvara parallellt kunde forskarna i st\u00e4llet slutf\u00f6ra det inom rimlig tid.<\/p>\n<p>Den h\u00e4r siffran \u00e4r viktig av tv\u00e5 sk\u00e4l. Den visar att attacken var l\u00e5ngt bortom vad en hobbyist kunde \u00e5stadkomma vid tillf\u00e4llet, men ocks\u00e5 att den l\u00e5g v\u00e4l inom r\u00e4ckh\u00e5ll f\u00f6r stora organisationer, underr\u00e4ttelsetj\u00e4nster eller v\u00e4lfinansierade angripare. Och historiskt g\u00e5r kostnaden f\u00f6r den h\u00e4r typen av attacker bara \u00e5t ett h\u00e5ll: ned\u00e5t. Det som kr\u00e4vde extrema resurser 2017 blir billigare f\u00f6r varje \u00e5r som h\u00e5rdvaran utvecklas och metoderna f\u00f6rfinas. En algoritm som \u00e4r dyr att bryta i dag kan vara billig att bryta i morgon, vilket \u00e4r sj\u00e4lva anledningen till att man slutar anv\u00e4nda den i god tid.<\/p>\n<h2 id=\"varfor-en-kollision-bryter-fortroende\">Varf\u00f6r en kollision bryter f\u00f6rtroende<\/h2>\n<p>Konsekvenserna str\u00e4cker sig l\u00e5ngt bortom tv\u00e5 PDF-filer. M\u00e5nga s\u00e4kerhetssystem bygger p\u00e5 antagandet att ett hashv\u00e4rde unikt identifierar sin data. N\u00e4r det antagandet faller kan en angripare i princip f\u00f6rbereda tv\u00e5 dokument: ett ofarligt och ett skadligt, som delar samma hashv\u00e4rde.<\/p>\n<p>T\u00e4nk dig att ett ofarligt dokument granskas och godk\u00e4nns, och att godk\u00e4nnandet i praktiken g\u00e4ller dess hashv\u00e4rde. En angripare som har en kollision kan d\u00e5 byta ut det godk\u00e4nda dokumentet mot sitt skadliga motsvarighet, eftersom det skadliga dokumentet har exakt samma hashv\u00e4rde och d\u00e4rf\u00f6r ser ut att vara samma godk\u00e4nda dokument. Den som litar p\u00e5 hashv\u00e4rdet luras.<\/p>\n<p>Just d\u00e4rf\u00f6r hotar en kollision allt som vilar p\u00e5 hashv\u00e4rden, fr\u00e5n digitala signaturer och certifikat till system f\u00f6r versionshantering. Ett certifikat signeras genom att ett hashv\u00e4rde av dess inneh\u00e5ll signeras med en privat nyckel. Om tv\u00e5 olika certifikatinneh\u00e5ll kan dela samma hashv\u00e4rde, kan en signatur som g\u00e4ller det ena inneh\u00e5llet missbrukas f\u00f6r att intyga det andra.<\/p>\n<h2 id=\"foljderna-sha-1-fasas-ut\">F\u00f6ljderna: SHA-1 fasas ut<\/h2>\n<p>SHAttered blev den konkreta knuff som p\u00e5skyndade utfasningen av SHA-1 p\u00e5 bred front. \u00d6verg\u00e5ngen hade redan inletts, men det praktiska beviset gjorde att de sista tveksamheterna f\u00f6rsvann.<\/p>\n<p>Inom TLS, protokollet som ligger bakom s\u00e4kra webbanslutningar, hade certifikat som signerats med SHA-1 redan b\u00f6rjat avvisas av de stora webbl\u00e4sarna. Efter SHAttered fanns det inget kvar att argumentera mot. Certifikatutf\u00e4rdare hade \u00f6verg\u00e5tt till SHA-256, och \u00e4ldre SHA-1-certifikat betraktades som otillf\u00f6rlitliga.<\/p>\n<p>Inom versionshanteringssystemet Git, som anv\u00e4nde SHA-1 f\u00f6r att identifiera commits och objekt, satte demonstrationen ig\u00e5ng ett konkret arbete med att minska beroendet av SHA-1, d\u00e4ribland inf\u00f6randet av skydd som uppt\u00e4cker den typ av manipulerad data som en kollisionsattack anv\u00e4nder. P\u00e5 liknande s\u00e4tt \u00f6vergick rutiner f\u00f6r signering av programvara och dokument till starkare hashfunktioner.<\/p>\n<h2 id=\"lardomen\">L\u00e4rdomen<\/h2>\n<p>SHAttered \u00e4r ett ovanligt tydligt exempel p\u00e5 hur kryptografisk forskning fungerar i praktiken. En svaghet identifieras f\u00f6rst teoretiskt, kostnaden f\u00f6r att utnyttja den sjunker stegvis, och till slut blir den genomf\u00f6rbar. Mellan den teoretiska varningen och det praktiska beviset finns ett tidsf\u00f6nster, och po\u00e4ngen \u00e4r att byta ut algoritmen medan f\u00f6nstret fortfarande \u00e4r \u00f6ppet, inte efter att n\u00e5gon har utnyttjat svagheten i verkligheten.<\/p>\n<p>F\u00f6r SHA-1 fungerade det till stor del som det skulle. Utfasningen var redan p\u00e5 g\u00e5ng n\u00e4r kollisionen demonstrerades, och SHAttered s\u00e5g till att de sista systemen flyttade vidare. F\u00f6r den som bygger system i dag \u00e4r l\u00e4rdomen enkel: lita inte p\u00e5 en hashfunktion bara f\u00f6r att den fungerar i dag, utan f\u00f6lj rekommendationerna och byt till en starkare funktion i god tid. SHA-256 och resten av SHA-2-familjen \u00e4r det vanliga valet i dag.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>N\u00e4r en bruten hashfunktion blev verklighet Den 23 februari 2017 offentliggjorde forskningsinstitutet CWI i Amsterdam tillsammans med Google den f\u00f6rsta praktiska kollisionen f\u00f6r hashfunktionen SHA-1. Resultatet fick namnet SHAttered. F\u00f6r\u2026<\/p>\n","protected":false},"author":2,"featured_media":21,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-14","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptography"],"_links":{"self":[{"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":1,"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":30,"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/posts\/14\/revisions\/30"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/media\/21"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/se\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}