Cos'è un certificato X.509 e come funziona?
Un certificato X.509 è un certificato digitale basato sullo standard X.509 dell'Unione Internazionale delle Telecomunicazioni (ITU), ampiamente accettato, che definisce il formato dei certificati dell'infrastruttura a chiave pubblica (PKI). Sono utilizzati per gestire l'identità e la sicurezza nelle comunicazioni Internet e nelle reti di computer. Sono discreti e onnipresenti e li incontriamo ogni giorno quando utilizziamo siti web, applicazioni mobili, documenti online e dispositivi connessi.
Indice
Uno dei punti di forza strutturali del certificato X.509 è l'utilizzo di una coppia di chiavi composta da una chiave pubblica e da una chiave privata. Applicata alla crittografia, la coppia di chiavi pubbliche e private viene utilizzata per criptare e decriptare un messaggio, garantendo sia l'identità del mittente che la sicurezza del messaggio stesso. Il caso d'uso più comune della PKI basata su X.509 è Transport Layer Security (TLS)/Secure Socket Layer (SSL), che è alla base del protocollo HTTPS, che consente la navigazione sicura sul web. Ma il protocollo X.509 viene applicato anche alla firma del codice per la sicurezza delle applicazioni, alle firme digitali e ad altri protocolli Internet critici.
Storia della versione
La prima versione dello standard X.509 è stata pubblicata nel 1988. Cercando di formalizzare le regole per l'emissione dei certificati, il settore di standardizzazione delle telecomunicazioni dell'ITU (ITU-T) sviluppò un sistema gerarchico per i nomi distinti che seguiva le regole del servizio di directory elettronica per X.500 e si ispirava ai sistemi utilizzati per assegnare i numeri telefonici a livello globale, ma si applicava ai requisiti organizzativi più flessibili di Internet.
Nel 1996, la versione 3 dello standard ha subito un importante aggiornamento con l'aggiunta di numerose estensioni che vengono utilizzate ancora oggi per supportare l'espansione e le nuove applicazioni dell'uso di Internet.
La versione 9 è la versione attuale dello standard, essendo stata definita nell'ottobre 2019.
Inoltre, il gruppo di lavoro sull'infrastruttura a chiave pubblica di Internet Engineering Task Force (IETF), noto come PKIX, ha adattato lo standard dei certificati X.509 v3 nello sviluppo del proprio standard Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile (RFC 5280).
I vantaggi dei certificati X.509
Poiché i certificati X.509 facilitano la messaggistica e la navigazione web sicure, l'utilizzo di questi certificati da parte delle organizzazioni presenta notevoli vantaggi.
Stabilire la fiducia
I certificati digitali, noti anche come certificati a chiave pubblica, consentono a individui, organizzazioni e persino dispositivi di stabilire la fiducia nel mondo digitale. Come base per tutte le identità digitali, i certificati X.509 sono presenti ovunque e sono essenziali per ogni processo connesso, dai siti web alle applicazioni, ai dispositivi endpoint e ai documenti online. Ad esempio, senza di essi non potremmo fidarci del fatto che www.amazon.com sia effettivamente il sito web di Amazon.
Questo livello di fiducia è stabilito sia dal funzionamento dei certificati X.509 sia dal modo in cui vengono emessi. L'architettura di utilizzo delle chiavi consente ai certificati di verificare che:
- una chiave pubblica appartenga al nome host/dominio, all'organizzazione o all'individuo contenuti nel certificato
- È stato firmato da un'autorità di certificazione (CA) emittente di fiducia, come Sectigo, o autofirmato.
Quando un certificato è firmato da una CA affidabile, l'utente del certificato può essere sicuro che il proprietario del certificato o l'hostname/dominio siano stati convalidati, mentre i certificati autofirmati possono essere affidabili in misura minore, poiché il proprietario non viene sottoposto ad alcuna convalida aggiuntiva prima dell'emissione.
Abilita la scalabilità
Un ulteriore vantaggio di questo approccio all'identità basato sui certificati è la scalabilità. L'architettura PKI è talmente scalabile da poter proteggere miliardi di messaggi scambiati ogni giorno dalle organizzazioni sulle proprie reti e su Internet. Ciò è possibile grazie al fatto che le chiavi pubbliche possono essere distribuite ampiamente e apertamente senza che soggetti malintenzionati possano scoprire la chiave privata necessaria per decifrare il messaggio.
Come funzionano i certificati X.509?
Lo standard X.509 si basa su un linguaggio di descrizione delle interfacce noto come Abstract Syntax Notation One (ASN.1), che definisce strutture di dati che possono essere serializzate e deserializzate in modo multipiattaforma. Sfruttando ASN, il formato dei certificati X.509 utilizza una coppia di chiavi pubbliche e private per criptare e decriptare un messaggio.
La base dell'infrastruttura a chiave pubblica
La chiave pubblica consiste in una stringa di numeri casuali e può essere utilizzata per criptare un messaggio. Solo il destinatario può decifrare e leggere questo messaggio criptato, che può essere decifrato e letto solo utilizzando la chiave privata associata, anch'essa costituita da una lunga stringa di numeri casuali. Questa chiave privata è segreta e nota solo al destinatario. Poiché la chiave pubblica viene pubblicata in tutto il mondo, le chiavi pubbliche vengono create utilizzando un complesso algoritmo crittografico per accoppiarle a una chiave privata associata, generando combinazioni numeriche casuali di lunghezza variabile in modo da non poter essere sfruttate attraverso un attacco di forza bruta. Gli algoritmi più comuni utilizzati per generare le chiavi pubbliche sono:
Rivest–Shamir–Adleman (RSA)
Crittografia a curva ellittica (ECC)
Algoritmo di firma digitale (DSA)
La dimensione della chiave o la lunghezza dei bit delle chiavi pubbliche determina la forza della protezione. Ad esempio, le chiavi RSA a 2048 bit sono spesso utilizzate nei certificati SSL, nelle firme digitali e in altri certificati digitali. Questa lunghezza di chiave offre una sicurezza crittografica sufficiente per impedire agli hacker di decifrare l'algoritmo. Organizzazioni di standard come il CA/Browser Forum definiscono i requisiti di base per le dimensioni delle chiavi supportate.
Figura: I certificati X.509 utilizzano una coppia di chiavi pubbliche e private per l'autenticazione dell'identità e la sicurezza delle comunicazioni Internet e delle reti informatiche.
Campi di emissione
I campi dei certificati X.509 contengono informazioni sull'identità a cui il certificato è stato rilasciato e sull'identità della CA emittente. I campi standard includono:
Versione – la versione X.509 che si applica al certificato.
Numero di serie – l'identificatore univoco del numero di serie fornito dalla CA che distingue il certificato dagli altri.
Informazioni sull'algoritmo – l'algoritmo crittografico utilizzato dall'emittente per firmare il certificato.
Nome distinto dell'emittente – il nome della CA che rilascia il certificato
Periodo di validità del certificato – la data e l'ora di inizio/fine della validità del certificato e la sua attendibilità
Subject distinguished name (nome distinto del soggetto) – il nome dell'identità a cui il certificato è rilasciato
Informazioni sulla chiave pubblica del soggetto – la chiave pubblica associata all'identità.
Figura: I certificati X.509 utilizzano una coppia di chiavi pubbliche e private per l'autenticazione dell'identità e la sicurezza delle comunicazioni Internet e delle reti informatiche.
Estensioni comuni dei certificati digitali
Oltre ai campi informativi standard, la versione 3 di X.509 ha definito diverse estensioni volte a supportare le modalità di utilizzo di Internet da parte delle applicazioni client. Due estensioni comuni dei certificati X.509 oggi in uso sono Subject Alternative Name e Key Usage.
L'estensione Subject Alternative Name consente di associare alla chiave pubblica di un certificato anche altre identità. Si tratta di altri domini, nomi DNS, indirizzi e-mail e indirizzi IP. Sulla base di questa estensione, i certificati multi-dominio offerti dalle CA sono spesso definiti certificati SAN.
L'uso delle chiavi limita l'uso delle chiavi a scopi particolari, come la “sola firma”.
I certificati digitali applicano catene di fiducia gerarchiche
Per stabilire ulteriormente la fiducia di un'identità, più certificati digitali sono spesso combinati per costruire una catena gerarchica di fiducia che fornisce una serie di livelli di verifica. Come già detto, ognuno di essi deve essere firmato da una CA emittente come parte del processo di verifica X.509. La CA è denominata e memorizzata nella radice del certificato. Ulteriori certificati intermedi possono essere inclusi nella catena di fiducia e devono essere convalidati.
Ad esempio, quando un client del browser web legge il certificato, deve essere in grado di seguire il percorso gerarchico della certificazione, compresi i certificati intermedi necessari per la convalida, che sono ricorsivamente collegati alla CA radice elencata nell'archivio di fiducia del client, dando vita a una catena di fiducia completa.
Figura: I certificati SSL/TLS spesso combinano certificati di CA intermedie per creare una catena di fiducia gerarchica.
Elenchi di revoca dei certificati (CRL)
Lo standard X.509 definisce anche l'uso di un elenco di revoca dei certificati, che identifica tutti i certificati digitali che sono stati revocati dalla CA emittente prima della data di scadenza prevista.
Di questi certificati revocati non ci si deve più fidare.
Le CRL offrono un modo semplice per distribuire informazioni su questi certificati non validi. Tuttavia, il loro uso è sempre più deprecato dai browser e dai client web più diffusi, a favore dell'Online Certificate Status Protocol (OCSP) e dell'OCSP stapling, che offrono funzioni di revoca complete.
Codifica dei certificati PKI
Un elemento degno di nota non definito nello standard X.509 è il modo in cui il contenuto del certificato deve essere codificato per essere memorizzato nei file.
Esistono due schemi di codifica comunemente utilizzati per memorizzare i certificati digitali nei file:
Distinguished Encoding Rules (DER) è il più comune, in quanto lo schema si rivolge alla maggior parte degli oggetti di dati. I certificati codificati con DER sono file binari e non possono essere letti dagli editor di testo, ma possono essere elaborati dai browser web e da molte applicazioni client.
Privacy Enhanced Mail (PEM) è uno schema di codifica delle e-mail criptate che può essere utilizzato per convertire i certificati codificati in DER in file di testo.
Applicazioni comuni dell'infrastruttura a chiave pubblica X.509
Molti protocolli Internet si basano su X.509 e ci sono molte applicazioni della tecnologia PKI che vengono utilizzate quotidianamente, tra cui la sicurezza dei server Web, le firme digitali e la firma dei documenti e le identità digitali.
Sicurezza del server Web con i certificati SSL/TLS
La PKI è alla base dei protocolli Secure Sockets Layer (SSL) e Transport Layer Security (TLS), che sono alla base delle connessioni sicure HTTPS dei browser. Senza certificati SSL o TLS per stabilire connessioni sicure, i criminali informatici potrebbero sfruttare Internet o altre reti IP utilizzando una serie di vettori di attacco, come gli attacchi man-in-the-middle, per intercettare i messaggi e accedere al loro contenuto.
Firme digitali e firma dei documenti
Oltre a essere utilizzati per proteggere i messaggi, i certificati basati su PKI possono essere utilizzati per le firme digitali e la firma dei documenti.
La firma digitale è un tipo specifico di firma elettronica che sfrutta la PKI per autenticare l'identità del firmatario e l'integrità della firma e del documento. Le firme digitali non possono essere alterate o duplicate in alcun modo, poiché la firma viene creata generando un hash, che viene crittografato utilizzando la chiave privata del mittente. Questa verifica crittografica lega matematicamente la firma al messaggio originale per garantire che il mittente sia autenticato e che il messaggio stesso non sia stato alterato.
Firma del codice
La firma del codice consente agli sviluppatori di applicazioni di aggiungere un livello di garanzia firmando digitalmente applicazioni, driver e programmi software in modo che gli utenti finali possano verificare che una terza parte non abbia alterato o compromesso il codice che ricevono. Per verificare che il codice sia sicuro e affidabile, questi certificati digitali includono la firma dello sviluppatore del software, il nome dell'azienda e il timestamp.
Certificati e-mail
I certificati S/MIME convalidano i mittenti delle e-mail e ne crittografano i contenuti per proteggersi da attacchi sempre più sofisticati di social engineering e di spam phishing. Crittografando/decrittografando i messaggi di posta elettronica e gli allegati e convalidando l'identità, i certificati e-mail S/MIME assicurano agli utenti che le e-mail sono autentiche e non modificate.
Chiavi SSH
Le chiavi SSH sono una forma di certificato X.509 che fornisce una credenziale di accesso sicura utilizzata nel protocollo Secure Shell (SSH). Poiché il protocollo SSH è ampiamente utilizzato per la comunicazione nei servizi cloud, negli ambienti di rete, negli strumenti di trasferimento dei file e negli strumenti di gestione della configurazione, la maggior parte delle organizzazioni utilizza le chiavi SSH per autenticare l'identità e proteggere tali servizi dall'uso involontario o da attacchi dannosi. Queste chiavi non solo migliorano la sicurezza, ma consentono anche l'automazione dei processi connessi, il single sign-on (SSO) e la gestione delle identità e degli accessi sulla scala richiesta dalle aziende di oggi.
Identità digitali
I certificati digitali X.509 forniscono anche un'autenticazione efficace delle identità digitali. Con l'espansione dei dati e delle applicazioni al di là delle reti tradizionali, verso i dispositivi mobili, i cloud pubblici, i cloud privati e i dispositivi dell'IoT, la protezione delle identità diventa più importante che mai. Inoltre, le identità digitali non devono essere limitate ai dispositivi, ma possono essere utilizzate per autenticare persone, dati o applicazioni. I certificati di identità digitale basati su questo standard consentono alle organizzazioni di migliorare la sicurezza sostituendo le password, che gli aggressori sono diventati sempre più abili a rubare.
Come si ottiene un certificato X.509?
Una componente fondamentale dell'implementazione dei certificati X.509 è la presenza di un'autorità di certificazione o di un agente fidato che emetta i certificati e pubblichi le chiavi pubbliche associate alle chiavi private dei singoli. Senza questa CA fidata, sarebbe impossibile per i mittenti sapere che stanno utilizzando la chiave pubblica corretta associata alla chiave privata del destinatario e non la chiave associata a un soggetto malintenzionato che intende intercettare informazioni sensibili e utilizzarle per scopi nefasti.
Le CA di fiducia di terze parti, come Sectigo, fungono da Autorità di Certificazione, ma molte aziende e fornitori di tecnologia scelgono anche di agire come proprie CA. Possono anche decidere di utilizzare certificati autofirmati. In ogni caso, è necessario che l'Autorità di certificazione verifichi e garantisca l'identità di tutti i mittenti di cui pubblica le chiavi pubbliche, si assicuri che tali chiavi pubbliche siano effettivamente associate alle chiavi private dei mittenti e salvaguardi i livelli di sicurezza delle informazioni all'interno della propria organizzazione per proteggersi da attacchi malevoli.
Gestione dei certificati X.509
Uno degli aspetti più critici dei certificati x.509 è la gestione efficace di questi certificati su scala utilizzando l'automazione. Senza persone, processi e tecnologie efficaci, le aziende si espongono a violazioni della sicurezza informatica, interruzioni, danni al marchio e guasti alle infrastrutture critiche.
Scoprite come Sectigo Certificate Manager (SCM) Pro vi permette di gestire facilmente il ciclo di vita dei certificati digitali pubblici e privati. Offriamo anche una soluzione SCM enterprise per proteggere ogni identità umana e meccanica in tutta l'azienda, il tutto da un'unica piattaforma.