Da jeg knekket krypteringsnøklene til en 90-talls CA: Lærdom fra nettsikkerhetens ville vesten
Da gamle krypteringsnøkler ble knekket – en påminnelse om at sikkerhet er en flytende standard
Noen ganger dukker det opp forskning som får selv erfarne sikkerhetseksperter til å løfte på øyebrynet. Nylig var det en sikkerhetsforsker som publiserte resultater fra faktorisering av 512-bits RSA-nøkler fra gamle rot-sertifikater – de tillitsankerne som nettlesere bruker for å verifisere nettsiders identitet.
Nøklene stammet fra Netscape 4.51, som ble sluppet i mars 1999. De kom med sertifikater fra en kanadisk sertifikatmyndighet ved navn E-Certify. Disse rot sertifikatene var tillitt for SSL-tilkoblinger helt til 2003, da kryptomiljøet endelig erkjente at 512 bit aldri hadde vært nok.
Hvorfor 512 bit alltid var en dårlig idé
RSA-512 bruker en 512-bits modulus – produktet av to store primtall. På 1990-tallet var faktorisering av et slikt tall teoretisk mulig, men praktisk krevende. Men matematikken har ikke endret seg; det som har endret seg er regnekraften. En moderne Ryzen 9-prosessor kan faktorisere en 512-bits RSA-nøkkel på omtrent 30 timer ved hjelp av åpen kildekode-verktøy som CADO-NFS. I 1999 hadde samme nøkkel krevd enten en superdatamaskin eller et massivt distribuert prosjekt.
Det spesielt interessante er at dette selv i 1999 var i grenseland. RSA-155 (et 512-bit tall med 155 desimalsiffer) ble faktorisert i august 1999 – bare måneder etter at E-Certify-sertifikatene ble distribuert. Forskeren påpekte at disse nøklene sannsynligvis aldri burde ha blitt utstedt i utgangspunktet.
Historisk kontekst: Web PKI
Web PKI – systemet av sertifikatmyndigheter som sikrer HTTPS – ble bygget på tillitsforutsetninger som virker naive i dag. På 1990-tallet leverte nettleserleverandører med dusinvis av rot-sertifikater fra myndigheter over hele verden, med minimal standardisering av nøkkelstørrelser eller operasjonelle praksiser.
Netscape, som i praksis oppfunnet netthandel med SSL i 1994, var spesielt tillatende. Internet Explorer var mer konservativt – ingen 512-bits RSA-rot-sertifikater for SSL ble noen gang levert med Internet Explorer. Men Netscapes tilnærming skapte et historisk artefakt: 512-bits CA-sertifikater som forble tillitt på ethvert system som kjørte en gammel versjon av Netscape med feil innstilt klokke.
Hva dette betyr for moderne sikkerhet
Poenget her er ikke bare «aldri bruk 512-bits RSA». Det er åpenbart. Det viktigere læringspunktet er at sikkerhetsstandarder er levende dokumenter. En 2048-bits RSA-nøkkel, som dagens beste praksis krever, vil til slutt bli ansett som for liten. NISTs Post-Quantum Cryptography-standardiseringsprosjekt er allerede i gang fordi forskere forventer at kvantedatamaskiner til slutt vil knekke RSA fullstendig.
For utviklere og organisasjoner i dag forsterker denne historiske leksjonen noen sentrale prinsipper:
- Planlegg for algoritmemigrering: Infrastrukturen din vil trenge oppdateringer etter hvert som kryptografiske standarder utvikler seg. Unngå hardkoding av spesifikke algoritmer.
- Overvåk avskrivningstidslinjer: Sertifikatmyndigheter og nettlesere kunngjør regelmessig utfasing av eldre nøkkelstørrelser og hashfunksjoner.
- Automatisér sertifikatfornyelse: Manuelle prosesser fører til glemte sertifikater og utdaterte konfigurasjoner.
- Bruk Certificate Transparency: Moderne CA-er må logge sertifikater offentlig, noe som gjør det vanskeligere for ondsinnede aktører å skaffe falske sertifikater.
Den morsomme delen
Bortsett fra sikkerhetsimplikasjonene er det noe utvilsomt kult med å knekke kryptografiske nøkler fra en nedlagt sertifikatmyndighet. Forskeren publiserte både E-Certify private nøkler og satte til og med opp en test-HTTPS-server som fungerer med Netscape Navigator 4.51. Det er en tidskapssel, som beviser at disse gamle sertifikatene fortsatt kan autentisere tilkoblinger – iallfall til nettlesere som kjører programvare eldre enn mange av dagens utviklere.
Hvis du er nysgjerrig på å utforske gamle sertifikatarviver selv, har forskeren publisert verktøy og instruksjoner for å trekke ut og analysere historiske rot-sertifikater. Du finner kanskje andre glemte CA-er med lignende svake nøkler. Det er en påminnelse om at internett-historie etterlater spor, og ikke alle var sikre fra begynnelsen av.
Avslutning
Neste gang du konfigurerer TLS for applikasjonen din, ta deg tid til å sette pris på hvor langt vi er kommet – og hvor automatisk vertsplattformen din sannsynligvis håndterer sertifikatfornyelser, nøkkelstørrelser og chifferutvalg. De ville vesten-dagene med 512-bits CA-er er bak oss, men leksjonene om kryptografisk hygiene er like relevante som noen gang.