0:00:02.620,0:00:08.214 INTERNET - CRITTOGRAFIA E CHIAVI PUBBLICHE 0:00:08.760,0:00:10.820 Ciao, sono Mia Gil-Epner, 0:00:10.820,0:00:12.363 mi sto specializzando in Informatica 0:00:12.363,0:00:13.540 all'Università di Berkley 0:00:13.540,0:00:15.760 e lavoro per il Dipartimento della Difesa, 0:00:15.760,0:00:18.106 di cui cerco di tenere al sicuro i dati. 0:00:18.620,0:00:21.900 Internet è un sistema aperto e pubblico, 0:00:21.900,0:00:24.089 tutti noi inviamo e riceviamo dati 0:00:24.089,0:00:26.429 attraverso linee condivise. 0:00:26.429,0:00:28.524 Ma nonostante sia un sistema aperto 0:00:28.524,0:00:30.989 continuiamo a scambiarci un sacco di dati personali 0:00:30.989,0:00:32.685 come: numeri di carte di credito, 0:00:32.685,0:00:35.610 dati bancari, password e email. 0:00:35.610,0:00:38.639 Quindi, come tenere segreti tutti questi dati personali? 0:00:38.639,0:00:40.669 Dati di ogni tipo possono esser resi segreti 0:00:40.669,0:00:42.722 attraverso un processo noto come "cifratura": 0:00:42.722,0:00:44.476 il rimescolamento del messaggio 0:00:44.476,0:00:46.510 per nascondere il testo originale. 0:00:46.510,0:00:48.404 Invece la "decifratura" è il processo 0:00:48.404,0:00:50.016 con cui viene ricomposto il messaggio 0:00:50.016,0:00:51.689 per renderlo leggibile. 0:00:51.989,0:00:53.529 Si tratta di una semplice idea 0:00:53.529,0:00:55.490 e le persone la mettono in atto da secoli. 0:00:55.490,0:00:58.137 Uno dei primi e più noti metodi di cifratura 0:00:58.137,0:00:59.885 fu il Cifrario di Cesare 0:00:59.885,0:01:01.549 nome dovuto a Giulio Cesare 0:01:01.549,0:01:04.634 un generale romano che cifrava i suoi ordini militari 0:01:04.634,0:01:05.526 per esser sicuro che, 0:01:05.526,0:01:07.519 se anche un messaggio fosse stato intercettato dai nemici, 0:01:07.519,0:01:09.960 questi non sarebbero riusciti a leggerlo. 0:01:09.960,0:01:11.914 Il Cifrario di Cesare è un algoritmo 0:01:11.914,0:01:14.171 che sostituisce ogni lettera nel messaggio originale 0:01:14.171,0:01:17.649 con una lettera che sta un certo numero di posizioni[br]al di sotto nell'alfabeto. 0:01:17.649,0:01:19.372 Visto che il numero di posizioni è noto 0:01:19.372,0:01:21.046 solo al mittente e al destinatario, 0:01:21.046,0:01:22.659 è considerato la "chiave". 0:01:22.659,0:01:24.134 Questa permette al destinatario 0:01:24.134,0:01:26.559 di decifrare il messaggio segreto. 0:01:27.109,0:01:30.269 Ad esempio, se il messaggio originale è "HELLO", 0:01:30.269,0:01:32.959 allora, usando l'algoritmo del Cifrario di Cesare 0:01:32.959,0:01:34.260 con chiave 5, 0:01:34.260,0:01:36.560 il messaggio cifrato sarà questo... 0:01:39.360,0:01:41.015 Per decifrare il messaggio, 0:01:41.015,0:01:43.132 il ricevente dovrebbe semplicemente usare la chiave 0:01:43.132,0:01:45.002 per invertire il processo. 0:01:45.980,0:01:48.370 Ma c'è però un grande problema con il Cifrario di Cesare, 0:01:48.370,0:01:51.125 chiunque può facilmente rompere o violare 0:01:51.125,0:01:52.630 il messaggio cifrato 0:01:52.630,0:01:54.480 provando ogni chiave possibile. 0:01:54.480,0:01:57.040 E nell'alfabeto inglese ci sono solo 26 lettere, 0:01:57.040,0:01:59.283 il che significa che dovreste fare provare 0:01:59.283,0:02:01.045 al massimo 26 chiavi 0:02:01.045,0:02:02.570 per decifrare il messaggio. 0:02:03.050,0:02:05.025 Ora, provare 26 chiavi possibili 0:02:05.025,0:02:06.072 non è molto difficile, 0:02:06.072,0:02:08.280 servirebbe circa un'ora. 0:02:08.280,0:02:09.830 Quindi, complichiamo le cose. 0:02:09.830,0:02:11.300 Invece di sfasare ogni lettera 0:02:11.300,0:02:12.910 dello stesso numero di posizioni, 0:02:12.910,0:02:15.880 sfasiamo ogni lettera di un numero[br]di posizioni diverso. 0:02:15.880,0:02:18.040 In questo esempio, una chiave a 10 cifre 0:02:18.040,0:02:21.170 stabilisce di quante posizioni verrà sfasata ogni lettera 0:02:21.170,0:02:24.300 per cifrare un messaggio più lungo. 0:02:25.950,0:02:28.360 Indovinare questa chiave sarebbe davvero difficile. 0:02:28.360,0:02:30.320 Con la cifratura a 10 cifre, 0:02:30.320,0:02:33.300 avremmo 10 miliardi di possibili soluzioni. 0:02:34.180,0:02:35.645 Ovviamente questo va ben oltre 0:02:35.645,0:02:37.492 ciò che un qualunque essere umano potrebbe risolvere, 0:02:37.492,0:02:39.600 gli servirebbero molti secoli. 0:02:39.600,0:02:41.420 Ma oggi, un computer di fascia media, 0:02:41.420,0:02:42.855 impiegherebbe pochi secondi 0:02:42.855,0:02:45.260 per provare tutti i 10 miliardi di possibilità. 0:02:45.720,0:02:47.315 Quindi, nel mondo contemporaneo, 0:02:47.315,0:02:49.292 in cui i cattivi sono armati di computer 0:02:49.292,0:02:51.030 anziché di matite, 0:02:51.030,0:02:52.785 come si possono cifrare i messaggi 0:02:52.785,0:02:54.320 con un grado di sicurezza tale 0:02:54.320,0:02:56.190 che sia "troppo difficile" violarli? 0:02:56.190,0:02:57.830 "Troppo difficile" 0:02:57.830,0:03:00.485 significa che ci sarebbero troppe possibilità da calcolare 0:03:00.485,0:03:02.290 in una ragionevole quantità di tempo. 0:03:02.770,0:03:06.049 Oggi le comunicazioni sicure vengono cifrate 0:03:06.049,0:03:08.259 utilizzando chiavi a 256 bit. 0:03:08.259,0:03:10.214 Ciò significa che il computer di un cattivo 0:03:10.214,0:03:11.659 che intercettasse il messaggio 0:03:11.659,0:03:15.184 dovrebbe provare questo enorme numero[br]di possibilità alternative 0:03:15.184,0:03:18.180 prima di scoprire la chiave e violare il messaggio. 0:03:19.890,0:03:23.200 Anche se si possedessero 100 mila super computer 0:03:23.200,0:03:25.614 e ognuno fosse in grado di provare 0:03:25.614,0:03:28.599 1 milione di miliardi di chiavi al secondo, servirebbero 0:03:28.599,0:03:31.054 miliardi di miliardi di miliardi di miliardi di anni 0:03:31.054,0:03:32.910 per provare tutte le possibili alternative, 0:03:32.910,0:03:34.700 solo per violare un singolo messaggio 0:03:34.700,0:03:37.120 protetto con la crittografia a 256 bit. 0:03:37.490,0:03:39.550 Sappiamo che i chip dei computer 0:03:39.550,0:03:41.865 vanno a velocità doppia e dimezzano la loro dimensione 0:03:41.865,0:03:42.910 circa ogni anno. 0:03:42.910,0:03:45.849 Se continuerà questo ritmo di progresso esponenziale, 0:03:45.849,0:03:47.624 problemi oggi irrisolvibili 0:03:47.624,0:03:50.540 diventeranno risolvibili tra poche centinaia di anni 0:03:50.540,0:03:54.109 e 256 bit non saranno più sufficienti per stare al sicuro. 0:03:54.109,0:03:55.424 E in effetti, in passato, 0:03:55.424,0:03:58.062 abbiamo già dovuto aumentare la lunghezza[br]della chiave standard 0:03:58.062,0:04:00.470 per tenere il passo con la velocità dei computer. 0:04:00.950,0:04:03.310 La buona notizia è che usare una chiave più lunga 0:04:03.310,0:04:05.592 non rende solo un po' più complessa la cifratura, 0:04:05.592,0:04:07.419 fa bensì aumentare esponenzialmente 0:04:07.419,0:04:09.704 il numero di possibilità che servirebbero per violare 0:04:09.704,0:04:10.679 un messagio cifrato. 0:04:11.369,0:04:13.234 Quando il mittente e il destinatario 0:04:13.234,0:04:14.592 condividono la stessa chiave 0:04:14.592,0:04:16.570 per cifrare e decifrare il messaggio, 0:04:16.570,0:04:18.539 si parla di CRITTOGRAFIA SIMMETRICA. 0:04:19.059,0:04:20.569 Con la crittografia simmetrica, 0:04:20.569,0:04:22.080 come il Cifrario di Cesare, 0:04:22.080,0:04:25.175 la chiave segreta deve essere concordata in anticipo 0:04:25.175,0:04:27.490 da due persone in privato. 0:04:27.490,0:04:29.245 Questo può andar bene per le persone 0:04:29.245,0:04:31.302 ma Internet è aperta e pubblica, 0:04:31.302,0:04:33.391 quindi è impossibile per due computer 0:04:33.391,0:04:35.240 "incontrarsi" in privato, 0:04:35.250,0:04:37.259 per accordarsi su una chiave segreta. 0:04:37.259,0:04:38.804 Invece i computer utilizzano 0:04:38.804,0:04:40.350 chiavi di cifratura asimmetriche: 0:04:40.350,0:04:41.685 una chiave pubblica 0:04:41.685,0:04:43.637 che può essere condivisa con chiunque 0:04:43.637,0:04:46.400 e una chiave privata che non va condivisa. 0:04:46.800,0:04:49.569 La chiave pubblica serve per cifrare i dati 0:04:49.569,0:04:52.779 e chiunque può usarla per creare un messaggio segreto, 0:04:52.779,0:04:55.784 ma il messaggio può esser solamente decifrato 0:04:55.784,0:04:58.789 da un computer che conosca la chiave privata. 0:04:59.185,0:05:01.350 Il funzionamento si basa su principi matematici 0:05:01.350,0:05:02.785 che non approfondiremo qui. 0:05:02.785,0:05:04.117 Pensatela così: 0:05:04.117,0:05:06.352 immaginate di avere una cassetta postale personale 0:05:06.352,0:05:08.264 dove chiunque può depositare delle lettere, 0:05:08.264,0:05:10.007 ma ha bisogno di una chiave per farlo. 0:05:10.007,0:05:12.383 Potete fare molte copie della chiave di deposito 0:05:12.383,0:05:13.961 e inviarne una ai vostri amici 0:05:13.961,0:05:16.200 o anche renderla accessibile pubblicamente. 0:05:16.200,0:05:18.270 I vostri amici o anche degli estranei 0:05:18.270,0:05:19.785 possono usare la chiave pubblica 0:05:19.785,0:05:21.482 per accedere al vostro spazio di deposito 0:05:21.482,0:05:22.820 e lasciare un messaggio, 0:05:22.820,0:05:24.997 ma solo voi potete aprire la cassetta postale 0:05:24.997,0:05:26.411 con la vostra chiave privata 0:05:26.411,0:05:29.235 per accedere a tutti i messaggi segreti che avete ricevuto. 0:05:29.235,0:05:30.787 E potrete inviare messaggi sicuri 0:05:30.787,0:05:32.080 in risposta ai vostri amici 0:05:32.080,0:05:33.592 usando la chiave pubblica di deposito 0:05:33.592,0:05:34.925 delle loro cassette postali. 0:05:34.925,0:05:37.780 In questo modo le persone possono scambiare messaggi sicuri 0:05:37.780,0:05:40.635 senza mai aver bisogno di accordarsi su una chiave privata. 0:05:41.045,0:05:42.750 La crittografia a chiave pubblica 0:05:42.750,0:05:46.826 è la base di tutti i sistemi di messaggistica sicura[br]su Internet, 0:05:46.826,0:05:51.026 compresi i protocolli di sicurezza SSL e TLS 0:05:51.026,0:05:52.791 che garantiscono la nostra sicurezza 0:05:52.791,0:05:54.424 quando navighiamo sul web. 0:05:54.424,0:05:56.454 I computer odierni la sfruttano 0:05:56.454,0:05:58.484 ogni volta che vedi il lucchetto 0:05:58.484,0:06:02.544 o la scritta "https" nella barra degli indirizzi[br]del browser, 0:06:02.544,0:06:04.106 ciò significa che il computer 0:06:04.106,0:06:06.066 sta usando la crittografia a chiave pubblica 0:06:06.066,0:06:07.891 per rendere sicuro lo scambio di dati 0:06:07.891,0:06:09.137 con il sito web visitato. 0:06:09.667,0:06:12.322 Maggiore è il numero di persone che usa Internet, 0:06:12.322,0:06:14.977 maggiore sarà il numero di dati personali trasmessi 0:06:14.977,0:06:17.010 e la necessità di mantenere sicuri quei dati 0:06:17.010,0:06:18.574 sarà ancora maggiore 0:06:18.574,0:06:21.460 e, via via che i computer diventano più veloci, 0:06:21.460,0:06:23.169 dovremo sviluppare nuovi metodi 0:06:23.169,0:06:26.394 per rendere la cifratura "troppo difficile" da violare[br]da parte dei nuovi computer. 0:06:26.394,0:06:28.014 In questo consiste il mio lavoro 0:06:28.014,0:06:30.144 e si evolve continuamente.