La firma digitale è l’equivalente elettronico di una firma apposta su carta e ne assume lo stesso valore legale. E’ associata al documento informatico e lo arricchisce di informazioni che attestano l’integrità, l’autenticità e la non ripudiabilità dello stesso.

Il sistema per la creazione e la verifica di firme digitali sfrutta le caratteristiche della crittografia asimmetrica, associando ad ogni utente una coppia di chiavi:

  • Una chiave pubblica accessibile a tutti coloro che necessitano di scambiare informazioni con l’entità proprietaria.
  • Una chiave privata, custodita e tenuta segreta dal legittimo proprietario.

In un processo di crittografia asimmetrica, qualsiasi messaggio crittografato con una chiave privata potrà essere decifrato solo utilizzando la chiave pubblica corrispondente. Il processo svincola quindi l’utente dalla necessità di dover scambiare le chiavi prima di qualunque comunicazione.

Senza entrare troppo nei dettagli tecnici, la firma digitale consiste nella creazione di un file, definito “busta crittografica”, che contiene al suo interno il documento originale, l’evidenza informatica della firma e la chiave per la verifica della stessa, contenuta nel certificato emesso a nome del sottoscrittore, come mostrato in figura 1. Infine la busta crittografica contiene anche un certificato dell’Autorità di registrazione che garantisce l’autenticità del certificato del sottoscrittore.

busta_crittografica
Fig.1 – Busta crittografica – Fonte AgId

Un file firmato digitalmente può avere i seguenti formati:

  • CAdES, busta crittografica di firma con estensione P7M;
  • PAdES, firma integrata all’interno di file di tipo Portable Document Format (PDF) secondo lo standard ISO/IEC 32000;
  • XAdES, prevede la sottoscrizione in linguaggio XML.

Il formato CAdeS 

.P7M: formato CAdeS (CMS Advanced Electronic Signature) che conserva il nome del file firmato ma ne modifica l’estensione (.p7m). La firma CAdeS è una firma digitale che può essere apposta su qualsiasi tipo di file: testo, immagini, audio, video (txt, doc, pdf, ppt, mp3, mp4, …). In questo caso il documento verrà sottoposto a tre fasi:

  1. Generazione dell’impronta digitale (Digest: stringa binaria di lunghezza piccola e costante) attraverso l’applicazione della funzione di hash sul documento in chiaro.
  2. Generazione della firma cifrando (algoritmo più utilizzato è l’RSA) con la propria chiave privata l’impronta digitale del documento.
  3. Generazione di un’envelope (busta) di estensione contenente:
  • Il documento in chiaro;
  • La sua impronta cifrata, che corrisponde alla firma digitale del documento;
  • Il certificato elettronico con chiave pubblica del titolare emesso da un’Autorità di Certificazione CA;
  • Il certificato della Certification Autority che lo ha rilasciato;
  • Timestamp o Marca Temporale (opzionale), che associando al documento una data e ora certificata dalla TSA (Time Stamp Authority), permette di dimostrare se il documento esisteva in un ben preciso momento.

La controparte di questa flessibilità è che, per verificare e leggere il file, questo deve essere prima “sbustato”, quindi deve essere presente un software di firma per l’apertura della busta e la visualizzazione del file (Acrobat Reader, MS Word, MS Excel, …). Un file è firmato integralmente e una volta apposta la firma il documento non può essere modificato. Tuttavia si preferisce usare CAdeS, essendo il formato utilizzato da più tempo e quindi certamente riconosciuto ed accettato da tutti i portali della pubblica amministrazione.

Il formato CAdES consente di apporre firme multiple sullo stesso documento da parte di soggetti differenti e può essere effettuata con due modalità distinte:

  • re-imbustando in una nuova busta CAdES la busta generata dalla sottoscrizione precedente (c.d. controfirma o “firma matrioska”), come mostrato in figura 2;
firma_multipla_matrioska
Fig. 2 – Firma multipla a matrioska (Fonte AgId)
  • oppure aggiungendo nella busta ulteriori firme, accompagnate dai relativi certificati (c.d.firme congiunte), come mostrato in figura 3
firmamultipla_sequenziale
Fig. 3 – Firme multiple sequenziali CAdES (Fonte AgId)

Il formato PAdeS

.PDF: formato PAdES (PDF Advanced Electronic Signature) standard della firma PDF, che mantiene sia il nome, sia l’estensione del file firmato. Un altro tipo di firma digitale, con la stessa valenza legale della precedente ma che può essere apposta solo su file PDF. Anche se non è il metodo di firma più utilizzato, la larga diffusione del formato PDF rende il PAdES un formato da non trascurare. A differenza del formato CadES, il documento PAdES, non subendo trasformazioni di formato, non necessita poi delle operazioni di imbustamento/sbustamento ed essendo contenuto all’interno del PDF, può essere visualizzato da un qualunque lettore di file PDF (Acrobat Reader). Il formato PAdES definisce anche come una firma può essere visualizzata, per esempio come una firma ad inchiostro su carta in una posizione particolare della pagina. A differenza della CAdES, il formato PAdES permette di firmare anche parti del documento e consente di poter inserire modifiche o annotazioni in seguito alla firma su una copia, senza invalidare la validità del documento firmato originariamente. La busta crittografica generata con la firma PAdES contiene, infatti, il documento originale e ogni versione modificata successiva del documento stesso.

versioning_firmaPDF
Firma multipla PAdES – Versioning di firma (Fonte AgId)

Il formato XAdeS

  • .XML: formato XAdES (XML Advanced Electronic Signature) standard della firma rappresenta invece un’estensione dello standard della firma XML definito da W3C. Formato di Firma digitale ancora poco usato, prevalentemente in ambito sanitario e bancario essendo ancora un standard complesso con molte opzioni e varianti. Si può visualizzare con il browser applicabile a qualsiasi documento. Una caratteristica dello XAdES è la possibilità di firmare singole parti del documento, cosa di particolare importanza nel caso di documenti scritti da più persone, in cui ognuno deve firmare la sua parte.

Il problema di questa tecnologia risiede però nella fase di presentazione, i file xml non prevedono, tra le varie cose, l’ordinamento dei tag e due file “semanticamente” uguali possono essere “sintatticamente” molto diversi; nel qual caso devono essere considerati equivalenti o no? Il file XML è poi poco leggibile, quindi ad esso deve essere solitamente abbinato un file di presentazione (foglio di stile: XSLT) che lo trasforma in vero e proprio documento.

6 COMMENTS

Comments are closed.