Dinsdag aanstaande zal patch Tuesday van Microsoft de laatste Diginotar-certificaten opruimen. De Nederlandse overheid is zeker dat haar systemen daar inmiddels klaar voor zijn en dat ze een meltdown afgewend hebben, na een hele drukke week voor de beheerders. We gaan het meemaken.
Het bericht maakt duidelijk dat de systeemcrisis van Diginotar vrijwel voorbij is. De vertrouwenscrisis echter, die woekert voort. En terecht, want er is veel meer aan de hand.
Voor de meeste mensen is de PKI-crisis net zoiets als wat ooit de Y2K-crisis was: iets ongrijpbaars met computers en het is allemaal heel gevaarlijk. Deze vertrouwenscrisis gaat heel diep. En niet zo verwonderlijk, gegeven de voorgeschiedenis; eerder zouden de OV-chipkaart en het EPD ook heel veilig zijn en bleken dat uiteindelijk toch niet. Veel mensen stellen de overheid per definitie gelijk aan mislukte ICT. Dat is dan wel weer heel kort door de bocht. We zien nu dat de overheid onderhand beter wordt in dit soort situaties; Donner heeft het keurig gedaan, toen de crisis eenmaal de aandacht van de top in Den Haag had.
Helemaal onder controle is het probleem met de ‘comodohacker’ voorlopig nog niet. Zaterdagochtend meldde Globalsign dat er daadwerkelijk één van haar systemen gekraakt is. Maar, luidt het persbericht, het gaat alleen om de webserver, de PKI-servers in het netwerk zouden niet getroffen zijn. Nu ja, we zullen zien. Hoewel de zaak onderzocht is door specialisten moeten we niet vergeten dat zelfs FOX-IT niet onfeilbaar is. Daarbij; met drie succesvolle hacks (Comodo, StartSSL en Diginotar) en mogelijk een vierde in vier maanden tijd, is het patroon gevestigd en de aanvaller niet gegrepen. Er komen er vast nog meer.
De huidige vertrouwenscrisis zal overigens nog veel dieper gaan. Niet omdat burgers nog niet gerustgesteld zijn, maar omdat de IT-sector zelf de schade begint te ontdekken. En dat sijpelt vanzelf door: met een paar honderdduizend IT-ers kent iedere burger er wel een paar. En de burgers zijn erg ontvankelijk voor horrorverhalen over onveilige technologie.
Hoe dat zo? Vanwege Diginotar en Globalsign zijn grote organisaties begonnen met het in kaart brengen van hun afhankelijkheden van certificaten. En wat blijkt: er zit nog veel meer poep op de ventilator. Het dossier PKI bevat nog een paar nare verrassingen. Ten eerste blijkt het zeer lastig om alle certificaten te vinden. Het is uitgesloten dat je de boel veilig kunt houden als je niet weet wat je gebruikt en waar het zit. Ten tweede is het vervangen heel veel werk waar je alleen in echte noodsituaties toestemming voor krijgt. Oftewel: de gewone IT-beheerder voelt wel aan dat wat we nu meemaken een eenmalige exercitie is, terwijl een structurele oplossing geboden is.
Maar de derde bevinding is de belangrijkste: veel beveiligingsfuncties van certificaten worden helemaal niet gebruikt. Wat zeg u? Ja, zij zijn niet in gebruik.
Ten koste van de beveiliging
In feite is een certificaat een digitale sleutel, die door een slot – een samenwerking tussen de server, de client en de PKI-infrastructuur – op echtheid gecontroleerd wordt. En waar lopen de controleurs nu tegenaan?
De controles die ‘het slot’ kan doen, staan vaak uit. Zo zie je dat sleutels die al lang verlopen zijn of ingetrokken zijn, nog steeds werken. De voorgespiegelde meltdown van overheidssystemen die nu voorkomen zou zijn, lijkt met dit in gedachten dan ook wat overtrokken. De verklaring van waarom de controles uit staan is simpel, omdat het intrekmechanisme, CRL of OCSP, niet werkt of botweg uitgeschakeld is.
De verklaring voor het niet werken is eenvoudig: de machine moet zelf een verbinding met internet kunnen opbouwen. Bij webservers is dat vanzelf geregeld, maar bij Server Oriented Architectures (SOA’s) en infrastructurele voorzieningen als proxies, federatieservers en loadbalancers wil je helemaal niet dat de machines naar ‘buiten’ kunnen. Het PKI-mechanisme voorziet hier niet in; het huidige PKI is voor dit soort systemen feitelijk ongeschikt. Toen PKI nieuw was, bestonden load balancers, proxies en SOA’s nog niet, maar nu heeft iedere organisatie wel wat van die spullen in huis.
De verklaring voor het uitschakelen ligt in het verlengde van het voorgaande. Als een PKI-implementatie de controles van echtheid daadwerkelijk uitvoert, dan zal het systeem niet werken. Daarom worden de beveiligingsfuncties uitgeschakeld, anders werkt het systeem niet. Dat de beveiliging dan ook niet werkt, is veel mensen niet duidelijk of is onder tijdsdruk genegeerd. Het werkt, en daar gaat het om. Alleen, ten koste van de beveiliging.
Dat het PKI-echtheidsmechanisme niet bruikbaar is, wordt onderstreept door Google en Microsoft die eigen, hard-coded mechanismen gebruiken in plaats van het officiële om certificaten in te trekken. Dat maakt overigens de root-certificaten van Microsoft en Google de belangrijkste digitale bestanden ter wereld; als daar wat mee mis gaat is er geen herstel mogelijk. Zowaar geen fijn idee.
Er zijn nog meer toepassingen met PKI die op voorhand niet voorzien zijn, of niet voldoende doorzien. Daarbij gaat het vooral om ingebedde certificaten. Zo zijn er in smartcards en allerlei andere hardware devices certificaten en de bijbehorende algoritmes ingebouwd. Nu kunnen de certificaten in veel gevallen wel vervangen worden, met heel veel moeite, maar de toepassing eromheen (zoals in de chip van de smartcard) is vaak hardcoded. Dan zit er niets anders op dan alle kaarten te vervangen. Je begrijpt dat dat niet snel zal gebeuren – vergelijk maar met de gekraakte crypto in de OV-chipkaart. Hebben we al nieuwe? Nee, natuurlijk niet, dat is een hele grote operatie.
Als laatste lopen we nu aan tegen een massale inzet van self-signed certificaten. In een aantal gevallen is dat op zichzelf prima te rechtvaardigen – mits het beheer geregeld is, maar bij de meeste organisaties is dit een hele nare verrassing. Het beheer is namelijk niet geregeld en de chaos is compleet.
Zelfregulering
De wereld van PKI is opgebouwd uit enkele honderden organisaties die in meer of mindere mate onder toezichthouders vallen. In ons land valt het toezicht blijkbaar toe aan de OPTA, die dat weer gedelegeerd heeft aan de markt. Omdat het toezicht per land anders is en PKI internationaal, is het PKI-bouwwerk vooral afhankelijk van zelfregulering door de verschillende deelnemende commerciële ondernemingen. De gedachte onder deze zelfregulering is dat de RootCA’s wel gek zouden zijn als ze hun zakies lieten versloffen, omdat ze anders hun klanten zouden verliezen. Dat dit geen werkende garantie is, is nu door Diginotar overduidelijk aangetoond; sommige RootCA’s zijn gek. Het was ook een onjuiste aanname: een falende RootCA wordt niet gecorrigeerd door haar eigen klanten, want die zien het probleem in de praktijk niet. En de falende CA wordt niet gecorrigeerd door de concurrentie, want, eh, dat is de concurrentie. In het Diginotar-geval is de falende CA gecorrigeerd door de grote browserbouwers en die nemen nu het voortouw, maar de bron van het falen blijft.
Backwards compatibility
Cryptografie is per definitie (vanwege de wet van Moore) gevoelig voor veroudering. Bovendien bestaan er geen onfeilbare algoritmes. Bovenal omdat software niet werkt met theoretische algoritmes, maar met feitelijke implementaties. Daarom moeten sleutellengtes en gebruikte technieken met enige regelmaat, maar soms per direct aangepast worden. Dit is vanaf het allereerste begin van PKI een vereiste geweest en staat te lezen in alle leerboeken. Bij de huidige inspectie blijkt dat te kleine sleutels en sleutels die gebruik maken van technologie die al lang in de ban is gedaan, nog steeds in gebruik zijn. En de reden die vermeld wordt is backwards compatibility. Het systeem ondersteunt vanwege backwards compatability ook sleutels die niet meer zouden mogen werken. Oftewel: het werkt maar ten koste van de beveiliging.
Zo zouden CA’s onderhand geen intermediate en end-entity certificaten met RSA key size kleiner dan 2048 bits moeten uitgeven. Bovendien zouden CA’s met root certificates kleiner dan 2048 bits RSA key zelf moeten stoppen met het uitgeven van intermediate and end-entity certificates van deze roots. De meesten hebben dat wel meegekregen. Maar ernaar gehandeld hebben ze zeker niet allemaal. En wat gebeurt er dan? Inderdaad: helemaal niets.
Daar zijn nog ergere voorbeelden van: eind 2008 is een zeer gedetailleerde en zeer dodelijke aanval op PKI gepubliceerd, die gebruik maakte van collissions in MD5. Het blijkt nu dat er, ruim drie jaar later, nog steeds certificaten met MD5 in gebruik zijn. Als je kijkt welke certificaten op je machine staan, zul je meerdere root certificaten met MD5-RSA tegenkomen , zoals de "Thawte Premium Server CA" uit 1996: deze zouden geen probleem moeten zijn omdat ze uitgegeven zijn voordat MD5 gekraakt is. De gedachte is dat als deze gekraakt zouden zijn, dat dan wel bekend zou zijn geworden. Wellicht is dat zo.
Waar je voor moet oppassen zijn nieuwere certificaten met MD5. Niemand moet die accepteren, bij wijze van zelfreinigend vermogen. Maar dat vermogen ontbreekt ten ene male – want wie inspecteert nu ieder certificaat en weet wat al die waardes betekenen? Bovendien kun je dit als gebruiker helemaal niet: je browser of je besturingssysteem accepteert namens jou.
Ook hebben we een probleem gehad met debian OpenSSL: alle RSA & DSA keypairs die met OpenSSL op debian zijn gemaakt tussen de release van 17 september 2006 en de update van 13 mei 2008 zijn eenvoudig te raden. Zijn de certificaten met deze keypairs allemaal weggegooid? Waarom zouden ze? En voor de gebruiker: hoe kun je zien hoe waarmee en op welk platform een certificaat gemaakt is? Dat kun je niet.
Gelukkig is Mozilla recent gestopt met het accepteren van certificaten met MD5, maar andere browsers en zeker de oudere, accepteren ze nog gewoon. Als je vervolgens bedenkt dat de oudste browsers vooral bij de grootste organisaties voorkomen (Internet Explorer 5.5 en 6 komen nog steeds voor bij banken en de overheid) dan zou je je toch zorgen kunnen gaan maken.
Al eerder is vastgesteld dat een ander essentieel mechanisme, de PathLenConstraint, door Diginotar niet gebruikt wordt. Nu we met z’n allen de boel eens goed bekijken, blijkt dat dit mechanisme hoogst zelden gebruikt wordt. Dit mechanisme zou ook de angel uit de MD5-aanval gehaald hebben, net als uit de Diginotar-hack. Maar gebruiken? In 2008 niet en in 2011 natuurlijk evenmin; want het beperkt de RootCA in de commerciële mogelijkheden. Als je de PathLenConstraint op 4 zet, wat een goede waarde zou zijn, kan niet iedere CA zomaar oneindig van alles uitgeven. Dan zouden de klanten duurder uit zijn en de winst van de CA’s dus uiteindelijk dalen.
Gegeven het voorgaande is duidelijk dat de sector alleen tandeloos intern toezicht heeft en zelfreinigend vermogen ontbeert om het vertrouwen dat ze opeist, te verdienen.
Extern toezicht
Nu is er niet alleen intern toezicht, maar ook extern. Het toezicht door PWC in opdracht van de OPTA blijkt alleen het management van de organisatie te toetsen en niemand heeft zich daar druk over gemaakt. Een staaltje zinloze bureaucratie zonder weerga.
Nogmaals dan: computerbeveiliging gaat over het beveiligen van computers, dat gaat over techniek en alleen indirect over procedures, processen en protocollen. Mensen die geen kennis hebben van de techniek van beveiliging kunnen geen goede beslissingen nemen over de beveiliging als geheel.
Naast deze feiten is er een aantal hardnekkige geruchten die ook al niet helpen. Zo wordt er openlijk gesteld dat Diginotar gestraft is met de internetdoodstraf, omdat het maar een kleine CA is. Maar, zo gaat het verhaal verder, niemand zal het in z’n hoofd halen om één van de grote RootCA’s aan te pakken. Simpelweg omdat de schade in dat geval te groot zal zijn. En inderdaad: de belangrijkste RootCA’s, zoals Verisign, zijn daadwerkelijk too big to fail. Een scherpe en zeer geloofwaardige observatie. De droom van PKI is afhankelijk van een onbreekbare en onfeilbare top van de hiërarchie. En dat, weten we met de kennis van nu, is onmogelijk.
Door Peter Rietveld, Senior Security consultant bij Traxion - The Identity Management Specialists -
Laatste 10 columns
Deze posting is gelocked. Reageren is niet meer mogelijk.