Firme digitali: la parziale attendibilità della verifica delle firme PAdES con Acrobat

Firme digitali: la parziale attendibilità della verifica delle firme PAdES con Acrobat

Da test effettuati a partire da un caso reale, siamo venuti a conoscenza di un problema che riguarda la verifica delle firme PAdES effettuata con le attuali versioni di Acrobat Reader DC, Acrobat Reader 11 ed Acrobat Pro 11.

Com’è  stato reso noto anche attraverso il sito dell’Agid, “Le attuali versioni di Acrobat XI e DC, consentono di verificare le firme digitali basate su certificati di firma rilasciati da tutti i certificatori accreditati stabiliti nell’Unione europea.  Adobe ha infatti reso disponibile il supporto alle Liste di fiducia (Trusted List) pubblicate dalle autorità di vigilanza degli Stati membri in conformità con la normativa comunitaria, dimostrando grande attenzione alle esigenze dell’Unione europea“: tale pur apprezzabile innovazione introdotta da Adobe, però, parrebbe perfettibile, se è vero – come abbiamo avuto modo di sperimentare – che la verifica  delle firme PAdES effettuata con le nuove versioni dei ricordati software restituisce all’apparenza un esito positivo pur essendo stata apposta al documento una firma invalida perché realizzata con un algoritmo (lo SHA1) non più utilizzabile da giugno 2011.

Per meglio comprendere tale questione, che non è meramente tecnica, va ricordato che il sistema delle firme digitali si basa sull’utilizzo su un certificato (chiave privata) di firma rilasciato da un “soggetto certificatore”[1]. L’apposizione di una firma si realizza mediante l’applicazione di un algoritmo (vale a dire un procedimento di calcolo) da cui si ottiene l’impronta del documento (message digest). Tale impronta viene codificata col predetto certificato e, all’esito di tale procedimento, il documento è reso immodificabile.

L’impronta codificata del documento è poi confrontabile con la chiave pubblica del certificato, esposta a cura dell’ente certificatore (inserito nelle c.d. trusted list), il che consente di stabilire, mediante l’utilizzo di appositi strumenti informatici, chi ha firmato quel dato documento e se questo sia stato modificato o meno dopo la firma.

Ovviamente, tutto ciò presuppone l’utilizzo di un certificato di firma valido nel momento in cui il soggetto appone la firma digitale e l’utilizzo di un algoritmo “sicuro”: è tale quell’algoritmo che garantisca l’univocità dell’impronta del documento cui il certificato viene associato.

Tali algoritmi adoperati per le firme digitali sono detti anche asimmetrici,  perché implementano due funzioni: una piuttosto semplice, per crittografare,  e l’altra più complessa per decrittografare: ciò serve perché è essenziale che dal codice generato dall’associazione della firma all’hash non si possa risalire alla chiave privata.

Orbene, l’algoritmo SHA-1 , inventato nel 1995, è ormai da tempo ritenuto dalla scienza informatica obsoleto e poco sicuro, tant’è che per effetto dell’art. 4 della delibera CNIPA 45/2009[2] così come modificato dalla Determinazione Commissariale 28 luglio 2010, per le firme apposte dopo il 30 Giugno 2011 deve essere, sia quanto al formato CAdES che a quello PAdES, adoperato  un algoritmo di hashing SHA256.

Vale la pena ribadire che l’utilizzo di tale più robusto algoritmo di cifratura è previsto a garanzia dell’integrità delle firme stesse e dei relativi certificati sicché l’apposizione di una firma con l’algoritmo deprecato SHA1 implica che la firma si debba ritenere per non apposta ai sensi dell’art. 24, comma 4-bis del CAD in riferimento ai commi 3 e 4 della stessa norma, per violazione delle regole tecniche ex art. 71 CAD.

Non a caso, le stesse regole tecniche per il processo civile telematico (DM 44/2011) prescrivono all’art. 11 il rispetto delle specifiche ex art. 34 dello stesso DM e, segnatamente, dell’art. 12, comma 2, che in materia di firme elettroniche prescrive che “La struttura del documento firmato è PAdES-BES (o PAdES Part 3) o CAdES-BES”.

Detto ciò, veniamo al caso pratico ed all’ “esperimento” eseguito.

Premettiamo anzitutto che l’errore nell’apposizione della firma si verifica allorché la firma stessa venga apposta dall’interno di Acrobat Reader  senza aver preventivamente impostato quest’ultimo per l’utilizzo dell’algoritmo corretto: su questo blog abbiamo più volte illustrato come si realizza tale impostazione, con un videotutorial realizzato dall’avv. Riccardo Berti (CSPT) ed altre analoghe istruzioni sono state pubblicate anche sul sito del Centro Studi Processo Telematico (cspt.pro).

Da questo link è possibile scaricare un documento volutamente firmato in PAdES senza le impostazioni corrette, affinché ciascuno possa provare direttamente: eppure, aprendo il file con Acrobat DC , questo evidenzierà (erroneamente) nella barra superiore che la firma è valida!

2017-01-27_120227

Così pure è anomalo il fatto che, procedendo con le ulteriori verifiche della firma con le funzionalità del software di Adobe, emerga (falsamente) che è stato utilizzato l’algoritmo SHA256:

In realtà, com’è possibile verificare dalle più approfondite “proprietà avanzate” del pannello di firma, l’algoritmo usato è lo SHA1, pur evidenziandosi incredibilmente una presunta conformità della firma stessa al Regolamento eIDAS (UE 910/2014):

2017-01-27_120408

Procedendo invece alla verifica con altro software (es. DIKE 6) verrà svelata l’invalidità della firma:

2017-01-27_122422

Consigliamo pertanto vivamente a tutti i colleghi:

