Jag faktoriserade en 90-tals certifikatutfärdares nycklar – det här lärde jag mig om webbens vilda västern
När gamla kryptonycklar äntligen knäcktes – och vad vi kan lära oss
Kryptovärlden har en fascinerande vana: ungefär vart tionde år pensioneras en nyckelstorlek som en gång ansågs vara helt säker. Det som var standard på 90-talet – 128 bitar – känns idag helt otänkbart. Och RSA-nycklar som en gång verkade oöverstigligt stora faller nu offer för faktorisering på bara några timmar, med vanlig konsumenthårdvara.
Det är precis vad som nyligen hände när en säkerhetsforskare publicerade resultat från faktorisering av 512-bitars RSA-nycklar från urgamla rot-certifikatutfärdare – de betrodda ankare som webbläsare använder för att verifiera webbplatser. Nycklarna stammade från Netscape 4.51, släppt i mars 1999, som levererades med certifikat från en kanadensisk CA vid namn E-Certify. Dessa rotcertifikat var betrodda för SSL-anslutningar fram till 2003, då kryptogemenskapen äntligen insåg att 512 bitar aldrig var tillräckligt.
Varför 512 bitar alltid var en dålig idé
RSA-512, som namnet antyder, använder en 512-bitars modul – produkten av två stora primtal. På 90-talet var faktorisering av ett sådant tal teoretiskt möjligt men praktiskt svårt. Men matematiken har inte förändrats; det är vår datorkraft som har det. En modern Ryzen 9-processor kan faktorisera en 512-bitars RSA-nyckel på ungefär 30 timmar med öppna verktyg som CADO-NFS. År 1999 hade samma nyckel krävt antingen en superdator eller en massiv distribuerad insats.
Det mest slående är att till och med 1999 var det tight. RSA-155 (ett 512-bitars tal med 155 decimala siffror) faktoriserades i augusti 1999, bara månader efter att E-Certify-certifikaten skeppades. Forskaren noterade att dessa nycklar förmodligen aldrig borde ha utfärdats från första början.
Den historiska kontexten bakom webb-PKI
Webb-PKI – systemet med certifikatutfärdare som säkrar HTTPS – byggdes på förtroendeantaganden som känns naiva idag. På 90-talet skepade webbläsartillverkare dussintals rotcertifikat från myndigheter över hela världen, med minimal standardisering kring nyckelstorlekar eller operativa rutiner.
Netscape, som i praktiken uppfann webbhandel med SSL 1994, var särskilt generösa med förtroenden. Internet Explorer var mer konservativt – inga 512-bitars RSA-rotcertifikat för SSL skepades någonsin med IE. Men Netscapes tillvägagångssätt skapade ett historiskt artefakt: 512-bitars CA-certifikat som förblev betrodda på alla system som körde en gammal version av Netscape med felaktigt systemklocka.
Vad detta betyder för moderna säkerhet
Lärdomaren är inte bara "använd aldrig 512-bitars RSA". Det är självklart. Den viktigare lärdomen är att säkerhetsstandarder är levande dokument. En 2048-bitars RSA-nyckel, som dagens bästa praxis kräver, kommer så småningom att anses vara för liten. NIST:s projekt för standardisering av kvantdatasäker kryptografi pågår redan eftersom forskare förutser att kvantdatorer så småningom kommer att bryta RSA helt.
För utvecklare och organisationer idag förstärker denna historiska lektion några viktiga principer:
- Planera för algoritmmigrering: Din infrastruktur kommer att behöva uppdateringar när kryptografiska standarder utvecklas. Undvik att hårdkoda specifika algoritmer.
- Håll koll på utfasingstidtabeller: Certifikatutfärdare och webbläsare meddelar regelbundet solnedgångsdatum för äldre nyckelstorlekar och hashfunktioner.
- Automatisera certifikatförnyelse: Manulla processer leder till bortglömda certifikat och föråldrade konfigurationer.
- Använd Certificate Transparency: Moderna CA:er måste logga certifikat offentligt, vilket gör det svårare för skadliga aktörer att erhålla bedrägliga certifikat.
Det roliga
Bortom säkerhetsimplikationerna finns det något otvivelaktigt häftigt med att knäcka kryptografiska nycklar från en nedlagd certifikatutfärdare. Forskaren publicerade både E-Certify:s privata nycklar och satte till och med upp en test-HTTPS-server som fungerar med Netscape Navigator 4.51. Det är en tidskapsel som bevisar att dessa gamla certifikat fortfarande kan autentisera anslutningar – åtminstone till webbläsare som kör programvara som är äldre än många av dagens utvecklare.
Om du är nyfiken på att utforska gamla certifikatsarkiv själv har forskaren publicerat verktyg och instruktioner för att extrahera och analysera historiska rotcertifikat. Du kanske hittar andra bortglömda CA:er med liknande svaga nycklar. Det är en påminnelse om att internethistorien lämnar spår, och inte alla av dem var säkra från början.
Nästa gång du konfigurerar TLS för din applikation, ta en stund att uppskatta hur långt vi har kommit – och hur automatiskt din hostingplattform förmodligen hanterar certifikatförnyelser, nyckelstorlekar och chifferval. Det vilda västern-eran för 512-bitars CA:er ligger bakom oss, men lärdomarna om kryptografisk hygienen är lika relevanta som någonsin.