I PKCS (Public-Key Cryptography Standard) sono un insieme di standard sviluppati dai Laboratori RSA in cooperazione con gli sviluppatori mondiali di sistemi sicuri, allo scopo di accelerare l'impiego di crittografia a chiave pubblica. Inizialmente pubblicati nel 1991, sono diventati ampiamente riferiti ed implementati. Gli standard attualmente pubblicati sono PKCS #1, #3, #5, #7, #8, #9, #10, #11, #12 e #15; PKCS #13 e #14 sono attualmente in sviluppo [4].
Gli standard della crittografia a chiave pubblica sono i seguenti:
PKCS #1: standard per la crittografia RSA;
PKCS #2: incorporato in PKCS #1;
PKCS #3: standard per l'accordo su chiavi di Diffie-Hellman;
PKCS #4: incorporato in PKCS #1;
PKCS #5: standard per crittografia basata su password;
PKCS #6: standard per la sintassi dei certificati estesi (sostituito da X.509 v3);
PKCS #7: standard per la sintassi dei messaggi crittografici;
PKCS #8: standard per la sintassi di informazioni di chiavi private;
PKCS #9: tipi degli attributi selezionati usati nei PKCS;
PKCS #10:standard per la sintassi delle richieste di certificazione;
PKCS #11:standard per l'interfaccia dei token crittografici;
PKCS #12:standard per la sintassi dello scambio di informazioni personali;
PKCS #13:standard per la crittografia basata su curve ellittiche;
PKCS #14:standard per la generazione di numeri pseudo-casuali;
PKCS #15:standard del formato delle informazioni di token crittografici.
PKCS lascia ampio spazio per future espansioni. La maggior parte degli oggetti definiti dal PKCS hanno un numero di versione per permettere la compatibilità con le revisioni future. Diversi oggetti hanno anche spazio per attributi arbitrari che portano informazioni addizionali non direttamente indirizzate dal PKCS [4].
Gli standard PKCS #6 e #9 sono citati nella normativa che definisce il formato dei certificati. Il Decreto del Presidente del Consiglio dei Ministri dell'8 febbraio 1999 stabilisce le regole tecniche per la formazione, la trasmissione, la conservazione, la duplicazione, la riproduzione e la validazione, anche temporale, dei documenti informatici ai sensi dell'art. 3, comma 1, del Decreto del Presidente della Repubblica del 10 novembre 1997, n.513 [5]. Riportiamo l'art.12 di questo Decreto:
Art. 12
Formato dei certificati
1. I certificati e le relative liste di revoca debbono essere conformi alla norma ISO/IEC 9594-8:1995 con le estensioni definite nella Variante 1, ovvero alla specifica pubblica PKCS#6 e PKCS#9 e successive modificazioni o integrazioni.
Lo standard dei certificati PKCS #6 descrive una sintassi per i certificati estesi. Un certificato esteso consiste di un certificato X.509 a chiave pubblica e un insieme di attributi, firmati dall'emittente del certificato X.509 a chiave pubblica. Gli attributi e i certificati a chiave pubblica X.509 inclusi possono essere verificati con una singola operazione a chiave pubblica, e se necessario, un certificato ordinario X.509 può essere estratto (ad esempio per Privacy-Enhanced Mail (PEM)). Lo scopo di includere un insieme di attributi è di estendere il processo di certificazione non solo alla chiave ma certificare anche altre informazioni su di un dato utente, come l'indirizzo di posta elettronica. Una lista, anche se non completa, di attributi è data in PKCS #9 [6].
Lo standard PKCS #9 definisce i tipi di attributi selezionati da usare nei certificati estesi, definiti da PKCS #6, nei messaggi con firma digitale, definiti da PKCS #7 e nelle informazioni della chiave privata, definite da PKCS #8. Ognuno di questi attributi contiene un tipo di attributo (specificato dall'oggetto da identificare) e uno o più valori dell'attributo [7].
Lo standard PKCS #6 è stato sostituito dallo standard dei certificati X.509 versione 3.
Questo
standard per i certificati è stato fornito dall’International
Telecomunications Union, ITU-T, la prima versione fu pubblicata nel 1988, la
seconda nel 1993, e la versione 3 fu proposta nel 1994 e pubblicata nel 1995.
L’autenticazione di directory nello standard X.509 v3 può essere ottenuta usando
sia le tecniche di chiave segreta che le tecniche di chiave pubblica. L’ultima
è basata sui certificati di chiavi pubbliche. Lo standard non specifica un
particolare algoritmo di crittografia.
versione;
numero seriale;
ID dell’algoritmo di firma;
nome di chi ha emesso il certificato;
periodo di validità;
nome dell’utente;
informazioni sulla chiave pubblica dell’utente;
identificatore
(unico)
dell’emittente (versione 2 e 3)
identificatore
(unico)
dell’utente (versione 2 e 3)
estensioni
(solo versione 3)
firma dei
campi precedenti
Questo
certificato è firmato dal mittente per autenticare il legame tra il nome del
soggetto (utente) e la chiave pubblica del soggetto. La maggiore differenza tra
la seconda e la terza versione è l’aggiunta del campo estensioni. Questo
campo garantisce molta più flessibilità, infatti esso può comprendere
informazioni addizionali oltre la chiave ed il nome. Lo standard prevede
attributi del mittente, informazioni sulla politica di certificazione e
restrizioni sull’utilizzo della chiave [8].
I questi ultimi anni l'AIPA( Autorità per l'Informatica nella Pubblica Amministrazione) ha assunto un ruolo trainante nella predisposizione della normativa del settore, svolgendo un'intensa attività che ha portato al regolamento nel DPR 10 novembre 1997, n.513 [10]. Tale regolamento ha stabilito quali sono gli scenari di riferimento giuridico, tecnologici ed organizzativi per ottenere quanto necessario ad un efficace utilizzo del documento informatico e della firma digitale.
Un ulteriore provvedimento legislativo, il DPCM 8 febbraio 1999 [10], anch'esso sviluppato e proposto dall'Autorità per l'Informatica nella Pubblica Amministrazione, regola gli aspetti tecnici ed organizzativi di chi usufruisce ed opera con i documenti informatici e la firma digitale. Per quanto riguarda lo scenario presente e futuro, la pubblicazione della circolare per l'iscrizione all'elenco pubblico dei certificatori costituisce il tassello conclusivo del processo legislativo descritto. Viene così completato, in tempi estremamente rapidi, rispetto alla complessità della materia, il processo legislativo iniziato con la legge n.59 del 15 marzo 1997 [10].
Citiamo l'articolo 15, comma 2, della Legge 15 marzo 1997 n.59 "Bassanini 1":
“...gli atti, i dati e i documenti firmati dalla pubblica amministrazione e dai privati con strumenti informatici e telematici, i contratti stipulati nelle medesime forme, nonché la loro archiviazione e trasmissione con strumenti informatici e telematici, sono validi e rilevanti ad ogni effetto di legge.”
Per garantire l'identità dei soggetti che utilizzano la firma digitale e per fornire protezione nei confronti di possibili danni derivanti da un esercizio non adeguato delle attività di certificazione, il DPR n.513/97 (art.8) richiede che il soggetto certificatore sia in possesso di particolari requisiti e sia incluso in un elenco pubblico, consultabile telematicamente [9], predisposto, tenuto ed aggiornato a cura dell'Autorità per l'Informatica nella Pubblica Amministrazione. Le Pubbliche Amministrazioni possono anch'esse certificare le chiavi osservando le regole tecniche dettate dall' art. 62 del DPCM 8 febbraio 1999.