PKI: het onzichtbare vertrouwenssysteem achter elk hangslotje op internet
Elke keer dat je een website bezoekt met een hangslotje in de adresbalk, of een e-mail verstuurt via een beveiligde verbinding, werkt er op de achtergrond een systeem dat bepaalt of je computer die verbinding kan vertrouwen. Dat systeem heet PKI, voluit Public Key Infrastructure oftewel publieke-sleutelinfrastructuur. Het is geen los apparaat of programma, maar een geheel van technische standaarden, organisaties en afspraken die samen digitale identiteiten controleerbaar maken.
Vergelijk het met een paspoort. Een paspoort is pas bruikbaar als een overheid het heeft afgegeven en er een stempel, foto en handtekening op staat die niet zomaar na te maken zijn. Bij PKI speelt een vergelijkbare rol de zogeheten certificaatautoriteit: een partij die een digitaal 'paspoort' (een certificaat) uitgeeft aan een website, bedrijf of persoon, nadat is gecontroleerd wie die partij daadwerkelijk is. Jouw browser vertrouwt dat certificaat, net zoals een grenswachter een paspoort vertrouwt omdat hij de uitgevende overheid kent.
Wat is het precies?
De basis van PKI is asymmetrische cryptografie, ook wel public-key cryptografie genoemd. Daarbij krijgt elke deelnemer een sleutelpaar: een publieke sleutel die iedereen mag zien, en een privésleutel die geheim blijft. Wat met de ene sleutel wordt versleuteld, kan alleen met de andere weer worden ontsleuteld. Dat maakt twee dingen mogelijk: vertrouwelijke communicatie (iedereen kan met jouw publieke sleutel iets versleutelen dat alleen jij met je privésleutel kunt lezen) en digitale handtekeningen (jij ondertekent iets met je privésleutel, en iedereen kan met je publieke sleutel controleren dat die handtekening echt van jou komt).
Het probleem is: hoe weet je dat een publieke sleutel echt bij die ene persoon of website hoort, en niet is verzonnen door een kwaadwillende? Daarvoor bestaat het certificaat, een digitaal document volgens de internationale standaard X.509. Een certificaat koppelt een publieke sleutel aan een naam (bijvoorbeeld een domeinnaam zoals detoekomstisnu.nl) en wordt ondertekend door een certificaatautoriteit, in het jargon een Certificate Authority of CA.
Certificaatautoriteiten vormen samen een keten van vertrouwen. Grote, wereldwijd erkende CA's hebben een zogeheten rootcertificaat dat standaard is ingebakken in besturingssystemen en browsers. Die root tekent vaak niet zelf elk certificaat, maar geeft die bevoegdheid door aan tussenliggende CA's, die op hun beurt certificaten uitgeven aan websites en organisaties. Zolang elke schakel in die keten te herleiden is tot een vertrouwde root, accepteert je browser het certificaat en verschijnt het hangslotje.
Belangrijk is ook wat er gebeurt als een sleutel of certificaat gecompromitteerd raakt, bijvoorbeeld doordat een privésleutel is gestolen. Daarvoor bestaan intrekkingsmechanismen zoals de Certificate Revocation List (CRL, een lijst met ingetrokken certificaten) en OCSP (Online Certificate Status Protocol, waarmee een browser in real time kan navragen of een certificaat nog geldig is). In de praktijk werken deze mechanismen niet altijd feilloos: browsers controleren revocatie soms slechts gedeeltelijk, om laadsnelheid te waarborgen.
Wat wil men ermee bereiken?
PKI moet in de kern drie dingen garanderen. Ten eerste authenticiteit: je weet zeker met wie of wat je communiceert, bijvoorbeeld dat je echt met de bank praat en niet met een nepwebsite. Ten tweede vertrouwelijkheid: gegevens die onderweg zijn, kunnen niet worden meegelezen door derden. Ten derde integriteit: de ontvangen data is onderweg niet gemanipuleerd. Bij digitale handtekeningen komt daar nog een vierde element bij, onweerlegbaarheid: de ondertekenaar kan achteraf niet ontkennen dat hij iets heeft ondertekend.
Deze doelen zijn niet alleen relevant voor websites. PKI vormt ook de basis onder beveiligde e-mail (S/MIME), het digitaal ondertekenen van software (zodat je besturingssysteem weet dat een update echt van de fabrikant komt), VPN-verbindingen, chipkaarten zoals bedrijfspasjes, en overheidsdiensten zoals DigiD in Nederland. Zonder een werkend vertrouwenssysteem zou elke online transactie afhankelijk zijn van blind vertrouwen, met alle risico's van dien op afluisteren, identiteitsfraude en manipulatie.
Voorbeelden uit de praktijk
Het bekendste voorbeeld is de beveiliging van het gewone web via TLS (Transport Layer Security, de opvolger van het oudere SSL). Vrijwel elke website met https in de adresbalk gebruikt hiervoor een PKI-certificaat. Een belangrijke omslag kwam in 2015 met de lancering van Let's Encrypt, een gratis en volledig geautomatiseerde certificaatautoriteit van de non-profitorganisatie Internet Security Research Group (ISRG). Waar certificaten voorheen geld kostten en handmatig moesten worden aangevraagd, maakte Let's Encrypt versleuteling voor iedereen laagdrempelig, wat sterk heeft bijgedragen aan de huidige norm dat vrijwel al het webverkeer versleuteld is.
In Nederland kent de overheid haar eigen PKI-stelsel, PKIoverheid, beheerd onder verantwoordelijkheid van Logius (de digitale dienst van het ministerie van Binnenlandse Zaken). Dit stelsel levert de certificaten die onder meer DigiD, elektronische aangiftes bij de Belastingdienst en beveiligde uitwisseling tussen overheidsinstanties mogelijk maken.
Op Europees niveau regelt de eIDAS-verordening (elektronische identificatie en vertrouwensdiensten, sinds 2014) hoe digitale handtekeningen en certificaten in de hele EU rechtsgeldig en onderling erkend worden. De herziening eIDAS 2.0, die vanaf 2024 in werking treedt, introduceert de European Digital Identity Wallet: een digitale portemonnee waarmee burgers zich met een smartphone kunnen identificeren en documenten kunnen ondertekenen, met PKI als technisch fundament.
Ook softwarebedrijven leunen zwaar op PKI. Microsoft en Apple laten ontwikkelaars hun apps en updates digitaal ondertekenen (code signing), zodat besturingssystemen kunnen controleren of software niet is aangepast door een aanvaller voordat die wordt geïnstalleerd. En in de industrie worden certificaten steeds vaker gebruikt om apparaten in het Internet of Things (IoT) veilig te laten communiceren, bijvoorbeeld bij slimme energiemeters en industriële besturingssystemen.
Hoe ver is de techniek?
PKI voor het web is inmiddels volwassen technologie, geen experimentele techniek. Naar schatting worden er wereldwijd honderden miljoenen actieve TLS-certificaten gebruikt, en het uitgeven ervan is grotendeels geautomatiseerd via protocollen zoals ACME (Automatic Certificate Management Environment), dat Let's Encrypt heeft gepopulariseerd. Een merkbare trend is dat certificaten steeds kortere geldigheidsduur krijgen, van jaren naar enkele maanden of zelfs dagen, om het risico van misbruik bij verlopen of gestolen sleutels te beperken.
Een ander volwassenheidsteken is Certificate Transparency, een initiatief dat mede door Google is opgezet. Elke uitgegeven publieke certificaat moet worden gelogd in openbare, controleerbare logboeken, zodat vervalste of ongeautoriseerde certificaten sneller aan het licht komen.
Toch is het systeem niet zonder problemen. Revocatiecontrole (het checken of een certificaat is ingetrokken) werkt in de praktijk onvolledig, omdat volledige controle de laadtijd van websites zou vertragen. Ook blijft het systeem afhankelijk van het zorgvuldig handelen van honderden certificaatautoriteiten wereldwijd; incidenten waarbij een CA ten onrechte certificaten uitgaf, hebben in het verleden geleid tot het volledig wantrouwen van die CA door browsers, met grote gevolgen voor de betrokken bedrijven.
De grootste toekomstige uitdaging is de opkomst van kwantumcomputers. Een voldoende krachtige kwantumcomputer zou in theorie de wiskundige problemen kunnen kraken waarop huidige publieke sleutels zijn gebaseerd (zoals RSA en elliptische-krommecryptografie), wat de hele PKI zou ondermijnen. Zulke computers bestaan nog niet, maar uit voorzorg heeft het Amerikaanse standaardisatie-instituut NIST in augustus 2024 de eerste post-kwantum cryptografiestandaarden definitief vastgesteld (waaronder ML-KEM en ML-DSA). De komende jaren, naar verwachting tot ver in de jaren 2030, zullen overheden en bedrijven hun PKI-systemen geleidelijk moeten migreren naar deze kwantumbestendige algoritmen, wat een grote en langzame operatie is.
Wie werken eraan?
Het beheer van PKI is verdeeld over veel partijen. Commerciële certificaatautoriteiten zoals DigiCert, Sectigo en GlobalSign geven het gros van de betaalde certificaten uit, terwijl de non-profit Let's Encrypt (ISRG) een groot deel van het gratis segment beslaat. De technische standaarden voor browservertrouwen worden vastgesteld door het CA/Browser Forum, een samenwerkingsverband van CA's en browserbouwers zoals Google, Mozilla, Apple en Microsoft.
Op standaardisatiegebied speelt het Amerikaanse NIST een centrale rol, vooral nu met de ontwikkeling van post-kwantumcryptografie. In Europa houdt ENISA (het Europese agentschap voor cybersecurity) zich bezig met beleidsadvies en coördinatie rond digitale vertrouwensdiensten, terwijl de Europese Commissie met eIDAS de juridische kaders bepaalt.
In Nederland ligt de regie voor overheids-PKI bij Logius, en onderzoek naar kwantumbestendige cryptografie gebeurt onder meer bij het Centrum Wiskunde & Informatica (CWI) in Amsterdam, dat internationaal meewerkte aan de ontwikkeling van enkele door NIST geselecteerde algoritmen. Wereldwijd dragen daarnaast academische onderzoeksgroepen, internetstandaardenorganisaties zoals de IETF (Internet Engineering Task Force) en grote techbedrijven zoals Google en Microsoft bij aan de doorontwikkeling van het systeem.