La firma digitale è il meccanismo crittografico che permette di autenticare un documento digitale e garantirne l'integrità. A differenza di una firma classica (che è solo un'immagine), una firma digitale è indissolubilmente legata al contenuto del documento: cambiare anche un solo bit invalida la firma.
La firma digitale si basa sulla crittografia asimmetrica: ogni utente ha una coppia di chiavi, una pubblica e una privata.
Il processo è in due fasi:
Firma (lato mittente):
Verifica (lato destinatario):
L'operazione funziona perché solo il possessore della chiave privata può produrre una firma che la chiave pubblica corrispondente è in grado di verificare.
Importante
Firmare un documento non lo cifra. Chiunque può leggerne il contenuto. La firma certifica solo chi lo ha prodotto e che non è stato alterato.
La firma da sola non basta: come faccio a sapere che una certa chiave pubblica appartiene davvero a chi dice di essere?
Entra in gioco l'infrastruttura PKI (Public Key Infrastructure): un'autorità di certificazione (CA) firma a sua volta la chiave pubblica dell'utente, producendo un certificato digitale. La fiducia si propaga a catena, partendo dai certificati radice (root CA), pre-installati nel sistema operativo, fino al certificato dell'utente finale.
Qui su Cryptea si utilizza lo stesso principio per l'emissione dei certificati digitali e per la firma digitale sul dato crittografato con RSA-CBC.