Fork me on GitHub
con Valerio Galano

Il podcast dove si ragiona da informatici

Un informatico risolve problemi, a volte anche usando il computer

Riflessioni e idee dal mondo del software

Episodio del podcast

Crittografia e Informatica. Storia di un rapporto simbiotico

2 ottobre 2019 Podcast Episodio 18 Stagione 1
Crittografia e Informatica. Storia di un rapporto simbiotico

Descrizione

Crittografia e Infomatica formano da sempre un connubio estremamente importante. Ogni utente gode di questa simbiosi ogni giorno ma, nella maggior parte dei casi, non ne ha alcuna percezione.

Fonti:
Mark Frary - De/Cifrare - https://amzn.to/3sKPRsL

VOTA CON UN LIKE -> http://vota.pensieriincodice.it

Festival del podcasting
https://festivaldelpodcasting.it/

Attrezzature:
Microfono Blue Yeti* - https://amzn.to/3kSE35f
Filtro anti-pop* - https://amzn.to/3baPMsh
Filtro anti-pop* - https://amzn.to/2MH0Wf1
Schermo fonoassorbente* - https://amzn.to/3sOZE0P

Sostieni il progetto

Sostieni tramite Satispay
Sostieni tramite Revolut
Sostieni tramite PayPal
Sostieni utilizzando i link affiliati di Pensieri in codice: Amazon, Todoist, ProtonMail, ProtonVPN, Satispay

Partner

GrUSP (Codice sconto per tutti gli eventi: community_PIC)
Schrödinger Hat

Crediti

Montaggio - Daniele Galano - https://www.instagram.com/daniele_galano/
Voce intro - Costanza Martina Vitale
Musica - Kubbi - Up In My Jam
Musica - Light-foot - Moldy Lotion
Cover e trascrizione - Francesco Zubani

Mostra testo dell'episodio

Nascondi

Quella che segue è una trascrizione automatica dell'episodio.

