Delen via


X.509 Certificaten voor openbare sleutel

Cryptografie van openbare sleutels is afhankelijk van een openbaar en persoonlijk sleutelpaar om inhoud te versleutelen en ontsleutelen. De sleutels zijn wiskundig gerelateerd en inhoud die is versleuteld met behulp van een van de sleutels, kan alleen worden ontsleuteld met behulp van de andere. De persoonlijke sleutel wordt geheim gehouden. De openbare sleutel wordt doorgaans ingesloten in een binair certificaat en het certificaat wordt gepubliceerd naar een database die kan worden bereikt door alle geautoriseerde gebruikers.

De PKI-standaard (X.509 Public Key Infrastructure) identificeert de vereisten voor robuuste certificaten voor openbare sleutels. Een certificaat is een ondertekende gegevensstructuur waarmee een openbare sleutel wordt gekoppeld aan een persoon, computer of organisatie. Certificaten worden uitgegeven door certificeringsinstanties (CA's). Alle personen die partij zijn bij het beveiligen van communicatie die gebruikmaken van een openbare sleutel, zijn afhankelijk van de CA om de identiteiten van de personen, systemen of entiteiten waaraan certificaten worden uitgegeven, adequaat te verifiëren. Het verificatieniveau is doorgaans afhankelijk van het beveiligingsniveau dat is vereist voor de transactie. Als de CA de identiteit van de aanvrager op de juiste wijze kan verifiëren, ondertekent (versleutelt), codeert en geeft het certificaat uit.

Een certificaat is een ondertekende gegevensstructuur waarmee een openbare sleutel aan een entiteit wordt gekoppeld. De syntaxis van de abstracte syntaxis voor syntaxis één (ASN.1) voor versie 3 X.509 certificaat wordt weergegeven in het volgende voorbeeld.

-- X.509 signed certificate 

SignedContent ::= SEQUENCE 
{
  certificate         CertificateToBeSigned,
  algorithm           Object Identifier,
  signature           BITSTRING
}
 
-- X.509 certificate to be signed

CertificateToBeSigned ::= SEQUENCE 
{
  version                 [0] CertificateVersion DEFAULT v1,
  serialNumber            CertificateSerialNumber,
  signature               AlgorithmIdentifier,
  issuer                  Name
  validity                Validity,
  subject                 Name
  subjectPublicKeyInfo    SubjectPublicKeyInfo,
  issuerUniqueIdentifier  [1] IMPLICIT UniqueIdentifier OPTIONAL,
  subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
  extensions              [3] Extensions OPTIONAL
}

Sinds de oprichting in 1998 zijn er drie versies van de X.509-certificaatstandaard voor openbare sleutels ontwikkeld. Zoals wordt weergegeven in de volgende afbeelding, heeft elke opeenvolgende versie van de gegevensstructuur de velden bewaard die in de vorige versies bestonden en meer toegevoegd.

x.509-certificaten versie 1, 2 en 3

In de volgende onderwerpen worden de beschikbare velden in meer detail besproken:

openbare-sleutelinfrastructuur