Introductie
Publieke sleutelinfrastructuren, of PKI's, vormen de beveiligingsruggengraat van veel organisaties, omdat ze authenticatie en identificatie bieden aan de apparaten, personen of applicaties die binnen het netwerk van een bedrijf werken. Een PKI werkt als volgt: een apparaat, gebruiker of applicatie die binnen het netwerk van een organisatie wil werken, stuurt een Verzoek tot ondertekening van een certificaat (CSR), die hun openbare sleutel bevat, evenals de informatie die nodig is om een certificaat voor die gebruiker aan te maken. De openbare sleutel maakt deel uit van een sleutelpaar dat door de aanvrager is aangemaakt en dat bestaat uit een privésleutel en een openbare sleutel. De privésleutel wordt voor iedereen geheim gehouden, terwijl de openbare sleutel wordt gebruikt om berichten, certificaten of andere communicatie die met de privésleutel zijn ondertekend, te koppelen aan de bijbehorende openbare sleutel. De CSR wordt verzonden naar een uitgevende certificeringsinstantie (Certificate Authority), of CA, die verantwoordelijk is voor het uitgeven en beheren van certificaten. Zodra de aanvraag is geaccepteerd, wordt het certificaat naar de aanvrager verzonden.

Figuur 1: Een diagram van hoe een CSR werkt
Deze certificaten bevatten informatie over de certificaathouder, waaronder de naam van de uitgevende certificeringsinstantie (CA), het certificeringspad, de openbare sleutel van de aanvrager en nog veel meer. Certificaten delen de identiteit van de certificaathouder met andere apparaten, applicaties en gebruikers in het netwerk, zodat zij weten dat de certificaathouder te vertrouwen is. Dit vertrouwen wordt vastgesteld via het certificeringspad, of de vertrouwensketen van het certificaat dat aan de certificaathouder is uitgegeven.
De vertrouwensketen begrijpen
Zoals eerder vermeld, maakt het certificeringspad, of de vertrouwensketen, deel uit van een certificaat. Deze vertrouwensketen verbindt het certificaat van de certificaathouder met het certificaat van de root-certificeringsinstantie (CA). De reden voor een vertrouwensketen is om de aanvragende dienst of gebruiker vertrouwen te geven in het certificaat waarvan ze de keten volgen. Wanneer een webbrowser verbinding maakt met een website, controleert deze eerst het certificaat van die website. Als het certificaat dat door de website wordt gebruikt geldig blijkt te zijn, controleert de webbrowser vervolgens de vertrouwensketen van het certificaat. Hoewel het certificaat nog steeds geldig is, moet de browser ook de certificaten van de intermediaire, uitgevende en root-certificeringsinstantie verifiëren.

Figuur 2: Een voorbeeld van een certificaat
De onderstaande afbeelding is een voorbeeld van hoe een Chain of Trust eruitziet. Het certificaat onderaan, genaamd *.encryptionconsulting.com is het certificaat van deze website. Het certificaat met de naam R3 is het Intermediate certificaat, en het certificaat met de naam DST Root CA X3 is het rootcertificaat. Bij elk van deze certificaten worden verschillende componenten gecontroleerd:
- De uitgever van het certificaat dat u op dat moment bekijkt, moet qua naam overeenkomen met de naam van het vorige certificaat in de keten.
- Het hoogste punt van de keten moet een vertrouwd certificaat zijn.
- Het huidige certificaat moet worden ondertekend met de geheime sleutel van het vorige certificaat in de keten.

Figuur 3: Een voorbeeld van een certificeringspad
De reden dat dit de Chain of Trust wordt genoemd, is dat de top van de keten impliciet vertrouwen geeft aan de rest van de keten. Het hoogste certificaat in een Chain of Trust is altijd een bekende en vertrouwde root-CA die expliciet wordt vertrouwd in de certificaatopslag van de webbrowser. Omdat deze root-CA expliciet wordt vertrouwd, kunnen alle certificaten die deze uitgeeft ook impliciet worden vertrouwd. Dit komt doordat expliciet vertrouwen in een CA betekent dat u er ook op vertrouwt dat deze alleen certificaten aan andere vertrouwde bronnen verstrekt. Dat impliciete vertrouwen sijpelt door via de Chain of Trust en is van toepassing op alle intermediaire en uitgevende CA's binnen die keten, evenals op het uiteindelijke certificaat van de website die wordt geverifieerd. Zo ontstaat er een vertrouwde en veilige verbinding tussen de website en de webbrowser.

