Het gebruik van digitale certificaten met Microsoft Internet Explorer vormde -zoals vorig jaar bleek- geen garantie voor veilig internetverkeer. Veiligheidsspecialist Pascal de Koning belicht het wel en wee van certificaten.
Wie zich aan de balie van een bank moet identificeren, neemt zijn paspoort mee. Wie een elektronische transactie wil uitvoeren, gebruikt daarvoor een ssl-certificaat (secure socket layer); het digitale equivalent van het fraudebestendige paspoort. Wie via internet zaken wil doen, vraagt de tegenpartij om zijn certificaat te tonen. Een paar jaar geleden kostte de paspoortenaffaire een minister en een staatssecretaris de kop. Onlangs leek deze crisis zijn digitale pendant te krijgen, toen vorig jaar naar aanleiding van een Nova-uitzending commotie ontstond over het feit dat ’s werelds bekendste internetbrowser -Microsoft Internet Explorer- relatief makkelijk te kraken is bij het gebruik van digitale certificaten. Microsoft zelf bagatelliseerde het probleem, dat al sinds mei 2002 publiek bekend is.
Om een goed inzicht te krijgen in de problematiek is het nuttig om allereerst de huidige situatie met betrekking tot certificaten in kaart te brengen.
Stamcertificaat
Bank- en elektronische winkeltransacties worden vaak beveiligd met een zogeheten servercertificaat. De bekendste is het X.509 certificaat. Deze certificaten zijn gebaseerd op stamcertificaten (root certificates) die worden afgegeven door zogeheten ‘certificate authorities’ (ca’s). Met stamcertificaten is het mogelijk om andere certificaten af te geven. Met sommige -maar niet alle!- van deze afgeleide certificaten zijn weer andere certificaten af te geven.
Sommige certificaten garanderen alleen de authenticiteit van de afzender van een e-mail of internetserver. Dit kunnen bijvoorbeeld banken of internetwinkels zijn, wier klanten er op basis van zo’n certificaat zeker van kunnen zijn dat de betreffende bank of winkel ook inderdaad is wie hij zegt te zijn. En niet bijvoorbeeld een hacker die achter persoonlijke gegevens aan zit. Vanuit een enkele ‘root certificate’ kan dus een hele keten van certificaten ontstaan, de zogeheten ‘chain of trust’. Welke bevoegdheid een bepaald certificaat bezit, kan opgeslagen zijn in de zogeheten ‘basic constraint’, die certificaten kunnen bezitten. De browser van de internetklant controleert normaal gesproken de validiteit van het certificaat. Hij checkt automatisch of het certificaat is afgegeven (‘ondertekend’) door een CA en vanuit een ’trusted root certificate’. Daarvoor wordt een aantal controles uitgevoerd, die allemaal een positieve uitkomst moeten hebben, anders wordt de gebruiker gewaarschuwd.
Identiteiten fabriceren
Voor kwaadwillenden is het dus uiterst handig om de beschikking te hebben over certificaten waarmee andere certificaten zijn uit te geven. In principe is dat niet mogelijk. ‘Certificate authorities’ zijn goed beschermd. Maar innovatieve hackers hebben inmiddels uitgevonden dat het ‘reproduceren’ van certificaten ook mogelijk is met e-mail- of webserver-certificaten. Al in mei 2002 bleek dat ’s werelds populairste browser te kraken is, als het gaat om het controleren van de juistheid van ssl-certificaten. De oorsprong hiervan ligt in het feit dat Microsoft, de maker van Internet Explorer, zich niet heeft geconformeerd aan de bestaande norm, maar een eigen standaard heeft ontwikkeld. De algemene standaard voor digitale servercertificaten is X.509. De huidige, op de hedendaagse internetomstandigheden gebaseerde standaard is X.509 V3. De toevoeging V3 is cruciaal; hierin is opgenomen of men wel of geen afgeleide certificaten kan produceren. Gebruikers van browsers als Netscape hebben dit probleem niet. Maar Microsoft heeft hier een eigen standaard die toestaat dat men zonder ‘basic constraint’ certificaten mag afgeven. Iedere internetfraudeur kan hiermee dus in principe iedere gewenste identiteit fabriceren, en daarmee de internetgebruiker in de val lokken.
Curieuze reactie
Organisaties die digitale handtekeningen uitreiken, zoals Verisign en, in Nederland, Pink Roccade, hebben snel en succesvol maatregelen genomen. Anderen niet. Internetgebruikers liepen nog risico’s.
Ook Microsoft heeft een ‘patch’ ontwikkeld; een gedeeltelijke update van Explorer die het probleem ondervangt. Gebruikers moesten die echter wel zelf downloaden. De nieuwste versies van Windows hebben overigens de verbeterde versie van Interet Explorer al aan boord. Ondanks de actie van Microsoft is de reactie van ’s werelds grootste softwaremaker curieus geweest. Het probleem zou lang niet zo groot en ingrijpend zijn als gemeld, zo reageerde het concern. Daarvoor leverde het drie argumenten.
Om tot daadwerkelijke fraude over te kunnen gaan, moet de hacker de nietsvermoedende gebruiker naar een andere server leiden (dns-poisoning). Dat is technisch uitermate complex.
Verder is een vervalst certificaat per definitie afkomstig uit een stamcertificaat van een bonafide ‘certificate authority’. De ‘chain of trust’ is altijd te herleiden, en daarmee ook de hacker, wat de kans op ontdekking groot maakt.
Als, tot slot, via een ssl-certificaat een veilige verbinding wordt gemaakt via internet, verschijnt bij de eindgebruiker altijd een slotje in beeld. Door hierop te klikken kan men zien of men met een authentiek of een vervalst certificaat te maken heeft.
Vrij spel
Op al deze argumenten is het nodige aan te merken dat het verweer van Microsoft ondergraaft. Allereerst zijn er veel meer manieren dan ‘dns-poisoning’ om fraude te kunnen plegen. Om kwaadwillenden niet op een idee te brengen, kan ik hier helaas niet nader op ingaan, maar de mogelijkheden en risico’s zijn er wel degelijk. Vooral bedrijfsnetwerken lopen hierin gevaar. Ook de stelling dat vervalste certificaten altijd tot een stamcertificaat te herleiden zijn, is niet correct. Het is mogelijk om zeer eenvoudig tijdelijke testcertificaten voor e-mail te bemachtigen, zonder de eigen identiteit te hoeven melden. Deze testcertificaten zijn per definitie anoniem. Wie zo’n testcertificaat gebruikt voor hacking-doeleinden, weet zich dus veilig.
De controlemogelijkheid via het ‘slot’ in beveiligde verbindingen is slechts zeer beperkt en geldt uitsluitend bij het initiëren van een verbinding. De hacker die zich meldt na de initiatie van de verbinding, bijvoorbeeld bij het inloggen, heeft vrij spel. Dit komt omdat Internet Explorer na initiatie altijd een geldige ‘chain of trust’ van het servercertificaat toont. Dit hoeft niet de ‘chain of trust’ van het recentst gevalideerde servercertificaat van dit domein te zijn, als het maar in dezelfde browsersessie is geweest. Dit is overigens geen fout in het systeem, maar juist een functionaliteit, opgenomen in de online documentatie van Explorer.
Er is een relatief eenvoudige oplossing voor een reëel gevaar met betrekking tot ssl-certificaten. Onderschatten van het probleem kan gebruikers echter duur te komen staan. De alerte gebruiker zal de update gratis via internet hebben gedownload. In organisaties met een professionele netwerkbeheerder zal dit inmiddels ook wel zijn gebeurd. Voor honderdduizenden particuliere internetgebruikers gold en geldt echter de eigen verantwoordelijkheid.
Pascal de Koning, security consultant Pink Roccade