Da jeg knækkede en 90'ers CA's nøgler, lærte jeg at forstå websikkerhedens mørke fortid
Når gamle SSL-certifikater bliver en sikkerhedsrisiko
Nu starter vi
Hvert par år sker det samme: Fællesskabet bag kryptografi fjerner stille og roligt en nøglestørrelse, som engang blev betragtet som sikker. Det, der føltes som sikker 128-bit kryptering i 90'erne, virker i dag farligt forældet. Og RSA-nøgler, der engang virkede umuligt store, kan nu faktoriseres på timer med almindelig hardware.
Senest skete det, da en sikkerhedsforsker publicerede resultater af at faktorisere 512-bit RSA-nøgler fra gamle root certificate authorities (CAs). Det drejer sig om de betroede ankre, som browsere bruger til at verificere hjemmesiders identitet. Nøglerne stammmer fra Netscape 4.51, der blev udgivet i marts 1999, og som indeholdt certifikater fra en canadisk CA ved navn E-Certify. Disse roots var betroet til SSL-forbindelser helt indtil 2003, hvor kryptografimiljøet endelig erkendte, at 512 bits aldrig var tilstrækkeligt.
Hvorfor 512 bits altid var en dårlig idé
RSA-512, som navnet antyder, bruger en 512-bit modulus — produktet af to store primtal. I 1990'erne var det teoretisk muligt at faktorisere sådan et tal, men praktisk besværligt. Matematikken har dog ikke ændret sig. Det er vores regnekraft, der er eksploderet.
En moderne Ryzen 9-processor kan faktorisere en 512-bit RSA-nøgle på cirka 30 timer ved hjælp af open source-værktøjer som CADO-NFS. I 1999 ville den samme nøgle have krævet enten en supercomputer eller en massiv distribueret indsats.
Det mest slående er, at selv i 1999 var det hårfint. RSA-155 (et 512-bit tal med 155 decimalcifre) blev faktoriseret i august 1999 — kun måneder efter, at E-Certify-certifikaterne blev udsendt. Forskeren bemærkede, at disse nøgler sandsynligvis aldrig burde være udstedt i første omgang.
Den historiske kontekst bag Web PKI
Web PKI — systemet af certificate authorities, der sikrer HTTPS — blev bygget på tillidsantagelser, der virker naive i dag. I 1990'erne sendte browserproducenter snesevis af root-certifikater fra myndigheder verden over. Der var minimal standardisering af nøglestørrelser eller operationelle praksisser.
Netscape, der essentially opfandt webhandel med SSL i 1994, var særligt tilladende. Internet Explorer var mere konservativt — ingen 512-bit RSA-roots til SSL blev nogensinde sendt med Internet Explorer. Men Netscapes tilgang skabte et historisk artefakt: 512-bit CA-certifikater, der forblev betroet på ethvert system, der kørte en gammel version af Netscape med en forkert indstillet clock.
Hvad dette betyder for moderne sikkerhed
Konklusionen er ikke bare "brug aldrig 512-bit RSA." Det er åbenlyst. Det vigtigere læringspunkt er, at sikkerhedsstandarder er dynamiske dokumenter. En 2048-bit RSA-nøgle, som nuværende best practices kræver, vil på et tidspunkt blive betragtet som for lille. NIST Post-Quantum Cryptography-standardiseringsprojektet er allerede i gang, fordi forskere forventer, at kvantecomputere til sidst vil bryde RSA fuldstændigt.
For udviklere og organisationer i dag understreger denne historiske lektion nogle centrale principper:
- Planlæg algoritmemigration: Din infrastruktur vil få brug for opdateringer, efterhånden som kryptografiske standarder udvikler sig. Undgå at hardcode specifikke algoritmer.
- Hold øje med udfasningstidslinjer: Certificate authorities og browsere annoncerer jævnligt udfasningsdatoer for ældre nøglestørrelser og hashfunktioner.
- Automatiser certifikatfornyelse: Manuel proces fører til glemte certifikater og forældede konfigurationer.
- Brug certificate transparency: Moderne CAs skal logge certifikater offentligt, hvilket gør det sværere for ondsindede aktører at anskaffe falske certifikater.
Den interessante del
Ud over sikkerhedsimplikationerne er der noget utvivlsomt cool ved at knække kryptografiske nøgler fra en nedlagt certificate authority. Forskeren offentliggjorde både E-Certify private keys og satte endda en test-HTTPS-server op, der virker med Netscape Navigator 4.51. Det er en tidskapsel, der beviser, at disse gamle certifikater stadig kan autentificere forbindelser — i hvert fald til browsere, der kører software, der er ældre end mange af nutidens udviklere.
Hvis du er nysgerrig efter at udforske gamle certifikatarkiver selv, har forskeren publiceret værktøjer og instruktioner til at udtrække og analysere historiske root-certifikater. Du kan finde andre glemte CAs med tilsvarende svage nøgler. Det er en påmindelse om, at internethistorien efterlader spor, og ikke alle var sikre fra starten.
Næste gang du konfigurerer TLS til din applikation, så tag et øjeblik til at sætte pris på, hvor langt vi er kommet — og hvor automatisk din hosting-platform sandsynligvis håndterer certifikatfornyelser, nøglestørrelser og cipher suite-valg. De vilde vest-dage med 512-bit CAs er bag os, men lærerne om kryptografisk hygiejne er stadig lige relevante.