Välkommen till shattered.io

shattered.io är en fristående kunskapssida om kryptografi, säkerhet, integritet och tekniken bakom bevisbart rättvisa system. Vi förklarar svåra ämnen på ett begripligt sätt, utan att förenkla bort det som faktiskt betyder något. Sidan vänder sig till nyfikna läsare, studenter, utvecklare och alla som vill förstå hur förtroende byggs (eller bryts) i digitala system.

Domännamnet bär en historia. shattered.io var ursprungligen hemmet för forskningsprojektet SHAttered, den första praktiska kollisionen mot hashfunktionen SHA-1. Vi har behållit den arvedelen och byggt vidare på den med oberoende artiklar om de ämnen som gjorde projektet möjligt.

Berättelsen om SHA-1-kollisionen

Den 23 februari 2017 presenterade forskare vid CWI Amsterdam tillsammans med Google ett resultat som många hade förutspått men ingen tidigare hade lyckats genomföra i praktiken: den första riktiga kollisionen för hashfunktionen SHA-1. Projektet fick namnet SHAttered.

En hashfunktion tar in data av godtycklig storlek och räknar fram ett kort, fast fingeravtryck. Tanken är att två olika filer i praktiken aldrig ska få samma fingeravtryck. När två skilda indata ger exakt samma utdata kallas det en kollision. För en säker hashfunktion ska en sådan vara så beräkningstung att hitta att den i praktiken är omöjlig.

Forskarna visade att detta inte längre stämde för SHA-1. De konstruerade två olika PDF-filer med skilt innehåll som ändå delar exakt samma SHA-1-fingeravtryck: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a. Under den nyare och starkare funktionen SHA-256 skiljer sig filerna däremot tydligt åt, vilket bevisar att de verkligen är två olika dokument och inte en kopia av varandra.

Varför en kollision spelar roll

Det kan låta som ett rent akademiskt påfynd, men följderna är konkreta. Hashfunktioner ligger till grund för stora delar av den säkerhet vi tar för given:

Digitala signaturer

När ett dokument signeras digitalt är det i praktiken hashvärdet som signeras, inte hela filen. Om en angripare kan ta fram två filer med samma hash kan en signatur som gäller den ena oväntat verka giltig även för den andra. Det öppnar för att skriva under något ofarligt och sedan byta ut det mot något skadligt.

Certifikat

Webbcertifikat knyter ett domännamn till en nyckel och förlitar sig på att hashen är unik. En kollision kan i värsta fall användas för att smida ett certifikat som ser legitimt ut.

Programuppdateringar

Mjukvara verifieras ofta genom att en uppdatering matchas mot ett förväntat hashvärde. Kan det värdet förfalskas blir det möjligt att smyga in manipulerad kod som ändå passerar kontrollen.

SHAttered blev därför en tydlig signal till hela branschen: det var dags att lämna SHA-1 bakom sig och gå över till starkare alternativ som SHA-256.

Ladda ner materialet

De två kolliderande PDF-filerna och den vetenskapliga rapporten finns tillgängliga för den som vill granska dem på egen hand:

  • Första kolliderande PDF: https://shattered.io/static/shattered-1.pdf
  • Andra kolliderande PDF: https://shattered.io/static/shattered-2.pdf
  • Forskningsrapporten: https://shattered.io/static/shattered.pdf

Ladda gärna ner båda PDF-filerna och räkna fram deras hashvärden själv. Du kommer att se att SHA-1 ger samma resultat för båda, medan SHA-256 skiljer dem åt. Det är ett av de mest handfasta sätten att förstå vad en kollision faktiskt innebär.

Utforska sidan vidare

Kollisionen är bara en startpunkt. På shattered.io går vi igenom ämnen som hashfunktioner och deras inre arbete, kryptografiska grunder, datasäkerhet, personlig integritet och hur bevisbart rättvisa system fungerar i praktiken. Vårt mål är att varje text ska gå att läsa utan förkunskaper, men ändå ge något även för den som redan kan området.

Ta dig tid att läsa vidare bland våra ämnen. Förhoppningen är att du går härifrån med en lite tydligare bild av hur tekniken bakom säkerhet och förtroende egentligen hänger ihop.

Senaste nytt