PKIoverheid, wat doen we daar mee?

PKIoverheid


NB: vlak voor deze blog werd gepubliceerd, verscheen het bericht dat de overheid stopt met PKIoverheid. Mooi, jammer van mijn verhaaltje, dat ik dan gewoon kan plaatsen zonder dat er discussie hoeft te ontstaan. Ach, doel heiligt de middelen smile


Public Key Infrastructuur is een belangrijke oplossing voor heel veel beveiligingsvraagstukken, variërend van SSL/TLS certificaten voor aantonen authenticiteit van websites, S/MIME digitale handtekening onder je e-mail, digitale ondertekening van documenten, OAuth tokens, hardware authenticatie, smartcards en tokens en, natuurlijk, allerhande versleutelingsmogelijkheden. PKI is al een oude, betrouwbare technologie en totdat kwantumcomputers in staat zullen zijn om de degelijke crypto te breken (al valt dat vast nog wel even mee...), zullen we er op grote schaal gebruik van blijven maken.

Als je met je browser naar een website surft, dan kijkt de browser of er een betrouwbaar certificaat op de webserver staat en daarna zal, als dat het geval is, je browser de website keurig presenteren. Als de website geen geldig certificaat heeft, dan meldt de browser dat de site niet veilig is. Bijkomend voordeel van een geldig certificaat: Google presenteert betrouwbare sites eerder dan onbetrouwbare sites.

Hoe weet een browser welke site betrouwbaar is? Elke browser heeft een lijstje met vertrouwde certificaatleveranciers. Dit is een afbeelding van het lijstje van Firefox:
CertiFF1

Als iemand met de browser een website bezoekt, dan zal de browser het certificaat van de webserver beoordelen en uitzoeken of de uitgever van het certificaat in de lijst met vertrouwde certificaatleveranciers staat. En dat doet elke browser dus, elke browser heeft ongeveer dezelfde lijst met vertrouwde partijen. Makkelijk.

Wie zijn die vertrouwde partijen?
Het zijn organisaties die een extreem goed beveiligde infrastructuur hebben (het allerhoogste certificaat mag natuurlijk niet gecompromitteerd worden) en die ook extreem goed beschreven, uitgevoerde en gecontroleerde beheerprocedures hebben en daarbij ook nog eens een extreem goed beveiligd proces om certificaten uit te reiken aan bijvoorbeeld eigenaren van webservers, of aan mensen die een digitale handtekening willen kunnen zetten. En een degelijk proces om certificaten in te trekken, voor het geval dat de bezitter ervan niet meer aan de betrouwbaarheidseisen (zoals betaling,,) voldoet. Vrijwel al die organisaties hebben beheer van certificaten als kernactiviteit. Bekende partijen zijn Baltimore, D-Trust, Entrust, Comodo, GlobalSign, Verisign. Er zijn ook minder bekende partijen, maar het zijn allemaal specialisten.

Plus de Staat der Nederlanden.

Pardon? De Nederlandse Overheid is een 'Root CA'? Is dat normaal? Waarom?
Nee dat is niet normaal. Dat is zelfs absurd. Een paar voorbeelden:

Het certificaat van de website van het Witte Huis:
Whitehousegovcert CertUSGov

Dit certificaat wordt uitgegeven door DigiCert

Het certificaat van de website van de Bundesregierung:
DEGov CertDEGov

Dit certificaat wordt uitgegeven door T-Systems

Het certificaat van de website van de Chinese overheid:
CertCNGov

Dit certificaat wordt uitgegeven door GlobalSign

Het certificaat van de website van de Nederlandse overheid:
PKIOverheid

Dus die PKIoverheid staat in hetzelfde rijtje als Globalsign, Digicert, T-Systems? Jazeker:

CertiFF2

En waarom hebben we in Nederland dan zo'n Rijksoverheid root CA, waar alle andere internationale overheden en alle andere organisaties een certificaat hebben van een commerciële partij? Zijn de PKIoverheid certificaten dan beter? Of veiliger? Of goedkoper? Nee. Sterker, op wikipedia staat:
PKIoverheid stelt voorwaarden voor uitgifte van certificaten. Deze zijn overeenkomstig aan de voorwaarden voor gekwalificeerde certificaten.

Dus een PKIoverheid is gewoon een gekwalificeerd certificaat.

Nauurlijk is het een gewoon certificaat. PKIoverheid moet voldoen aan de open industriestandaarden en internationale standaarden zoals eIDAS, want anders werkt het hele mechanisme van Trust niet. Een certificaat is standaard, anders geldt het hoe dan ook niet.

