La matematica di James Bond. Alla scoperta della crittografia, Stefano LeonesiProf. Stefano Leonesi, Lei è autore del libro La matematica di James Bond. Alla scoperta della crittografia edito da FrancoAngeli: qual è l’importanza della crittografia nella nostra società?
Forse non ce ne accorgiamo, ma l’arte di scrivere messaggi segreti è essenziale e permea molte delle nostre attività quotidiane. Del resto, mentre una volta l’esigenza di nascondere il significato di messaggi e informazioni era prerogativa di imperatori, capi di stato, militari e spie alla James Bond, oggi, con lo sviluppo della tecnologia e delle opportunità telematiche, sono divenuti appannaggio irrinunciabile del cittadino comune, fosse anche per un innocente acquisto via internet o per gestire il proprio conto in banca online. In effetti oggi l’informazione viaggia per lo più per via telematica attraverso internet, posta elettronica, canali satellitari e per telefono e di conseguenza si sono create nuove esigenze e aperti orizzonti più ampi. Si può ad esempio acquistare comodamente da casa trasmettendo le coordinate della propria carta di credito, eseguire bonifici bancari online, firmare contratti digitali, partecipare ad aste online, votare a distanza e via dicendo. Ma tutto ciò esige protezione e riservatezza per non rimanere indifesi rispetto a intercettazioni e truffe, rese più subdole dall’intangibile essenza del world wide web. Se volessimo fare un breve elenco dei diversi obiettivi che la crittografia d’oggi si prefigge ricordiamo:

  1. a) la riservatezza (privacy): mantenere segreta una informazione tranne che ai legittimi destinatari;
  2. b) l’autenticazione: verificare la fonte dei dati; il destinatario deve essere in grado di accertare se i dati siano stati effettivamente inviati dal mittente dichiarato o invece da un impostore che si spacci per lui;
  3. c) l’integrità dei dati: assicurare che i dati originali non vengano alterati senza autorizzazione; il ricevente deve poter rilevare se i messaggi inviatigli siano stati nel frattempo modificati da un estraneo durante la spedizione.
  4. d) il non ripudio: impedire che qualcuno possa negare di aver commesso una certa azione digitale, convincendo una terza parte neutrale.

Quando nasce la crittografia?
Potremmo spingerci a dire che nasce insieme alla civiltà stessa. Sono stati scoperti, infatti, messaggi segreti in alcuni geroglifici egizi risalenti a più di quattro millenni fa, ma anche in alcune tavolette scritte in cuneiforme risalenti ai Babilonesi e all’antica Mesopotamia. Che dire poi della scitala lacedemonica, un bastone cilindrico usato ancora dagli spartani nel quinto secolo a. C. avvolgendovi intorno delle bende su cui scrivere trasversalmente le lettere del messaggio, bende che poi venivano srotolate e inviate. Anche Giulio Cesare, come riferito da Svetonio in De Vita Caesarum (II secolo d.C.), quando scriveva agli amici su questioni private talora criptava traducendo semplicemente in greco, talaltra provvedeva a permutare le lettere secondo un modello prefissato. Certo, le tecniche usate allora erano primitive rispetto a quelle moderne, paragonabili a dei giochi per ragazzini d’oggi ma efficaci per le loro epoche. Da queste origini, poi, la crittografia si è sviluppata massicciamente di pari passo con il progresso culturale e scientifico dell’umanità e ancora adesso è un campo in rapidissime espansione e innovazione.

Quali tecniche sono oggi alla base delle più sofisticate applicazioni informatiche della crittografia?
Le tecniche crittografiche possono dividersi in due grandi famiglie: quelle simmetriche e quelle asimmetriche. In quelle simmetriche c’è una chiave di cifratura che i corrispondenti devono preventivamente scambiarsi, e sapere come si cifra equivale a sapere come di decifra. Ma questo può rappresentare un ostacolo e anzi un grave difetto rispetto alle nuove esigenze della crittografia moderna dove i corrispondenti possono trovarsi a migliaia di chilometri di distanza e l’intercettazione della chiave sarebbe letale. Una maniera per ovviare a questa difficoltà è quella di escogitare sistemi crittografici che escludano qualunque trasmissione di chiave. Ogni utente dispone di una coppia di chiavi, una pubblica, che ogni suo ipotetico interlocutore può ed anzi deve sapere per cifrare la corrispondenza che intende inviargli; una privata, che soltanto lui deve conoscere, gelosamente custodire e che gli serve per decifrare i messaggi che gli pervengono. Ma in questo caso una chiave pubblica per cifrare i messaggi deve avere le seguenti caratteristiche, del tutto opposte a quelle che contraddistinguono la crittografia classica: non deve essere richiesto alcuno scambio preliminare di chiave e decifrare deve essere enormemente più difficile che cifrare, almeno per chi non conosce la chiave privata. Questo viene realizzato attraverso funzioni matematiche considerate “a senso unico” come la fattorizzazione in numeri primi e le inverse di logaritmi, radici e quadrati discreti. La caratteristica più apprezzata dei cifrari simmetrici è la capacità di essere particolarmente veloci e facili da implementare, sia a livello hardware che software, lo svantaggio sta, invece, nella distribuzione delle chiavi. I criptosistemi a chiave pubblica, invece, non presentano questo problema, ma peccano per la loro lentezza, connaturata all’asimmetria voluta tra cifratura e decifratura e alla conseguente maggior lunghezza delle loro chiavi: in media essi sono da 100 a 1000 volte più lenti dei cifrari simmetrici. Per questo gli algoritmi crittografici a chiave pubblica sono in genere utilizzati per cifrare brevi messaggi come PIN o numeri di carta di credito. Oggi sono in uso soprattutto sistemi di crittografia misti, che combinano le due tecniche in modo da fonderne i vantaggi. In pratica, si utilizzano sistemi asimmetrici a chiave pubblica, come l’RSA, per comunicare e distribuire in modo protetto le chiavi (segrete) simmetriche (in questi casi chiamate chiavi di sessione) che poi verranno usate per veloci comunicazioni criptate con cifrari a chiave simmetrica, come l’AES256.

