Velkommen til shattered.io
shattered.io er et uavhengig fagsted om kryptografi, datasikkerhet, personvern og teknologien bak systemer som kan bevise at de er rettferdige. Vi forklarer kompliserte temaer på en måte som er til å forstå, uten å gjøre dem enklere enn de er. Målet er at en leser uten doktorgrad i matematikk skal kunne følge med, samtidig som en fagperson kjenner igjen at detaljene stemmer.
Domenet har en spesiell historie. Det var her forskningsprosjektet SHAttered ble lagt ut i 2017, da den første praktiske kollisjonen for hash-funksjonen SHA-1 ble vist offentlig. Den arven er en del av grunnen til at vi skriver om disse temaene: vi vil at folk skal forstå hvorfor små svakheter i kryptografi får store følger i praksis.
Hva som skjedde 23. februar 2017
Den 23. februar 2017 offentliggjorde forskere ved CWI Amsterdam og Google at de hadde laget den første praktiske kollisjonen for SHA-1. En hash-funksjon tar inn data av hvilken som helst lengde og regner ut en kort, fast tallrekke som skal være et slags fingeravtrykk for akkurat de dataene. Tanken er at det skal være umulig i praksis å finne to forskjellige filer som gir samme fingeravtrykk. En slik kollisjon ble lenge regnet som teoretisk mulig, men altfor dyr å gjennomføre.
Prosjektet, som fikk navnet SHAttered, viste at det ikke lenger var teori. Forskerne laget to forskjellige PDF-filer som deler nøyaktig samme SHA-1-fingeravtrykk, nemlig 38762cf7f55934b34d179ae6a4c80cadccbb7f0a. De to filene er ulike: de inneholder forskjellig innhold, men SHA-1 klarer ikke å skille dem. Under den nyere funksjonen SHA-256 får de derimot helt forskjellige verdier, slik de skal. Det er nettopp den forskjellen som viser at problemet ligger i SHA-1 selv, ikke i filene.
Hvorfor en kollisjon betyr noe
Det kan virke som en kuriositet at to PDF-er deler et tall. I virkeligheten hviler mye av sikkerheten på nettet på at hash-funksjoner ikke kan lures på denne måten. Når en kollisjon blir praktisk gjennomførbar, slår det inn på flere områder samtidig:
Digitale signaturer
En digital signatur signerer som regel hashverdien av et dokument, ikke hele dokumentet. Hvis to dokumenter har samme hash, kan en signatur som er gyldig for det ene, også se gyldig ut for det andre. Da kan noen i prinsippet få et uskyldig dokument signert og senere bytte det ut med et skadelig dokument som har samme fingeravtrykk.
Sertifikater og TLS
Sertifikatene som beviser at et nettsted er det det utgir seg for å være, bygger på hashing. Svake hash-funksjoner i denne kjeden gjør det lettere å forfalske identitet, og det er en av grunnene til at nettlesere og sertifikatutstedere gikk bort fra SHA-1.
Programvareoppdateringer
Når en datamaskin laster ned en oppdatering, sjekkes ofte hashen for å bekrefte at filen ikke er endret underveis. Klarer en angriper å lage en ondsinnet fil med samme hash som den ekte, kan kontrollen bli verdiløs. Derfor var SHAttered et tydelig signal til hele bransjen om å bytte ut SHA-1 for godt.
Last ned det originale materialet
De to PDF-filene som kolliderer, og selve forskningsartikkelen, kan lastes ned direkte. Du kan se med egne øyne at to ulike filer gir samme SHA-1-verdi:
- Den første kolliderende PDF-en: https://shattered.io/static/shattered-1.pdf
- Den andre kolliderende PDF-en: https://shattered.io/static/shattered-2.pdf
- Forskningsartikkelen: https://shattered.io/static/shattered.pdf
Hvis du har et kommandolinjeverktøy for hashing tilgjengelig, kan du regne ut SHA-1 av begge PDF-ene og se at de stemmer overens, og deretter regne ut SHA-256 for å se at de skiller lag. Det er en lærerik øvelse som gjør det abstrakte konkret.
Utforsk temaene våre
shattered.io samler artikler om kryptografiske byggeklosser, sikker kommunikasjon, personvern i hverdagen og hvordan systemer kan bygges slik at rettferdigheten kan etterprøves. Vi går gjennom både det historiske og det som er aktuelt nå, og vi prøver alltid å koble teorien til hva den betyr i praksis.
Ta deg tid til å se deg om. Enten du er nysgjerrig på hvordan en hash-funksjon egentlig virker, hva som skjedde med SHA-1 etter 2017, eller hvordan moderne systemer beskytter data, finner du forklaringer som er skrevet for å bli lest, ikke bare for å imponere. God lesning.



