1 487
contributi
mNessun oggetto della modifica |
|||
Riga 1: | Riga 1: | ||
= | =Introduzione= | ||
L'esigenza di garantire che un messaggio possa arrivare inalterato e non violato esiste probabilmente da quando l'uomo ha iniziato a comunicare; la storia � piena d'episodi e racconti che hanno per argomento messaggi e codici segreti, oppure i tentativi fatti per riuscire a decodificarli. Nel passato le esigenze di segretezza riguardavano prevalentemente la sfera politica e militare, senza arrivare a interessare, se non in minima parte, i cittadini comuni; con l'espansione sempre pi� forte delle comunicazioni a distanza l'esigenza di garantire l'invio di dati sensibili (pensiamo, per esempio, ai pagamenti effettuati tramite carta di credito) e, pi� in generale, la privacy dei dati e delle comunicazioni interpersonali, ha posto in grande evidenza i temi della crittografia e della steganografia dei dati, che studiano rispettivamente come codificare un messaggio per renderlo incomprensibile e come nasconderlo per renderlo inintelligibile. | |||
Non bisogna pensare che la necessit� di mantenere la riservatezza delle comunicazioni riguardi unicamente chi ha "qualcosa da nascondere": la scarsa sicurezza intrinseca della maggior parte dei sistemi di comunicazione a distanza non pu� garantire quel diritto alla privacy che � ormai sancito dalla legislazione di tutti i Paesi. | |||
: | |||
== | =Le basi della crittografia= | ||
Il cifrario (o metodo di cifratura) pi� semplice si basa unicamente sull'algoritmo scelto: si applica al messaggio di partenza una serie di trasformazioni che lo rendono incomprensibile a chi non conosca il sistema utilizzato. Un sistema di questo tipo piuttosto diffuso � il cosiddetto ROT-13, che prevede d'invertire le prime 13 lettere dell'alfabeto con le ultime (scambiando la A con la N, la B con la O e cos� via); questo sistema viene utilizato nei messaggi pubblici (nei forum e nei gruppi di discussione), per evitare che qualcuno possa leggere informazioni che non vuole conoscere (per esempio, il finale di un film che non ha ancora visto). Si tratta di soluzioni poco sicure e facilmente violabili da un crittoanalista esperto, che basano la propria efficacia unicamente sulla segretezza dell'algoritmo di cifratura. Un notevole passo avanti � costituito dai cosiddetti sistemi a chiave simmetrica, che affiancano a un algoritmo di cifratura un secondo elemento: la chiave. In questo caso, l'algoritmo non dev'essere necessariamente segreto, ma � anzi opportuno che sia il pi� possibile diffuso e conosciuto: un sistema ampiamente testato e conosciuto fin nel pi� piccolo dettaglio sar� pi� stabile e fornir� maggiori garanzie riguardo all'assenza di bug. In questo caso la sicurezza � dunque affidata alla chiave, che dev'essere fornita all'algoritmo insieme al messaggio per cifrarne o decifrarne il contenuto: naturalmente l'algoritmo � costruito in maniera tale da garantire che a ciascuna coppia chiave-messaggio corrisponda sempre lo stesso risultato e che, d'altro canto, da chiavi diverse s'ottenga sempre un risultato diverso in maniera tale che non esistano due chiavi capaci di "aprire" uno stesso messaggio cifrato. | |||
Soluzioni di questo genere sono note fin dall'antichit�, come i famosi cifrari utilizzati da Giulio Cesare durante la campagna in Gallia, quello di Vigenere, oppure la famosa macchina Enigma, utilizzata dai tedeschi durante la Seconda Guerra Mondiale, anche se solo con il progresso della teoria dei numeri, della logica e dell'informatica si � arrivati a costruire cifrari la cui solidit� � dimostrabile. | |||
== | =La Crittografia e l'Informatica= | ||
Il principale limite dei sistemi a chiave simmetrica, indipendentemente dalla bont del cifrario, rappresentato dalla chiave, che dev'essere trasmessa attraverso un canale sicuro, per poter garantire la solidit della cifratura: se questo requisito poteva essere accettabile per le comunicazioni militari, chi vuole effettuare un acquisto via Internet non pu essere costretto a incontrare personalmente il venditore per scambiare la chiave. | |||
Dagli anni '70 l'informatica e la crittografia sono legate da un intreccio inscindibile, grazie alla teorizzazione e alla realizzazione di cifrari a chiave asimmetrica; sfruttando il fatto che alcuni calcoli matematici, per quanto teoricamente risolvibili, necessitino in realt di un'enorme quantit di tempo per essere compiuti (addirittura milioni o miliardi di anni), possibile costruire cifrari che utilizzino una coppia di chiavi, una pubblica destinata alla cifratura e una privata (da mantenere segreta) per la decifratura. | |||
Ecco l'esempio classico che chiarisce il funzionamento di questo sistema: Alice e Bob vogliono comunicare tra loro privatamente; entrambi generano una propria coppia di chiavi, una pubblica ed una privata. Si scambiano le rispettive chiavi pubbliche, senza necessit di alcun genere di sicurezza (esistono su Internet numerosi elenchi di chiavi pubbliche, liberamente consultabili). In seguito, Alice utilizzer la chiave pubblica di Bob per cifrare il messaggio che intende inviargli. Bob, ricevuto il messaggio, lo decifrer utilizzando la propria chiave privata, avendo la certezza che nessuno, a parte Alice, abbia potuto leggerne il contenuto. | |||
=I tre requisiti necessari= | |||
Per essere completamente funzionante, un sistema crittografico deve garantire il soddisfacimento di tre requisiti: riservatezza, integrit� e non ripudiabilit�. | |||
Del primo argomento abbiamo gi� parlato, mentre gli altri due fattori intervengono nell'esempio descritto poco pi� sopra: prima di cifrare il messaggio, Alice potr� utilizzare la propria chiave privata per firmarlo in maniera tale che Bob, una volta ricevuto e decifrato il messaggio, potr� verificare il mittente e l'integrit� del contenuto. | |||
Non � invece possibile garantire che ciascuno degli attori di questo esempio sia chi dice di essere: se qualcuno, per esempio, decidesse di impersonare Alice, creando una nuova coppia di chiavi e iniziando la comunicazione con Bob, quest'ultimo non avrebbe la certezza che il suo interlocutore sia realmente chi dice di essere. Da un altro punto di vista, Alice potrebbe disconoscere, o ripudiare, in qualsiasi momento la conversazione, sostenendo di non esserne l'autrice, senza che Bob abbia alcuno strumento per provare il contrario. Per garantire la non ripudiabilit� � necessario introdurre un terzo attore, un'autorit� di certificazione (anche CA, Certification Authority), che sia affidabile, e che possa dunque garantire l'associazione tra una chiave pubblica e l'effettivo proprietario, con tutti i problemi del caso. | |||
== | =La steganografia= | ||
Per fare in modo che un messaggio non cada in mani sbagliate � possibile utilizzare anche soluzioni diverse rispetto alla cifratura: la steganografia, per esempio. | |||
La steganografia consente di nascondere un messaggio all'interno di un vettore che possa consentirne il trasporto senza destare sospetti: esempi in letteratura sono gli inchiostri "simpatici", che si rivelano soltanto in determinate circostanze, mentre rimanendo in ambito informatico esistono soluzioni diverse. | |||
Se per alcuni tipi di file le informazioni contenute non possono essere modificati in alcun modo, esistono altri formati in cui un lieve cambiamento passa del tutto inosservato: esempi tipici sono immagini e file audio, in cui una leggera differenza nella forma dell'onda sonora, oppure del colore in alcuni punti, non viene percepita dall'orecchio o dall'occhio umano. Sfruttando questo principio � dunque possibile modificare i file, inserendo informazioni nascoste all'interno di vettori assolutamente insospettabili; crittografando poi i dati si riesce ad ottenere un livello di confidenzialit� accettabile. Anche questo sistema ha per� qualche limite: la quantit� di informazioni inseribili � piuttosto piccola e basta anche una minima modifica al file contenitore, effettuata magari inconsapevolmente, per compromettere l'integrit� del messaggio. | |||
== | =Link utili= | ||
[http://www.gnupg.org GnuPG] | |||
[http://www.nsa.gov National Security Agency (NSA)] | |||
[http://www.verisign.com Verisign] | |||
[[Categoria:Sicurezza]] | |||
contributi