-
INTERNET - CRITTOGRAFIA E CHIAVI PUBBLICHE
-
Ciao, sono Mia Gil-Epner,
-
mi sto specializzando in Informatica
-
all'Università di Berkley
-
e lavoro per il Dipartimento della Difesa,
-
di cui cerco di tenere al sicuro i dati.
-
Internet è un sistema aperto e pubblico,
-
tutti noi inviamo e riceviamo dati
-
attraverso linee condivise.
-
Ma nonostante sia un sistema aperto
-
continuiamo a scambiarci un sacco di dati personali
-
come: numeri di carte di credito,
-
dati bancari, password e email.
-
Quindi, come tenere segreti tutti questi dati personali?
-
Dati di ogni tipo possono esser resi segreti
-
attraverso un processo noto come "cifratura":
-
il rimescolamento del messaggio
-
per nascondere il testo originale.
-
Invece la "decifratura" è il processo
-
con cui viene ricomposto il messaggio
-
per renderlo leggibile.
-
Si tratta di una semplice idea
-
e le persone la mettono in atto da secoli.
-
Uno dei primi e più noti metodi di cifratura
-
fu il Cifrario di Cesare
-
nome dovuto a Giulio Cesare
-
un generale romano che cifrava i suoi ordini militari
-
per esser sicuro che,
-
se anche un messaggio fosse stato intercettato dai nemici,
-
questi non sarebbero riusciti a leggerlo.
-
Il Cifrario di Cesare è un algoritmo
-
che sostituisce ogni lettera nel messaggio originale
-
con una lettera che sta un certo numero di posizioni
al di sotto nell'alfabeto.
-
Visto che il numero di posizioni è noto
-
solo al mittente e al destinatario,
-
è considerato la "chiave".
-
Questa permette al destinatario
-
di decifrare il messaggio segreto.
-
Ad esempio, se il messaggio originale è "HELLO",
-
allora, usando l'algoritmo del Cifrario di Cesare
-
con chiave 5,
-
il messaggio cifrato sarà questo...
-
Per decifrare il messaggio,
-
il ricevente dovrebbe semplicemente usare la chiave
-
per invertire il processo.
-
Ma c'è però un grande problema con il Cifrario di Cesare,
-
chiunque può facilmente rompere o violare
-
il messaggio cifrato
-
provando ogni chiave possibile.
-
E nell'alfabeto inglese ci sono solo 26 lettere,
-
il che significa che dovreste fare provare
-
al massimo 26 chiavi
-
per decifrare il messaggio.
-
Ora, provare 26 chiavi possibili
-
non è molto difficile,
-
servirebbe circa un'ora.
-
Quindi, complichiamo le cose.
-
Invece di sfasare ogni lettera
-
dello stesso numero di posizioni,
-
sfasiamo ogni lettera di un numero
di posizioni diverso.
-
In questo esempio, una chiave a 10 cifre
-
stabilisce di quante posizioni verrà sfasata ogni lettera
-
per cifrare un messaggio più lungo.
-
Indovinare questa chiave sarebbe davvero difficile.
-
Con la cifratura a 10 cifre,
-
avremmo 10 miliardi di possibili soluzioni.
-
Ovviamente questo va ben oltre
-
ciò che un qualunque essere umano potrebbe risolvere,
-
gli servirebbero molti secoli.
-
Ma oggi, un computer di fascia media,
-
impiegherebbe pochi secondi
-
per provare tutti i 10 miliardi di possibilità.
-
Quindi, nel mondo contemporaneo,
-
in cui i cattivi sono armati di computer
-
anziché di matite,
-
come si possono cifrare i messaggi
-
con un grado di sicurezza tale
-
che sia "troppo difficile" violarli?
-
"Troppo difficile"
-
significa che ci sarebbero troppe possibilità da calcolare
-
in una ragionevole quantità di tempo.
-
Oggi le comunicazioni sicure vengono cifrate
-
utilizzando chiavi a 256 bit.
-
Ciò significa che il computer di un cattivo
-
che intercettasse il messaggio
-
dovrebbe provare questo enorme numero
di possibilità alternative
-
prima di scoprire la chiave e violare il messaggio.
-
Anche se si possedessero 100 mila super computer
-
e ognuno fosse in grado di provare
-
1 milione di miliardi di chiavi al secondo, servirebbero
-
miliardi di miliardi di miliardi di miliardi di anni
-
per provare tutte le possibili alternative,
-
solo per violare un singolo messaggio
-
protetto con la crittografia a 256 bit.
-
Sappiamo che i chip dei computer
-
vanno a velocità doppia e dimezzano la loro dimensione
-
circa ogni anno.
-
Se continuerà questo ritmo di progresso esponenziale,
-
problemi oggi irrisolvibili
-
diventeranno risolvibili tra poche centinaia di anni
-
e 256 bit non saranno più sufficienti per stare al sicuro.
-
E in effetti, in passato,
-
abbiamo già dovuto aumentare la lunghezza
della chiave standard
-
per tenere il passo con la velocità dei computer.
-
La buona notizia è che usare una chiave più lunga
-
non rende solo un po' più complessa la cifratura,
-
fa bensì aumentare esponenzialmente
-
il numero di possibilità che servirebbero per violare
-
un messagio cifrato.
-
Quando il mittente e il destinatario
-
condividono la stessa chiave
-
per cifrare e decifrare il messaggio,
-
si parla di CRITTOGRAFIA SIMMETRICA.
-
Con la crittografia simmetrica,
-
come il Cifrario di Cesare,
-
la chiave segreta deve essere concordata in anticipo
-
da due persone in privato.
-
Questo può andar bene per le persone
-
ma Internet è aperta e pubblica,
-
quindi è impossibile per due computer
-
"incontrarsi" in privato,
-
per accordarsi su una chiave segreta.
-
Invece i computer utilizzano
-
chiavi di cifratura asimmetriche:
-
una chiave pubblica
-
che può essere condivisa con chiunque
-
e una chiave privata che non va condivisa.
-
La chiave pubblica serve per cifrare i dati
-
e chiunque può usarla per creare un messaggio segreto,
-
ma il messaggio può esser solamente decifrato
-
da un computer che conosca la chiave privata.
-
Il funzionamento si basa su principi matematici
-
che non approfondiremo qui.
-
Pensatela così:
-
immaginate di avere una cassetta postale personale
-
dove chiunque può depositare delle lettere,
-
ma ha bisogno di una chiave per farlo.
-
Potete fare molte copie della chiave di deposito
-
e inviarne una ai vostri amici
-
o anche renderla accessibile pubblicamente.
-
I vostri amici o anche degli estranei
-
possono usare la chiave pubblica
-
per accedere al vostro spazio di deposito
-
e lasciare un messaggio,
-
ma solo voi potete aprire la cassetta postale
-
con la vostra chiave privata
-
per accedere a tutti i messaggi segreti che avete ricevuto.
-
E potrete inviare messaggi sicuri
-
in risposta ai vostri amici
-
usando la chiave pubblica di deposito
-
delle loro cassette postali.
-
In questo modo le persone possono scambiare messaggi sicuri
-
senza mai aver bisogno di accordarsi su una chiave privata.
-
La crittografia a chiave pubblica
-
è la base di tutti i sistemi di messaggistica sicura
su Internet,
-
compresi i protocolli di sicurezza SSL e TLS
-
che garantiscono la nostra sicurezza
-
quando navighiamo sul web.
-
I computer odierni la sfruttano
-
ogni volta che vedi il lucchetto
-
o la scritta "https" nella barra degli indirizzi
del browser,
-
ciò significa che il computer
-
sta usando la crittografia a chiave pubblica
-
per rendere sicuro lo scambio di dati
-
con il sito web visitato.
-
Maggiore è il numero di persone che usa Internet,
-
maggiore sarà il numero di dati personali trasmessi
-
e la necessità di mantenere sicuri quei dati
-
sarà ancora maggiore
-
e, via via che i computer diventano più veloci,
-
dovremo sviluppare nuovi metodi
-
per rendere la cifratura "troppo difficile" da violare
da parte dei nuovi computer.
-
In questo consiste il mio lavoro
-
e si evolve continuamente.