Cambia il formato della firma digitale. Come e quando?


E’ molto difficile parlare di un argomento tecnico come questo senza annoiare, ma tenterò di fare il possibile.

Per capire le modifiche introdotte dalla Deliberazione 45/2009 del CNIPA è utile prima capire cosa è e come si esegue la firma digitale.

La firma digitale si realizza applicando algoritmi crittografici che servono a cifrare (rendere illeggibili) e decifrare (rendere nuovamente leggibili) alcuni dati. Sulla smartcard che si utilizza per firmare è presente la chiave per cifrare (chiave privata), la chiave necessaria a decifrare (chiave pubblica) è gestita dalla CA (l’ente che ha rilasciato la carta).Per verificare che un documento non sia stato modificato, si sfruttano questi algoritmi , ma come?

Se venisse cifrato l’intero documento, chiunque potrebbe decifrarlo, ma solo il proprietario della chiave privata sarebbe stato in grado di cifrarlo. Questo potrebbe essere un metodo. I problemi di questo metodo sono almeno due, il primo è che la cifratura dell’intero documento impiegherebbe molto tempo (gli algoritmi sono “pesanti”) ed il tempo crescerebbe al crescere della dimensione del documento stesso; la seconda è che il documento ottenuto sarebbe illeggibile, per poterlo leggere dovremmo per forza decifrarlo, attendendo i tempi dell’algoritmo di decifratura.

Per risolvere il problema si è deciso di non cifrare l’intero documento ma soltanto l’impronta dello stesso. Ma cos’è l’imprnta di un documento?

L’impronta di un documento è una sequenza di byte di lunghezza fissa che viene derivata dal documento stesso tramite un algoritmo detto di HASH. Più è lunga la sequenza generata meno è probabile che due diversi documenti generino una stessa impronta.

Se l’impronta fosse lunga 1 byte, ci sarebbe una possibilità su 256 (28) che due documenti generino la stessa impronta.
Se l’impronta fosse lunga 2 byte, ci sarebbe una possibilità su 65535 (216)che due documenti generino la stessa impronta.
Se l’impronta fosse lunga 4 byte, ci sarebbe una possibilità su oltre 4 miliardi (232) che due documenti generino la stessa impronta.
L’attuale normativa sulla firma digitale prevede che l’algoritmo utilizzato per il calcolo dell’impronta generi un’impronta a 20 byte (algoritmo SHA-1), la probabilità che due documenti generino la stessa firma è di 1 su 2160.

Ricapitoliamo i passi necessari ad applicare la firma digitale ad un documento :

  1. calcolare l’impronta del documento
  2. cifrare (con chiave privata) l’impronta calcolata
  3. salvare l’impronta firmata insieme al documento originale.

Per verificare la firma è necessario eseguire i 3 passi appena indicati al contrario, quindi :

  1. dividere l’impronta cifrata dal documento originale
  2. decifare (con chiave pubblica) l’impronta cifrata
  3. calcolare l’impronta del documento originale e verificare che coincida con il risultato del punto precedente

Se qualcuno modificasse il documento originale (anche soltanto di una lettera) l’impronta calcolata non sarebbe più la stessa, anzi ci sarebbe 1 possibilità su 2160 che l’impronta ottenuta sia identica.

Chiarita la tecnologia che sta alla base della firma digitale, vediamo di capire come cambia la normativa.

Il CNIPA (DigitPA) ha deciso di cambiare l’algoritmo di calcolo dell’impronta adottandone uno ancora più sicuro, si passerà quindi da un’impronta a 20 byte (algoritmo SHA-1) ad un’impronta a 32 byte generata con un algoritmo SHA-256; la probabilità di ottenere la stessa impronta da due documenti diversi diventerà di una su 2256 (divertitevi a calcolare questo numero!!).
Questo nuovo algoritmo di generazione dell’impronta diventa lo standard per la firma digitale, dovrà essere utilizzato quindi sia per la firma dei documenti che per la marca temporale (da parte delle CA).

La delibera introduce altri tecnicismi (come il formato di salvataggio della marca temporale) che affronteremo, forse, in altri articoli; per ora ci interessei sapere che i documenti firmati dopo il 31 Dicembre 2010 utilizzando l’algoritmo SHA-1 non saranno più validi a meno che il dispositivo di firma (la smartcard) non sia di un tipo obsoleto.
Questo significa che il software di conservazione sostitutiva / fatturazione elettronica che utilizzate dovrà essere aggioranto entro la fine dell’anno.
In caso abbiate una smartcard obsoleta, potrete ancora applicare la firma nella modalità vecchia, sappiate però che la smartcard vi dovrà essere sostituita entro il 30 Giugno 2011 (con conseguente aggiornamento del software).

