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.
In de volgende onderwerpen worden de beschikbare velden in meer detail besproken:
Verwante onderwerpen