Per ottenere questo
risultato la firma elettronica si basa sull’utilizzo di strumenti
crittografici.
Quindi nel sistema
della firma digitale ciascun titolare ha assegnate una coppia di chiavi da un soggetto istituzionalmente qualificato (il
certificatore) che emette a favore del titolare un certificato digitale che
associa il numero binario di 2048 bit alla sua identità.
Questo sistema
associa in modo univoco il richiedente alle credenziali di sottoscrizione, così
da permetterne l’identificazione in modo certo.
Contemporaneamente a
questa chiave, detta pubblica perché nota a tutti gli interessati, viene
generata un’altra chiave di pari lunghezza che è privata ed a controllo
esclusivo del titolare.
Per firmare, il
soggetto che possiede un documento da inviare deve applicare al documento una
funzione di hash così da ottenere un output di lunghezza fissa. A questo punto
il soggetto deve applicare la sua chiave privata sul output ottenuto in
precedenza, così da ottenere un contenuto cifrato. Il contenuto cifrato è per la firma digitale.
E’ indispensabile
associare la firma al documento e questo avviene attraverso specifici formati.
Se, ad esempio, utilizziamo il PDF il formato è denominato PAdES.
La firma elettronica
viene utilizzata nelle fatture elettroniche verso la P.A. infatti chiunque
emette delle fatture elettroniche in relazione a servizi nei confronti della
P.A. è tenuto a dotarsi di un certificato di firma qualificata.
Un esempio ottenuto
applicando una firma digitale è il file di tipo p7m. Grazie ad appositi
software, infatti, è possibile firmare digitalmente qualunque tipologia di file
(sia esso un documento di testo, un foglio di lavoro, un'immagine o una foto) e
creare file p7m in poco tempo.
I file con estensione
p7m possono dunque essere paragonati a degli archivi di documenti certificati e
autenticati tramite firma elettronica. Insomma, un file p7m è un documento su
cui è stata apposta la firma elettronica per i motivi più svariati (ad esempio,
per autenticare il proprio curriculum vitae e partecipare così a un concorso
pubblico).
Per verificare la
firma, si separa il documento dalla firma, si applica al documento la stessa
funzione di hash che ha usato il soggetto che ha firmato, così da ottenere un
output di lunghezza fissa. Il secondo passo consiste nel decifrare la firma
digitale utilizzando la chiave pubblica del soggetto che ha firmato. La
verifica risulta positiva quando hashing ottenuto dal documento risulta uguale
all hashing ottenuto dalla de-cifratura della firma.
questo
processo permette di verificare che i dati sono corretti e non vi è stata una
perdita di informazioni. Se qualcuno cerca di modificarlo il codice di hash
risulta diverso e quindi posso sapere se qualcuno lo ha manomesso.
L’ insieme degli
algoritmi utilizzati per le firme digitali prendono il nome di Elliptic Curve
Digital Signature Algorithm - ECDSA.