Google, Apple en GoDaddy gaven meer dan 1 miljoen verkeerde certificaten uit

Een grote fout van Apple, GoDaddy en Google maakte dat er maar liefst 1 miljoen verkeerde certificaten aan websites zijn gegeven. Die certificaten voldoen niet aan de eisen die de industrie aan zichzelf stelt. Het probleem komt voort uit een verkeerde configuratie van de open-source EJBCA-software.

Veel van de bedrijven die deze certificaten uitgeven, gebruiken EJBCA. Dit is software die certificaten genereert waarmee websites worden beveiligd, e-mails  worden versleuteld en code digitaal wordt ondertekend. Standaard genereert EJBCA certificaten met 64-bit serienummers, maar daarin gaat iets mis bij de uitgeverijen.

Te weinig bits

De industrie vereist dat een serienummer 64 bits aan output van een beveiligde pseudowillekeurige nummergenerator bevat. Uit onderzoek blijkt echter dat één van die bits een vaste waarde moet zijn om ervoor te zorgen dat het serienummer klopt. Als gevolg daarvan produceert de EJBCA-standaard dus een serienummer met 63 bits en niet de vereiste 64 bits.

Dat vormt daarmee in theorie een risico voor het hele ecosysteem waarop het internet gebouwd is. Adam Caudill, de veiligheidsonderzoeker die over het probleem schreef, stelt dat een verschil van 1 bit wellicht een klein verschil lijkt. Maar, zoals hij stelt, is het verschil tussen 263 en 264 maar liefst 9 quintiljoen. Daarnaast staat in de basiseisen die men stelt aan vertrouwde browsercertificaten dat er niet minder dan 64 bits vereist zijn.

In 2008 bewezen onderzoekers nog dat ze met het oude MD5-algoritme relatief eenvoudig een certificaat konden genereren dat werd geaccepteerd. Om die reden is in 2016 besloten dat 64 bits de standaard moet zijn. Daarvoor werd ook meteen een nieuw algoritme ontwikkeld, dat nu nog in gebruik is en dus deels steunt op EJBCA.

Misbruik is onwaarschijnlijk

Wel is de kans klein dat hackers of kwaadwillende partijen daadwerkelijk valse certificaten uitgeven. Dit omdat certificaten tot stand komen met het SHA256 algoritme, dat geen van de kwetsbaarheden heeft van het oude algoritme dat in 2008 nog werd gebruikt. Toch is het wel zo dat er mogeloijk tussen de 1 en 2 miljoen certificaten verkeerd zijn uitgegeven.

Google, GoDaddy en Apple moeten deze allemaal controleren. De manier waarop is niet helemaal duidelijk, want zoveel certificaten vervangen is geen eenvoudig werk. De eis van de industrie is dat foute certificaten binnen vijf dagen worden ingetrokken en vervangen. Dat haalt men waarschijnlijk niet; GoDaddy geeft bijvoorbeeld aan dat het rond de 30 dagen nodig denkt te hebben.

Haast hoeven de bedrijven echter niet te maken. Volgens Caudill, die met Ars Technica sprak, “is dit vanuit het perspectief van een hacker niet uit te buiten.” Dat komt omdat 63 bits een behoorlijk grote veiligheidsmarge bieden en om dit te kraken een “grote doorbraak in cryptografie” nodig is. “Het probleem is echter de impact hiervan voor mensen en bedrijven; hackers gaan hierdoor niet ineens certificaten namaken.”