Rootcertificaten
Het rootcertificaat vormt de kern van de vertrouwensketen, waar alle vertrouwen vandaan komt. Het rootcertificaat is het certificaat van een root-CA. Deze rootcertificaten, of vertrouwde certificaten, worden opgeslagen in certificaatopslagplaatsen, ook wel Trusted Root Store genoemd. Deze opslagplaatsen bevatten het certificaat en de openbare sleutel van alle vertrouwde roots en zijn vooraf ingebouwd in het besturingssysteem van het apparaat of via rootstores van derden in applicaties zoals webbrowsers. Door deze rootstores in het apparaat te integreren voordat het in gebruik wordt genomen, worden veel certificaten zeer snel geaccepteerd, omdat de meeste organisaties die openbare PKI's gebruiken, dezelfde gebruiken die al vertrouwd zijn. Dit betekent dat alle certificaten die zijn ondertekend door vertrouwde root-CA's automatisch vertrouwd zijn.
Rootcertificeringsinstanties (RCA's) worden gebruikt om certificaten uit te geven aan intermediaire en uitgevende CA's. Bij het opzetten van deze andere CA's wordt een cross-signed certificaat gebruikt in plaats van een regulier certificaat. Een cross-signed certificaat is een certificaat dat is ondertekend door een andere CA, die al vertrouwd is, voor de nieuw gecreëerde en niet-vertrouwde CA. Dit maakt het mogelijk om een Certificate Chain of Trust te creëren die terugleidt naar een reeds vertrouwde CA, totdat de nieuw gecreëerde CA zijn vertrouwen heeft bewezen en een eigen vertrouwd certificaat heeft verdiend. Een ander belangrijk punt van rootcertificaten is dat ze voor een langere periode worden uitgegeven dan normale certificaten. Een gemiddeld certificaat wordt uitgegeven voor een periode van ongeveer 4 tot 6 maanden. Rootcertificaten daarentegen worden meestal voor 20 jaar uitgegeven, omdat ze langer geldig moeten blijven om te voorkomen dat de PKI instort.
Root-CA's mogen ook nooit certificaten uitgeven aan eindgebruikers, aangezien het compromitteren van een rootcertificaat de volledige PKI zou vernietigen. Als een kwaadwillende actor de controle over een rootcertificaat zou overnemen, zou hij zoveel certificaten kunnen uitgeven als hij wil, aan elk apparaat. Dit zou hem in staat stellen om volledig onopgemerkt een netwerk te infiltreren en gevoelige informatie te stelen, schadelijke code in applicaties te installeren of belangrijke infrastructuur te vernietigen. In plaats daarvan worden intermediaire certificaten gebruikt om certificaten aan eindgebruikers uit te geven. Laten we nu eens kijken naar intermediaire certificaten.
Tussenliggende certificaten
Intermediaire certificaten worden toegekend aan intermediaire CA's, die taken uitvoeren die voorheen doorgaans door root-CA's werden uitgevoerd. Omdat het onveilig is om meer dan één root-CA te hebben, worden er meerdere intermediaire CA's aangemaakt. Root-CA's blijven te allen tijde offline, zodat intermediaire CA's fungeren als online root-CA's, zonder de mogelijkheid de gehele PKI plat te leggen.
Een Intermediate CA wordt op een eenvoudige manier aangemaakt:
- Eerst ondertekent de root-CA het certificaat van de intermediaire CA, het intermediaire certificaat, met zijn eigen privésleutel, waardoor dat intermediaire certificaat betrouwbaar wordt.
- De Intermediate CA kan nu zijn Intermediate Certificaat gebruiken om eindgebruikercertificaten te ondertekenen.
- Intermediaire CA's kunnen ook de intermediaire certificaten van andere intermediaire CA's ondertekenen, waardoor er meer schakels in de vertrouwensketen ontstaan die terugleiden naar het hoofdcertificaat.
Het gebruik van intermediaire certificeringsinstanties (CA's) helpt het risico bij het gebruik van CA's te verkleinen. Als je een PKI als een boom ziet, kan een intermediaire "branch" (tak) die "branch" (tak) van de PKI worden verwijderd als deze gecompromitteerd raakt. De "root" van de PKI, de eigenlijke root-CA, zou bij een infectie de volledige CA moeten vervangen. Intermediaire certificaten zijn essentieel voor het creëren van een solide en veilige PKI. Intermediaire CA's worden op dezelfde manier als andere certificaten in de PKI opgeslagen in een certificaatopslag. Een certificaatopslag voegt nieuwe vertrouwde CA-certificaten en eindgebruikerscertificaten toe aan zichzelf voor eenvoudigere certificaatvalidatie in de toekomst.
Conclusie
Zoals u kunt zien, zijn root- en intermediaire certificaten, hoewel ze vergelijkbare functies vervullen, zeer verschillend. Root-CA's worden offline gehouden en geven alleen certificaten uit aan intermediaire CA's, nooit aan eindgebruikers, omdat een inbreuk op deze certificaten de PKI zou vernietigen. Intermediaire CA's fungeren als de online versie van root-CA's, maar met een intermediair certificaat in plaats van een root-certificaat. Intermediaire CA's kunnen certificaten uitgeven aan andere intermediaire CA's, of aan eindgebruikers, voor elk gebruik waarvoor ze die nodig hebben. Intermediaire CA's verschillen ook enigszins van root-CA's doordat hun initiële certificaat een cross-signed certificaat is, in tegenstelling tot een self-signed certificaat, wat het root-certificaat is. Nadat het vertrouwen is bewezen, krijgt de intermediaire CA zijn eigen certificaat en hoeft hij niet langer te vertrouwen op het cross-signed certificaat.
Zonder rootcertificaten en intermediaire certificaten wordt de volledige vertrouwensketen van een PKI verbroken. Intermediaire CA's zijn nodig voor interactie met de eindgebruiker, terwijl root-CA's de basis vormen van de vertrouwensketen. Zorg er bij het ontwerpen van uw eigen PKI voor dat u zowel rootcertificaten als intermediaire certificaten gebruikt voor de meest veilige systemen. Voor hulp bij het ontwerp en/of de implementatie van een veilige Public Key Infrastructure (PKI) kunt u de diensten van Encryption Consulting inhuren. Ons ervaren team van experts kan u helpen bij het creëren van uw ideale PKI.
