Het SSL-protocol wordt algemeen gezien als de werkbare oplossing voor het beveiligen van datastromen op internet. Consumenten worden geleerd om voor het inloggen bij banken, bedrijven en overheden altijd eerst goed naar het slotje in de browser te kijken. Beveiligingsbewuste gebruikers klikken wellicht zelfs op het slotje om te zien of het beveiligingscertificaat is uitgegeven door een vertrouwde certificeringsinstantie zoals Verisign, Comodo, GoDaddy of “De Staat der Nederlanden”.
Maar garandeert het slotje en een door Verisign uitgegeven certificaat ook daadwerkelijk dat de datastroom van browser tot webserver beveiligd is? En hoe zeker zijn we dat alle door browser-vendors geselecteerde CA’s ook daadwerkelijk te vertrouwen zijn? Christopher Soghoian and Sid Stamm stellen op basis van deze vragen de betrouwbaarheid van SSL ter discussie.
Een aantal feiten
- Op aandringen van haar gebruikers heeft Microsoft het aantal trusted root CA’s in haar browser drastisch teruggebracht. De browser bevat minder dan 20 standaard vertrouwde certificaatuitgevers, maar is uitgerust met een dynamische update-functie die de trusted roots automatisch aanvult met 264 verschillende CA’s die Microsoft heeft besloten te vertrouwen.
- Sommige overheden — waaronder de Nederlandse — hebben de makers van webbrowsers zover gekregen hun root CA’s als vertrouwd in de browser/Windows te laten opnemen.
- Er zijn kant-en-klare man-in-the-middle appliances beschikbaar die in staat zijn SSL-sessies te onderscheppen. Het bedrijf “Packet Forensics” heeft bevestigd dat hun oplossingen aan verschillende overheden zijn verkocht.
- Onder het mom van terrorismebestrijding hebben tal van overheden hun digitale surveillancecapaciteit uitgebreid en is het onderscheppen van internetverkeer op overheidsniveau gemeengoed geworden.
Wat betekent dit voor gebruikers?
Doordat browsers inmiddels — op soms enigszins ondoorzichtige wijze — grote aantallen CA’s vertrouwen, en overheden vele vormen van wetgeving hebben om CA’s die binnen hun landsgrenzen vallen te dwingen aan bepaalde onderzoeken mee te werken, is het voor gebruikers erg lastig geworden om vast te stellen of het slotje ook daadwerkelijk betekent dat de verbinding met de website veilig is.
Een slotje stelt alleen dat de browser een verbinding opzet met een webdienst die een certificaat bevat dat is ondertekend door één van die honderden root CA’s of intermediate CA’s. En dat zou maar net een Russische of Chinese CA kunnen zijn waarvan de browser-maker heeft besloten dat hij te vertrouwen is.
Wat kunt u doen?
De onderzoekers stellen dat het goed zou zijn om de huidige opzet rondom SSL-certificaten grondig te herzien. Voor de Firefox-browser bieden ze een tussenoplossing die de fingerprint van het certificaat waarmee de browser het eerst verbinding maakt opslaat. Als de browser in latere sessies een andere fingerprint tegenkomt, slaat hij alarm.
Voor met SSL beveiligde niet-browser-verbindingen doen bedrijven er goed aan om voor elke datastroom in te schatten wat de bijpassende dreiging is en of bescherming met standaard SSL-certificaten voldoende is. Indien dit niet het geval is, is het verstandig om datastromen op te zetten met SSL-certificaten die door een eigen root-CA zijn uitgegeven. Verder is het voor dergelijke verbindingen verstandig om gebruik te maken van client-certificaten (2-way-SSL).