Firma digitale, principi e nozioni

di Sonia Ferretti

Pubblicato 27 Agosto 2008
Aggiornato 12 Febbraio 2018 20:49

Sappiamo tutti che che le nostre comunicazioni email sono a rischio di intercettazione in quanto “in chiaro”. Il contenuto può essere letto da occhi indiscreti pertanto è sempre consigliabile non inviare codici segreti, numeri di carte di credito o altro senza gli opportuni accorgimenti.

Alcuni hacker, addirittura, si divertono a intercettare le trasmissioni e ad alterarne il contenuto.
Se riflettiamo su questi trend e li caliamo nella realtà  business comprendiamo bene come diventi sempre più importante difendersi dalle falsificazioni.

Esistono diversi sistemi che ruotano su un punto cruciale: la firma digitale con la quale è possibile accertare autenticità , integrità  e riservatezza delle informazioni. Se nella email ricevuta trovate delle stringhe alfanumeriche queste probabilmente sono “fingerprint” e servono per autenticare il mittente. La generazione della firma, infatti, avviene sfruttando un algoritmo che unirà  al testo della email una chiave. Ogni minima modifica può compromettere la validità  della firma. Ma facciamo il punto:

Chiavi: servono per creare la firma digitale.
Ogni utente ha una coppia di chiavi, una chiave privata da non svelare a nessuno e con cui può decodificare i messaggi che gli vengono inviati e firmare i messaggi che invia, e una chiave pubblica che altri utenti utilizzano per codificare i messaggi da inviargli e per decodificare la sua firma, stabilendone quindi l’autenticità .

Per ogni utente, le due chiavi vengono generate da un apposito algoritmo con la garanzia che la chiave privata sia la sola in grado di poter decodificare correttamente i messaggi codificati con la chiave pubblica associata e viceversa.
Lo scenario in cui un mittente vuole spedire un messaggio ad un destinatario in modalità  sicura è il seguente: il mittente utilizza la chiave pubblica del destinatario per la codifica del messaggio da spedire, quindi spedisce il messaggio codificato al destinatario; il destinatario riceve il messaggio codificato e adopera la propria chiave privata per ottenere il messaggio “in chiaro”.

Keyring: è un raccoglitore delle chiavi pubbliche.
Programmi come PGP permettono di inserire chiavi pubbliche ricevute direttamente o scaricate dai server. Un “public Key server” mette a disposizione su internet le chiavi pubbliche di persone intenzionate a renderle condivisibili.

Fingerprint: corrisponde alla chiave generata tramite una funzione (Hash) univoca operante in un solo senso (ossia, che non può essere invertita), atta alla trasformazione di un testo di lunghezza arbitraria in una stringa di lunghezza fissa, relativamente limitata. Tale stringa rappresenta una sorta di “impronta digitale” del testo in chiaro, e viene detta valore di hash, checksum crittografico o message digest.

Certificato: nel Keyring, ogni chiave è corredata di informazioni su proprietario, data di creazione, data di scadenza.

Web of trust (rete di fiducia): utilizzata da altri utenti per garantire che quella firma digitale appartiene al creatore. Per farlo gli utenti “firmano” la chiave pubblica. I key signing party aiutano in modo consistente a estendere la propria rete di fiducia.

Per approfondire i risvolti di mercato, vi rimando infine al post sulla disciplina italiana in tema di e-commerce.