La firma digitale ed i suoi formati

 

di Luca Frabboni
Esperto in informatica giuridica e giudiziaria Maat Srl

 

La firma digitale, come definita nello stesso Codice dell’Amministrazione Digitale (D.Lgs. 82/2005 e succ. mod., di seguito CAD) all’art. 1) lettera s), è “un particolare tipo di firma elettronica avanzata basata su un certificato qualificato e su un sistema di chiavi crittografiche, una pubblica e una privata, correlate tra loro, che consente al titolare tramite la chiave privata e al destinatario tramite la chiave pubblica, rispettivamente, di rendere manifesta e di verificare la provenienza e l'integrità di un documento informatico o di un insieme di documenti informatici".

Se il D.P.C.M. 22/02/2013 dettava le regole tecniche in materia di generazione, apposizione e verifica delle firme elettroniche avanzate, qualificate e digitali, è con la deliberazione n. 45 del 21 maggio 2009 di CNIPA (poi DigitPA, ora AgID) che vengono stabiliti i formati, gli standard e le specifiche tecniche.

Si rimanda per i testi indicati alla specifica sezione sul CAD presente nella pagina normativa di questo sito.

Senza scendere troppo in dettagli tecnici, sono previsti 3 formati per la sottoscrizione di documenti informatici, che richiamano quanto previsto dagli standard internazionali ETSI, come stabilito dalla Direttiva Europea 1999/93/CE (Quadro Comunitario per le firme elettroniche):

  • 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, ancora poco diffuso in Italia, prevede la sottoscrizione in linguaggio XML.

 


La firma CAdES

Il formato di firma CAdES (CMS Adavanced Electronic Signatures) è basato tecnicamente sulle estensioni dello standard internet elaborate da IETF (Internet Engineering Task Force) per la crittografia dei messaggi protetti (Cryptographic Message Syntax), ed a sua volta basato sulle specifiche standard crittografiche PKCS#7.

E’ possibile firmare qualsiasi tipologia di file in CAdES, non essendoci particolari restrizioni di formato (sono ammessi documenti PDF, doc, xls, immagini, eseguibili, file di testo e binari di qualsivoglia tipo), tuttavia, per leggerne il contenuto, una volta firmato, è necessario utilizzare specifici software in grado di estrarre dalla busta crittografica il documento sottoscritto.

Sul sito internet di AgID è presente un utile elenco di software e strumenti forniti gratuitamente per la verifica della firma e per l’estrazione del file firmato:

http://www.agid.gov.it/agenda-digitale/infrastrutture-architetture/firme-elettroniche/software-verifica

 

Verifica firma CAdES con Dike 5.5

 

Verifica firma CAdES con ArubaSign

 

La busta crittografica, come visibile nell’immagine seguente, contiene al suo all’interno:

  • il documento originale;
  • l’impronta univoca del documento firmata, la firma, infatti, per questioni di rapidità non viene applicata all’intero documento ma solo all’impronta dello stesso (hash);
  • il certificato dell’utente firmatario;
  • il certificato della Certification Autority che lo ha rilasciato.

Può anche essere presente una marcatura temporale opzionale, il cui uso consente di associare una data ed ora certa e legalmente opponibile a terzi al documento informatico firmato digitalmente.

 

.

Struttura di un file CAdES

 

La firma viene apposta integralmente al file e non è possibile sottoscrivere parzialmente un documento, così come non è prevista, a differenza del formato PAdES, una gestione delle versioni tale da consentire di apportare al documento firmato delle modifiche o delle annotazioni, successivamente alla sottoscrizione dello stesso.

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

  1. firma congiunta, associando alla stessa busta più certificati di firma, relativi ai singoli soggetti firmatari;
  2. cosiddetta firma a cipolla, in cui l’intera busta crittografica sottoscritta dal primo firmatario viene firmata ed inserita in una ulteriore busta in una sorta di matrioska digitale.

 

La firma mupltipla CAdES


La firma PAdES

Trattandosi di una estensione dello standard Portable Document Format, codificato con ISO/IEC 32000, il formato di firma PAdES (Pdf Advanced Electronic Signatures) ha come primo grande vantaggio la possibilità di visualizzare il documento sottoscritto con un qualsiasi lettore di file PDF, anche mobile (si veda la seguente pagina su Wikipedia per un elenco sicuramente non esaustivo:  http://en.wikipedia.org/wiki/List_of_PDF_software).

L’architettura del formato PAdES consente di gestire inoltre, all’interno dello stesso file, più versioni di uno stesso documento (versioning), consentendo quindi di poter inserire modifiche o annotazioni successivamente alla firma su una copia, senza andare ad inficiare la validità del documento firmato originariamente.

 

 

E’ possibile altresì firmare parzialmente il contenuto di documento PDF ed inserire una rappresentazione grafica della firma digitale apposta.

La gestione della firma multipla da parte di più soggetti sullo stesso documento è gestita secondo le modalità di versioning, ciò consente di individuare, tracciare e verificare eventuali modifiche apportati al documento sottoscritto dai successivi firmatari.

 

La verifica di un PDF firmato PAdES con Adobe Reader

 

Come già detto il PDF firmato può essere aperto e visualizzato da qualsiasi reader, tuttavia per la verifica effettiva delle firme digitali apposte è necessario utilizzare una versione recente di Adobe Reader su computer Windows o Mac, impostando i parametri avanzati di sicurezza in modo da riconoscere le Certification Autority accreditate in Italia, come specificato sulla specifica pagina di AgID: http://www.agid.gov.it/agenda-digitale/infrastrutture-architetture/firme-elettroniche/firma-pdf


La firma XAdES

Il formato XAdES (Xml Advanced Eletronic Signatures) è uno standard di firma elettronica avanzata definito dal World Wide Web Consortium (più noto come W3C) e basato sul linguaggio di marcatura XML.

Il formato XML, sempre più usato e diffuso con applicazioni specifiche in vari settori, tra cui il mondo Giustizia, come noto consente di creare e descrivere documenti strutturati. Giusto per fare un esempio, è grazie al linguaggio XML che è possibile gestire i dati strutturati presenti nei depositi telematici del Processo Civile Telematico, consentendone ai sistemi informatici un trattamento automatico.

La firma XAdES analogamente allo standard PaDES consente di leggere il documento informatico firmato digitalmente e di sottoscrivere solo parti dello stesso, garantisce maggiore flessibilità permettendo la ricerca all’interno dei dati strutturati contenuti nei tag XML.

L’uso pratico del formato XAdES è tuttavia particolarmente complesso e ciò ne ha limitato la diffusione, basti pensare che di norma per la visualizzazione di un file XML in formato leggibile è necessario utilizzare file esterni denominati fogli di stile e che il foglio di stile utilizzato modifica come viene visto il documento dall’utente finale, pur senza alterare il contenuto del documento XML originario, firmato digitalmente.

 

INDIETRO