Firma digitale ed elettronica La firma digitale esprime un atto
volontario di sottoscrizione e, sotto il profilo tecnico
organizzativo, deve essere basata su un certificato qualificato
(quindi rilasciato da una trusted part detta Certification
Authority che, per quanto previsto dalla vigente legislazione
nazionale deve essere iscritta nellelenco pubblico dei
certificatori) e creata mediante un dispositivo di firma sicuro (in
genere una smart card). La direttiva europea e la nascita del
commercio elettronico, hanno introdotto altri tipi di firma
applicabili in contesti diversi da quello di un documento, come per
esempio quello dei messaggi di posta elettronica: in questo caso si
parla di firma elettronica.
Slide 3
Rete di Fiducia Validit della firma: Esiste una rete di fiducia
(meccanismo utilizzato in PGP) Vi una infrastruttura gerarchica di
certificazione, o Public Key Infrastructure (PKI) Il primo
approccio prevede che ogni utente si preoccupi di notificare la
propria chiave pubblica alle persone con le quali ha necessit di
scambiare informazioni in modo sicuro. Lo scopo della PKI invece
quello creare e mantenere un ambiente affidabile per la diffusione
delle chiavi pubbliche, cos da legare in modo sicuro la chiave
pubblica con il possessore, con la caratteristica fondamentale
della trasparenza rispetto allutente.
Slide 4
PKI-principi Lidea di fondo che nulla impedisce che un
certificato possa a sua volta essere firmato. necessario, innanzi
tutto, un soggetto che si occupi della pubblicazione dei
certificati: evidente che questo soggetto debba essere una terza
parte. Non proponibile lidea di delegare allente preposto alla
pubblicazione dei certificati il compito di identificare il
soggetto (dovrebbe avere una presenza capillare che non
giustificherebbe i costi di gestione)
Slide 5
Slide 6
Componenti di una PKI End Users Certification Authorities
Registration Authorities Certificate Directories Root CA(s)
Certification Practice Statements (CPS) Certificate Management
Protocols & APIs Personal Security Environments (PSE)
Slide 7
Componenti certificati: in cui si attesti che lutente
effettivamente il possessore di quella chiave pubblica Una Autorit
di Certificazione (CA Certification Autority) che attesta questa
affermazione. Luso di una CA evita ad ogni utente di verificare
direttamente la correttezza delle chiavi pubbliche degli altri
utenti con cui interagisce. La CA la terza parte fidata del modello
generale per la sicurezza di rete.
Slide 8
Divisione dei compiti Ci si orienta verso una divisione dei
compiti: Chi verifica lidentit del soggetto (la Registration
Authority o RA), con una struttura che possa anche fornire una
capillare assistenza agli utenti Chi emette e pubblica il
certificato (la Certification Authority o CA), che sostanzialmente
unentit centralizzata che deve invece garantire standard tecnici e
di sicurezza di massima qualit
Slide 9
Requisiti di una CA il garantire la massima disponibilit delle
informazioni: il sistema deve essere quanto pi possibile
fault-tolerant; il garantire la massima sicurezza: nessuno deve
accedere a risorse cui non autorizzato ad accedere (questo punto e
il precedente sono inglobati nel piano di sicurezza della CA); la
necessit di formulare una politica di certificazione, ossia un
insieme di regole che indichino il campo di applicabilit di ogni
certificato (non tutti i certificati vengono rilasciati per tutti
gli scopi); lobbligo di pubblicare un corretto ed esaustivo manuale
operativo, che descriva esattamente tutte le procedure relative
alla gestione dei certificati stessi; Una CA deve garantire la
massima interoperabilit con tutti i possibili client, il che
implica automaticamente che la CA deve essere sempre costantemente
aggiornata sulle ultime tecnologie in fatto di certificazione. Tale
struttura molto pi orientata, per motivi di sicurezza, al concetto
di centralit rispetto che a quello di capillarit.
Slide 10
Una CA realmente quello che sostiene di essere !!! La procedura
di certificazione iterabile. CA pu essere certificata o da un
organismo pubblico preposto a questo compito (che sar a sua volta
una CA) o da unaltra CA di livello superiore che sia legalmente
abilitata a certificare la CA in questione Pertanto, il certificato
della CA (che dovr essere reso pubblico) risulta a sua volta
firmato da unaltra CA. A monte di tutto ci ci sar una CA che non
sar certificata da nessunaltra: tale CA, che sar ovviamente la CA
pubblica per eccellenza, disporr di un certificato
self-signed.
Slide 11
Slide 12
CA radice In Italia tale ruolo ricoperto dallAutorit per
lInformatica nella Pubblica Amministrazione (AIPA). Il certificato
a monte di ogni catena di certificazione prende il nome di
certificato radice (root certificate) e, analogamente, la CA a
monte di ogni catena prende il nome di CA radice (o root CA);
Slide 13
Operazioni basilari sui certificati registrazione: il processo
preliminare mediante il quale un soggetto si notifica presso una RA
(o, dove non prevista, direttamente presso la CA);
inizializzazione: il momento in cui lutente o il client ottengono i
valori necessari per iniziare le comunicazioni con linfrastruttura
PKI (generalmente mediante uno scambio Diffie-Hellman[1]);[1]
certificazione: il processo mediante il quale la CA rilascia un
certificato per la chiave pubblica del soggetto; aggiornamento: cos
definita lobbligatoria generazione di una nuova coppia di chiavi
una volta scaduta la precedente (ogni certificato ha, infatti, un
proprio periodo di validit);
Slide 14
Operazioni basilari sui certificati verifica di un certificato:
loperazione mediante la quale chi riceve il certificato verifica la
firma digitale appostavi dallente certificatore, realizzata
recuperando il certificato del certificatore e verificandolo a sua
volta, fino a giungere alla root CA (che, come gi detto, ha il
certificato preinstallato in macchina). Si noti che, per motivi di
efficienza, talvolta si usa allegare in una firma digitale non solo
il certificato utente, ma anche quello della CA che lo ha firmato
revoca di un certificato: loperazione mediante la quale un
certificato viene annullato, o per scadenza o perch venuti a
mancare i presupposti per la sua validit (manomissione, cambio di
identit giuridica del soggetto, ecc.).
Slide 15
Revoca Dovendo la CA garantire la verificabilit delle firme
antecedenti la revoca anche in tempi successivi alla revoca stessa.
La CA dovr suddividere i certificati in due liste: quella dei
certificati attivi quella dei certificati revocati (la Certificate
Revocation List o CRL).
Slide 16
Interazione signed message CA Certificate Repository (X.500,
DNS, etc.) name, public-key certificate query
Slide 17
Protocolli
Slide 18
Revoca Chi deve essere autorizzato a richiedere la revoca di un
certificato: per i privati cittadini: il titolare stesso del
certificato che detiene la facolt di richiederne la revoca
eventualmente lanagrafe, in caso di decesso Nel caso di societ:
????? Ci sar un ritardo tra la decisione di revoca e leffettiva
verificabilit della operazione stessa !!!!!! E questo uno dei
problemi ancora irrisolti della Firma digitale.
Slide 19
Name: Anish Bhimani Issuer: SAIC Serial: 0x0AF Key:
a4653d73b95483jh Issuers Signature: F54673HGMABS8496FH3J Name: SAIC
Issuer: California Dept. of Commerce CA Serial: 0x016a7f Key:
b47326fh482faiwn83j523 Issuers Signature: F63GHDJ28F7CHL238CXN3DJ
Name: SAIC Issuers Signature: F63GHDJ28F7CHL238CXN3DJ Revoked
Certs: 0x0A3 (2/7/97), 0x087, (11/2/96) Certificate Verification To
verify a certificate: You need the issuers certificate and
CRL:
Lo standard Lo standard per i certificati attualmente
utilizzato lITU-T X.509 versione 3. Esso definisce le informazioni
di base che devono essere contenute in un certificato ed un regola
di codifica con cui trasformare questo oggetto in una sequenza di
byte da trasmettere in rete
Slide 22
Certificato X.509 Certificate ::= SIGNED { SEQUENCE { version
[0] Version DEFAULT v1, serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier, issuer Name, validity Validity,
subject Name, subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONALV2,
subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONALV2,
extensions [3] Extensions OPTIONALV3} NOTA: V2 = da versione 2 in
poi, V3 = da versione 3 in poi
Slide 23
Slide 24
Semplice certificato
Slide 25
Definizione dei campi Certificate Serial Number: identificatore
univoco (tra tutti quelli emessi dalla CA) del certificato.
Validity Period: coppia di date che determina la validit del
certificato (data di inizio e di fine). Subject: lintestatario del
certificato e le informazioni ad esso relative (ad esempio per un
utente umano potrebbero essere nome, cognome, indirizzo, data di
nascita, ecc., per un utente server Web lindirizzo IP).
Slide 26
Definizione dei campi Subject Public Key Information:
linformazione vera e propria che viene certificata. Questa
informazione comprende la chiave pubblica dellutente e lalgoritmo a
cui essa applicabile. Issuer: nome della CA che ha emesso il
certificato. CAs Digital Signature: la firma digitale dellintero
certificato. Questa calcolata su tutti gli altri campi del
certificato.
Slide 27
Definizione dei campi extension, novit introdotta nella v3 di
X.509, contiene le possibili estensioni del certificato, che, data
la loro importanza, meritano un approfondimento a parte. Le
estensioni sono cos definite: Extension ::= SEQUENCE { extnId
EXTENSION.&id ({ExtensionSet}), critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }
Slide 28
Estensioni Le estensioni sono campi aggiuntivi al certificato
non sempre previsti dallo standard. Non vengono inserite in un
ordine specifico e quindi, dispongono di un identificatore che
consenta, in caso di estensione non nota al programma che riceve il
certificato, di ignorarla e passare oltre. Fondamentale, in questo
caso, diventa per il flag critical: con tale flag settato lintero
certificato dovr essere considerato non valido se lapplicazione non
in grado di gestire lestensione in questione (cosa che non
avverrebbe, invece, col flag impostato a false).
Slide 29
Classi di estensioni key and policy information extensions, che
contengono informazioni sullo scopo per il quale la chiave o il
certificato possono essere usati
Slide 30
subject and issuer information extensions, che consentono di
definire nomi alternativi (alias) per subject e issuer del
certificato, oltre ad alcuni attributi aggiuntivi; certification
path constraints extensions, che contengono informazioni sul
percorso di certificazione del certificato stesso e, in
particolare, se il titolare del certificato una CA in questultimo
caso, possono essere specificati i vincoli imposti a nome e policy
dei certificati rilasciati (ad esempio si pu stabilire che il
subject di tutti i certificati rilasciati da ABC cominci con ABC
Certificate no. ).
Slide 31
CRL X.509 definisce anche tutta una serie di strutture
accessorie ai certificati. Tra queste vanno citate: la CRL
(Certificate Revocation List o, pi precisamente, la Certificate
List, di cui la CRL una specializzazione una lista di numeri di
serie di certificati e delle relative date di revoca),
lAttributeCertificate (la cui definizione ricorda quella di un
certificato normale, ma il cui corpo costituito da una lista di
attributi il cui funzionamento ricalca quello delle estensioni,
delle quali il certificato di attributo comunque corredato).
Slide 32
La PKI stabilisce anche molti altri aspetti, tra i quali
fondamentale la revoca dei certificati (quando un certificato viene
invalidato prima della sua data di scadenza, bisogna stabilire dei
meccanismi con cui avvertire tutti quelli che potrebbero riceverlo
ed erroneamente assumerlo come valido).
Slide 33
Certificati per lautorizzazione In tal caso il certificato
viene indicato come Privilege Attribute Certificate (PAC), e le
differenze dal certificato X.509v3 standard sono: Subject: questo
campo indica lutente che sta ricoprendo il ruolo rappresentato dal
PAC. Esso quindi memorizza un riferimento al certificato
dellutente. Attributes List: insieme di coppie attributo valore,
che rappresentano le credenziali/privilegi che il ruolo autorizzato
a ricoprire.