La versione beta di sinekarta implementa la firma digitale basata sull’algoritmo SHA-1; dalla versione RC2 (fine Ottobre) anche sinekarta sarà in grado di applicare la firma digitale secondo il nuovo formato.

Annunci

Ma la marca temporale è veramente indispensabile?


Capire a fondo gli aspetti legati alla marca temporale non è stato facile; noto che spesso le persone con le quali approfondisco i temi di sinekarta non hanno le idee chiare.

L’articolo di oggi ha l’obiettivo di fare chiarezza su questo spinoso tema.

Prima di tutto è utile fare una distinzione tra conservazione sostitutiva e fatturazione elettronica.

La prima ha lo scopo di definire delle linee guida generiche che permettano la dematerializzazione di qualsiaisi documento; la normativa di riferimento (definita dal CNIPA) è questa : http://www.cnipa.gov.it/site/_files/DELIBERAZIONE%2019%20febbraio%202004_v1.pdf (sapevate che il CNIPA è destinato ad essere sostituito da Digit@PA?).

La fatturazione elettronica invece è una normativa diversa che si basa su quella CNIPA ma che definisce le regole specifiche per i documenti “rilevanti ai fini tributari”; questa normativa è definita dal Ministero dell’Economia e delle Finanze (MEF) e la potete trovare qui : http://www.cnipa.gov.it/site/_files/DECRETO%2023%20gennaio%202004.pdf.

I documenti da me indicati sono alla base della normativa che, in 6 anni, è stata oggetto di diversi chiarimenti e modifiche; sono comunque un buon punto di partenza. Il lettore più attento avrà notato che la delibera CNIPA ha una data posteriore al decreto del MEF, ma questo è un’altro discorso…

Fin qui non penso di avere detto nulla di nuovo, tutti voi avrete gia sentito parlare (chi più, chi meno) di questi 2 importanti documenti.

La maggior parte delle persone però dedica alla lettura di queste poche pagine troppo poco tempo per capirci veramente qualcosa. Come ho già detto diverse volte questi documenti sono in perfetto burocratichese! Termini che per chiunque possono sembrare sinonimi non lo sono affatto, per leggerli adeguatamente bisogna soppesare ciascuna virgola e dare importanza a tutte le frasi.

Ma veniamo al tema del nostro articolo : la normativa CNIPA non parla MAI di marca temporale. Le linee guida generiche riguardanti la dematerializzazione indicano che il documento deve essere firmato (firma digitale) dall’RCS che attesta il corretto svolgimento del processo. Nella delibera CNIPA non si parla nemmeno di opponibilità a terzi, questo significa che un documento conservato secondo questa normativa non ha valore probatorio. Il motivo è sostanzialmente legato all’impossibilità di stabilire (da parte di terzi) la data e l’ora in cui l’RCS ha apposto la propria firma digitale.

A parole il giro è piuttosto contorto, vediamo di fare un esempio : io sono l’RCS del mio sistema di conservazione sostitutiva. Oggi un giudice mi chiede di esibire un documento particolare vecchio di 4 anni ma io mi accorgo di non averlo MAI messo nel mio sistema di conservazione sostitiviva, di fatto l’ho perso! Che guaio!!! Dovrò pagare una multa salatissima… No, no, no. Sai cosa faccio? Modifico la data del mio server (portandola indietro di 4 anni), scrivo il documento tramite un editor (OpenOffice?), lo metto nel mio sistema di conservazione sostitutiva e lo firmo. Rimetto la data del mio server a posto ed il gioco è fatto! Presento al giudice un documento che è stato messo in conservazione 4 anni fà.

Ovviamente chi ha pensato la normativa riguardante i documenti “rilevanti ai fini tributari” sapeva che l’italiano medio sarebbe dispostissimo a fare giochi come questo per evitare di pagare multe ed, in genere, per pagare meno soldi all’erario.

In realtà esiste un secondo problema. La firma digitale scade. La mia firma digitale ad esempio (rilasciata da Infocert) scade tra 3 anni. Questo significa che un documento firmato 4 anni fa non è più verificabile, ovvero essendo la firma scaduta, la chiave pubblica non è più valida. Se la chiave pubblica non è valida, qualsiasi verifica della firma fallirà. In un sistema di conservazione sostitutiva di questo tipo, tutti i documenti dovrebbero essere rifirmati (riversamento sostitutivo) prima dello scadere della vecchia firma.