Cosa c’entra Ernesto Che Guevara con l’unico criptosistema perfetto?
Se si considera un criptosistema come assolutamente sicuro quando nessun vantaggio circa l’identificazione del messaggio originale può discendere dalla conoscenza del messaggio cifrato o, per dirla in altri termini, se ogni messaggio ha la stessa probabilità di essere quello originale, il cosiddetto cifrario di Vernam è sostanzialmente l’unico a essere “perfetto”. In breve, consiste in un sistema simmetrico in cui la chiave casuale di cifratura è lunga quanto il messaggio stesso. Ma il cifrario di Vernam non è rimasto confinato nei testi di teoria crittografica, ma è stato certamente utilizzato per lungo tempo per proteggere le comunicazioni ai più alti livelli, ad esempio del cosiddetto “telefono rosso”, la linea telefonica diretta tra i presidenti di USA e URSS istituita nel 1963 durante la guerra fredda; oppure per codificare i messaggi tra Ernesto Che Guevara e Fidel Castro, come testimoniato dal ritrovamento di un codice Vernam nelle tasche di Guevara quando fu catturato e ucciso dall’esercito boliviano nel 1967.

Possiamo fidarci del commercio elettronico?
L’assoluta sicurezza è difficile da promettere perché tante sono le insidie e numerosi i mascalzoni in azione. Tuttavia una prima regola minimale, navigando in internet e dovendo immettere informazioni riservate, è quella di controllare se all’inizio dell’indirizzo della pagina web è presente la sequenza “https” a rappresentare una buona garanzia che quello che si sta visionando è un sito sicuro, affidabile e in grado di tutelare le informazioni riservate che si vanno ad inserire. In effetti l’https è un protocollo di comunicazione sicura che unisce all’http (HyperText Transfer Protocol), che stabilisce come le informazioni vengono scambiate fra browser e server web, uno schema crittografico a chiave pubblica come il Secure Sockets Layer (SSL) o il Transport Layer Security (TLS). Lo schema consente una comunicazione sicura tra sorgente e destinatario (detta end-to-end, cioè tra i due nodi alle estremità della connessione) fornendo autenticazione, integrità dei dati e cifratura.

È possibile garantire un voto libero e segreto in un’elezione digitale?
Tra i requisiti indispensabili per una valida e sicura votazione elettronica è d’obbligo ricordare i seguenti.

  • Eleggibilità: solo gli aventi diritto votano e, naturalmente, un’unica volta.
  • Riservatezza: come garantisce l’articolo 48 della Costituzione, il voto deve essere segreto e anonimo; quindi dalla scheda elettronica non si deve poter risalire al votante né il votante deve essere in grado dimostrare di aver espresso una certa preferenza.
  • Induplicabilità e inalterabilità: il voto non deve essere duplicabile, eliminabile o modificabile, operazioni che porterebbero ad alterare in modo fraudolento il conteggio finale.
  • Verificabilità: ogni elettore deve essere in grado di controllare se il proprio voto sia stato scrutinato correttamente.

Ebbene, nel libro fornisco vari esempi di protocolli che offrono garanzie via via crescenti sul piano della minimizzazione della possibilità di brogli o attacchi e della massimizzazione della segretezza del voto. Seppur perfettibili, questi protocolli dimostrano come sia teoricamente e tecnicamente possibile imbastire una procedura elettorale elettronica efficace, con la sua dote di risparmio di tempi e costi abbinati alla rapidità di scrutinio. D’altronde, come per le elezioni tradizionali, non esiste un metodo di votazione elettronica che si possa definire assolutamente sicuro. Si tratta di adottare protocolli, strategie e accortezze che portino a ridurre al minimo le possibilità di imbrogli.