a) di impostare preventivamente Acrobat Reader per l’apposizione delle firme con l’algoritmo corretto, come illustrato qui

b) di non limitarsi – fino a quando Adobe non avrà provveduto ad eliminare gli illustrati bug – alla verifica delle firme col predetto software ma di approfondire verificandone quantomeno le proprietà avanzate o di ricorrere congiuntamente ad altri verificatori.

[1] Cfr. art. 3, n. 20, Regolamento UE 910/2014: “«prestatore di servizi fiduciari qualificato», un prestatore di servizi fiduciari che presta uno o più servizi fiduciari qualificati e cui l’organismo di vigilanza assegna la qualifica di prestatore di servizi fiduciari qualificato” in riferimento all’art. 24 ed agli artt. 30 e ss dlt 82/2005.

[2] Art. 4 (Funzioni di hash) 1. I certificatori accreditati devono utilizzare per la sottoscrizione dei certificati elettronici di certificazione, di sottoscrizione e di marcatura temporale e per la sottoscrizione delle relative CRL, il seguente algoritmo, definito nella norma ISO/IEC 10118-3:2004: dedicated hash-function 4, corrispondente alla funzione SHA-256. 2. Le applicazioni di generazione della firma digitale per la sottoscrizione dei documenti informatici devono utilizzare la funzione di hash indicata al comma 1. (2) 2-bis. Salvo quanto disposto dall’articolo 27, comma 4, le applicazioni di verifica della firma digitale per la sottoscrizione dei documenti informatici devono utilizzare la funzione di hash indicata al comma 1. (3) 2 Comma sostituito dalla Determinazione Commissariale DIGITPA n.69 del 28 luglio 2010 (GURI n. 191 del 17 agosto 2010). 5 3. Le applicazioni di generazione e verifica della marca temporale devono utilizzare la funzione di hash indicata al comma 1. 4. Fino allo scadere dei termini previsti nell’articolo 29 della presente deliberazione, i certificatori accreditati devono utilizzare il seguente algoritmo, definito nella norma ISO/IEC 10118-3:2004: dedicated hash-function 3, corrispondente alla funzione SHA-1.

robertoarcella

5 commenti

Francesco Grillo Scritto il12:37 - 27 Gennaio 2017

Dopo averlo letto…mi sono ricoverato!!

avvfrancescofuscofondiitalia Scritto il08:59 - 28 Gennaio 2017

Grazie Avv. Roberto Arcella
ogni VS. articolo è importantissimo e una lezione sul processo telematico;
mi permetto solo di dire che sempre su questo ottimo BLOG, tempo addietro venne pubblicato, stesso tema, un articolo dell’ avv. Fabio Salomone;
in un primo tempo questo articolo venne inserito anche nel sito uff. di Giust. Amm.va, poi venne sostituito con altro articolo;
Buona giornata a Tutti e Grazie Tantissimo per il lavoro che svolge l’Avv. Roberto Arcella rendendolo disponibile a Tutti.
Fondi 28/01/17
francesco fusco

Massimo Sim. Scritto il11:55 - 13 Febbraio 2017

A complicare le cose aggiungo che sottoponendo la firma sha1 del file “test…” al Verificatore on line del Notariato essa viene considerata attendibile… quantomeno viene visualizzato nel report la dicitura ” esito verifica: ( e segno di spunta verde)” che fa pensare a esito positivo… e c’è la dicitura Algoritmo di impronta: SHA256
[con file cades bes con firma digitale regolare dà il seguente messaggio:Questa firma presenta un problema di verifica. In particolare: Firma non aderente allo standard ETSI – La busta crittografica
PAdES-BES non è completamente aderente allo standard ETSI TS 102 778-3 V1.1.2. La firma è in formato PADES-BES.]
—–
Il verificatore della chiavetta Aruba pure restituisce un segnale di spunta verde. Ma il report informa che la firma è in formato Pades basic
—–
Invece il Verificatore on line Postecert di Poste Italiane avverte in maniera chiara:
“Attenzione: La firma e’ stata generata utilizzando l’algoritmo SHA1 che dal 30/06/2011 non e’ conforme alla normativa”
BN 13.II.2017, Massimo Sim.

MassImo Sim. Scritto il15:18 - 14 Febbraio 2017

Errata (commento precedente = [con file cades bes con firma digitale regolare…] )
corrige: CORRETTO = [con file PADES BES con firma digitale regolare…]
Mi scuso per il disguido.
Bn 14,II,2017, Massimo Sim.

Vincenzo Del Gatto Scritto il22:37 - 9 Agosto 2017

Adobe Reader è un programma di gestione documentale PDF utilizzato world-wide che non presta certo attenzione a specifiche norme nazionali come la Deliberazione CNIPA 45/2009 (e ss.mm.ii), la quale stabilisce appunto l’utilizzo dell’algoritmo di hashing sha256 come unico valido per l’apposizione di una firma digitale. Non esiste alcuna norma o atto implementativo, valido a livello internazionale (o almeno europeo), che deprechi l’uso di sha1 nella sottoscrizione di un documento informatico, sebbene tale algoritmo sia ormai da anni notoriamente considerato insicuro, in favore del più robusto sha256 (e superiori).
In ogni caso, Adobe Reader non va considerato in alcun modo un programma onnicomprensivo per la verifica delle firme digitali PAdES: esistono diverse “difformità” rispetto non solo a normative nazionali ma anche a standard ETSI validi in tutta Europa. Va considerato come uno strumento rapido per verificare l’integrità (crittografica) della firma (o delle firme) apposte sul documento e la validità dei certificati firmatari. Controlli più raffinati sono proprii di programmi di firma e verifica di firma digitale che supportino il formato PAdES (nei varii profili).
Saluti.

Lascia un commento

%d blogger hanno fatto clic su Mi Piace per questo: