# Certificate authority

In crittografia, una Certificate Authority, o Certification Authority (CA; in italiano: "Autorità Certificativa"), è un soggetto terzo di fiducia (trusted third part), pubblico o privato, abilitato a emettere un certificato digitale tramite una procedura di certificazione che segue standard internazionali e in conformità alla normativa europea e nazionale in materia.
Il sistema in oggetto utilizza la crittografia a doppia chiave, o asimmetrica, in cui una delle due chiavi viene resa pubblica all'interno del certificato (chiave pubblica), mentre la seconda, univocamente correlata con la prima, rimane segreta e associata al titolare (chiave privata). Una coppia di chiavi può essere attribuita a un solo titolare.
L'autorità dispone di un certificato con il quale sono firmati tutti i certificati emessi agli utenti, che deve essere installato su una macchina sicura.

## Introduzione

Le Certification Authority sono caratteristiche di un'infrastruttura a chiave pubblica (PKI), così organizzata:
* una policy di sicurezza che fissa i principi generali;
* un certificate practise statement (CPS), ossia il documento in cui è illustrata la procedura per l'emissione, registrazione, sospensione e revoca del certificato;
* un sistema di certification authority (CA);
* un sistema di registration authority (RA), ovvero il sistema di registrazione e autenticazione degli utenti che domandano il certificato;
* un certificate server o la funzione di Validation Authority (VA) che attesta la corrispondenza certificato-utente/entità per conto (on behalf of) della CA.
Possono essere certificate persone fisiche, organizzazioni, server, applicazioni software, siti web, reti di interconnessione, contenuti digitali (ovvero il file che rappresenta il contenuto); ogni CA precisa nel proprio CPS chi sono le entità finali che essa è disposta a certificare e per quali scopi di utilizzo (certificati di firma e cifratura dei messaggi di posta elettronica, certificati di autenticazione dei server di rete, ecc.).
Ovviamente, per poter essere firmato (digitalmente) l'oggetto deve essere un componente informatico (ad esempio si firma la "credenziale di accesso" di una persona, non la "persona" ma nel gergo si semplifica l'espressione). L'oggetto può essere nativo digitale (un file che contiene un documento) oppure ridotto a digitale (un computer che viene descritto tramite un file di configurazione che contiene le sue proprietà di identificazione).

## CA root

Un'infrastruttura PKI è strutturata gerarchicamente da più CA al cui vertice si trova una CA root che certifica le sub-CA. Il primo passo per costruire un'infrastruttura PKI è creare la CA radice dell'albero, ossia la CA root. Se la CA di root è la radice dell'albero chi le firma il certificato? La risposta è molto semplice: la CA firma da sé il proprio certificato. In pratica vengono create le chiavi pubblica e privata, crea la richiesta di rilascio di un certificato e la firma con la sua chiave privata. Da qui si evince la necessità della buona reputazione di una CA: in pratica non c'è nessuna autorità garante dal punto di vista architetturale sopra la CA di root; è necessario quindi passare a forme di garanzia giuridiche.

## Un esempio pratico

Al contrario della cifratura simmetrica che utilizza un'unica chiave per cifrare e decifrare, la cifratura asimmetrica, o a chiave pubblica si avvale di due chiavi, una chiave pubblica e una chiave privata, una per cifrare e l'altra per decifrare, legate entrambe da una funzione matematica. Le CA sono la soluzione per il problema dell'associazione fra una chiave pubblica e la persona che possiede la relativa chiave privata. Chiariamo il concetto con un esempio: 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. Quindi Alice scrive un messaggio per Bob, lo firma con la propria chiave privata e lo cripta con la chiave pubblica di Bob, quindi il messaggio viene inviato. 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 sa due cose:
* il messaggio era diretto a lui perché è riuscito a decifrarlo con la propria chiave privata
* il messaggio è stato firmato con la chiave privata relativa alla chiave pubblica che lui ha usato per verificare la firma.
Nel contempo Bob non ha alcuna garanzia che la chiave sia realmente di proprietà di Alice. Continuando l'esempio, supponiamo che una terza persona, Mallory, riesca ad intercettare la comunicazione in cui Bob ottiene la chiave di Alice e riesca a sostituirla con la sua chiave pubblica in cui si spaccia per Alice. Bob non ha alcun modo per scoprire l'inganno. Per risolvere situazioni di questo tipo nascono le CA che si fanno carico di verificare e garantire la corrispondenza fra chiave e proprietario. Quando un utente richiede un certificato, la CA verifica la sua identità, quindi crea un Documento digitale firmato con la chiave privata della CA e pubblicato. Nell'esempio precedente supponiamo che Alice e Bob si facciano firmare le loro chiavi da una CA che entrambi ritengono attendibile. In questo caso l'attacco di Mallory non è più possibile in quanto non è in grado di riprodurre la firma della CA.

## Procedura di certificazione

Alice genera la sua coppia di chiavi. Contatta l'autorità di registrazione (Registration Authority) del proprio territorio, si identifica e fornisce la sua chiave pubblica perché sia certificata. La RA approva la richiesta di certificazione dopo opportune verifiche, dopodiché chiede alla CA, scelta da Alice o predefinita per il territorio, di generare un certificato per Alice. La CA firma il certificato generato per Alice con la propria chiave privata. Alice riceve per e-mail il proprio certificato firmato dalla CA ed il certificato root della CA. Ogni volta che firmerà un documento, Alice allegherà il proprio certificato digitale oppure il numero seriale dello stesso. Il certificato di Alice è pubblicato dalla CA sul proprio certificate server o su un sito collegato di tipo VA Validation Authority.
Le certificate authority sono delle organizzazioni molto importanti nel panorama attuale del Web; in genere tutti i siti che si occupano di e-commerce o di transazioni on-line, perlomeno all'atto dell'autenticazione dell'utente trasferiscono la comunicazione dal protocollo HTTP al protocollo HTTPS; all'atto della negoziazione il client richiede il certificato del server e quindi viene instaurata la connessione protetta. Quando un browser (ma anche un client di posta, ecc.) riceve un certificato, lo valida. Nel processo di validazione verifica che tutto l'albero delle CA collegate al certificato sia fidato. Se tutte le CA coinvolte nel rilascio del certificato in esame sono fidate, il certificato è ritenuto valido altrimenti viene chiesto all'utente cosa fare, ossia se accettarlo o meno. Il problema di fidarsi o meno del certificato e quindi dell'entità che lo ha presentato viene passato all'utente. Per cui il problema della fiducia rimane a completo carico dell'utente. È automatico, quindi, che i siti o le infrastrutture utilizzino certificati rilasciati da CA note per la loro affidabilità. Alcuni siti possono optare per un'autocertificazione solo per impedire che terzi attraverso analisi del protocollo IP possano leggere i dati scambiati tra il sito e l'utente.

## Compiti di una Certification Authority

Descriviamo ora a grandi linee i compiti di una CA standard. Il procedimento illustrato è una linea guida che può variare caso per caso:
* identificazione certa di chi richiede la certificazione della chiave pubblica;
* rilascio e pubblicazione del certificato (firmato con la propria chiave privata);
* manutenzione del registro delle chiavi pubbliche;
* revoca o sospensione dei certificati in caso di istanza dell'interessato o in caso di abusi, falsificazioni, ecc. e nel contempo aggiornamento della lista pubblica dei certificati sospesi o revocati (certificate revocation list);
* risposta (per via telematica) alle domande di trasmissione dei certificati.
* si occupa periodicamente di pubblicare due liste sul Certificate Server o sul sito della VA (Validation authority):
* Certificate Revocation List (CRL)
* Certificate Suspension List (CSL)

## Vigilanza
### Italia

Le Certification Authority sono sottoposte a una rigida regolamentazione e supervisione da parte dello Stato. Il governo italiano è stato il primo a livello europeo, e tra i primi a livello mondiale a darsi una regolamentazione normativa al riguardo, definendo le regole tecniche e logistiche per realizzare un'infrastruttura che potesse rilasciare certificati digitali che avessero, ai sensi di legge, la stessa validità di una firma autografa. I certificati devono essere rilasciati da CA iscritte nell'Elenco Pubblico dei Certificatori, diffuso dal Centro Nazionale per l'Informatica nella Pubblica Amministrazione (CNIPA). Tale organismo opera presso la Presidenza del Consiglio per l'attuazione delle politiche del Ministro per le riforme e le innovazioni nella PA, unifica in sé due organismi preesistenti, tra cui l'Autorità per l'Informatica nella Pubblica Amministrazione. Il CNIPA, ai sensi del Codice dell'amministrazione digitale, vigila sull'attività dei certificatori qualificati. Dal 2006 pubblica un bollettino con l'obiettivo di informare sull'attività di vigilanza svolta dal Cnipa in quest'ambito. L'attività di vigilanza è fondamentale per l'intero impianto della firma digitale, in quanto garantisce il mantenimento del possesso dei requisiti tecnici, organizzativi e societari che i certificatori qualificati devono possedere, ai sensi della normativa vigente.
Dal 2012 non esiste più il CNIPA ma al suo posto c'è Agid.

## Il quadro normativo
### Italia

La Direttiva europea 1999/93/CE, recepita dal Decreto Legislativo 23 gennaio 2002, n. 10 Archiviato il 26 marzo 2007 in Internet Archive. prescrive che Ciascuno Stato membro provvede affinché venga istituito un sistema appropriato che consenta la supervisione dei prestatori di servizi di certificazione stabiliti nel loro territorio e rilascia al pubblico certificati qualificati. Tale organismo è stato identificato dall'articolo 31 del Codice dell'amministrazione digitale nel Centro Nazionale per l'Informatica nella Pubblica Amministrazione. Il CNIPA deve quindi ottemperare a diverse previsioni normative derivanti dal conferimento delle funzioni di vigilanza e controllo sull'attività dei certificatori qualificati, oltre che a quelli derivanti dall'attività di accreditamento volontario. Per chiarezza di informazione si ricorda che i certificatori qualificati sono i soggetti che intendono emettere certificati qualificati secondo la Direttiva europea 1999/93/CE, soggetti che si distinguono in certificatori accreditati e notificati. La differenza sostanziale fra le due tipologie è che i primi si sottopongono ad apposita istruttoria preventiva volta a verificare il possesso in capo agli stessi dei requisiti richiesti dalle norme in materia. Recependo la Direttiva europea citata precedentemente, il CNIPA è stato designato, anche a livello comunitario, a operare come l'organismo nazionale di accreditamento e di vigilanza sulle attività svolte dai certificatori accreditati. A parte il rispetto degli obblighi normativi, la vigilanza su tali soggetti è ovviamente fondamentale per l'intero impianto della firma digitale nel nostro Paese. Difatti, la robustezza degli algoritmi utilizzati, la sicurezza dei dispositivi sicuri per la generazione della firma (smart card), i meccanismi crittografici utilizzati, non servirebbero a garantire nulla se il soggetto che certifica la corrispondenza fra una chiave pubblica ed i dati anagrafici del titolare della stessa, ad esempio, non agisse con serietà e competenza, garantendo quindi i richiesti livelli di affidabilità, qualità e sicurezza. Da notare che legislazione in materia non prevede alcuna forma di sanzione nel caso di inadempienza da parte dei certificatori. Le norme vigenti in altri Stati membri dell'UE, consentono di intervenire con gradualità commisurata alla gravità dell'inadempienza rilevata. Ad esempio vi sono sanzioni pecuniarie che vanno da poche centinaia di euro, fino a interventi limite che vedono il divieto di proseguire l'attività. In Italia, non essendo prevista alcuna gradualità di intervento, si può solo vietare al soggetto inadempiente di proseguire l'attività di certificazione. Tale sanzione, i cui effetti difficilmente reversibili sono di una gravità estrema, non è mai stata applicata in quanto non commisurata alle inadempienze fino ad oggi rilevate.
Dal 2012 l'organismo italiano che sovrintende questi aspetti è Agid il, quale tra gli altri compiti, accredita (in veste di RA) gli enti di cerficazione (CA).

### AgID

In Italia è AgID l'ente pubblico che accredita i soggetti certificatori (es. Infocert, Aruba, Poste Italiane, ecc.). Oltre ad accreditare i certificatori, ne controlla l'operato ed emana i regolamenti in conformità alla legislazione applicabile corrente. La norma europea identifica i certificatori come soggetti che erogano la "prestazione di servizi fiduciari qualificati".
In Italia gli utenti, quando hanno bisogno di un'applicazione o un servizio che devono essere certificati digitalmente (PEC, marca temporale, firma digitale, SPID, etc.), si devono rivolgere ad una CA (soggetto certificatore) o ad un gestore certificato, non alla RA designata per legge. Sono i soggetti emittenti/gestori che si rivolgono ad Agid per poter essere accreditati.