La marca temporale risolve entrambi i problemi. Da una parte rende la data del processo di conservazione sostitutiva certa; questa viene garantita da un certificatore qualificato (accreditato presso il CNIPA); dall’altra estende la validità della firma dell’RCS. Le marche temporali e le chiavi utilizzate per la loro sottoscrizione sono conservate dal certificatore accreditato per un periodo di almeno 5 anni, prolungabili su base contrattuale.

Durante l’analisi funzionale di sinekarta abbiamo valutato attentamente questi aspetti ed abbiamo deciso di implementare un sistema di conservazione sostitutiva basato SEMPRE sulla marca temporale. La scelta è legata ad almeno due validi motivi :

  1. il costo di una marca temporale è così basso (infocert le vende ad un costo massimo di 36 centesimi euro) da ripagare abbondantemente il costo indotto dal riversamento sostitutivo dei documenti con firma scaduta
  2. la marca temporale è obbligatoria per i documenti “rilevanti ai fini tributari” e visto che sinekarta implementerà la fatturazione elettronica abbiamo pensato di portarci avanti

Il sistema di conservazione sostitutiva implementato da sinekarta rispetta entrambe le normative.

Come si applica la marca temporale?


Anche questa settimana l’argomento dell’articolo sarà una roba da informatici smanettoni, che bello!!!!

Sinekarta è prima di tutto un progetto software, quindi è meglio abbituarsi all’idea che gli atricoli tecnici inizino ad aumentare mentre quelli funzionali inizino a diminuire.

Ovviamente chiunque sia interessato ad approfondire un particolare aspetto della normativa, delle scelte funzionali o delle strategie di realizzazione, basta che chieda!

Che cosa è la marca temporale ed a cosa serve? ma soprattutto : perchè è necessario pagarla?

La funzione della marca temporale è di validare il momento (nel tempo) in cui il documento è stato prodotto. Un po’ come succede con alcuni cartacei (ad esmepio il passaporto) in cui viene applicata una marca da bollo che attesta il momento in cui il documento è stato reso ufficiale (o rinnovato).

Esiste un protocollo internet standard (RFC 3161) che definisce il comportamento di un ente (TSA – TimeStamp Authority o CA – Certification Authority) che intende erogare questi “bolli” virtuali. Questo standard è stato adottato anche per la marca temporale. Nel mondo esistono diversi enti che possono erogare questo servizio, diversi anche in modo gratuito (uno per tutti geotrust.com) ma solo alcuni sono considerati attendibili dalla normativa italiana.

L’elenco delle CA (o TSA), accreditate presso il CNIPA, con il relativi riferimenti, links e offerte di mercato, si può trovare sul sito web del CNIPA (www.cnipa.it).

Per capire esattamente in cosa consiste il processo di marca temporale (o validazione temporale) è utile studiare questa immagine :

  1. Per prima cosa viene estratta l’impronta (HASH) del documento sul quale si intende calcolare la marca temporale (nel caso di sinekarta il documento sarà l’xml che contiene diverse impronte).
  2. L’impronta viene inviata alla CA che accoda il timestamp (data e ora che devono essere conformi a specifiche di precisione)
  3. Il risultato del punto precedente viene firmato
  4. Al risutalto firmato viene accodato il timestamp della firma (questa volta in chiaro)
  5. Il risultato ottenuto è la marca temporale, viene restituita al richiedente

Questo scambio di dati avviene su protocollo HTTP (o HTTPS).

L’ultima domanda alla quale rispondere è : perchè si paga? Non ho idea se le CA debbano pagare allo stato una quota per ogni marca temporale assegnata (non mi stupirebbe se fosse così). Sicuramente le CA sono tenute, per legge, ad avere un’infrastruttura per conservare (almeno 20 anni) le marche temporali assegnate. Questo è il motivo per cui solo alcune CA vengono accreditate e possono rilasciare marche temporali a norma.

Ho la certezza che il processo per diventare una CA accreditata (considerando tutti gli aspetti del sistema) sia abbastanza complesso da giustificare (almeno in parte) i costi.

Fatturazione elettronica, una prima occhiata alla normativa.


Nell’ultimo articolo ho posto una domanda riguardo la conservazione sostitutiva delle fatture analogiche.

Anche in questo caso, le idee non mi si sono chiarite finchè non ho letto (con un minimo di attenzione) la normativa (in queso caso mi riferisco al decreto 23 gennaio 2004 – Modalità di assolvimento degli obblighi fiscali relativi ai documenti informatici ed alla loro riproduzione in diversi tipi di suppporto).

