Home > Blog > Geef de inhuur maar de schuld...

Geef de inhuur maar de schuld...

Gepubliceerd door admin on december 13, 2011

Go to the English version

We zijn nog maar amper bekomen van de schrik van ‘Diginotargate’ of Webwereld publiceert op 8 december j.l. en de dagen erna een reeks artikelen die de discussie over de betrouwbaarheid van onze nationale certificateninfrastructuur (PKIOverheid) en het wereldwijde SSL-vertrouwensmodel wederom doet oplaaien. In de eerste publicatie wordt vermeld dat Gemnet naast het verbinden van de Nederlandse Gemeenten, zich onder andere bezig houdt met het wederverkopen van certificaten aan overheden.

Deze activiteit van certificatenverkoop is een sterk staaltje vestzak-broekzak, omdat zowel Gemnet als Getronics volle dochterondermeningen zijn van KPN. Getronics opereert nu zelfs onder de naam KPN Corporate Market. Nog amper nadat de stekker uit de Gemnet-website is getrokken om het probleem te onderzoeken volgt een tweede publicatie  ‘KPN trekt 1000 certificaten in’. Ondanks de sensationele titel zegt dit feit op zichzelf niets over de betrouwbaarheid van de certificaatuitgever, maar er is sprake van een aantal omstandigheden die op zijn minst bij sommigen de nekharen overeind doen staan:

  • KPN heeft op 4 november jongstleden de Getronics certificaatomgeving tijdelijk off-line gehaald in verband met een onderzoek naar een webserverhack waarbij hackerstools zijn aangetroffen. De inbraak blijkt reeds 4 jaar geleden te hebben plaatsgevonden, maar de certificaatomgeving zou onaangetast zijn. De certificaatdienstverlening wordt overigens binnen enkele dagen weer hervat.
  • De 1000 certificaten waarover in de publicatie gesproken wordt is een explosieve stijging ten opzichte van het genoemde gemiddelde van ca. 7 intrekkingen per maand. Bij Diginotar was een vergelijkbare stijging van het aantal intrekkingen waar te nemen in juli van dit jaar, toen die organisatie met certificaatintrekkingen het bekende incident probeerde te verhullen.

Daar komt bij dat KPN-dochter Gemnet moet erkennen dat hun serverinbraak is verlopen via een uiterst pijnlijke configuratiefout(phpMyAdmin toegang zonder wachtwoord). Dit geeft voer voor samenzweringsspeculanten en blijkbaar is de berichtgeving genoeg reden voor politici om een spoeddebat in de tweede kamer aan te vragen.

We kunnen ons afvragen hoe Webwereld aan de wijsheid komt over de aantallen ingetrokken certificaten. Het antwoord daarop is vrij eenvoudig: die worden gepubliceerd door de certificaatuitgever zelf. Een certificaat wordt uitgegeven voor een bepaalde levensduur, maar als om welke reden dan ook een certificaat niet meer vertrouwd kan worden, heeft de uitgever de mogelijkheid dit gegeven op een weblocatie kenbaar te maken in de vorm van een zogenaamde Certificate Revocation List. Partijen of systemen die een certificaat inspecteren (bijvoorbeeld webbrowsers) hebben de mogelijkheid om die CRL te raadplegen en zo te beoordelen of een certificaat betrouwbaar is. De URL van deze intrekkingslijst is te vinden in de eigenschappen van het certificaat zelf:

cert_cdp.png

We zien dat dit certificaat is uitgegeven door Getronics CSP Organisatie CA - G2. Dit is een certificaatautoriteit binnen de nieuwe tak van PKIOverheid welke is voorzien van sterkere cryptografische eigenschappen dan zijn voorganger. KPN onderhoudt daarnaast ook nog een CA binnen de oude tak, die sinds 1 januari 2011 in een uitfaseringsproces zit. Deze CA is bekend onder de naam Getronics PinkRoccade PKIOverheid Bedrijven CA.

We kunnen de CRL's van beide KPN-uitgevers eenvoudigweg downloaden. De eenvoudigste manier om ze vervolgens uit te lezen is met OpenSSL. Voor de geinteresseerden luidt het gebruikte commando:

openssl crl -inform der -in LatestCRL.crl -text

 

Het wordt snel duidelijk dat de in het artikel bedoelde uitgever met 1000 intrekkingen de Getronics CSP Organisatie CA - G2 betreft. Zoals eerder aangegeven zegt een hoog aantal intrekkingen in principe niets over de integriteit van de certificaatuitgever. Er zijn al snel een aantal scenario's te verzinnen die een dergelijke hoeveelheid intrekkingen rechtvaardigen:

  • Een klant is het sleutelmateriaal van een groot aantal certificaten kwijtgeraakt en is daarom gedwongen bestaande certificaten te vervangen. De oude certificaten worden naar goed gebruik ingetrokken alvorens nieuwe worden verstrekt. Dit is met name belangrijk wanneer de certificaten gebruikt worden voor digitale handtekeningen;
  • De uitgegeven certificaten zijn uitgegeven voor smartcards en deze worden vervangen door een nieuw type, omdat het oude type niet langer voldoende veilig geacht kan worden (Denk aan bijvoorbeeld de Mifare Classic). Per definitie is de privésleutel niet toegankelijk en kan deze niet gemigreerd worden naar een andere smartcard. De enige oplossing is de nieuwe smartcard een vers sleutelpaar te laten genereren en opnieuw te laten certificeren. Vanzelfsprekend wordt daarbij het oude certificaat ongeldig gemaakt.

KPN komt met een lezing van alternatieve strekking. PKIOverheidscertificaten worden aan twee soorten entiteiten verstrekt: aan organisaties en aan personen. De persoonsgebonden certificaten worden altijd op een smartcard of USB-token uitgeleverd. De certificaten waar het om gaat zouden zijn ingetrokken als gevolg van het kwaliteitscontroleproces bij de productie van dergelijke smartcards. Na ‘Diginotargate’ kreeg KPN een groot aantal ex-klanten van de besmette firma te verwerken. De combinatie van gebrek aan ervaring met smartcardproductie, de hoge vraag naar smartcards en de inzet van tijdelijke krachten zouden hebben geleid tot grote productieuitval van smartcards. Aangezien per smartcard drie certificaten worden geladen (resp. voor authenticatie, vertrouwelijkheid en digitale handtekening), leidt een misbaksel automatisch tot evenveel gelijktijdige intrekkingen.

We treffen inderdaad een dergelijk patroon aan als we de tijdstippen van een aantal intrekkingen nader bestuderen:

Date Time Serial number
10-10-2011 13:48:41 68E76CEBFBEB52044D97CBC7AE2BA1E2
10-10-2011 13:48:44 309E93E36FB0EA46B5FE52D533299C5E
10-10-2011 13:48:46 0142C23E9E9197582AF1D7AB190605FD
10-10-2011 13:49:05 2370A8C59066C430710C12AE486B646A
10-10-2011 13:49:07 2C38CD1BE7DC6A4F101DBA9DE24E83E1
10-10-2011 13:49:10 319150241C20AAF3BFFFAC6493B6A93D

 

Wanneer certificaten na elkaar met een interval van ca. 2 a 3 seconden worden ingetrokken kunnen we dit vrijwel zeker toeschrijven aan een productiefout van een smartcard. Toch kom het verschijnsel 'intrekking als gevolg van productiefouten' mij enigszins vreemd voor. Blijkbaar lijken andere PKIOverheidleveranciers, waaronder wijlen Diginotar hier weinig last te hebbenvan dergelijke productiefouten, aangezien bij hen deze patronen niet massaal zijn terug te vinden in de CRL.

In mijn persoonlijke ervaring loopt een smartcardproductieproces ongeveer als volgt:

  • Papieren aanvraag, controle en vervolgens goedkeuring voor de uitgifte van een kaart aan een entiteit;
  • Fysieke bedrukking van de lege kaart met bedrijfslogo, naam en eventueel een foto van de houder;
  • Genereren van de sleutels en de digitale certificaataanvragen (CSR) -
    Hierbij plaatst de operator de kaart in een reader en voert hij of zij de gegevens van de te certificeren partij (subject) in, waarna de smartcard een sleutelpaar genereert en het programma op basis van de ingevoerde gegevens een digitale certificaataanvraag maakt. De aanvraag wordt vervolgens verzonden naar de certificaatproductieomgeving;
  • Controle en goedkeuring certificaataanvraag en genereren van het certificaat -
    Deze stap verloopt idealiter door een andere persoon die controleert of de papieren aanvraag overeenkomt met de digitale aanvraag. Indien in orde genereert de certificaatproductieomgeving een certificaat op basis van de aanvraag;
  • Certificaat laden op de smartcard -
    Deze stap wordt normaliter uitgevoerd door een operator, om een kopie van het certificaat inclusief de overige certificaten in de vertrouwensketen (chain) op de kaart te laden.

Het genereren van een certificaat houdt in feite in dat de certificeringsinstantie een digitale handtekening zet en daarmee instaat voor de identiteit van de smartcardhouder en de correctheid van de tenaamstelling. Het is hoogst opmerkelijk dat KPN blijkbaar binnen haar productieproces deze handtekening laat zetten door productiemedewerkers en pas achteraf de controle laat uitvoeren door een interne auditor. Het zou meer voor de hand liggen dat de persoon die de controle uitvoert de digitale handtekening zet.

Zoals men kan zien hoeft de daadwerkelijke certificaatproductie dus pas plaats te vinden na de finale controlestap. Eventuele fouten komen dus al aan het licht voordat ook maar een certificaat is uitgeven; de certificaatproductie is niet meer dan een stempeltje. Een certificaat dat niet is uitgegeven hoeft ook niet te worden ingetrokken. Het lijkt erop dat het KPN-productieproces van hierboven omschreven afwijkt.

Nu we van KPN hebben vernomen hoe bij hen de productie van smartcards verloopt we ons gaan richten op de overgebleven certificaten die zijn ingetrokken. Na het elimineren van de persoonlijke smartcardcertificaten (herkenbaar aan het 3-secondenpatroon) blijft er nog steeds een groep certificaten over waarvoor KPN geen verklaring heeft gegeven: het type certificaat dat bedoeld is voor servers en services. Dit is meteen de groep certificaten waarin de Diginotarhacker was geinteresseerd. Voor het op grote schaal onderscheppen van wachtwoorden van websites volstaat immers een geldig webservercertificaat, zoals bijvoorbeeld uitgegeven op naam van accounts.google.com o.i.d.

kpn_revocations_mnth.png

Een vergelijkbare uitleg in de vorm van productiefouten bij het genereren van webservercertificaten zou nog beschamender zijn aangezien het excuus van KPN van gebrek aan ervaring hier niet opgaat. Onderzoek van SSL-overheidssites toont aan dat KPN met een marktaandeel van maar liefst 91% de absolute marktleider is op het gebied van PKIOverheid servercertificaten.


chart_pkio_market_shares.png

Natuurlijk worden er ook certificaten uitgegeven aan niet-publiek toegankelijk sites, maar we kunnen met redelijk zekerheid aannemen dat het aantal jaarlijkse uitgiftes het aantal van 3000 stuks niet overschreidt. De oude Getronics PinkRoccade CA is reeds langer in bedrijf en geeft daarom een iets beter inzicht in gebruikelijke intrekkingspatronen. Bovendien was deze CA gedurende het grootste deel van haar levensduur niet betrokken bij massaproductie van smartcards. In de 32 maanden voor 1 september 2011 zijn slechts 170 servercertificaten ingetrokken. In de daarop volgende 3 maanden komen daar plotseling 100 bij. Dat is toch hoogst opmerkelijk voor een CA die wordt uitgefaseerd en door wie volgens Logius (de overheidsorganisatie die verantwoordelijk is voor PKIOverheid) alleen bij hoge uitzondering nog nieuwe certificaten worden verstrekt.

