Il documento elettronico |
Se l'uso di tecniche
crittografiche per proteggere i documenti è antico
quanto la scrittura stessa, solo l'avvento del computer
ha permesso di realizzare nella pratica dei sistemi di
crittografia di nuova concezione basati su principi
materialmente impossibili da applicarsi con sistemi
manuali o meccanici. Si tratta di una nuova classe di
cifrari che godono di molte importanti proprietà: sono
molto sicuri ma al contempo facili da gestire; sono
immuni dai principali problemi dei sistemi di
crittografia classici, primo fra tutti quello della
gestione e distribuzione delle chiavi; sono in grado di
fornire "servizi" aggiuntivi quali la
"firma elettronica" e la certificazione del
mittente. Dato un cifrario del
genere, vediamo con quale elegante meccanismo si riesce
ad istituire un sistema crittografico pubblico. Ogni
utente del sistema si genera (da solo, è importante!) la
propria coppia di chiavi, che chiameremo "diretta"
e "inversa". Tutte le chiavi dirette
vengono inserite in una lista pubblica, una specie di
grande elenco del telefono di tutti gli utenti cui tutti
hanno libero accesso; le chiavi inverse rimangono invece
segrete. Vediamo ora invece come si può certificare l'identità del mittente di un messaggio privato. Diciamo che A vuole mandare a B un messaggio tale che non solo esso possa essere letto soltanto da B, ma anche tale che B possa avere l'assoluta certezza che nessun altro all'infuori di A possa averlo creato. Per far ciò, A cifra dapprima il messaggio usando la propria chiave segreta; poi cifra ulteriormente il messaggio risultante usando la chiave pubblica di B. A questo punto B, per leggere il messaggio, deve compiere le seguenti operazioni: dapprima decifra il messaggio utilizzando la propria chiave privata, come nel caso precedente; ottiene così un messaggio che però è ancora in cifra, per cui B procede a decifrarlo ulteriormente usando però questa volta la chiave pubblica di A. Solo adesso il messaggio è in chiaro e può essere letto; e B (o un giudice di tribunale...) ha la assoluta certezza che esso sia stato originato proprio da A, perché solo lui può aver usato la propria chiave segreta per applicargli la seconda cifratura. Come caso particolare A può anche mandare messaggi pubblici, ossia diretti a tutti e non segreti, in modo però che risulti certamente che proprio lui ne è l'autore. Per far ciò basta che li cifri con la propria chiave segreta: chiunque può infatti decifrarli utilizzando la chiave pubblica di A, e questo basta a dimostrare che l'autore del messaggio è proprio A dato che solo lui poteva conoscere la propria chiave segreta. Questa nuova classe di cifrari a chiave pubblica è diventata realtà nel 1978, quando tre ricercatori del MIT (Rivest, Shamir e Adleman) scoprirono la possibilità reale di costruire cifrari a chiave asimmetrica utilizzando particolari proprietà formali dei numeri primi con qualche centinaio di cifre. In realtà l'algoritmo da essi inventato, che dalle loro iniziali si chiama oggi RSA, non è sicuro in termini matematicamente dimostrabili, dato che esiste la possibilità teorica che nuove scoperte matematiche possano minarne la base; ma tutti gli studiosi sono d'accordo nel ritenere che tale possibilità sia enormemente improbabile, e dunque l'algoritmo RSA viene oggi ritenuto di massima affidabilità. Da notare che Rivest, Shamir e Adleman hanno provveduto a brevettare il proprio algoritmo ed a costituire una società (la RSA Data Security) per tutelarne i diritti commerciali. La RSA, recentemente acquistata dalla Security Dynamics, ha venduto i diritti dell'algoritmo a molti operatori di rilievo quali Netscape, Microsoft ed altri; ed una variante del sistema RSA è utilizzato nel diffusissimo pacchetto di crittografia chiamato PGP (Pretty Good Privacy), disponibile liberamente nel pubblico dominio. Oggi dunque l'algoritmo RSA costituisce il fondamento dei sistemi crittografici su cui si stanno basando i meccanismi di sicurezza ed autenticazione di Internet e della futura società "senza carta". Terminologia crittografica Il campo della crittografia, solo di recente balzato all'attenzione del grosso pubblico e degli organi di informazione, soffre purtroppo dell'uso di termini errati o imprecisi, spesso modellati maccheronicamente dai tecnici sui corrispondenti termini inglesi. Ma la crittografia è una disciplina che affonda le sue radici storiche in Italia (gli ambasciatori della Repubblica Veneziana e i Messi Pontifici erano i principali utilizzatori di tecniche crittografiche del Rinascimento...) e dunque dispone di un nutrito ancorché corretto insieme di termini che vale la pena di usare quando opportuno. E dunque bando agli anglicismi "crittare" o peggio ancora "encrittare", modellati sull'inglese "to encrypt": il verbo corretto è "cifrare" o "mettere in cifra"; mentre l'azione del cifrare si chiama "cifratura", non "crittazione" o "crittografazione". Il sistema di crittografia si chiama semplicemente "cifrario", mentre il messaggio risultante dalla cifratura è un "testo cifrato", in contrapposizione al "testo in chiaro" che è l'originale. La "chiave" è invece la particolare parola, o frase, utilizzata per applicare ad un testo chiaro le regole del cifrario per produrre un testo cifrato. Un antico principio della crittografia dice che il cifrario in s può essere pubblico, e che tutta la segretezza di un testo cifrato deve risiedere non nel cifrario ma nella chiave usata per cifrare. L'operazione inversa alla cifratura si chiama "decifratura" e, attenzione, non è la stessa cosa della "decrittazione"! Fra "decifrare" e "decrittare" vi è infatti una differenza sostanziale: chi decifra è infatti colui il quale è legittimamente in possesso della chiave del cifrario, e la applica secondo le corrette regole per mettere in chiaro un testo cifrato a lui regolarmente destinato; chi decritta, invece, è un estraneo che non è affatto in possesso della chiave, ma tenta fraudolentemente di venire a conoscenza del contenuto di un testo cifrato a lui non destinato utilizzando sistemi indiretti. (da MCmicrocomputer n. 168 - dicembre 1996) (*) giornalista scientifico, MCmicrocomputer |