2
conclude infine con una riflessione relativa alla correlazione esistente fra la ricerca
della riservatezza, anche attraverso la legge sulla privacy, e l’utilizzo della
crittografia e della firma digitale.
La terza ed ultima parte riporta infine le norme che sono state citate e prese in
considerazione nello sviluppo dell’elaborato stesso, allegandone la versione integrale
solo in formato digitale.
3
- Parte Prima -
PRESUPPOSTI
TECNOLOGICI
4
Capitolo I - LA CRITTOGRAFIA
1.1 Alle origini della crittografia
Fin dall’antichità l’uomo ha sentito la necessità di operare in sicurezza nella
trasmissione delle informazioni, indipendentemente dalla loro tipologia e dall’ambito
in cui queste si sviluppavano (basti pensare semplicemente ai geroglifici che
scrivevano gli Egizi più di 6000 anni fa in modo non standard e sui quali ancora oggi
si lavora per un’interpretazione). Proprio da questa necessità è nata la crittografia
Crittografia deriva dal greco cripto (nascondere) e graphein (scrivere) ed è quella
scienza che studia come sviluppare dei sistemi crittografici: si occupa dunque della
progettazione di algoritmi (o cifrari) per crittografare un messaggio rendendolo
incomprensibile a tutti tranne al suo destinatario, il quale deve essere in grado di
codificarlo utilizzando un algoritmo simile, attraverso un codice segreto detto chiave,
usato in precedenza anche dal mittente per la cifratura
1
.
Gli antichi cifrari così come i moderni algoritmi utilizzano svariate tecniche,
impiegate singolarmente o combinate fra loro, per rendere un qualsiasi testo
incomprensibile agli occhi di tutti, ma non al prestabilito destinatario; di seguito
analizzeremo brevemente alcune fra le più importanti tecniche antiche di crittografia,
riportandone anche le principali implementazioni pratiche.
Le notizie più lontane nel tempo relative a vere e proprie tecniche di crittografia
risalgono alle guerre fra Spartani e Ateniesi del 400 a.C, periodo in cui gli efori di
Lisandro (generale spartano) si scambiavano messaggi riservati attraverso la tecnica
1
Vedremo in seguito che questo sistema è stato superato nella crittografia moderna dei sistemi a
chiave pubblica, ma ancora sfruttato dai sistemi cosiddetti misti.
5
della trasposizione, cioè rimescolando i caratteri del testo originario secondo una
regola prestabilita.
Nella fattispecie essi utilizzavano la cosiddetta “scitala
lacedemonica”: mittente e destinatario erano dotati ciascuno di
un pezzo di legno di uguali misure (note solo a loro); il
mittente avvolgeva il proprio legno con una striscia sottile di
carta, sulla quale poi trascriveva il testo del messaggio segreto
su colonne fra loro parallele rispetto la lunghezza del bastone;
dopo aver srotolato il papiro, il testo risultava decifrabile solo
tramite un pezzo di legno di uguali dimensioni e forma del
primo (cioè quello in possesso del destinatario).
Successivamente, nel corso del quarto secolo a.C. Enea il Tattico descrisse nel primo
trattato di cifre e messaggi segreti una diversa applicazione della tecnica di
trasposizione, basata su un disco forato nel fascia esterna in ventiquattro punti,
ognuno corrispondente ad una lettera dell’alfabeto, e nel centro. Il mittente del
messaggio avvolgeva un filo di lana su tale disco, partendo dal foro centrale e
infilando poi di seguito le lettere componenti il testo, fino a completarlo; chi riceveva
il disco, dopo aver riportato le lettere dell’alfabeto, lo svolgeva segnando a mano a
mano le lettere indicate fino ad individuare il testo, che doveva però essere letto al
contrario.
Anche nella Bibbia si trovano tracce di una seppur semplice tecnica crittografica: la
sostituzione monoalfabetica, che nel caso biblico fu utilizzata per cifrare il nome di
“Babele” secondo un metodo per cui la prima lettera dell’alfabeto ebraico veniva
scambiata con l’ultima, la seconda con la penultima e così via fino ad ottenere una
sorta di nuovo alfabeto, comprensibile solo a chi ne conoscesse il segreto (Codice
Atbash).
Tale tecnica veniva utilizzata anche all’epoca dell’Impero Romano, quando ancora
pochi sapevano leggere e scrivere: la sua implementazione nel cosiddetto Cifrato di
Figura 1.1 - Scitala
Lacedemonica
6
Cesare è un ulteriore esempio di applicazione della crittografia in campo militare.
Giulio Cesare, dovendo avvalersi di uomini-messaggeri per comunicare coi sui
generali, usava tale tecnica per rendere i propri messaggi decifrabili ai soli
destinatari, che erano a conoscenza della “chiave di lettura” per ripristinare il
messaggio originale. Il cifrario consisteva nel sostituire ogni lettera del messaggio
con un'altra lettera posizionata più avanti nell'alfabeto di un certo numero di posti e,
per l'esattezza, Giulio Cesare utilizzava la chiave "3": ciò significa che tutte le lettere
del testo originale venivano scalate di tre postazioni dell’alfabeto (la A diventava D,
la B diventava E, la C diventava F e così via). La debolezza di questo sistema di
crittografia sta nel fatto che si possono utilizzare solo tante chiavi quante le lettere
dell'alfabeto meno una (quindi considerando l’alfabeto moderno solo 25 chiavi) e per
capire quale sia la giusta chiave per decifrare il messaggio è sufficiente effettuare
qualche tentativo sulle prime parole del testo cifrato. Nonostante questo grande
limite, dovuto all’estrema semplicità del metodo, questo cifrato rimane comunque un
elemento importante nella storia della crittografia, in quanto ha dato inizio
all’evoluzione verso la moderna crittografia proprio grazie alle molte varianti
sviluppatesi a partire da esso.
[…]
1.2 La crittografia moderna
La crittografia moderna introduce una nuova tecnica di crittografia rispetto a quella
conosciuta ed utilizzata fino agli anni ’70
2
: oggi infatti gli algoritmi crittografici
utilizzati sono principalmente di due tipi: gli algoritmi a chiave segreta (o
simmetrici) e gli algoritmi a chiave pubblica (o asimmetrici), anche se una
2
Questa tecnica di crittografia è quella utilizzata in tutti i cifrari “antichi”, fra cui quelli esaminati
nel paragrafo precedente.
7
particolare dottrina considera una terza tipologia di funzione crittografica, la
funzione di Hash
3
.
Nei sistemi di primo tipo la chiave usata per crittografare è la stessa che permette al
destinatario di decifrare il messaggio e si dicono simmetrici in quanto conoscendo il
procedimento e la chiave di codifica, per simmetria sono facilmente ricavabili quelli di
decodifica; nei sistemi a chiave pubblica invece ognuno dei soggetti in comunicazione
possiede due chiavi: una chiave privata, che conosce solo il possessore, e una chiave
pubblica, che viene resa nota a tutti; tali algoritmi sono detti asimmetrici perché
implementano due funzioni una diretta e molto semplice per crittografare e l’altra
inversa e generalmente molto complicata per decrittografare.
Nei seguenti paragrafi verrano esaminate in modo più approfondito le due (tre se si
considerano le funzioni di Hash) tecniche crittografiche ed alcuni dei principali e più
usati algoritmi di implementazione delle stesse.
1.2.1 Crittografia simmetrica
La crittografia a chiave segreta (comunemente chiamata “crittografia simmetrica”) si
basa su due fondamentali componenti: l’algoritmo o funzione di cifratura, cioè una
procedura che consenta di trasformare il messaggio originale (detto “in chiaro”) in
messaggio cifrato, e una chiave segreta che sia nota solo al mittente e al destinatario
del messaggio. Gli algoritmi simmetrici si suddividono a loro volta in: cifrari a
blocco che sono in grado di cifrare un solo bit di testo chiaro alla volta e cifrari a
flusso che diversamente prendono un certo numero di bit (nei moderni cifrari
tipicamente 64) e li cifrano come una singola unità.
I sistemi a chiave simmetrica vengono oggi utilizzati per proteggere l’informazione
dalla visione di soggetti non autorizzati, per garantire che il messaggio arrivi
esattamente come è stato spedito e senza alcuna alterazione dell’informazione insita
3
Per un’analisi più approfondita si veda il paragrafo 1.2.2.
8
in esso, per consentire al vero mittente di includere nel messaggio informazioni che
lo identifichino con certezza.
Tali sistemi implicano però delle conseguenze negative derivanti fondamentalmente
da due limiti insuperabili: il problema più rilevante sorge allorché si renda necessaria
la comunicazione a distanza, dovendo le parti scambiarsi la chiave di criptazione
prima dell’inizio della comunicazione mediante un mezzo assolutamente sicuro per
evitare che questa si possa perdere o venga intercettata da un terzo soggetto intruso,
invalidandone così la segretezza: il problema della sicurezza si sposta quindi dal
messaggio alla chiave segreta. Un altro aspetto negativo è relativo all’integrità del
messaggio, infatti poiché i due interlocutori condividono una stessa chiave di
cifratura e decifratura entrambe possono modificare, o alterare, il testo originario:
questo implica l’impossibilità, o quantomeno la difficoltà, di provare ad un soggetto
terzo che un determinato messaggio è stato effettivamente generato da uno dei due
utenti.
Nonostante questi inconvenienti, alcuni algoritmi a chiave segreta hanno avuto
notevole successo; è il caso ad esempio dell’algoritmo DES (Data Encryption
Standard) che a partire dal 1977, anno in cui fu adottato ufficialmente dal governo
statunitense per la protezione di dati considerati riservati (ma comunque non
classificati come “segreti militari” o “di stato”)
4
, è stato considerato uno standard nel
mondo della crittografia per alcune decine di anni.
L’algoritmo DES è un cifrario composto a blocchi, sviluppato inizialmente dall'IBM
e successivamente modificato dalla National Security Agency (NSA); è progettato
per criptare e decriptare dati in blocchi di 64 bit: se il messaggio è più grande viene
diviso in campi di 64 bit ciascuno, se è minore i bit mancanti alla sinistra vengono
completati con zeri. La chiave utilizzata dall’algoritmo è di 64 bit, anche se ne
vengono presi in considerazione solo i primi 56; in ogni caso le possibili
4
Il DES è tuttora usato da tutte le agenzie federali statunitensi, fatta eccezione per quegli atti che
richiedano un livello più alto di sicurezza.
9
combinazioni di 56 bit sono innumerevoli (10
7
) e risulta conseguentemente
impossibile non conoscendo la chiave ricostruirla per tentativi; il sistema è talmente
complesso che pur conoscendo il messaggio in chiaro a quello codificato è
impossibile risalire alla chiave utilizzata per la cifratura.
Tuttavia nel 1998 la Electronic Frontier Foundation annuncia la definitiva sconfitta
del DES e costruisce il primo apparecchio che in meno di sessanta ore era in grado di
forzare un messaggio cifrato con DES, dimostrando così i gravi rischi di sicurezza in
cui incorreva chi utilizza il Data Encryption Standard.
Non appena si intuì che il sistema DES non sarebbe resistito ancora molto agli
attacchi dei crittoanalisti, fu proposto un nuovo cifrario attualmente conosciuto col
nome di IDEA (International Data Encryption Algorithm), ma creato nel 1991 come
IPES (Improved Proposed Encryption Standard) da due famosi ricercatori dello
Swiss Federal Institute of Technology: Xuejja Lai e James L. Massey. Anch’esso è,
come il DES, un codice cifrato a blocchi di 64 bit, con la differenza che la chiave
utilizzata in questo caso è di 128 bit: questo elimina (almeno in via teorica) qualsiasi
possibilità di intercettazione della chiave con procedendo per tentativi, dal momento
che le possibili chiavi formate da 128 bit sono pressoché infinite (2
128
).
La cifratura con IDEA comporta una divisione del testo normale lungo 64 bit in
quattro sottoblocchi di 16 bit, ognuno dei quali durante la cifratura subisce otto passi
in cui sono coinvolte 52 sottochiavi diverse di 16 bit, ottenute dalla chiave a 128 bit;
durante i passi il secondo e il terzo blocco si scambiano di posto mentre all'ultimo
passo i quattro sottoblocchi vengono concatenati ottenendo così un blocco di testo
cifrato di 64 bit. La decodifica avviene seguendo la stessa procedura, eccezion fatta
per l’ottenimento delle sottochiavi.
IDEA risulta essere al momento il cifrario a chiave segreta più apprezzato ed
utilizzato in ambito commerciale, soprattutto grazie alla sua velocità di codifica e
decodifica e al suo elevato grado di sicurezza, che gli permesso infatti di resistere,
almeno fino ad oggi, agli attacchi di numerosi crittoanalisti mondiali.