Pensieri in codice, idee dal mondo del software a cura di Valerio Galano. Buongiorno a tutti e ben ritrovati per un nuovo episodio di Pensieri in Codice, il podcast in cui parliamo di argomenti presi dal mondo del software, di internet e della programmazione. Come state? Io purtroppo oggi ho un po’ di mal di gola e spero che la voce mi assista fino a fine puntata, però ci tenevo a registrare questo episodio, prima di tutto perché quello della settimana scorsa è saltato a causa di alcuni impegni lavorativi, ma soprattutto per ringraziare tutti quelli che hanno votato Pensieri in Codice come miglior podcast emergente del 2019. Se non lo sapete, infatti, Pensieri in Codice è candidato al festival del podcasting di Milano nella categoria podcast emergenti e c’è tempo fino al 10 ottobre per andarlo a votare su Instagram. Vi basterà collegarvi al sito vota.pensieriincodice.it, di cui trovate anche il link in descrizione, e vi si aprirà il post Instagram al quale mettere un like per dare il vostro voto. Fino ad ora siete stati più di 350 e vi ringrazio tutti uno per uno e in particolare ringrazio due ascoltatori, Vincenzo e Gianfranco, che si sono impegnati particolarmente a pubblicizzare il podcast. Invito quindi tutti quelli che non hanno ancora votato a farlo al più presto e vi ricordo anche che il 12 sarò presente anch’io al festival del podcasting, quindi sarà una buona occasione per incontrarci e scambiare quattro chiacchiere. Se vi va di partecipare e volete organizzarvi con me e gli altri ascoltatori potete unirvi al gruppo Telegram di Pensieri in Codice cercando su Telegram appunto Pensieri in Codice o cercando il link in descrizione. Ora però bando alle ciance e diamo inizio all’episodio di oggi. Nella nostra epoca l’informatica e la crittografia sono due scienze che vivono uno straordinario rapporto simbiotico. Ogni giorno noi utilizziamo meccanismi di crittografia estremamente avanzati senza nemmeno rendercene conto. Quando navighiamo sul web ad esempio, quando inviamo messaggi con whatsapp o telegram, quando ci colleghiamo a una rete wifi, ognuno di questi gesti che per noi sono ormai azioni perfettamente normali mette in moto una serie di algoritmi che criptano e decriptano in modo a noi del tutto trasparente tutti o buona parte dei dati che trasmettiamo e riceviamo. In questo senso possiamo tranquillamente affermare che senza crittografia internet così come noi lo conosciamo non esisterebbe e quindi l’informatica moderna non potrebbe mai in alcun modo fare a meno della crittografia. Per contro anche la crittografia ha ricevuto un enorme giovamento dalla diffusione dell’informatica. La scienza che studia il modo di nascondere le informazioni ad occhi indiscreti infatti ha una storia molto lunga che inizia addirittura tra i 6.000 e i 5.000 anni fa e nel corso dei secoli ha ovviamente attraversato un susseguirsi di cambiamenti e miglioramenti ma con l’avvento dell’informatica essa ha subito un’enorme spinta sul piano tecnologico e ha potuto fare e sta ancora facendo enormi passi in avanti. Cerchiamo però di non correre troppo e proviamo a capire almeno a grandi linee cosa si intende in generale per criptografia e come questa scienza si sia evoluta nel corso della storia. A questo proposito in descrizione trovate il link ad amazon del libro De Cifrare di Mark Frary che vi consiglio assolutamente di leggere e che racconta la storia ed il funzionamento dei più famosi cifrari conosciuti. Come accennavamo prima la crittografia nasce più di 5.000 anni fa nella valle dell’indo. La sua utilità è banalmente chiara fin da subito. Da sempre l’uomo produce e utilizza informazioni quindi possedere determinate informazioni che altri non hanno può rappresentare un vantaggio competitivo. Per questo motivo avere la capacità di celare informazioni quando è necessario archiviarle o trasmetterle ad altri contribuisce enormemente a migliorare la propria condizione strategica. Ora che si parli di un generale romano che deve pianificare l’attacco con i suoi alleati in accampamenti distanti o di un telegrafista della seconda guerra mondiale che deve comunicare gli ordini ai soldati in campo o di un utente amazon che deve inviare i dati della propria carta di credito per completare un pagamento, è chiaro che nessuno dei tre vorrebbe che nemici o malintenzionati potessero leggere le informazioni che stanno trasmettendo. E crittografia vuol dire proprio scrittura nascosta. Infatti essa ha lo scopo di scrivere le informazioni in modo tale che solo chi è in possesso dei giusti strumenti sia poi in grado di leggerle. Come ampiamente descritto nel libro De Cifrare, nel corso dei secoli i metodi per ottenere questo risultato si sono susseguiti sempre più ingegnosi e sempre più complessi e alcuni di essi rimangono tutt’oggi misteriosi e incompresi. Dischi d’argilla che permettevano di convertire i pittogrammi, bastoni intorno ai quali arrotolare strisce di stoffa su cui erano scritti i messaggi. Cifrari via via sempre più complessi. Codici studiati sia per uso militare che commerciale. Macchine da scrivere con complicatissimi meccanismi interni. Algoritmi sempre più avanzati. Dall’antichità fino ai giorni nostri i crittografi hanno sempre dovuto lavorare per migliorare le tecniche e renderle più efficienti e sicure. E questo per un motivo molto semplice. Da quando esiste la figura del crittografo esiste anche quella del crittoanalista il cui compito è appunto quello di tentare di rompere un metodo di crittografia e quindi riuscire a decifrare i messaggi anche senza essere in possesso degli strumenti normalmente necessari. Ogni volta che un decifratore riesce nel suo intento rende obsoleto il metodo di crittografia che ha scardinato e di conseguenza se si vuole continuare a trasmettere informazioni in sicurezza diventa necessario sostituire tale metodo con uno più robusto. E neanche a dirlo uno dei più importanti crittoanalisti della storia è anche l’uomo il cui lavoro ha contribuito enormemente alla nascita dell’informatica moderna. Il suo nome era Alan Turing e il suo lavoro al Bletchley Park per decrittare i cifrari tedeschi contribuì con buona probabilità a ridurre sensibilmente la durata della seconda guerra mondiale. Anche se questo è argomento per un altro episodio e magari ne parleremo in futuro. Ad ogni modo l’avvento dei computer ha rivoluzionato il mondo della crittografia. Infatti la potenza sempre crescente dei calcolatori ha permesso da un lato di semplificare le procedure necessarie per codificare le informazioni quindi riducendo lo sforzo e i tempi necessari e dall’altro ha portato alla creazione di metodi sempre più complessi e più difficili da violare. Al tempo stesso molti dei cifrari che prima di allora sembravano inviolabili diventarono improvvisamente obsoleti perché gli attacchi a forza bruta e cioè quelli che necessitano di molti tentativi per trovare il modo di rompere la cifratura divennero estremamente semplici da eseguire per mezzo di un computer. Il discorso crittografia quindi si è ormai spostato in gran parte nel mondo virtuale e come dicevamo all’inizio di questo podcast è proprio qui che ha dato un enorme contributo allo sviluppo delle funzionalità che gli utenti utilizzano ogni giorno. Se non esistesse la crittografia infatti tutte le operazioni quotidiane come acquistare da un e-commerce, accedere a un sito con username e password, inviare un messaggio non sarebbero possibili e attenzione questo non perché sarebbe tecnicamente impossibile eseguire tali operazioni quanto piuttosto perché farlo non sarebbe sicuro. Su internet infatti l’abbiamo già accennato nell’episodio 10 su come creare un data bridge per errore che se non l’avete sentito vi consiglio di farlo perché è un episodio davvero interessante. Inviare dati verso una certa destinazione come ad esempio il server di amazon significa impacchettare questi dati e affidarli ad una serie di computer che se li passano uno dopo l’altro facendo in modo da recapitarli al destinatario. Ovviamente sto semplificando il discorso ma quello che ci interessa è la logica. Ora quindi diventa ovvio che se non avessimo un sistema per crittare le informazioni spedite chiunque lungo la strada potrebbe leggerle e impossessarsene e non devo certo spiegarvi cosa potrebbe accadere se qualcuno entrasse in possesso dei dati della vostra carta di credito no? In effetti il concetto è più o meno quello di una cartolina. Immaginate infatti che le informazioni che viaggiano su internet sia quelle che inviamo che quelle che riceviamo siano essenzialmente scritte su delle cartoline e spedite tramite il classico servizio postale nazionale. E’ ovvio che oltre al legittimo destinatario qualsiasi addetto della posta, fattorino o postino che abbia sotto mano la cartolina potrebbe semplicemente girarla e leggerne il messaggio. E voi scrivereste mai informazioni importanti su una cartolina? Ovviamente no. In realtà però noi lo facciamo tutti i giorni e migliaia di volte al giorno. Solo che lo facciamo in modo virtuale e proprio per garantire la nostra sicurezza quelle informazioni sono cifrate e solo il destinatario ha gli strumenti necessari per decifrarle. Ho già in programma di approfondire il concetto di criptografia applicata all’informatica nei prossimi episodi di Pensieri in Codice poiché questo è un argomento piuttosto vasto e servirebbe un podcast di almeno un’ora anche solo per descrivere sommariamente le varie applicazioni. Tuttavia ci tengo a menzionare brevemente almeno gli algoritmi più utilizzati in modo da renderci conto di quanto siano importanti per la nostra vita quotidiana. Anche se noi neanche ci accorgiamo della loro presenza. Il primo di questi algoritmi prende il nome di criptografia a chiave pubblica. Moltissimi non l’avranno mai sentito nominare ma esso è alla base delle comunicazioni tra il nostro browser e i cosiddetti siti sicuri, cioè quelli che utilizzano il protocollo HTTPS con certificato per stabilire una connessione protetta. In pratica questi siti proteggono tutte le comunicazioni con il nostro browser criptando tutti i dati che vengono trasmessi in entrambe le direzioni. Per ottenere questo risultato però è necessario che sia il browser sia il sito destinatario abbiano degli strumenti in comune e che tali strumenti non siano in possesso di nessun altro nel mondo e proprio per accordarsi su questi strumenti, dato che i due non si conoscono, utilizzano la criptografia a chiave pubblica. Una seconda applicazione di criptografia è la codifica della connessione wifi che prende il nome di WPA, Wifi Protected Access, e di cui al momento esistono varie versioni più o meno sicure. Parlando in generale però noi ogni giorno entriamo in contatto con moltissime reti wifi e per accedere ad ognuna di esse di solito abbiamo bisogno di una password. Al momento della connessione il nostro smartphone o il nostro pc e l’access point wireless si accordano diciamo così fra loro e fanno sì che tutte le trasmissioni che effettuano siano criptografate per evitare che un qualsiasi dispositivo presente nel raggio del segnale radio possa captare e decifrare alcun tipo di informazione, compresi i servizi utilizzati e i siti visitati. Ed ecco perché è sconsigliatissimo utilizzare reti wifi sprovvisse di password. Infine altri due algoritmi di criptografia ampiamente utilizzati sono l’Advanced Encryption Standard e il Secure Hash Algorithm, entrambi impiegati per le operazioni di cifratura e decifratura dei file delle trasmissioni e nel caso del secondo anche utilizzato per la creazione e la verifica delle firme digitali. Per ora direi che possiamo affermarci qui con questa introduzione alla criptografia informatica. Nei prossimi episodi prenderemo in esame qualcuno di questi algoritmi e proveremo a capire un po’ più nel dettaglio come funzionano. Voi nel frattempo fatemi sapere se l’argomento vi interessa e nel caso quale algoritmo preferireste sentire approfondito qui su Pensieri in Codice. Come al solito io vi ringrazio per essere arrivati fin qui. Vi ricordo che potete aiutare questo progetto votando il podcast, condividendo gli episodi sui vostri social ed entrando a far parte del nostro gruppo Telegram che potete cercare direttamente come Pensieri in Codice o che potete raggiungere dal link in descrizione. Infine vi ricordo che se volete potete trovarmi come Valerio Galano su Instagram. Vi saluto e vi do appuntamento al prossimo episodio.

Nascondi