Certificaatuitbreidingen vormen een integraal onderdeel van de certificaatstructuur volgens de X.509-standaard voor publieke sleutelcertificaten. Deze structuur wordt uitgedrukt in een formele taal genaamd Abstract Syntax Notation One (ASN.1).
Er zijn verschillende certificaatextensies in de structuur van een certificaat. In dit artikel bespreken we de certificaatextensies van Basic Constraints. De details over Basic Constraints zijn te vinden in de volgende RFC:
www.tools.ietf.org/html/rfc5280#section-4.2.1.9
De certificaatuitbreiding Basic Constraints heeft de volgende ASN.1-structuur volgens de RFC-standaard:
id-ce-basicConstraints OBJECT-IDENTIFIER ::= { id-ce 19 }
Basisbeperkingen ::= SEQUENTIE {
cA BOOLEAN STANDAARD ONWAAR,
pathLenConstraint INTEGER (0..MAX) OPTIONEEL }
X.500 was de eerste versie waarbij het niet mogelijk was om het certificaatonderwerp/-houder in de structuur te identificeren. Later kwam de X.509-standaardstructuur, die werd verbeterd om het onderwerp te identificeren. De volgende velden zijn te vinden in de Basic Constraints-structuur:
- Onderwerptype
- Pad lengte
Het onderwerptype geeft de houder van het certificaat aan en kan van twee typen zijn:
- CA-certificaat
De houder van dit certificaat is een registeraccountant (CA).
- Eind entiteit
De houder van dit certificaat is een eindentiteit, zoals een domein/organisatie, etc.
Padlengte (hoewel een optioneel veld) geeft aan hoeveel CA's er onder een CA vallen. Een CA met een padlengtebeperking van 0 kan bijvoorbeeld geen ondergeschikte CA's hebben die certificaten kunnen uitgeven aan andere eindentiteiten.
Laten we het hebben over onderwerptypen zoals CA-certificaten.
CA-certificaten worden gebruikt voor de volgende doeleinden:
- Om certificaten te ondertekenen die worden gebruikt in HTTPS en CRL's
- Om de handtekeningen op uitgegeven certificaten te valideren/authenticeren
Basisbeperkingen voor een CA-certificaat kunt u op de volgende manier vinden
- Open een SSL/TLS-gebaseerde URL in de browser
- Klik op het pictogram 'Slot'
- Klik op “Certificaat”
- Klik op 'Details'
- Selecteer 'Basisbeperkingen'

Uit de bovenstaande CA-schermafbeelding blijkt duidelijk dat het onderwerptype is opgegeven als "CA" en dat er geen gedefinieerde padlengte voor het certificaat is. Dit betekent dat de certificaathouder de CA is en dat een onbeperkt aantal certificaten in de certificaatketen onder deze CA is toegestaan.
De ‘certificaatketen’ voor een certificaat kan op de volgende manier worden gevonden:
- Open een SSL/TLS-gebaseerde URL in de browser
- Klik op het pictogram 'Slot'
- Klik op “Certificaat”
- Klik op 'Certificeringspad'

Uit de certificeringsketen in de schermafbeelding blijkt dat er drie certificaten in de keten zitten. De eerste twee certificaten zijn CA-certificaten en het derde certificaat is het eindentiteitscertificaat, aangezien CA-certificaten bovenaan de lijst staan en het laatste certificaat in de keten tot een eindentiteit behoort.
Laten we het hebben over onderwerptypen als eindentiteitscertificaten
Eindentiteitscertificaten worden gebruikt om eindentiteiten (gebruiker, apparaat, domein, enz.) te authenticeren voor clients, waaronder: TLS-, S/MIME- en encryptiecertificaten. De eindentiteitscertificaten zijn als volgt te vinden:
- Open een SSL/TLS-gebaseerde URL in de browser
- Klik op het pictogram 'Slot'
- Klik op “Certificaat”
- 4. Klik op "Details"

In de schermafbeelding zien we dat het veld "Onderwerptype" "Einde entiteit" is en het veld "Padlengte" "Geen" aangeeft dat dit certificaat niet kan worden gebruikt om andere certificaten uit te geven/ondertekenen. Als de basisbeperking niet in de certificaatstructuur is opgenomen, is het certificaat standaard bedoeld als een Eindentiteitscertificaat.
Laten we de padlengte in de onderstaande afbeelding bespreken

In het bovenstaande certificaatketendiagram specificeert het eerste certificaat een padlengtebeperking van 2. Dit betekent dat er maximaal 2 CA-certificaten onder dit certificaat kunnen vallen, anders dan het eindentiteitscertificaat.
Het tweede certificaat in de hiërarchie specificeert de padlengtebeperking 1. Deze voorwaarde geldt ook omdat er slechts één CA-certificaat onder dit certificaat staat.
Het derde certificaat in de lijst specificeert de padlengtebeperking 0. Deze voorwaarde is van toepassing omdat er geen CA-certificaat onder dit certificaat bestaat.
De beperking van de padlengte is niet van toepassing op het uiteindelijke certificaat, omdat dit een eindentiteitscertificaat is.
Conclusie
De certificaatuitbreiding Basic Constraint is cruciaal om te voorkomen dat een End Entity-certificaat andere certificaten uitgeeft/ondertekent, aangezien dit een schending is van de certificaatuitbreiding Basic Constraints. Alleen certificaten die zijn uitgegeven met "Onderwerptype" als "CA" en met het kenmerk "Padlengte", kunnen andere certificaten uitgeven/ondertekenen.