Nonostante i suggerimenti ricevuti sia da Francesco che da Lorenzo (peraltro entrambi corretti), ho girato attorno al problema senza che mi si accendesse la classica lampadina. Mi scuso con loro per la mia miopia…

La conservazione sostitutiva non si può applicare nello stesso modo a tutti i tipi di documenti, questo è un concetto che dobbiamo sempre tenere ben presente. La delibera CNIPA indica 3 procedure differenti per i documenti informatici, per i documenti analogici originali unici e per quelli non unici. La stessa delibera, inoltre, indica che alcuni documenti (quelli doganali e quelli di eccezionale valore storico) NON possono essere portati in conservazione sostitutiva.

I documenti “rilevanti ai fini tributari” sono un’ulteriore categoria di documenti, la cui conservazione va applicata con regole diverse da quelle specificate dal CNIPA. Per meglio dire, le regole sono molto simili (la base è la stessa) ma ci sono alcuni dettagli che cambiano. In questo caso le regole sono dettate dal Ministero dell’Economia e delle Finanze, sulla base di quelle del CNIPA.

Il suddetto decreto fa una distinzione tra “documenti informatici rilevanti ai fini delle disposizioni tributarie” e le “scritture contabili e i documenti analogici rilevanti ai fini delle disposizioni tributarie”.

Applicare la fatturazione elettronica significa rientrare nella prima categoria, l’azienda produce delle fatture sottoforma di documenti informatici. Non è tutto qui, applicare la fatturazione elettronica implica altre regole, ma per rispondere alla mia domanda ci basta questo. Dettaglio importante : le fatture elettroniche vanno portate in conservazione (marca temporale) con cadenza almeno quindicinale (entro 15 giorni dalla data di emissione).

La mia domanda riguardava la conservazione sostitutiva delle fatture analogiche, quindi si rientra nella seconda categoria. Anche in questo caso la normativa è chiara : anche i documenti analogici (dopo essere stati firmati dall’RCS) seguono le stesse regole dei documenti informatici; quindi anche le fatture analogiche devono essere portate in conservazione entro 15 giorni dalla data di emissione.

Prima considerazione : chiunque sostenga ancora che la normativa non è completa, evidentemente non l’ha mai studiata! Troppo facile dire “non è completa” senza soffermarsi a valutare le singole parole dei diversi documenti (decreti, delibere, …).

Un aspetto che, da informatico, mi ha fatto rabbrividire riguarda la modalità di archiviazione delle fatture analogiche. In questo caso è esplicativa la Risoluzione 158/E dell’Agenzia delle Entrata che cita : “La materializzazione su supporto fisico … e, più in particolare, la stampa su carta, sono, dunque, adempimenti ineludibili ai fini dell”esistenza stessa del documento” e ancora “si sottolinea che soltanto a seguito della materializzazione il documento potrà considerarsi giuridicamente esistente e rilevante ai fini delle disposizioni tributarie”. Questo significa che se produco una fattura analogica (ad esempio un PDF), sono costretto a stamparla perchè questa diventi reale!!!!Certo! Stamparla per poi scannerizzarla e mandare in conservazione l’immagine.

Ma non finisce qui… Visto che stampare la fattura per poi scannerizzarla e distruggerla non ha molto senso, il Ministero ci ha messo una pezza ed ha stabilito che : “ferma restando la necessità della materializzazione su supporto fisico dei documenti rilevanti ai fini delle disposizioni tributarie, formati tramite strumenti informatici, ma non aventi, fin dall”origine i requisiti dei documenti informatici, per la loro conservazione si potrà procedere all”acquisizione della relativa immagine tramite il processo di generazione dello spool (o rappresentazione grafica) di stampa, a condizione che l”immagine così acquisita rispecchi in maniera, fedele, corretta e veritiera il contenuto rappresentativo del documento”.

Di fatto, a parte la questione dello spool (sulla quale torneremo più avanti) l’importante è che il documento mandato in conservazione sostitutiva rispecchi in maniera, fedele, corretta e veritiera il contenuto rappresentativo del documento. Cosa significa? Significa che il PDF/A che è stato stampato può essre mandato direttamente in conservazione, senza preoccuparsi di effettuare una scannerizzazione. Questo non vuole dire che la stampa non si debba fare…. ma subito dopo averla fatta la potremo cestinare. (CHE CAVOLATA!!!)