Waar is het PKIoverheid certificaat dan specifiek voor nodig?

Voor DigiD en eHerkenning, dus voor de digitale identiteiten die de Nederlandse overheid uitreikt (of laat uitreiken - eHerkenning). Als je DigiD op een site wilt gebruiken, dan moet die site een PKIoverheid certificaat hebben. dat wordt geleverd door een commerciële partij in Nederland (bijv. Quo Vadis) maar uitgegeven door de Staat der Nederlanden. Waarom dat zo is? Geen idee, behalve dat er nu wordt gepretendeerd dat er een vertrouwensnetwerk bestaat, waarbij de overheid streng toezicht houdt.
Daar valt echter wel wat op af te dingen, zie de GGD-casus, een website met DigiD die beslist niet aan de security-eisen voldeed, maar die dus wel hoorde bij het trustnetwerk van de overheid...

Wat is dan de toegevoegde waarde? Of wat is de dreiging die PKIoverheid wegneemt?

De toegevoegde waarde is natuurlijk dat ... nee, eigenlijk totaal geen idee wat de toegevoegde waarde van een PKIoverheid certificaat is. Sterker:
PKIoverheid streeft naar één hoog betrouwbaarheidsniveau voor alle certificaattypen.
Dat betekent dat elk uitgegeven certificaat het hoogst mogelijk beveiligde, dus duurste soort, certificaat is. Maar een duur certificaat is niet beter dan een goedkoop, of zelfs gratis certificaat. Ik hoef maar te verwijzen naar de uitgebreide blog van Troy Hunt over EV-certificaten.

En als we dan bij Logius te rade gaan, wordt keurig uitgelegd wat de rol van certificaten is in beveiliging van het verkeer op onder meer het internet, maar waarom dat dan PKIoverheid moet zijn, wordt in het geheel niet duidelijk. Voor wat betreft de specifieke voordelen van de root-CA van overheid wordt geschreven:
  • Beheer van de standaard door de Rijksoverheid
  • Regie van incidenten of calamiteiten door de Rijksoverheid
  • Actief toezicht op de certificatiedienstverleners door de Rijksoverheid
Maar ik weet eerlijk gezegd niet of ik daar blij mee ben, ik weet niet of onze overheid daar beter in is dan al die andere commerciële CA's.

En nog een 'voordeel':
De Nederlandse overheid is verantwoordelijk voor het stamcertificaat op de root CA, waardoor PKIoverheid niet afhankelijk is van (buitenlandse) commerciële partijen.
(quote van PKIoverheid).

Maar we zagen al dat de grootste en voor ons belangrijkste buitenlanden voor publieke certificaten gewoon gebruik maken commerciële partijen. Wat is dan het probleem van zo'n buitenlandse commerciële partij? Wellicht het het risico dat het certificaat onder controle zou kunnen staan van een buitenlandse mogendheid. En daar hebben we natuurlijk indirect een slecht voorbeeld van: er werden valse Diginotar certificaten uitgegeven. Maar al andere overheden zien dat dan blijkbaar niet als een heel groot probleem. En die hadden ook geen probleem dat de Nederlandse overheid wel ervoer door de Diginotar-hack: PKIoverheid was het probleem niet, maar doordat bijna alle certificaten van de Nederlandse overheid door Diginotar waren verstrekt, moesten wel al die certificaten door een andere PKIoverheid intermediate certificate provider worden geleverd. Dat kostte even tijd (wel even iets anders dan wat een gratis provider als Letsencrypt nu voor elkaar krijgt - mag je niet vergelijken, maar de schaal is wel grappig)...

Conclusie

Alles overziend is er eigenlijk in het geheel geen reden voor dat de Nederlandse overheid als enige transparante moderne overheid een eigen root-CA in de lucht houdt. De overheid die vanuit de optiek van marktwerking de maatschappij overlevert aan de markt, doet dat voor dit specifieke dingetje niet. Misschien is de overheid het vergeten, dat kan natuurlijk. Maar dan is het moment nu toch wel gekomen om PKIoverheid end-of-life te verklaren. Het feit dat je een root-CA in de lucht houdt, betekent dat je alle maatregelen moet treffen en alle toezicht moet houden om het vereiste en gepretendeerde kwaliteitsniveau te handhaven. Dat kost wat. En ik kan me niet voorstellen dat de reputatie om in de lijst van CA/Browser Forum al die moeite waard is.