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

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

w

Connessione a %s...

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