Udostępnij za pośrednictwem


Certyfikaty klucza publicznego X.509

Kryptografia klucza publicznego opiera się na parze kluczy publicznych i prywatnych w celu szyfrowania i odszyfrowania zawartości. Klucze są powiązane matematycznie, a zawartość zaszyfrowana przy użyciu jednego z kluczy można odszyfrować tylko przy użyciu drugiego. Klucz prywatny jest przechowywany w tajemnicy. Klucz publiczny jest zwykle osadzony w certyfikacie binarnym, a certyfikat jest publikowany w bazie danych, która może zostać osiągnięta przez wszystkich autoryzowanych użytkowników.

Standard infrastruktury kluczy publicznych X.509 (PKI) określa wymagania dotyczące niezawodnych certyfikatów kluczy publicznych. Certyfikat to podpisana struktura danych, która wiąże klucz publiczny z osobą, komputerem lub organizacją. Certyfikaty są wystawiane przez urzędy certyfikacji (CA). Wszyscy, którzy są stroną zabezpieczania komunikacji, która korzysta z klucza publicznego, polegają na urzędzie certyfikacji w celu odpowiedniego zweryfikowania tożsamości osób, systemów lub jednostek, do których wystawia certyfikaty. Poziom weryfikacji zwykle zależy od poziomu zabezpieczeń wymaganych dla transakcji. Jeśli urząd certyfikacji może odpowiednio zweryfikować tożsamość osoby żądającego, podpisuje (szyfruje), koduje i wystawia certyfikat.

Certyfikat to podpisana struktura danych, która wiąże klucz publiczny z jednostką. Składnia Abstract Syntax Notation One (ASN.1) dla wersji 3 X.509 certyfikatu jest pokazana w poniższym przykładzie.

-- 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
}

Od momentu powstania w 1998 r. trzy wersje standardu certyfikatu klucza publicznego X.509 ewoluowały. Jak pokazano na poniższej ilustracji, każda kolejna wersja struktury danych zachowała pola, które istniały w poprzednich wersjach i dodała więcej.

certyfikaty x.509 w wersji 1, 2 i 3

W poniższych tematach omówiono bardziej szczegółowo dostępne pola:

infrastruktury kluczy publicznych