Tecnologia delle firme elettroniche

Hash, Impronta, coppia di chiavi asimmetriche, firma, verifica

Nella quasi totalità delle implementazioni la "digital signature" (che è un concetto tecnico-matematico, mentre la definizione italiana "firma digitale" richiama a un concetto giuridico che individua una fattispecie molto precisa di firma elettronica) è basata su questo schema:

Tecnologia delle firme elettroniche

  1. Il sottoscrittore prepara il documento da firmare
  2. Il software di firma applica un algoritmo di hash standard e ne deriva un'impronta (una stringa di bit di lunghezza fissa, più facile da manipolare dell'intero documento)
  3. Il software a questo punto usa la chiave privata del sottoscrittore per cifrare (con algoritmo di cifratura asimmetrica) l'impronta del documento: il risultato di questa cifratura (un'altra stringa di bit) è la firma digitale.
  4. La firma digitale è associata al documento, che viene in generale trasmesso a un destinatario

In fase di verifica il destinatario (verificatore) elabora il documento con un software che:

  1. Calcola l'impronta del documento con lo stesso algoritmo di hash usato dal sottoscrittore.
  2. Decifra la firma digitale con la chiave pubblica associata alla chiave privata usata per firmare: il risultato deve essere ancora l'impronta
  3. Se le due copie di impronta così ricavate sono uguali allora la firma è valida e il documento è integro

Certificato di chiave pubblica

Per completare un'infrastruttura che consenta di verificare efficacemente le firme elettroniche si ricorre al Certificato di Chiave Pubblica:

Certificato di chiave pubblica

Il Certificato è un file, in formato standard, che contiene i dati anagrafici del proprietario della coppia di chiavi e una copia della chiave pubblica stessa.

Un soggetto giudicato attendibile si accerta dell'identità del titolare del certificato e lo autentica apponendovi la propria firma: la Certification Authority.

Il certificato è normalmente inserito nel documento insieme alla stringa di bit che ne costituisce la firma.

Così il verificatore avrà subito a disposizione la chiave pubblica da impiegare nella verifica e potrà verificarne l'autenticità (questo è possibile verificando preventivamente la firma della Certification Authority: è un procedimento ricorsivo, di non facile comprensione, ma efficace).

La Firma Digitale in Italia e in Europa

Nel nostro paese la Firma Digitale è lo strumento più potente per assicurare a un documento informatico integrità e paternità.
A tale scopo le norme pongono dei vincoli rigorosi per rafforzare l'attendibilità delle firme:

  • rendendo molto affidabile il processo di identificazione del titolare del certificato (quindi della coppia di chiavi)
  • rendendo impossibile copiare, duplicare, utilizzare una chiave privata altrui

La Certification Authority, in questo contesto, diventa un Certificatore Accreditato e il certificato rilasciato in conformità alla procedura prescritta è un Certificato Qualificato.
La chiave privata, per non essere duplicabile, non può risiedere nella memoria di un normale computer, ma deve trovarsi in un "Dispositivo Sicuro per la Generazione delle Firme (Secure Signature Creation Device = SSCD)". Tale dispositivo, non potendo in alcun caso esportare la chiave privata per consentirne l'utilizzo, riceverà invece in ingresso l'impronta per ritornarne la versione cifrata: la firma digitale.
Le tipologie disponibili sono:

  • smartcard (da inserire in un apposito lettore)
  • smartcard in formato SIM (integrata o inserita in una sorta di chiavetta USB)
  • server sicoro per la "firma remota": questi sistemi sono gestiti direttamente dal Certificatore, possono ospitare le chiavi di migliaia di utenti e vengono usati attraverso Internet, di solito in combinazione con una autenticazione forte (generatore di codici OTP, codici ricevuti via cellulare)