Infrastruttura a chiave pubblica (PKI) – Definizioni e casi d’uso Panoramica sul concetto di Infrastruttura a Chiave Pubblica (Public Key Infrastructure o PKI): definzione, significato, casi d'uso, struttura

IIS - How to setup the web.config file to send HTTP Security Headers with your web site (and score an A on securityheaders.io)

Una infrastruttura a chiave pubblica (in inglese Public Key Infrastructure, spesso abbreviata in PKI) è un insieme di processi e mezzi tecnologici che consentono a terze parti fidate di verificare e/o farsi garanti dell’identità di un utente, oltre che di associare una chiave pubblica a un utente: queste chiavi pubbliche tipicamente assumono la forma di certificati digitali.

In questo articolo proveremo a fornire una panoramica generale di questo tipo di infrastruttura, a partire dalla definizione e dai principali esempi di utilizzo.

Definizione

Negli ultimi anni il termine PKI viene utilizzato per indicare sia l’autorità di certificazione (Certification Authority, CA) e i relativi accordi, sia, in senso più esteso, l’uso di algoritmi crittografici a chiave pubblica nelle comunicazioni elettroniche. Tuttavia, l’utilizzo del termine nell’ultimo senso è errato, in quanto una PKI non necessariamente richiede l’uso di algoritmi a chiave pubblica.

Inoltre, la struttura della PKI non riguarda solo la CA ma una pluralità di soggetti e servizi ad essi collegati, ovvero:

  • Certification Authority (CA), un soggetto terzo di fiducia pubblico o privato abilitato ad emettere un certificato digitale tramite una procedura di certificazione conforme alle normative vigenti;
  • Registration Authority (RA), ovvero il sistema di registrazione e autenticazione degli utenti che domandano il certificato;
  • Validation Authority (VA), ovvero il sistema che attesta la corrispondenza tra il certificato emesso e l’entità emittente.
  • Policy di sicurezza che definisce i principi generali;
  • Certificate Practise Statement (CPS), un documento che illustra la procedura per l’emissione, registrazione, sospensione e revoca del certificato;

Un’infrastruttura PKI è composta gerarchicamente da più Certification Authority al cui vertice si trova una CA root che certifica tutte le altre. Il primo passo per costruire un’infrastruttura PKI è quindi creare la CA radice dell’albero, ossia la CA root. A questo punto, però, si pone un problema: se la CA root è la radice dell’albero, chi ne firma il certificato?

La risposta è molto semplice: la CA firma da sé il proprio certificato, emettendo da sola la coppia di chiavi. Da questo si evince l’importanza che la CA root abbia una buona/ottima reputazione, in quanto non c’è nessuna autorità garante sopra di essa.

Esempi di Utilizzo

Il principale scopo delle PKI è quello di fornire le chiavi pubbliche degli utenti e, nel contempo, garantire la loro identità. Le chiavi pubbliche, una volta rilasciate, vengono solitamente utilizzate per assolvere alle seguenti funzioni:

  • Cifratura e/o autenticazione del mittente nei messaggi e-mail (ad es. usando OpenPGP o S/MIME).
  • Cifratura e/o autenticazione dei documenti (ad es. gli standard per i documenti XML come XML Signature o XML Encryption).
  • Autenticazione degli utenti per le applicazioni (ad es. quando si effettua l’accesso ad un sistema tramite smart card o l’autenticazione di un client attraverso SSL/TLS).
  • Procedure di Bootstrap nei protocolli di comunicazione sicura, come i principali protocolli utilizzati per le connessioni VPN e SSL. In entrambi, l’impostazione iniziale di un canale sicuro viene effettuata attraverso chiavi pubbliche, mentre le comunicazioni vere e proprie utilizzano sistemi a chiave segreta (ovvero Crittografia a chiave simmetrica) più veloci.

Crittografia asimmetrica

Al contrario della cifratura simmetrica che utilizza un’unica chiave per cifrare e decifrare, la cifratura asimmetrica o a chiave pubblica si avvale di una coppia di chiavi: una chiave pubblica e una chiave privata, rispettivamente utilizzate per cifrare e per decifrare. Le CA sono la soluzione per il problema dell’associazione fra una chiave pubblica e la persona che possiede la relativa chiave privata.

  • Alice e Bob vogliono scambiarsi messaggi firmati e crittografati; a tale scopo entrambi creano la loro coppia di chiavi e pubblicano quelle pubbliche su un keyserver;
  • Alice scrive un messaggio per Bob, lo firma con la propria chiave privata e lo cripta con la chiave pubblica di Bob, quindi invia il messaggio;
  • in ricezione Bob decripta il messaggio con la propria chiave privata e verifica la firma con la chiave pubblica intestata ad Alice.

Bob a questo punto è in grado di poter determinare due cose:

  • il messaggio era diretto a lui, in quanto è riuscito a decifrarlo con la propria chiave privata;
  • il messaggio è stato crittografato con la chiave privata che corrisponde alla chiave pubblica da lui utilizzata per verificare la firma.

Man in the Middle

Se riflettiamo sull’esempio iniziato in precedenza, possiamo facilmente renderci conto di come Bob non sia in grado di poter determinare con certezza che il messaggio provenga realmente da Alice; è infatti possibile che una terza persona sia riuscita a intercettare la comunicazione in cui Bob ottiene la chiave di pubblica di Alice e sia riuscita a sostituirla con la propria, spacciandosi in questo modo per Alice. Se questo avviene, Bob non ha alcun modo per scoprire l’inganno. Si tratta di una tipologia di attacco nota come Man in the Middle, termine utilizzato in riferimento a tutte le situazioni in cui una terza persona si frappone tra una comunicazione tra due soggetti.

Per risolvere situazioni di questo tipo nascono le CA che si fanno carico di verificare e garantire la corrispondenza tra chiave e proprietario, verificando l’identità dell’utente quando questo richiede un certificato e poi firmando un certificato digitale che attesta l’identità dell’utente. In questo modo il Man in the Middle non ha più modo per spacciarsi per Alice, in quanto non è in grado di riprodurre la firma della CA.

La legislazione italiana, in attuazione della direttiva europea 1999/93/CE, ha identificato nel CNIPA, oggi noto come Agenzia per l’Italia Digitale, l’ente pubblico che accredita i principali soggetti certificatori (es. Infocert, Aruba, Poste Italiane, ecc.): oltre ad accreditare i certificatori, AgID ne controlla anche l’operato ed emana i regolamenti in conformità alla legislazione applicabile corrente.

Conclusioni

Per il momento è tutto: ci auguriamo che questo articolo possa aiutare gli interessati a far luce sulla struttura e sul funzionamento delle PKI.

I contenuti mostrati in questo articolo approfondiscono alcuni aspetti specifici di argomenti più generali come la data encryption e la sicurezza informatica. Per maggiori informazioni su questi argomenti consigliamo di leggere il nostro articolo sulla data encryption in-transit e at-rest.

 

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.