Home Page Riflessioni.it
Riflessioni sulle scienze

Riflessioni sulle Scienze

di Alberto Viotto    indice articoli

 

La lingua segreta

Aprile 2009
pag 2/2 pagina precedente

 

L’avvento dei calcolatori

L’avvento dei calcolatori ha completamente trasformato la crittografia; adesso si utilizzano algoritmi che richiedono un numero di operazioni molto elevato, al di là della portata di qualsiasi essere umano. È chiaro che anche le tecniche di attacco sfruttano le capacità dei calcolatori, innescando una sorta di circolo vizioso: un testo codificato anni fa, quando le capacità dei calcolatori erano molto inferiori, può essere facilmente decodificato con un attacco a “forza bruta” con i calcolatori. Questa tecnica prova tutte  le possibili combinazioni della chiave fino a trovarne una che produce un testo di senso compiuto.

Lo “stato dell’arte” della codifica crittografica è stato rappresentato fino a pochi anni fa dal DES (Data Encryption Standard), definito nel 1977 dal governo degli Stati Uniti. Il DES è un algoritmo “a blocchi”, perché non prende in considerazione i singoli caratteri ma sequenze di 64 bit, che possono contenere 8 caratteri in codifica ASCII.

La chiave utilizzata dal DES, che deve essere conosciuta sia dal mittente che dal destinatario, è di 64 bit, ma in realtà ne vengono utilizzati soltanto 56 (gli altri 8 sono dei bit di parità, che ne garantiscono l’integrità). Per rappresentare un numero di 64 bit servono 19 cifre decimali; una chiave DES espressa in forma decimale è qualcosa del tipo:

 

5768443022347814473

 

L’algoritmo effettua delle permutazioni sia sulla chiave che sul testo da crittografare, scambiando tra loro i bit secondo delle apposite tabelle. Dopo tutte le elaborazioni preliminari previste, si effettua una operazione di XOR bit a bit tra quanto si è ottenuto elaborando il testo e quanto si è ottenuto elaborando la chiave. La scelta dell’operatore di “esclusive or” XOR non è casuale. Infatti, se si conosce il risultato di una operazione di XOR tra due cifre binarie ed una delle due cifre originali, si può risalire al valore dell’altra.

L’operatore XOR è descritto da questa tabella

tabella

È facile vedere che se come parametri si considerano B e C, e si considera A come risultato, la relazione di XOR è sempre valida. In altri termini:

 

se C = XOR (A,B)      allora     A = XOR (B,C)     e     B = XOR (A,C)

 

Quindi, se si hanno a disposizione sia la chiave che il testo crittato con una operazione di XOR, si può ottenere il testo originale con un’altra operazione di XOR.

Le permutazioni previste dall’algoritmo DES sulla chiave e sul testo in chiaro hanno lo scopo di  rendere più pesanti i calcoli necessari per un attacco “a forza bruta”, effettuato provando tutte le possibili combinazioni della chiave: ognuna di esse, infatti, deve essere sottoposta a molte elaborazioni prima di verificare se dà origine ad un testo di senso compiuto.

Il numero di possibili combinazioni di una chiave di 56 bit è di due elevato alla cinquantaseiesima potenza, e cioè di 64 “Peta”, un numero esprimibile approssimativamente come 7 seguito da sedici zeri.

Per molto tempo si pensò che la potenza di calcolo necessaria per un attacco a forza bruta al DES fosse al di là delle possibilità tecniche di qualunque organizzazione; ancora nel 1998 il governo americano sosteneva pubblicamente che la forzatura del DES non era possibile nemmeno per un agenzia governativa con grande disponibilità di capitali come l’FBI. Il 17 luglio dello stesso anno, però, un team di tecnici guidati da John Gilmore della Electronic Frountier Foundation, un gruppo per la difesa dei diritti civili, realizzò un sistema in grado di forzare un testo criptato con il DES in pochi giorni. Il sistema aveva un costo di circa 200.000 dollari ed era alla portata di moltissime organizzazioni.

Con i calcolatori più recenti forzare un testo codificato con il DES richiede poche ore. Per rendere più sicura la codifica, si è diffuso l’utilizzo del “Triple DES”, che prevede che lo stesso testo venga sottoposto alle trasformazioni del DES per tre volte successive con tre chiavi diverse, rendendo pressoché impossibile un attacco a forza bruta. Negli ultimi anni, infine, il governo degli Stati Uniti ha proposto un nuovo standard, detto AES (Advanced Encryption Standard), sviluppato dai crittografi belgi Joan Daemen e Vincent Rijmen. L’AES lavora anch’esso su blocchi di testo di 64 bit, ma utilizza chiavi da 128 o 256 bit ed al momento non è vulnerabile agli attacchi a forza bruta.

 

La chiave pubblica

Tutte le tecniche crittografiche descritte richiedono un segreto condiviso; la chiave utilizzata da chi codifica deve essere conosciuta anche da chi deve decodificare. Comunicare la chiave in modo sicuro pone degli ovvi problemi organizzativi e di sicurezza; se viene intercettata tutti i messaggi crittografati possono essere facilmente letti da un estraneo.

È chiaro che le cose cambierebbero radicalmente se chi codifica il messaggio non avesse bisogno di una chiave segreta, ma potesse codificare utilizzando delle informazioni pubbliche. Il “trucco” consiste nell’utilizzare una chiave composta da due parti, una pubblica, che può essere comunicata senza problemi, ed un’altra privata, che soltanto il destinatario conosce. Utilizzando la chiave pubblica si può creare un messaggio che solo chi possiede la chiave privata corrispondente è in grado di leggere.