gpr_revocations_mnth.png

Opvallend is daarnaast het feit dat beide CA's een piek in intrekkingen ervaren op 10oktober. Dus een logische vraag aan KPN zou zijn wat er precies op die dag heeft plaatsgevonden en wat beide CA's heeft getroffen.

kpn_comparison_cas.png

Als we de intrekkingen opsplitsen in de periodes voor en na 1 september 2011 worden meer zaken zichtbaar. In de resultaten wordt onder 'smartcard' gerekend een bundel intrekkingen conform de uitleg van KPN; een enkele smartcardintrekking vertegenwoordigt dus meerdere individuele certificaten. De servercertificaten vertegenwoordigen losse intrekkingen.

 

  Getronics PinkRoccade PKIo CA Getronics CSP Org. CA – G2
Issuance
Number of discovered server certificates 387 251
Issued before Sep 1, 2011 383 226
Issued after Sep 1, 2011 4 25
Market Share Increase after Sep 1, 2011 1,0% 11,1%
Revocation
CRL timespan (months) 35 17
Number of revocations (Smartcards) 43 291
Revoked Smartcards before Sep 1, 2011 40 16
Revoked Smartcards after Sep 1, 2011 3 275
Avg rev/mnth before Sep 1, 2011 1,3 1,1
Avg rev/mnth after Sep 1, 2011 1,0 91,7
Number of revocations (Server Certs) 270 305
Revoked Server Certs before Sep 1, 2011 170 67
Revoked Server Certs after Sep1, 2011 100 238
Avg rev/mnth before Sep 1, 2011 5,3 4,8
Avg rev/mnth after Sep 1, 2011 33,3 79,3
% increase rev/mnth 627% 1658%

 

De toename van het marktaandeel van Getronics is getuige de aangetroffen certificaten uitgegeven na 1 september, en waarvoor we voor het gemak aannemen dat deze allemaal ter vervanging van Diginotarcertificaten dienen, ten hoogste 11%. Men zou verwachten dat bij een toename van het aantal uitgiftes het aantal intrekkingen rechtevenredig zou stijgen. Uit de tabel blijkt echter een dramatisch grotere groeifactor van tot wel 16 maal het gemiddelde aantal intrekkingen binnen een maand.

De voorlopige conclusie is dat KPN's verklaring omtrent het intrekkingspatroon meer vragen oproept dan het beantwoordt. Mijn advies aan certificaatuitegevers is om altijd open kaart te spelen; in het bijzonder omdat de certificatenbusiness valt of staat met vertrouwen in de uitgever. In het geval van KPN kan iedere twijfel over de integriteit van de CA eenvoudig worden weggenomen door aan te tonen dat de ingetrokken certificaten in ieder geval allemaal op naam overheidsorganisaties zijn gezet. De uitval zou weliswaar getuigen van een suboptimaal uitgifteproces, maar zou in ieder geval de geruchten van een hackincident doen verstommen. Zelfs als er toch een hack heeft plaatsgevonden en er valse certificaten zijn gegenereerd, dan nog is het beter om direct openheid van zaken te geven. Comodo is een goed voorbeeld van een CA die weliswaar heeft te lijden gehad van een hack, maar door direct maatregelen te nemen en open te communiceren de schade van het vertrouwen in het bedrijf heeft weten te beperken.

Als er ooit alsnog in het wild een certificaat zou opduiken op naam van Google, Microsoft, Yahoo of welke niet-overheidsorganisatie dan ook, ondertekend door Getronics/KPN zou dat daadwerkelijk een ‘Diginotargate 2’ zijn en de definitieve genadeklap betekenen voor PKIOverheid en onze reputatie in het buitenland.

Comments: