la firma elettronica: strumento per la sicurezza delle informazioni

LA FIRMA ELETTRONICA: STRUMENTO PER LA
SICUREZZA DELLE INFORMAZIONI
di Marco Pironti
Ricercatore di Economia e Gestione delle Imprese
presso il Dipartimento di Informatica della Facoltà di Scienze MM.FF.NN.
dell’Università degli Studi di Torino
Indice
Abstract
Introduzione ...........................................................................................................3
Il contesto normativo ..............................................................................................4
La certificazione elettronica ....................................................................................7
L’autenticazione...................................................................................................7
L’integrità............................................................................................................8
La riservatezza.....................................................................................................8
Sistema di crittografia a chiave segreta..................................................................8
Il sistema a chiave pubblica/privata.......................................................................8
Algoritmo di hashing..........................................................................................11
L’Autorità di Certificazione (CA) .......................................................................11
Come ottenere chiavi e certificati per la firma digitale .........................................13
Il Directory Server .............................................................................................13
I messaggi firmati ..............................................................................................13
Marco Pironti – La firma elettronica - 2
Abstract
A fronte della rapida diffusione di tecnologie informatiche per il trattamento delle informazioni, ad oggi
non sono ancora diffuse adeguate tecniche per la gestione della sicurezza nel trattamento dei dati.
Infatti, anche un semplice messaggio di e-mail è privo di alcuni requisiti fondamentali: non si è sicuri di
chi lo ha spedito, del contenuto del messaggio e della sua riservatezza.
La firma digitale è l‘equivalente elettronico di una tradizionale firma apposta su carta. La sua funzione
principale è perciò quella di attestare la validità e la veridicità di un documento. Dal punto di vista
tecnico la firma digitale è una codifica crittografica del documento che garantisce, oltre che
l’autenticazione del mittente del documento e del messaggio trasmesso, anche l’integrità del messaggio
permettendo di verificare che non ci siano state modifiche rispetto all’originale. In altre parole,
attraverso la firma digitale si evita che il nostro documento venga intercettato e manipolato senza che
nessuno se ne accorga. Esistono oggi i mezzi per garantire la sicurezza dei dati che coinvolgono nuove
tecnologie, quali la posta elettronica e l’impiego di strumenti web.
Questo articolo intende fornire le indicazioni fondamentali su queste tematiche.
Marco Pironti – La firma elettronica - 3
Introduzione
Nell’informatica basata su strumenti tradizionali, fondata principalmente su mainframe, l’utente può essere
certo di stabilire un collegamento sicuro dal proprio terminale alla macchina che intende raggiungere.
Inoltre l’identificazione dell’utente è sufficientemente garantita dalle regole di sicurezza relative alla
gestione delle password.
L’avvento delle Reti “moderne” (Internet, Intranet, Extranet) ha determinato un rapido incremento delle
potenzialità di connessione clie nt-server, al quale non è corrisposto un altrettanto rapido incremento sulle
garanzie di sicurezza del nuovo ambiente.
La necessità di sicurezza legata all’invio o alla ricezione di una e-mail, oppure allo scambio di dati e
informazioni con un sito web è evidenziata dai seguenti interrogativi:
− I dati sono trasmessi alla persona voluta?
− Come avere la sicurezza di essere collegati effettivamente al sito desiderato?
− I dati trasmessi arriveranno con lo stesso contenuto con cui sono stati inviati?
− Come far sì che i dati trasmessi siano visti solo dal destinatario?
− Il destinatario può negare l’avvenuta ricezione del messaggio inviato?
− Ecc.
Analogamente il destinatario potrebbe chiedersi:
− Il mittente è veramente quello dichiarato?
− Gli utenti che si collegano ad una particolare applicazione sono proprio quelli autorizzati?
− I dati ricevuti sono quelli effettivamente inviati?
− Come essere sicuri che i dati ricevuti non siano stati intercettati e letti da terze persone?
− Il mittente può disconoscere la paternità del messaggio?
− Ecc.
Tutti questi interrogativi ed altri analoghi possono preoccupare i soggetti coinvolti, in funzione del valore
che essi attribuiscono alle informazioni trasmesse o ricevute e quindi richiedere misure di sicurezza più o
meno estese, potenti e costose.
Marco Pironti – La firma elettronica - 4
Il contesto normativo
Nel corso dell’ultimo decennio alcuni ordinamenti stranieri, nei quali l’uso di strumenti telematici per la
comunicazione di informazioni è diffuso, hanno introdotto regole più o meno coerenti con le scelte del nostro
legislatore.
Per quanto riguarda gli Stati Uniti d’America, quasi tutti gli Stati della Federazione hanno emanato atti
legislativi in tema di firma digitale. Tra quelli che per primi hanno disciplinato organicamente la materia, vi è
lo Stato dello Utah, con il Digital Signature Act, datato 27 febbraio 1995. Anche se le norme in esso
contenute sono estremamente tecniche, vi sono disposizioni che abbracciano il diritto sostanziale: in special
modo, l’equivalenza tra sottoscrizione su carta e firma digitale (§ 46-3-401). Pur non esistendo una legge
federale, sono stati prodotti standards per il riconoscimento della sottoscrizione elettronica, ai quali fanno
riferimento le leggi dei singoli Stati. Un grande contributo allo sviluppo di questi standards è stato fornito da
organizzazioni non governative .
Anche le Nazioni Unite si sono occupate delle problematiche inerenti la firma digitale. L’UNCITRAL ha
predisposto il Model Law for Electronic Commerce, un modello di legge che prevede l’uso della
sottoscrizione elettronica per fini legali e commerciali e dell’elaboratore elettronico quale mezzo di prova nei
procedimenti giudiziari ed arbitrali. All’inizio del 1998 è stata pubblicata una bozza, contenente regole
uniformi in materia di sottoscrizione elettronica . Tra le iniziative di carattere internazionale è da rimarcare la
Dichiarazione di Bonn , attraverso la quale i Governi dei principali paesi europei hanno sottolineato la
necessità di disegni e strutture tecniche e giuridiche a livello europeo ed internazionale. In tale sede sono
state promosse iniziative per rimuovere le barriere all’utilizzo della firma digitale in ambito giuridico ed
economico.
Anche l’Unione Europea, nel corso degli ultimi anni, si è impegnata sul fronte delle nuove forme di
comunicazione. Il Parlamento Europeo ha invitato gli Stati Membri e la Commissione Europea a predisporre
misure consistenti per assicurare l’integrità e l’autenticità dei documenti trasmessi per via telematica.
Nell’autunno del 1997 la Commissione ha adottato una Comunicazione rivolta al Parlamento Europeo, al
Comitato Economico e Sociale ed al Comitato delle Regioni, sollecitando un disegno comune per la firma
digitale e la crittografia, strumenti ritenuti essenziali per una maggiore sicurezza del commercio telematico.
Con una successiva Comunicazione si è richiesto al Parlamento Europeo l’elaborazione di una direttiva che
formuli un riconoscimento, all’interno dell’Unione Europea, delle sottoscrizioni elettroniche attraverso la
definizione dei requisiti essenziali per l’armonizzazione delle legislazioni degli Stati membri, e determini i
meccanismi di cooperazione con Paesi terzi per un mutuo riconoscimento sulla base di accordi bilaterali o
multilaterali.
L’attività svolta dagli Organi dell’Unione Europea per un riconoscimento delle forme elettroniche non ha
lasciato indifferenti i legislatori degli Stati membri. Molti di questi sono ancora ad una fase preparatoria dei
lavori (così il Regno Unito), altri, invece, hanno introdotto negli ordinamenti interni alcune norme
significative. Il legislatore francese ha adottato, in data 27 Luglio 1996, una nuova legge sulle
telecomunicazioni che si pone l’obiettivo di ridurre le restrizioni esistenti sui sistemi di crittografia,
essenziali per la tecnica della firma digitale. Il Parlamento tedesco ha approvato, nel corso del 1997,
disposizioni rilevanti sulla firma digitale senza però disciplinare direttamente il profilo della validità
giuridica della firma digitale. Piuttosto, essa ha l’obiettivo di stabilire requisiti generali per la sicurezza della
la firma digitale.
Questo è il quadro internazionale più recente, dal quale il legislatore italiano ha ricevuto l’impulso per una
disciplina del documento informatico e della firma digitale.
La materia della documentazione elettronica e della firma digitale ha trovato una disciplina nell’ordinamento
giuridico italiano con il D.P.R. 10 novembre 1997, n. 513, “Regolamento recante criteri e modalità per la
formazione, l’archiviazione e la trasmissione di documenti con strumenti informatici e telematici, a norma
dell’articolo 15, comma 2, della legge 15 marzo 1997, n.59”.
Il risultato, prodotto dalle norme del regolamento, è la piena rilevanza giuridica della documentazione
informatica e la sua equiparazione alla tradizionale documentazione “cartacea”. All’intenso valore giuridico
della disciplina regolamentare non si accompagna un equivalente valore pragmatico, in quanto, per
quest’ultimo, occorrerà attendere l’emanazione di ulteriori ed indispensabili regolamenti tecnici di
Marco Pironti – La firma elettronica - 5
attuazione. Successivamente all’emanazione di tali regolamenti, il D.P.R. 513 diventerà pienamente
operativo.
Il regolamento si compone di tre capi.
Il primo di questi, dedicato ai principi generali, si apre con l’enunciazione delle definizioni dei termini di
carattere tecnico, utilizzati nel corso della disciplina giuridica . Alla nozione di documento informatico ed
alla descrizione dei requisiti che lo caratterizzano, segue la disciplina dell’atto informatico come forma
scritta e dell’efficacia probatoria ad esso attribuita e quella della validità e rilevanza attribuita alla copia di
atti e documenti. Lo stesso capo si occupa (sommariamente) della disciplina delle attività da compiersi per il
rilascio delle chiavi asimmetriche all’utente da parte dell’Autorità di certificazione, nonché degli obblighi
inerenti entrambe le parti.
Dopo alcune enunciazioni di carattere funzionale relative alle forme e modalità di utilizzo delle chiavi, il
secondo capo, rubricato “firma digitale”, si dedica alla validità e rilevanza a tutti gli effetti di legge dei
contratti stipulati con strumenti informatici o per via telematica. L’attenzione è poi rivolta ai criteri di
conclusione del contratto e di notificazione del documento informatico, nonché alla segretezza della
corrispondenza trasmessa per via informatica ed alla possibilità di effettuare pagamenti elettronici, come
pure alla formazione di libri e scritture contabili, a carattere obbligatorio, in formato elettronico. Le
successive disposizioni attengono all’autenticazione della firma digitale, riconosciuta ai sensi dell’art. 2703
cod. civ., ai criteri di validità e di applicazione delle chiavi di cifratura della pubblica amministrazione. Il
secondo capo si chiude con la disciplina della firma digitale e del documento informatico relativa alla
pubblica amministrazione.
Le norme di attuazione del regolamento sono contenute nel capo terzo, il quale pone alle pubbliche
amministrazioni dei termini per l’adozione di piani di sviluppo e di realizzazione nonché di un rapporto tra
costi e benefici del recupero su supporto informatico dei documenti e degli atti cartacei. Il regolamento
presenta norme di carattere sostanziale che si inseriscono nel percorso positivo della definizione di
documento informatico, per il quale si intende la rappresentazione informatica di atti, fatti, o dati
giuridicamente rilevanti (art. 1, a). Nozione breve che permette di attribuire al documento informatico, da
chiunque formato, all’archiviazione ed alla trasmissione telematica di questo, validità e rilevanza a tutti gli
effetti di legge (art. 2).
Dall’esame dell’art. 1, contenente le definizioni dei termini tecnici presenti nelle successive norme, è
possibile richiamare, quasi per intero, la disciplina scelta per il documento informatico firmato digitalmente.
Il sistema che attribuisce al documento informatico con firma digitale l’efficacia della scrittura privata (art.
5) è così concepito: una Autorità di certificazione (o certificatore) , consultata da un utente interessato,
descrive a quest’ultimo la procedura e concede il know how per la “generazione” di una coppia di chiavi
asimmetriche. L’utente ha il dovere di custodire segretamente la propria “chiave privata” , che utilizzerà per
apporre la firma; tuttavia, è data facoltà di depositare in forma segreta la chiave presso un notaio (secondo la
disciplina del testamento segreto). La propria “chiave pubblica” verrà pubblicata in un registro telematico da
parte del certificatore. Quest’ultimo, ricevuta la chiave pubblica dell’utente, emette un “certificato”, il quale
garantisce la corrispondenza biunivoca tra chiave pubblica, necessaria per la verifica della firma , chiave
privata e soggetto titolare. Il contenuto del certificato riguarda l’indicazione delle generalità della persona,
della corrispondente chiave pubblica e del termine di scadenza (art. 1, h). La validità di tale certificato è
stabilita in una durata massima di tre anni, ma può essere revocato, ossia perdere validità irretroattivamente,
ovvero sospeso per un periodo di tempo determinato. Il regolamento si occupa di disciplinare i requisiti dei
certificatori, i quali hanno il delicato compito di assicurare la corrispondenza, e quindi la titolarità, delle
chiavi asimmetriche, e di conseguenza della firma digitale. Con riferimento al settore privato , per svolgere
l’attività di certificatore occorre l’inclusione in un apposito elenco pubblico tenuto dall’Autorità per
l’Informatica nella Pubblica Amministrazione (art. 8, comma 3). Si tratta di un regime autorizzatorio i cui
requisiti per accedervi sono stati in parte mutuati da quelli richiesti per l’esercizio dell’attività bancaria .
Inoltre è data possibilità di agire sul territorio italiano ai certificatori operanti sulla base di licenza od
autorizzazione rilasciata da altro Stato membro dell’Unione Europea o dello Spazio economico europeo,
purché in possesso di requisiti equivalenti . In numerose leggi e progetti di legge stranieri e sovranazionali
sulla materia, la struttura ed il quadro di funzionamento delle Autorità di Certificazione sono disciplinati in
maniera puntuale ed esaustiva prevedendo, nella maggior parte dei casi, due livelli gerarchici, con il livello
sovraordinato di emanazione statale o pubblica che certifica le autorità sottordinate, normalmente private. Le
norme del regolamento necessitano una integrazione che avverrà attraverso l’emanazione dei successivi
regolamenti di attuazione previsti dall’art. 3. Il regolamento prevede la disciplina della “firma digitale
autenticata”. L’autenticazione consiste nell’attestazione da parte di un pubblico ufficiale che la firma digitale
Marco Pironti – La firma elettronica - 6
è stata apposta in sua presenza dal titolare. Tale autenticazione deve essere preceduta dall’accertamento
dell’identità personale, della validità della chiave utilizzata e del fatto che il documento sottoscritto risponde
alla volontà della parte e non è in contrasto con l’ordinamento giuridico (art. 16). La funzione di autentica
non si esaurisce nella mera certificazione, ma comporta un controllo di legalità sul contenuto del documento
informatico sottoscritto . La firma digitale autenticata si considera come riconosciuta ai sensi dell’art. 2703
cod. civ., formando piena prova della provenienza delle dichiarazioni da chi ha sottoscritto il documento
informatico. La disciplina regolamentare incide anche sulla comunicazione telematica del documento
informatico. L’art. 12, dedicato alla trasmissione del documento, stabilisce che il documento informatico
trasmesso per via telematica si intende pervenuto al destinatario se inviato all’indirizzo elettronico da questi
dichiarato. La determinazione della data e dell’orario, opponibili ai terzi, in cui ad esempio è avvenuta la
conclusione del contratto, dipende dall’adozione di tecniche di validazione temporale .
Come si può notare da questa rassegna il regolamento contiene norme la cui incidenza sul diritto sostanziale
è estremamente rilevante, pur mancando una immediata applicabilità, rinviata a successive norme tecniche.
L’Autorità per l’informatica nella pubblica amministrazione ha predisposto uno schema di Decreto del
Presidente del Consiglio dei Ministri contenente “Regole tecniche per la formazione, la trasmissione, la
conservazione, la duplicazione, la riproduzione e la validazione, anche temporale, dei documenti informatici
ai sensi dell’articolo 3, comma 1, del Decreto del Presidente della Repubblica, 10 novembre 1997, n. 513”.
Senza entrare nel dettaglio degli articoli di tale bozza, è opportuno sottolineare come alcune discipline,
richieste dal d.p.r.. 10 Novembre 1997, n. 513, non siano parte dello schema predisposto . Il tecnicismo
informatico non permette di fare ulteriori considerazioni, salvo notare come sia difficile rinvenire un disegno
complessivo. Le norme, a volte estremamente tecnicistiche, altre volte molto vaghe nei contenuti, sembrano
prive di un tracciato comune che consenta all’interprete una lettura agevole ed una loro attuazione a breve.
Marco Pironti – La firma elettronica - 7
La certificazione elettronica
In prima approssimazione la certificazione elettronica consiste nell’utilizzare tecniche in modo da attribuire a
documenti elettronici la stessa validità degli analoghi cartacei.
A tal proposito vengono descritti ed analizzati i concetti di autenticazione, integrità e riservatezza, le tecniche
di crittografia a chiave segreta, crittografia a chiave pubblica/privata, gli algoritmi di hashing e gli strumenti
necessari per raggiungere tale scopo.
Ma, come si dimostrerà nei paragrafi successivi, la certificazione elettronica permette di aumentare la
sicurezza di un documento.
Mentre un documento cartaceo può essere manomesso da terze parti, senza che sia possibile rilevarne la
manipolazione , con la certificazione elettronica ogni alterazione del contenuto viene evidenziata.
In generale la sicurezza può riguardare un messaggio, un documento, un file scambiato tra due parti. Per
proteggere, cioè rendere sicuro, si intende contrastare le frodi dovute all’osservazione ed alle modifiche non
autorizzate o la possibilità di negare di aver trasmesso o ricevuto un messaggio. Predisporre contromisure di
protezione o sicurezza significa:
− autenticare, cioè assicurare l’effettiva provenienza del documento,
− assicurare l’inviolabilità della posta, mantenendo la riservatezza delle informazioni,
− assicurare l’integrità dei dati,
− evitare il ripudio, chi trasmette non deve poter negare di aver trasmesso, così come chi riceve non deve
poter negare di aver ricevuto.
È possibile riepilogare brevemente quanto sopra detto con la seguente tabella che correla rischi con requisiti.
Rischio
Frode
Osservazione non autorizzata
Modifica dati
Diniego
Requisito
Autenticazione
Riservatezza
Integrità
Non ripudio
L’autenticazione
L’autenticazione è il procedimento utilizzato per verificare l’identità dell’utente o dell’autore di un
documento. Questa verifica richiede lo scambio di informazioni segrete tra l’utente e l’applicazione che
vuole utilizzare; di solito l’autenticazione avviene tramite password in possesso all’utente confrontata con
quella contenuta in un database a cui accede l’applicazione. L’utente invia la password all’applicazione che
verifica l’identità dell’utente confrontando la password ricevuta con quella che nel database corrisponde
all’identificativo utente immesso.
Ad esempio, nell’ambito della sicurezza aziendale si possono identificare tre tipi di rischi: rivelazione di
informazioni riservate, accesso non autorizzato ed interruzioni di servizio non autorizzate.
Il primo rischio riguarda la rivelazione di informazioni segrete o riservate; questa tipologia di violazione
consiste nella possibilità da parte di utenti non autorizzati di accedere ad informazioni riservate sul sistema
aziendale. Le informazioni riservate devono essere memorizzate e trasmesse in maniera codificata. Un
sistema di codifica poco efficace può portare a tale tipo di problemi. Gli accessi non autorizzati sono
possibili dove non esista un utilizzo di password corretto oppure manchi l’autenticazione degli utenti.
Esiste inoltre il rischio di interruzione del servizio; in questo caso viene bloccato il sistema con conseguente
mancata disponibilità del sistema informatico e delle sue risorse.
Un testo scritto al computer è modificabile per definizione e se vogliamo usarlo come documento
inoppugnabile dobbiamo renderlo non più modificabile senza che tale modifica venga segnalata. Per ottenere
questo si ricorre alla cifratura utilizzando la tecnica delle coppie di chiavi, una segreta ed una pubblica.
Pertanto un sistema di autenticazione sicura è quello a chiave pubblica. I normali sistemi di codifica e
decodifica richiedono una chiave comune segreta che viene utilizzata sia per la codifica sia per la decodifica.
Marco Pironti – La firma elettronica - 8
L’integrità
Il termine integrità indica la protezione delle informazioni dalle eventuali modifiche apportate da altri utenti
non autorizzati.
Il concetto di integrità dei dati è diverso da quello di riservatezza. La protezione dei dati da modifiche non
autorizzate può essere ottenuta in due passaggi: durante il primo passaggio il mittente deve applicare ai dati
una funzione hash non invertibile. Il risultato della funzione, chiamato valore di controllo, viene accodato ai
dati. A sua volta, per assicurarsi che i dati ricevuti non siano stati modificati, il destinatario esegue la stessa
funzione di hash del mittente sui dati e confronta il risultato ottenuto con il valore di controllo accodato ai
dati. Se i dati non coincidono significa che sono stati modificati ed il destinatario può non accettarli.
Per una maggiore sicurezza occorre effettuare un secondo passaggio che consiste nella codifica del valore di
controllo. Un eventuale intruso che riuscisse ad intercettare i dati durante la trasmissione potrebbe
modificarli solamente conoscendo la chiave di codifica applicata con il secondo passaggio.
La riservatezza
La riservatezza dei dati riguarda l’impossibilità di rivelare i dati riservati ad utenti non autorizzati, mentre
l’integrità impedisce agli utenti non autorizzati di apportare modifiche a questi dati.
Le informazioni riservate devono essere protette sia durante le operazioni di memorizzazione sia durante la
trasmissione in rete. I dati memorizzati possono essere protetti sia tramite codifica sia utilizzando il controllo
di accesso. Il controllo di accesso consente all’utente di utilizzare la propria autorizzazione per accedere alle
risorse disponibili; l’accesso viene limitato solo agli utenti autenticati ed autorizzati. Se le informazioni
vengono trasmesse in rete devono essere necessariamente codificate. La codifica richiede l’utilizzo della
chiave apposita.
Sistema di crittografia a chiave segreta
L'invio di messaggi segreti si è sempre basato sulla comune conoscenza, tra chi invia un messaggio e chi lo
riceve, di un codice, una procedura, una chiave da utilizzare per crittografare i messaggi e decrittografarli.
La crittografia è un modo per proteggere i dati trasformandoli in maniera tale che solo colui che è autorizzato
può accedervi.
I sistemi che utilizzano questo tipo di codifica sono detti “sistemi con crittografia a chiave segreta”.
Le debolezze dei sistemi a chiave segreta sono da ricercarsi nella necessità di comunicare la chiave segreta e
nell'uso ripetuto della chiave.
Se la chiave viene smarrita o diventa pubblica non vi è più garanzia di segretezza; poiché la chiave deve
essere scambiata e questo scambio non può che avvenire “in chiaro”, cioè senza crittografia, esiste almeno
un momento in cui è possibile impossessarsi della chiave.
Chi si impossessa della chiave è anche in grado di inviare falsi messaggi o alterare gli originali, senza che il
destinatario si renda conto della sofisticazione.
L'uso ripetuto della stessa chiave rappresenta un potenziale problema. Più volte la chiave viene utilizzata più
è facile decodificarla, anche se con l'uso di elaboratori elettronici è però possibile utilizzare chiavi
sufficientemente complesse, tali da rendere impossibile la decodifica; rimane tuttavia il problema della
segretezza.
Il sistema a chiave pubblica/privata
Nel 1976 Whitfield Diffie e Martin Hellman pubblicarono su “Le Scienze” un sistema rivoluzionario per
scambiare messaggi segreti senza scambiare preventivamente chiavi segrete.
Il sistema, reso pratico con lo sviluppo di calcola tori sempre più veloci, è in grado di risolvere i due
principali problemi legati all'invio di messaggi segreti: garantire la riservatezza e l'autenticità del messaggio.
Con il sistema a chiave segreta, la riservatezza del messaggio si basa sul fatto che la chiave segreta è stata
scambiata in un momento diverso da quello in cui avviene lo scambio del messaggio e si presume che la
chiave non sia stata intercettata.
L'autenticità del messaggio si basa sulla assunzione che solo il nostro corrispondente abbia la chiave.
Ne consegue che se la chiave viene intercettata, non abbiamo più nè riservatezza nè autenticità; chiunque la
intercetti è in grado di leggere i nostri messaggi e di falsificarli.
Marco Pironti – La firma elettronica - 9
Invece di utilizzare la stessa chiave per codificare e decodificare un messaggio, il sistema proposto da Diffie
e Hellman è basato sull'utilizzo di una coppia di chiavi, ognuna delle quali è in grado di effettuare una
trasformazione del messaggio.
In pratica ogni chiave è in grado di decodificare quello che l'altra ha codificato. Delle due chiavi, una viene
tenuta segreta (la chiave privata), l'altra viene resa pubblica (la chiave pubblica).
Un messaggio codificato con la chiave privata può essere decodificato solo con la corrispondente chiave
pubblica così come un messaggio codificato con la chiave pubblica può essere decodificato solo con la
corrispondente chiave privata.
A differenza dei sistemi classici a chiave segreta, in cui la stessa chiave viene utilizzata sia per codificare che
per decodificare i messaggi, un messaggio codificato con la chiave pubblica non può essere decodificato con
la chiave pubblica, ma solo con quella privata.
Rispetto al sistema classico a chiave segreta, il sistema a chiave pubblica/privata ha i seguenti vantaggi: non
richiede una informazione segreta, per la codifica o la decodifica, che deve essere comunicata tra i due
soggetti che si vogliono scambiare messaggi; evita di tenere una chiave segreta per ogni soggetto con il quale
si vuole parlare (la chiave per spedire messaggi segreti ad A è sempre la stessa, sia che provengano da B, sia
che provengano da C); ed è questo un vantaggio particolarmente importante per istituzioni che hanno a che
fare con una vasta clientela in quanto garantisce l'autenticità del messaggio.
Rispetto ai sistemi a chiave segreta, il sistema a chiave pubblica ha lo svantaggio di dover utilizzare chiavi
molto lunghe e, conseguentemente di richiedere un processo di criptazione relativamente lento.
Il sistema a chiave pubblica è un sistema di codifica in cui gli utenti non hanno alcun bisogno di condividere
e rendere pubbliche le proprie chiavi segrete. In molti sistemi di crittografia (crittografia con chiave
simmetrica) per la codifica viene utilizzata la stessa chiave utilizzata per la decodifica. Nei sistemi più
intelligenti viene utilizzato un algoritmo di crittografia con chiave asimmetrica che è alla base dei sistemi a
chiave pubblica. I sistemi a chiave pubblica hanno una caratteristica fondamentale: è praticamente
impossibile ricavare la chiave di decodifica conoscendo solamente quella di codifica e l’algoritmo di
cifratura. Ciascun utente autorizzato possiede due chiavi, una privata, nota solo a lui, ed una pubblica, nota a
tutti coloro che vogliono comunicare con lui. La chiave pubblica di ogni utente viene pubblicata e resa
disponibile. Un utente A che desideri inviare un pacchetto codificato all’utente B può utilizzare la chiave
pubblica di B per codificare il messaggio che verrà decodificato da B utilizzando la propria chiave privata.
Poiché solo B conosce la propria chiave privata, nessun altro utente è in grado di decifrare il messaggio.
Riservatezza
Utente A
Utente B
Messaggio/Documento
Chiave
Privata di B
Chiave
Privata di A
Decodifica
Codifica
Chiave
Pubblica di A
Chiave
Pubblica di B
Marco Pironti – La firma elettronica - 10
Inoltre in alcuni sistemi a chiave pubblica è possibile codificare i dati utilizzando una qualsiasi delle due
chiavi, mentre l’altra viene utilizzata per la decodifica. Tale metodo utilizza l’algoritmo a chiave pubblica
RSA che consente di effettuare la codifica e l’autenticazione utilizzando la chiave pubblica e quella privata.
Nel metodo precedente l’utente A codifica il proprio messaggio utilizzando la chiave pubblica dell’utente B;
in tal caso però il messaggio potrebbe essere inviato da qualsiasi altro utente che conosca la chiave pubblica
di B. Ciò significa che, mentre il messaggio è segreto e protetto, non è invece possibile autenticare il
mittente. È possibile autenticare anche il mittente: l’utente A può infatti codificare il messaggio utilizzando
la propria chiave privata, nota solo a lui. L’utente B può decodificare il messaggio ricevuto utilizzando la
chiave pubblica di A, secondo lo schema seguente.
Autenticazione
Utente A
Utente B
Messaggio/Documento
Chiave
Privata di B
Chiave
Privata di A
Codifica
Decodifica
Chiave
Pubblica di A
Chiave
Pubblica di B
In tal modo B ha la certezza che il messaggio è stato inviato da A ; tale metodo garantisce l’autenticazione di
A ma riduce il livello di segretezza, poiché chiunque è in grado di decodificare il messaggio, utilizzando la
chiave pubblica di A. Combinando i due metodi è possibile ottenere sia la privacy desiderata sia
l’autenticazione univoca. Se A codifica il messaggio utilizzando la propria chiave privata, viene
automaticamente autenticato; se però oltre ad utilizzare la propria chiave privata l’utente A ripete la codifica
utilizzando la chiave pubblica di B, viene garantita anche la segretezza assoluta, poiché in questo caso
soltanto B può decodificare il messaggio utilizzando la propria chiave privata. Quando riceve il messaggio,
l’utente B lo decodifica con la propria chiave privata dopodiché decodifica nuovamente il messaggio
ottenuto utilizzando la chiave pubblica di A, come di seguito indicato.
Marco Pironti – La firma elettronica - 11
Riservatezza e Autenticazione
Utente A
Utente B
Messaggio/Documento
Chiave
Privata di B
Chiave
Privata di A
Codifica
Codifica
Decodifica
Chiave
Pubblica di A
Decodifica
Chiave
Pubblica di B
Algoritmo di hashing
Si tratta di un algoritmo che partendo da un documento (o un oggetto) di qualsiasi dimensione lo elabora e
produce un codice di dimensione fissa. Il metodo di elaborazione è tale che, se il documento (o l’oggetto)
venisse cambiato in qualunque sua parte, questo codice cambierebbe.
Per esemplificare immaginiamo un algoritmo che calcola il numero di lettere, il numero di parole, la
frequenza di ogni lettera ecc., se cambiamo una qualsiasi lettera o parola anche il risultato cambia.
Possiamo pensare al codice prodotto dall'algoritmo di hashing come ad una impronta del documento.
Dall'impronta non è possibile risalire al documento, però se il documento cambia, anche solo in minima
parte, allora cambia anche l'impronta.
Nella realtà gli algoritmi di hashing (spezzettamento) sono più complessi di quanto esemplificato.
Attualmente vengono utilizzati principalmente 3 algoritmi denominati MD2, MD4, MD5. Gli algoritmi sono
stati ideati da Ron Rivest e producono codici di 128 bit. Una variante potenziata dell’algoritmo MD5 è
l’algoritmo SHA-1, sviluppato nel 1993 presso il National Institute of Standards and Technology (NIST),
che produce un codice a 160 bit ed è pertanto 232 volte più sicuro dell’MD5.
L’Autorità di Certificazione (CA)
L'utilizzo di un sistema di crittografia a chiave pubblica non garantisce l'identità del nostro interlocutore, non
siamo certi che la persona o l'ente, al quale stiamo mandando dei messaggi, sia chi dice di essere. Siamo certi
che ha la disponibilità di una certa chiave privata, alla quale corrisponde la chiave pubblica, ma non abbiamo
certezza sulla sua identità.
Il problema è particolarmente importante se, per esempio, stiamo per inviare delle informazioni strettamente
riservate ad un particolare destinatario che dice di essere proprio la persona a cui vogliamo spedirle.
Marco Pironti – La firma elettronica - 12
Usando la crittografia siamo certi che nessuno potrà carpire quei dati, ma non siamo certi dell'identità della
persona con la quale siamo in contatto.
Il problema può essere risolto fidandoci di una “terza parte” che garantisca e certifichi l'identità di chi usa
una certa chiave pubblica, così come le autorità di pubblica sicurezza emettono documenti di identificazione
quali il passaporto o la carta d'identità.
Un’Autorità di Certificazione (Certification Authority, solitamente abbreviato con CA) è un’entità che riceve
un insieme di informazioni, le verifica e le garantisce rispetto a una terza parte.
La CA deve realizzare le seguenti cinque funzioni principali:
− accettare le richieste di certificati
− verificare l’identità delle persone o delle organizzazioni che richiedono un certificato
− emettere i certificati
− revocare i certificati
− fornire informazioni sui certificati che ha emesso
Le prime due funzioni vengono dette di registrazione mentre le altre di emissione e gestione dei certificati.
Pertanto, accanto alla CA, esiste la Registration Authority (RA) che è l’ente responsabile degli aspetti
organizzativi nella costruzione e gestione dei certificati.
La RA è responsabile della identificazione e autenticazione dei proprietari dei certificati e delega la CA per
la firma e l’emissione dei certificati stessi.
Le informazioni certificate possono essere di vario tipo, ad esempio la possibilità di accedere ad un indirizzo
di e-mail, nome e cognome, un numero di conto corrente, di carta di credito, un indirizzo IP o un sito WEB.
Il certificato emesso dalla CA fornisce un mezzo per provare la propria identità in una transazione
elettronica. I certificati sono basati su un sistema di crittografia a chiave pubblica.
Un certificato emesso da una CA e firmato con la chiave privata della CA tipicamente contiene:
− la chiave pubblica del possessore;
− il nome del possessore, se il possessore è una persona fisica si tratterà di nome e cognome, data di
nascita ecc., se invece è un server www sarà presente l'indirizzo www e il nome della compagnia
proprietaria del server;
− la data di scadenza del certificato;
− il nome della CA che ha emesso il certificato;
− la firma digitale della CA che ha emesso il certificato.
Questo insieme di informazioni viene legato ad una Firma Digitale (Digital Signature) generata usando la
propria chiave privata in un documento chiamato Richiesta di Certificazione (Certification Request).
I campi dei dati inseriti nella richiesta di certificazione e le procedure utilizzate per verificarli costituiscono
la “policy”.
Dopo che le procedure contenute nella policy sono state eseguite, l'Autorità di Certificazione emette un
documento: il certificato con la propria chiave pubblica assieme alla propria firma digitale.
Chiunque può verificare la policy ed il certificato della CA che devono essere rese pubbliche dalla CA.
La CA deve mantenere un pubblico registro dei certificati emessi e una Lista dei Certificati Revocati
(Certification Revocation List - CRL) che devono essere disponibili come stabilito dalla policy.
Esistono vari standard per i certificati, attualmente il più utilizzato è quello definito dallo standard
internazionale CCITT X.509 v3.
Solitamente vengono emessi quattro tipi di certificati:
− Precaricati di una Autorità di Certificazione. Alcuni di questi certificati sono precaricati nei browser,
cosicché questo possa riconoscere tutti i certificati emessi da queste CA. Quando qualcuno riceve una
informazione firmata o criptata con un certificato deve solo verificare la firma della CA che ha emesso il
certificato per fidarsi dei dati contenuti nel certificato;
− Server di un sito (www, ftp, ecc. ). Questo certificato viene emesso per garantire che il server, che sta
“mostrando” quel certificato, è il server di un particolare sito ( per esempio l'indirizzo www.alinet.it );
questo tipo di certificati è particolarmente utile per il commercio elettronico, il cliente vuole essere certo
di rivolgersi ad un particolare server, il certificato lo garantisce in questo senso;
− Personali, contenenti quindi informazioni quali nome, cognome, indirizzo, casella e-mail, ecc.; possono
essere utilizzati per garantire la provenienza di una e-mail, per inviare un numero di carta di credito, ecc.
Marco Pironti – La firma elettronica - 13
−
Software, per garantire l'autenticità della provenienza del software, specialmente se questo viene
distribuito in Rete.
Pertanto, per certificare a tutti gli effetti l’identità dei titolari delle chiavi pubbliche e renderle disponibili in
rete con gli accorgimenti necessari a garantire la validità e la sicurezza delle stesse, occorre fare uso, secondo
il regolamento attuativo della legge 59/97, di apposite Autorità di Certificazione.
Tale legge ha imposto ai certificatori privati particolari requisiti di affidabilità tra cui una capitalizzazione
pari a quella richie sta per un’attività bancaria e la certificazione ISO9001.
Le Autorità di Certificazione si devono avvalere a loro volta di apposite strutture chiamate Autorità di
Registrazione preposte alla verifica fisica dell’identità dei titolari di chiavi pubbliche.
In vari casi l’Autorità può certificare non solo l’identità della persona ma anche altri requisiti quali ad
esempio i suoi poteri di rappresentanza od il possesso di determinati titoli.
Esiste un’altra funzione importante delle Autorità di Certificazione che è quella di determinare con certezza
la data di formazione del documento elettronico, ovvero di apposizione delle firma digitale. Questa specifica
attività viene chiamata time-stamping.
Come ottenere chiavi e certificati per la firma digitale
Per ottenere un certificato occorrerà stabilire una prassi di comportamento che viene definita come la “PKIpolicy”. Descriviamo di seguito un esempio di passi da seguire in un ipotetico contesto aziendale:
1) definire un ente interno che si occupi di raccogliere i dati anagrafici di coloro che saranno autorizzati ad
ottenere un certificato digitale. In aggiunta a tali informazioni occorrerà allegare fotocopia del
documento di identità; sarà compito di tale ente tenere un archivio cartaceo relativo ai richiedenti la
certificazione (Direzione del Personale);
2) l’Ente predisposto contatterà la CA consegnando a mano la documentazione relativa alle richieste dei
certificati;
3) la CA elabora le richieste per rilasciare i certificati;
4) l’ente aziendale predisposto distribuisce i certificati manualmente;
5) i certificati rilasciati dalla CA, vengono memorizzati nel Directory Server (DS).
I Browser più diffusi sul mercato contengono tutto l’occorrente per produrre la coppia di chiavi asimmetriche
necessaria per la firma digitale e per la cifratura dei documenti, nonché una serie di certificati delle varie CA
già operanti (per ora tutte CA americane). I certificati di altre CA possono essere importati manualmente nel
browser.
Il Directory Server
Lo standard di directory X.509 fornisce uno standard per i sistemi di autenticazione che utilizzano schemi a
chiave pubblica e in particolare definisce la struttura e il formato dei certificati.
Lo standard X.509 fa parte della serie X.500 degli standard CCITT (Comitato Consultivo Internazionale di
Telegrafia e Telefonia). Lo standard X.509 definisce le specifiche da utilizzare per offrire i servizi di
autenticazione basati su certificati X.509, che vengono forniti da una Autorità di certificazione (CA Autorità
di Certificazione).
I certificati degli utenti vengono memorizzati su di una directory X.500 in modo centralizzato. Lo standard
X.509 prevede appunto l’utilizzo di uno schema di codifica a chiave pubblica combinato con il sistema di
firme digitali (algoritmo RSA).
Inoltre il certificato può essere memorizzato su vari supporti quali il disco fisso del PC o un floppy disk.
La chiave privata dell’utente deve essere protetta in modo particolare, e deve essere sempre disponibile
all’utente stesso, sia per apporre firme digitali che per decodificare messaggi riservati a lui diretti. La
tendenza è di memorizzarla, assieme al proprio certificato, in una smart card assegnata al proprietario.
I messaggi firmati
Dopo aver ottenuto il certificato dalla CA possiamo iniziare ad inviare messaggi in forma elettronica con
tanto di firma elettronica allegata.
I messaggi ricevuti avranno in alto a destra un’icona con la dicitura “signed/firmato”. Cliccando sull’icona si
aprirà il nostro certificato che potrà essere verificato presso la CA che lo ha rilasciato.
Marco Pironti – La firma elettronica - 14
Durante il processo di verifica viene contattata la CA che ha pubblicato sul server la lista dei certificati
revocati (CRL) per controllare la validità o meno del certificato ricevuto in allegato.
Un certificato valido non è una prova assoluta di identità; è possibile che nel corso del tempo la password di
accesso alla chiave privata venga conosciuta da altri che potrebbero firmare al posto del titolare. Un modo
per ridurre il rischio che un certificato non sia più valido è quello di inserirvi la data di emissione e quella di
scadenza (Time stamping). Questo tuttavia non elimina il rischio che la chiave privata sia resa nota
accidentalmente nello stesso momento in cui il certificato viene emesso (è preferibile quindi che la chiave
privata non lasci mai la smart card, neanche durante la registrazione della chiave pubblica presso la Autorità
di Registrazione della CA).
Pertanto è necessario controllare l’elenco dei certificati revocati (CRL) che ogni CA mette a disposizione.
Tale funzionalità è utilizzata anche nella gestione della posta elettronica.
In quest’ambito i dati scambiati si avvalgono del “non ripudio”, che consiste nel dimostrare l’origine o la
destinazione dei dati e impedisce a chi invia i dati di negare di averli inviati o a chi li riceve di negare di
averli ricevuti.
Marco Pironti – La firma elettronica - 15
Glossario
AIPA (Autorità per l’Informatica nella Pubblica Amministrazione).
CA (Certification Authority): Autorità di Certificazione.
RA (Registration Authority): Autorità di Registrazione.
CRL (Certificate Revocation List): lista dei certificati revocati.
DES (Data Encryption Standard): tecnica di codifica dei dati; l’input dell’algoritmo di codifica DES è
costituito da un blocco di testo di 64 bit e da una chiave di codifica a 56 bit; l’output è costituito da un testo
cifrato di 64 bit.
DS (Directory Server): Database a struttura gerarchica (ad albero).
IDEA (International Data Encryption Algorithm): tecnologia più sicura del DES; codifica blocchi di dati di
64 bit utilizzando chiavi di 128 bit (utilizzo di una chiave più lunga).
PKI (Public Key Infrastructure): sistema di criptazione a chiave pubblica.
PKI-policy: regole per la creazione/rilascio della coppia di chiavi del sistema PKI.
RC2/RC4 (Rivest Cipher 2 / Rivest Cipher 4): sono due algoritmi simmetrici di cifratura ideati da Ron
Rivest (la R di RSA).
RSA (Rivest, Shamir and Adleman): algoritmo di criptazione a chiave pubblica.
TRIPLE-DES: tecnologia più sicura del DES, poiché gli algoritmi di codifica a 56 bit hanno dei punti
deboli. Tale algoritmo esegue tre iterazioni di codifica e decodifica del testo, inoltre è possibile utilizzare la
stessa chiave di 56 bit per tutte le iterazioni oppure utilizzare chiavi diverse per ciascuna iterazione.
X.500: è una serie di protocolli definiti dalla ISO e dalla ITU per realizzare un sistema di Directory Service
aperto multivendor. La famiglia di protocolli X.500 include DAP, DSP e DISP. Il protocollo X.500 è oggi
alla sua terza versione.
Hash (Hashing): è la trasformazione di una stringa di byte in un valore di grandezza fissa, di solito più
piccolo, oppure in una chiave rappresentativa della stringa.
MD5: è un algoritmo di codifica dei messaggi che cifra un messaggio di lunghezza arbitraria in 128 bits.
MD5 è un algoritmo di crittografia a somma di controllo.
SHA (Secure Hash Algorithm): è un algoritmo di codifica dei messaggi che cifra un messaggio di lunghezza
arbitraria in 160 bits. SHA è un algoritmo di crittografia a somma di controllo.
NIST (National Institute of Standards and Technology).
X.509: è lo standard più diffuso per definire i certificati digitali. È largamente utlizzato anche al di fuori di
Iso e ITU.
Time -stamping (Marca temporale): è la modalità con cui non solo viene firmato digitalmente il contenuto di
un messaggio ma anche la data della sua emissione e la data della sua eventuale scadenza. Lo stesso concetto
viene applicato anche ai certificati digitali.
CCITT (Comitato Consultivo Internazionale di Telegrafia e Telefonia).
PDF (Portable Document Format): è una tecnologia sviluppata dalla Adobe ed è molto diffusa per al
formattazione dei documenti in modo che possano essere visti e stampati su molteplici piattaforme usando un
reader rilasciato gratuitamente dalla Adobe.
Directory Service: è il servizio fornito da un Directory Server.
API (Application Programming Interface): sono una serie di funzioni che possono venire usate dai
programmi per interagire con un servizio o con una libreria.
LDAP (Lightweight Directory Access Protocol): è il protocollo Internet che permette di accedere e ricercare
informazioni su (numerosi) Directory Server. Giunto oggi alla sua terza versione, LDAP è ancora solo un
protocollo di accesso e non un protocollo per realizzare Directory Server distribuiti.
Shadow: modalità di configurazione di un Directory Server in cui non si può intervenire con aggiornamenti
o modifiche di dati, ma può essere utilizzato solo in lettura dei dati da parte, ad esempio, delle applicazioni.
OEMS: Open Enterprise Management System è il termine generico con cui si indicano le piattaforme di
management a livello enterprise, basate su standard aperti quali SNMP.
LDIF (LDAP Data Interchange Format): è un standard usato per rappresentare in formato testo i dati di un
directory accessibile mediante LDAP. A partire da questo formato si possono facilmente caricare i dati in un
altro directory LDAP, utilizzando utility di pubblico dominio.
PKCS (Public-Key Cryptography System): è un set di protocolli standard informali, sviluppati dalla RSA
per rendere possibile lo scambio di informazioni sicure su una rete o informazioni relative ai certificati
X.509.
Marco Pironti – La firma elettronica - 16
PKIX: uno standard di rappresentazione dei certificati all’interno delle SmartCard
S/MIME (Secure Multipurpose Internet Mail Extensions): definisce un modo per rendere i messaggi di posta
più sicuri aggiungendo sia la firma digitale sia la criptazione.
PEM (Privacy-Enhanced Mail): uno standard Internet per lo scambio di messaggi di posta confidenziali
JSSL: implementazione in Java di una libreria SSL
CSSL: implementazione in C di una libreria SSL
IPSEC: standard di sicurezza per proteggere la riservatezza e l’integrità dei pacchetti della rete IP.
DAP (Directory Access Protocol): è un protocollo di X.500 usato per accedere ai directory services.
PIN (Personal Identification Number): è un insieme di caratteri numerici o alfanumerici che viene
consegnato ad una persona per essere usato come identificativo.
PCMCIA (Personal Computer Memory Card International Association): indica lo standard di
interfacciamento di schede per Personal Computer emesso dalla stessa associazione.
Key Escrow: la possibilità di lasciare una chiave segreta in “deposito” presso una terza parte fidata.
PC/SC: lo standard che viene proposto da Microsoft e altri partner per lo scambio di informazioni fra
applicazioni e SmartCard; include una standard API di interazione fra applicazioni e SmartCard.
DISP (Directory Information Shadowing Protocol): è un protocollo di X.500 usato per propagare da master a
shadow le modifiche apportate sui dati del directory.
Fault tolerance: la capacità di un sistema di reagire in modo prevedibile, in genere senza smettere di
funzionare ma al più degradando le proprie prestazioni (Fail Soft), a guasti e malfunzionamenti di qualsiasi
natura. Più è ampio lo spettro dei malfunzionamenti a cui il sistema sa reagire, maggiore è la sua fault
tolerance
Metadirectory: Una tecnologia che permette sia la costruzione e il mantenimento di un directory che
contenga tutte le informazioni di rilevanza aziendale, sia l’allineamento di tali informazioni in tutti i database
aziendali che dipendono da tali informazioni (fra le altre) per il loro corretto funzionamento.
Master: modalità di configurazione di un Directory Server in cui si può intervenire con aggiornamenti o
modifiche di dati.
HTTPS: HTTP sopra SSL.
S-HTTPS: è un altro protocollo che serve a trasmettere dati in modo sicuro su una rete. Dove SSL crea una
connessione sicura tra client e server attraverso la quale può essere trasferita qualsiasi quantità di dati, il
protocollo S-HTTPS invece è disegnato per trasmettere singoli messaggi in maniera sic ura. Questi due
protocolli possono essere visti come complementari piuttosto che come tecnologie competitive.
SSL (Secure Sockets Layer): è un protocollo sviluppato dalla Netcsape per trasmettere documenti privati
attraverso Internet. SSL lavora usando una chiave privata per autenticare il server o il client e per scambiare
una chiave DES con cui criptare i dati che verranno trasferiti attraverso la connessione SSL. Sia Netscape
Navigator che Internet Explorer supportano il protocollo SSL, e molti siti Web lo usano per ricevere
informazioni confidenziali dai propri utenti. Per convenzione le pagine Web che richiedono l’uso del
protocollo SSL aprono una connessione con https: invece che con http:.
SSO (Single Sign On): vedi SSSO.
SSSO (Secure Single Sign On): è la sigla con cui viene identificata la sinergia di tre tipi di necessità. Dalla
prospettiva dell’utente, SSSO si riferisce alla possibilità di usare un singolo identificativo personale e una
singola password per accedere con un singolo controllo a tutte le risorse di cui uno ha i diritti di accesso.
Dalla prospettiva dell’amministratore, SSSO permette di gestire tutti gli aspetti relativi alla sicurezza di una
azienda tramite un unico punto centralizzato. Dalla prospettiva dell’azienda, SSSO fornisce la possibilità di
proteggere la privacy e l’integrità delle transazioni così come fornisce la possibiltà di effettuare transazioni
verificabili e non ripudiabili.
Robustezza della cifratura: la robustezza della cifratura viene misurata attraverso lo sforzo necessario a
rompere un sistema di cifrazione. Normalmente viene classificata attraverso la lunghezza delle chiavi usate
per la codifica. La robustezza della cifratura è dipendente dall’algoritmo che viene usato. Per esempio, la
lunghezza minima accettabile di una chiave per il DES è di 56 bits, mentre la lunghezza minima accettabile
per una RSA è di 512 bits.
Algoritmo simmetrico: è un algoritmo dove la stessa chiave può essere usata sia per la cifratura che per la
decifratura.
Algoritmo asimmetrico: è un algoritmo di criptazione che richiede due differenti chiavi per la cifratura e la
decifratura. Queste chiavi sono comunemente chiamate chiavi pubbliche e private. Gli algoritmi asimmetrici
sono più lenti di quelli simmetrici oltre al fatto che la velocità di cifratura può essere differente dalla velocità
della decifratura. Generalmente gli algoritmi asimmetrici vengono usati sia per scambiare delle chiavi di
Marco Pironti – La firma elettronica - 17
sessione simmetriche o per firmare digitalmente un messaggio. RSA, RPK, e ECC sono esempi di algoritmi
asimmetrici
Certificato Digitale : è una struttura che serve a legare l’identità di un ente o di una persona con la sua
relativa chiave pubblica. Una CA emette e firma digitalmente un certificato digitale.
Firma Digitale : è un metodo per verificare che un messaggio generato da un mittente non sia modificato
durante il suo tragitto. La firma digitale viene tipicamente applicata cifrando un’impronta del messaggio con
la chiave privata del firmatario.
Non-ripudio: è la ragionevole sicurezza che un mittente non possa negare di essere l’autore di un messaggio
che ha spedito. Il non-ripudio viene realizzato cifrando l’impronta del messaggio con la chiave privata
dell’autore. La chiave pubblica dello stesso autore dovrà essere certificata da una CA riconosciuta.
Chiave di sessione : è una chiave simmetrica temporanea che è valida solo per un breve periodo. Una chiave
di sessione è tipicamente un numero casuale che può essere scelto da una delle due parti della conversazione,
da tutte e due le parti o da una terza parte riconosciuta.
Smart card: è una periferica non modificabile dove possono essere archiviate informazioni delicate.
Tipicamente una smart-card contiene la/le chiave/i privata/e di qualcuno. Possono essere usate anche per
cifrare o decifrare i dati all’interno della carta stessa. Questo da il notevole vantaggio di non esporre la
chiave privata, neanche al proprietario stesso. Le smart-card sono protette da password, in questo modo una
applicazione che faccia uso della chiave e delle funzioni di una smart card avrà bisogno del corretto
inserimento da parte dell’utente della password per sbloccare la carta.
FAQ : Frequently Asked Questions = Raccolta delle domande e, ovviamente, delle risposte poste più
frequentemente su un certo argomento.
Kerberos : servizio di autenticazione e autorizzazione all’accesso a risorse su rete, sviluppato all MIT e
orientato ad ambiti tipicamente soggetti ad attacchi contro la sicurezza, quali gli ambienti degli studenti
universitari. Attualmente sono utilizzate due versioni : le release 4 e 5, rilasciata come standard Internet
(RFC 1510)
ITU : International Telecommunication Union. Organismo situato a Ginevra, ex CCITT, per l’emissione di
standard internazionali di telecomunicazioni (protocolli OSI), concordati fra i governi e le compagnie private
RFC : Request For Comments = meccanismo di emissione degli standard Internet. Sono documenti il cui
codice numerico identifica il particolare standard (protocolli, interfacce, applicazioni, ecc.).
Marco Pironti – La firma elettronica - 18
Riferimenti minimali
http://www.aipa.it/
http://www.salford.ac.uk/its024/Version.Web/Contents.htm
http://www.baltimore.com/library/whitepapers/mn_vpn_white_paper.html
http://www.rsa.com/rsalabs/pubs/PKCS/
http://www.baltimore.com/
http://www.isocor.com/
http://www.verisign.com
http://developer.netscape.com/tech/security/security.html
http://www.rsa.com/
http://www.microsoft.com/security/default.asp
http://www.ncsa.com/
http://www.cert.org
http://www.w3.org/Security/Faq/www-security-faq.html
http://www.fortify.net/
http://www.epm.ornl.gov/~dunigan/security.html
http://www.lns.cornell.edu/public/COMP/krb5/user-guide/userguide_toc.html
http://www.sans.org/
http://www.itsec.gov.uk/
http://www.itu.org
http://www.rfc-editor.org/rfc.html
AIPA
Info su DS
White Paper su PKI-Plus
(Baltimore) e IPSEC
Riferimenti per standard PKCS
Baltimore
Isocor
Verisign
Netscape Developer Center
RSA
Microsoft Security
NCSA - International Computer
Security Association
CERT
:
Carnegie
Mellon
University Coordination Center :
Osservatorio sulla sicurezza
FAQ sulla sicurezza
Fortify : Prodotti ad alta sicurezza
Ottimi link per la sicurezza
User guide su Kerberos
SANS - System Administration
Network and Security
ITSEC
ITU
RFC