Firma digitale
La firma digitale basata sulla crittografia a chiave asimmetrica (pubblica e privata) si è ormai affermata come principale strumento in grado, allo stato attuale della tecnologia, di assicurare l'integrità e la provenienza dei documenti informatici, e quindi di svolgere per questi la funzione che nei documenti tradizionali è assolta dalla firma autografa.
La firma digitale è regolata dalla legge italiana, in particolare dal D.P.R. 28/12/2000 n. 445 (Testo unico delle disposizioni legislative e regolamentari in materia di documentazione amministrativa) - G.U. n. 42 del 20/02/2001 e dal DPCM 13/01/2004 (Regole tecniche per la formazione, la trasmissione, la conservazione, la duplicazione, la riproduzione e la validazione, anche temporale, dei documenti informatici) - G.U. n. 98 del 27/04/2004. Di recente pubblicazione è il D.Lgv. 82/2005 (Codice dell’amministrazione digitale) – G.U. n. 112 del 16/5/2005, che ordina e riunisce norme già esistenti ed altre nuove, semplificando e rendendo più efficace il sistema giuridico di riferimento.
Si ricorda che la normativa europea è intervenuta in materia di firme elettroniche, in particolare con la Direttiva 1999/93/CE del Parlamento Europeo e del Consiglio 13 dicembre 1999, relativa ad un quadro comunitario per le firme elettroniche (che sono divise in diverse tipologie, fra cui la firma digitale possiede il massimo livello di sicurezza, di efficacia e di riconoscimento giuridico).
Nel caso della firma autografa, l'elemento che permette di ricondurla all'identità del firmatario è rappresentato dal segno grafico e quindi dalla calligrafia come caratteristica esclusiva del singolo individuo.
Poiché tale proprietà non può essere replicata con la firma digitale, si ricorre in questo caso ad una terza parte appositamente costituita e riconosciuta, ossia alla Autorità di Certificazione (C.A. - Certification Authority), il cui ruolo, previsto dalla legge, consiste nel garantire e rendere pubblica l'associazione tra ciascun soggetto in grado di apporre la propria firma digitale ed il relativo certificato di chiave pubblica attraverso il quale è possibile riconoscere e convalidare l'identità del sottoscrittore.
UniCredit ha scelto come Certification Authority Actalis S.p.A., certificatore accreditato ai sensi della vigente normativa.
Il processo di firma
Azioni preliminari
Il processo di firma digitale richiede che l'utente effettui una serie di azioni necessarie alla predisposizione delle chiavi utilizzate dal sistema di crittografia su cui il meccanismo di firma si basa, in particolare occorre:
- la registrazione dell'utente presso un'autorità di certificazione (CA)
- la generazione di una coppia di chiavi SK (Secret Key o chiave privata) e PK (Public Key o chiave pubblica)
- la certificazione della chiave pubblica e la sua pubblicazione su registro ufficiale.
- Registrazione dell'Utente
- l'utente richiede alla Banca la registrazione fornendo la documentazione necessaria per accertare la sua identità;
- verificata la validità della richiesta, la Banca attribuisce all'utente un codice di identificazione di cui essa garantisce l'univocità;
- la Banca fornisce, attraverso un canale sicuro, il codice che l'utente dovrà utilizzare per le richieste di certificazione delle chiavi.
- una chiavetta (token) da collegare al computer tramite porta USB;
- una busta con il codice di accesso (PIN) e di sblocco (PUK) del token;
- un CD Rom con il software necessario per l'utilizzo della firma digitale, contenente anche la licenza software ed il manuale di installazione.
- Generazione della coppia di chiavi
- Certificazione e registrazione della chiave pubblica
- L'utente invia alla CA la richiesta di certificazione per la chiave chiave pubblica generata nella fase precedente.
- La CA genera il certificato e lo firma digitalmente per garantirne la provenienza che potrà essere accertata da chiunque.
- Il certificato viene registrato e inviato al richiedente che ne diventa a questo punto pienamente titolare.
- Una volta emesso, il certificato è reso disponibile in uno o più cataloghi ai quali può accedere chiunque abbia bisogno di accertare la validità di una sottoscrizione digitale.
La registrazione dell'utente presso la Banca (che svolge il ruolo di Registration Authority) ha il duplice scopo di rendere la CA certa della sua identità e di instaurare con l'utente stesso un canale di comunicazione sicuro attraverso il quale verranno scambiate le chiavi pubbliche di cui viene richiesta la certificazione.
La registrazione avviene attraverso la seguente procedura:
A seguito della registrazione verrà inviato all'utente un "kit" contenente:
Gli utenti (firmatari), mediante il programma fornito nel kit, generano una coppia di chiavi. Una di esse, quella da utilizzare per le operazioni di crittografia e quindi per la generazione della firma, sarà mantenuta segreta, assumerà il ruolo di chiave privata e verrà memorizzata sul supporto (token), il cui accesso sarà protetto da una password scelta dal titolare. L'altra, destinata alla verifica, verrà resa pubblica attraverso la certificazione e corrisponderà perciò alla chiave pubblica.
La certificazione della chiave pubblica ha lo scopo di rassicurare chiunque riceva un documento correttamente firmato, circa l'identità del soggetto che ha apposto la firma ossia del titolare del certificato. L'operazione avviene attraverso tre passi:
La firma dei documenti
Una volta espletate tali operazioni, per tutta la durata del periodo
di
validità della certificazione della chiave pubblica (2 anni), l'utente
è in grado di firmare "digitalmente" un numero illimitato di documenti
sfruttando la sua chiave privata.
Ovviamente in prossimità della scadenza, sarà possibile richiedere il
rinnovo del certificato. Il periodo di validità del certificato può
essere interrotto prima del suo termine naturale dalla revoca del
certificato stesso, effettuabile su richiesta del titolare (qualora per
esempio egli ritenga che la segretezza della sua chiave privata sia
stata compromessa) o su iniziativa della CA.
Il processo di firma si svolge attraverso una sequenza di tre operazioni:
- generazione dell'impronta del documento da firmare;
- generazione della firma mediante cifratura dell'impronta;
- apposizione della firma al documento.
- Generazione dell'Impronta
- Generazione della Firma
- Apposizione della Firma
Al testo da firmare è applicata una funzione di hash che produce una stringa binaria di lunghezza costante. La funzione di hash assicura l'unicità di tale stringa, nel senso che a due testi diversi non corrisponde la medesima impronta.
L'utilità dell'uso dell'impronta è duplice:
in primo luogo consente di evitare che per la generazione della firma
sia necessario applicare l'algoritmo di crittografia all'intero testo,
operazione che potrebbe rivelarsi molto lunga.
Inoltre tale meccanismo consente l'autenticazione, da parte di una
terza parte fidata, del documento sottoscritto senza che questa possa
venire a conoscenza del suo contenuto.
La generazione della firma consiste semplicemente nella crittografia, con la chiave privata dell'impronta digitale generata in precedenza. In questo modo la firma risulta legata da un lato, attraverso la chiave privata usata per la generazione, al soggetto sottoscrittore, e dall'altro, per il tramite dell'impronta, al testo sottoscritto.
Al documento viene aggiunta in una posizione predefinita la firma digitale generata al passo precedente; viene anche allegato il valore dell'impronta digitale ed il riferimento al certificato da cui è possibile recuperare il valore della chiave pubblica del firmatario.
La verifica della Firma
Si procede alla verifica della validità del certificato, relativo alla chiave pubblica del/i firmatario/i, recuperato dal registro pubblico gestito dalla Certification Authority.
Si procede quindi alla verifica della firma digitale, effettuata ricalcolando, con la medesima funzione di hash usata nella fase di sottoscrizione, il valore dell'impronta e controllando che il valore così ottenuto coincida con quello ricevuto per decodifica della firma digitale stessa.