Condividi tramite


Certificati di chiave pubblica X.509

La crittografia a chiave pubblica si basa su una coppia di chiavi pubblica e privata per crittografare e decrittografare il contenuto. Le chiavi sono matematicamente correlate e il contenuto crittografato usando una delle chiavi può essere decrittografato solo usando l'altro. La chiave privata viene mantenuta segreta. La chiave pubblica viene in genere incorporata in un certificato binario e il certificato viene pubblicato in un database raggiungibile da tutti gli utenti autorizzati.

Lo standard X.509 public key infrastructure (PKI) identifica i requisiti per i certificati di chiave pubblica affidabili. Un certificato è una struttura di dati firmata che associa una chiave pubblica a una persona, un computer o un'organizzazione. I certificati vengono rilasciati dalle autorità di certificazione (CA). Tutti coloro che sono parti per proteggere le comunicazioni che usano una chiave pubblica si basano sulla CA per verificare adeguatamente le identità dei singoli, sistemi o entità a cui rilascia i certificati. Il livello di verifica dipende in genere dal livello di sicurezza necessario per la transazione. Se la CA può verificare in modo adeguato l'identità del richiedente, firma (crittografa), codifica ed emette il certificato.

Un certificato è una struttura di dati firmata che associa una chiave pubblica a un'entità. La sintassi astratta Notation One (ASN.1) per il certificato X.509 versione 3 è illustrata nell'esempio seguente.

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

Sin dall'inizio nel 1998, tre versioni dello standard di certificato a chiave pubblica X.509 si sono evoluti. Come illustrato nella figura seguente, ogni versione successiva della struttura dei dati ha mantenuto i campi esistenti nelle versioni precedenti e aggiunti altri.

Certificati x.509 versioni 1, 2 e 3

Gli argomenti seguenti illustrano in modo più dettagliato i campi disponibili:

Infrastruttura a chiave pubblica (PKI)