Weer valse HTTPS-certificaten in omloop

Gepubliceerd op 10-01-2013

Vorige maand werden door Google opnieuw valse HTTPS-certificaten ontdekt. Hoewel dit incident in omvang en impact veel beperkter is dan het DigiNotar-debacle, toont het nog eens aan dat het huidige PKI-systeem belangrijke veiligheidsproblemen bevat en op termijn niet houdbaar is. DANE, een protocol dat voortbouwt op DNSSEC , biedt een alternatief dat niet alleen veiliger maar ook goedkoper is.

Op kerstavond ontdekte en blokkeerde de Chrome browser van Google een ongeautoriseerd wildcard certificaat voor het *.google.com domein. Dat wil zeggen dat een web site zich naar de client identificeerde met een vals digitaal certificaat bij het opzetten van een beveiligde TLS-verbinding (HTTPS, het bekende sleuteltje in de web browser).

Intermediate CA certificaat

Het betreffende certificaat bleek afkomstig te zijn van een intermediate CA, die op zijn beurt weer was gecertificeerd door de Turkse root CA Turktrust. Onderzoek bij die CA leerde dat deze al in augustus 2011 ten onrechte twee intermediate CA certificaten had afgegeven aan klanten die eigenlijk een gewoon certificaat hadden moeten ontvangen.

Cruciaal verschil tussen deze twee is dat een gewoon certificaat als een eindpunt in de vertrouwensketen (chain of trust) fungeert, terwijl een intermediate CA certificaat door de root CA en zijn resellers wordt gebruikt om die gewone certificaten te ondertekenen. Iemand in het bezit van een intermediate CA certificaat kan dat dus gebruiken om de boom van vertrouwde certificaten onder een bepaalde root CA verder uit te breiden.

Intermediate certificates

Geblokkeerd

Het moge duidelijk zijn dat een gewone eindgebruiker in het algemeen voor hackers een makkelijker doelwit is dan een root CA. Het feit dat nu valse certificaten ondertekend met een van deze twee intermediate CA certificaten opduiken, bewijst dat de private sleutel van een van de ten onrechte uitgereikte intermediate CA certificaten bij de eindklant niet goed beschermd was.

Google heeft op 25 en 26 december de betreffende intermediate CA certificaten via zijn revocation list geblokkeerd. Vanaf deze maand worden als onderdeel van de software update voor Chrome alle Extended Validation certificaten van Turktrust bovendien niet langer als zodanig getoond in de browser (door middel van een extra balkje in de adresbalk).

Microsoft blokkeerde de twee intermediate CA certificaten op 3 januari (Security Advisory 2798897). En Mozilla nam de blokkades mee in de Firefox update van 8 januari. Bovendien is deze affaire voor hen aanleiding om een nieuw root certificaat van Turktrust uit Firefox versie 18 (nu in bèta) te gooien. Google geeft aan verdere stappen aangaande de certificaten van Turktrust nog te overwegen.

Zwakke plekken

Dit incident lijkt zich vooralsnog te beperken tot twee intermediate CA certificaten. Volgens Microsoft zijn ze alleen gebruikt en misbruikt op een intern bedrijfsnetwerk. Daarmee is dit incident veel kleiner in omvang dan het DigiNotar-debacle van anderhalf jaar geleden. Maar er hebben zich in de afgelopen tijd meer incidenten met certificaten voorgedaan. Comodo (Tweakers.net), Flame (Tweakers.net) en Trustwave (Heise Online) zijn wat dat betreft beruchte namen.

Deze gevallen laten zien dat het huidige PKI-systeem op zijn laatste benen loopt. De twee belangrijkste zwakheden van de huidige opzet komen steeds duidelijker naar voren. Ten eerste kan een client niet controleren van welke CA een certificaat voor een bepaalde host afkomstig zou moeten zijn. Dat is immers niet aangegeven in het server-certificaat zelf en ook niet op een andere manier te achterhalen. Dat betekent dat maar één van alle CA's gecompromitteerd hoeft te zijn om in principe alle hosts kwetsbaar te maken.

En daarmee zijn we gelijk bij het tweede probleem aanbeland: er zijn inmiddels te veel CA's en trust anchors. Op dit moment zijn meer dan 150 root CA's elk afzonderlijk verantwoordelijk voor de authenticiteit van alle server-certificaten. De zwakste daarvan bepaalt immers de veiligheid van het hele systeem. Dat Trustwave bewust een intermediate CA certificaat aan een bedrijf verkocht dat met behulp van een man-in-the-middle aanval wilde controleren of zijn werknemers geen bedrijfsgeheimen via Gmail naar buiten stuurden, en dat DigiNotar in eerste instantie de hele kraak onder de pet wilde houden, laat bovendien zien dat de CA's die verantwoordelijkheid niet serieus genoeg nemen.

DANE

Gelukkig is er inmiddels wel een technologie beschikbaar waarmee deze problemen uit de wereld kunnen worden geholpen. Deze zomer werd de specificatie voor DANE, kort voor DNS-based Authentication of Named Entities, als officiele RFC gepubliceerd. DANE bouwt voort op DNSSEC en maakt het mogelijk extra informatie over server-certificaten aan de DNS -informatie toe te voegen, en dus voor iedereen beschikbaar te maken. Zo kan bijvoorbeeld vastgelegd worden door welke CA een server-certificaat ondertekend moet zijn, of zelfs welk certificaat dat precies moet zijn.

Omdat op deze manier ook self-signed certificaten via DNSSEC van een trust anchor kunnen worden voorzien, zou DANE wel eens een groot deel van de huidige certificaten kunnen gaan vervangen. Die irritante pop-up is voor veel webmasters immers de belangrijkste reden om een officieel certificaat aan te vragen in plaats van er zelf een te genereren. Op deze manier kan ook fiks op kosten worden bespaard, benadrukt Marco Davids, Technisch Adviseur bij SIDN. Niet voor niets zijn de root CA's nogal huiverig voor deze ontwikkeling.

Belangrijkste is natuurlijk dat DANE niet alleen een goedkope vervanging voor de huidige CA certificaten biedt, maar tegelijkertijd de veiligheidsproblemen oplost. Via DNS worden server-certificaten immers aan een specifieke CA of certificaat gebonden. Wordt een CA gekraakt, dan blijft die hack beperkt tot de deelboom onder die ene root CA. Door specifieke informatie over een server-certificaat in het DNS-systeem op te nemen, wordt de mogelijkheid om een alternatief certificaat aan te bieden zelfs helemaal weggenomen.

Beschikbaar

DANE is inmiddels beschikbaar, maar is voor een waterdichte werking wel afhankelijk van DNSSEC. Inmiddels zijn bijna 1,4 miljoen van de 5,1 miljoen .nl-domeinnamen hiermee beveiligd. Dat betekent dat een vijfde van alle domeinen nu ook DANE kan gebruiken. Of andersom geredeneerd: zowel prijs als veiligheid zijn hele goede redenen om DANE aan de slag te gaan. En voor wie nog geen gebruik maakt van DNSSEC is dat weer een aansporing om deze veiligheidsstandaard op korte termijn te implementeren.

Terug naar het nieuwsoverzicht