La procedura è abbastanza semplice, anche se richiede una grande potenza di calcolo. Chi deve ricevere dei messaggi crittografati genera una propria chiave segreta, privata, che non ha bisogno di comunicare a nessuno. A partire da questa elabora una chiave pubblica, che può distribuire liberamente. Chiunque gli debba spedire un messaggio segreto è in grado creare un testo crittografato che può essere decodificato soltanto da lui.

Il concetto di crittografia a chiave pubblica fu definito nel 1976 da Whitfield Diffie e Martin Hellmann, ma vi sono diversi modi di realizzarla. Una delle tecniche più diffuse fu sviluppata da Ron Rivest, Adi Shamir e Leonard Adleman, che fondarono un’azienda chiamata con il nome delle loro iniziali, RSA, ancora attiva nel campo della crittografia commerciale.

 

La firma digitale

Uno dei modi per verificare l’identità di una persona è chiedergli una “parola d’ordine”, e cioè richiedere che sia a conoscenza di un segreto. Comunicare questo segreto alle persone autorizzate, però, può essere pericoloso; se non ci si può incontrare di persona si deve trovare un sistema sicuro di comunicazione e, ad ogni modo, qualcuno potrebbe sentire la parola d’ordine quando viene pronunciata.

La magia della crittografia asimmetrica viene in aiuto anche in questo caso; non solo permette l’uso di una chiave che non si conosce, ma anche di essere certi che qualcuno possegga un segreto senza bisogno di comunicarlo. Chi possiede la chiave privata può generare un numero che solo lui è in grado di calcolare (una “firma digitale”), senza rischio che si possa risalire alla sua chiave privata. La verifica dell’autenticità del numero generato può essere fatta da chiunque a partire dalla chiave pubblica del mittente.

La chiave pubblica può essere conosciuta da tutti senza problemi, ad esempio può essere riportata su di un sito web, ma si deve essere certi che corrisponda proprio all’utente a cui è associata. In caso contrario, un malintenzionato potrebbe calcolare una coppia di chiavi privata e pubblica, e diffondere la falsa chiave pubblica attribuendola ad un utente di cui vuole falsificare la firma. Chi utilizzasse questa chiave pubblica inevitabilmente prenderebbe per autentici i messaggi firmati con la chiave privata del malintenzionato.

Per essere sicuri che una chiave pubblica appartenga ad un utente si usano i “certificati digitali”,  che sono composti dal nome di un utente e dalla sua chiave pubblica, il tutto firmato digitalmente da una “certification authority”, una organizzazione universalmente riconosciuta, come VeriSign, SecureNet, GTE CyberTrust. Prima di rilasciare un certificato ad un utente, una certification authority verifica che sia proprio lui, ad esempio chiedendo che si presenti con un documento di identità.

Ma, infine, come si può essere certi dell’identificazione della certification authority stessa, e cioè dell’autenticità della chiave pubblica usata per firmare un certificato? Queste chiavi sono “hardcoded”, e cioè comprese direttamente nel software, nei programmi utilizzati per leggere i messaggi di posta elettronica o per navigare sul Web. Il programma Internet Explorer di Microsoft, ad esempio, contiene le chiavi pubbliche di decine di certification authorities. Per un malintenzionato intervenire a questo livello sarebbe davvero difficile.

 

     Alberto Viotto

 

Se qualche lettore trovasse questo articolo interessante o ne volesse discutere, all'autore farebbe piacere ricevere delle e-mail all'indirizzo: alberto_viotto@hotmail.com

pag 2/2
pagina precedente

Altri articoli di Alberto Viotto

 

Libro suggerito:

La Rivincita dei Computer: Internet & Crittografia - Alberto Viotto - Simonelli Editore, 2007

 

Alberto Viotto offre gratuitamente due suoi Ebook:

 

Come ti fregano
Analisi dei meccanismi del marketing ed altri trucchi

 

"Da mattina a sera, sui giornali, sulle televisioni, sul web,  siamo sommersi da messaggi pubblicitari che sembrano pensati per un pubblico di semideficienti. Naturalmente il circo del marketing ha un costo, che ricade sull’ambiente ma anche su di noi, costretti a pagare di più i prodotti che ci servono (circa 400€ in più in media su ogni auto nuova).
Di chi la colpa? Ahimè, è nostra, perché compriamo i prodotti pubblicizzati; se la pubblicità non facesse aumentare le vendite i produttori smetterebbero di  tormentarci. Un rapido esame dei meccanismi del marketing ci può aiutare ad immunizzarci."

Achille e la tartaruga e altri paradossi

 

"Una nuova e più elegante soluzione al paradosso più famoso. Altri celebri enigmi (il sorite, il cretese mentitore, il gatto quantistico, la stanza cinese) affrontati da un punto di vista non convenzionale".


I contenuti pubblicati su www.riflessioni.it sono soggetti a "Riproduzione Riservata", per maggiori informazioni NOTE LEGALI

Riflessioni.it - ideato, realizzato e gestito da Ivo Nardi - copyright©2000-2024

Privacy e Cookies - Informazioni sito e Contatti - Feed - Rss
RIFLESSIONI.IT - Dove il Web Riflette! - Per Comprendere quell'Universo che avvolge ogni Essere che contiene un Universo