{"id":1427,"date":"2016-06-14T09:25:53","date_gmt":"2016-06-14T08:25:53","guid":{"rendered":"https:\/\/calomelano.it\/?p=1427"},"modified":"2016-06-14T09:25:53","modified_gmt":"2016-06-14T08:25:53","slug":"fidarsi-di-un-numero","status":"publish","type":"post","link":"https:\/\/calomelano.it\/?p=1427","title":{"rendered":"Fidarsi di un numero"},"content":{"rendered":"<p>&#8220;<em>Dovete sapere che tra le navi spaziali della federazione c&#8217;\u00e8 questo codice: 3 = amico, 4 = nemico; eravamo dalle parti di Orione quando dietro un asteroide vien fuori un&#8217;astronave; immediatamente puntiamo su di loro i missili a perforazione atomica, intanto il telegrafista di bordo trasmette: 3 o 4 ? e subito riceviamo la risposta: 3 ! che fare ?<\/em>&#8221;<\/p>\n<figure id=\"attachment_1428\" aria-describedby=\"caption-attachment-1428\" style=\"width: 1280px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/gebazzz.cgsociety.org\/art\/lightwave-toontracer-3d-unreal-xtreme-d-creation-arcadia-captain-harlock-cellshading-anime-manga-cartoon-spaceship-434671\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/calomelano.it\/wp-content\/uploads\/2016\/06\/109594_1164669735_orig.jpg\" alt=\"Arcadia by Gabriele Rescaldani\" width=\"1280\" height=\"720\" class=\"size-full wp-image-1428\" \/><\/a><figcaption id=\"caption-attachment-1428\" class=\"wp-caption-text\">Arcadia by Gabriele Rescaldani<\/figcaption><\/figure>\n<p>Dunque come si diceva nel <a href=\"https:\/\/calomelano.it\/?p=1266\">post &#8220;Abbondanti risorse digitali&#8221;<\/a>, nell\u2019et\u00e0 digitale tutto \u00e8 trasformato in numero.<\/p>\n<p>Oggi vorrei provare a spiegare prima di tutto a me stesso, con un linguaggio comprensibile, di come ci si possa <strong>fidare di un numero<\/strong>. Questo \u00e8 un tema attualissimo e ricco di implicazioni politiche, per cui corro volentieri il rischio di sbordare e finire a parlare di algoritmi, digests, codifica simmetrica e asimmetrica, web of trust, blockchain, distributed hash tables &#8230; L&#8217;unica parola che prometto di non usare \u00e8 crittografia, che spaventa e non serve (user\u00f2 codifica).<\/p>\n<p>Ma perch\u00e8 dovremmo fidarci di un numero ? Supponiamo di ricevere un numero (potrebbe essere un file mp3) che pare contenga l&#8217;ultima opera musicale di <strong>Kronos Quartet<\/strong>, come faccio a sapere che davvero \u00e8 opera loro e non un apocrifo alterato da qualche buontempone che gli ha sovrapposto una base ritmica dei <strong>Righeira<\/strong> ?<\/p>\n<p>Nel mondo (andato per sempre) a met\u00e0 strada tra il fisico e il digitale il numero poteva arrivarmi stampato su un <strong>CD<\/strong> (vi ricordate ?); in quel bel mondo se si trattava di un CD copiato col titolo scritto col pennarello ci fidavamo dell&#8217;amico che ce lo passava. Nel caso di un <strong>CD originale<\/strong>, completo di lato stampato e adesivo ologrammato SIAE sulla copertina c&#8217;erano delle garanzie (fisiche) ancora maggiori. Ma oggi che siamo digitali al 100% il file mp3 ci arriva per vie strane, magari ce lo manda una persona che non conosciamo &#8230; lo scarichiamo da un server chiss\u00e0dove &#8230; <\/p>\n<p>Il primo problema dunque \u00e8 autenticare dei dati statici e immutabili, ad esempio delle opere dell&#8217;ingegno.<\/p>\n<p>Una prima possibile soluzione \u00e8 la <strong>firma digitale simmetrica<\/strong>. Vuol dire che il mittente prende il numero (cio\u00e8 il file mp3), gli applica un algoritmo 1 (!) per ottenere un <strong>impronta<\/strong> (in inglese digest che vuol dire riassunto: non \u00e8 altro che un numero pi\u00f9 corto che lo rappresenta in modo praticamente univoco). Poi applica all&#8217;impronta un algoritmo 2 dove entra un altro numero (<strong>chiave segreta<\/strong>), ottenendo un terzo numero, la <strong>firma<\/strong>. A questo punto ci trasmette la firma insieme al file mp3 del Kronos Quartet. Noi alla ricezione spacchettiamo il tutto, e applichiamo i due algoritmi 1 e 2 per calcolare prima l&#8217;impronta e poi la firma (notare che per far ci\u00f2 dobbiamo avere anche noi la chiave segreta); se otteniamo lo stesso numero che ha ottenuto lui (la firma) ci fidiamo. La chiave deve essere mantenuta <strong>segreta tra il mittente e il ricevente<\/strong>; infatti se un terzo ne venisse in possesso, potrebbe aggiungere la base ritmica dei Righeira, firmare nuovamente e mettere in giro l&#8217;apocrifo.<br \/>\nMa spetta noi di chi ci fidiamo allora ? E come facciamo ad avere la sua chiave ? Questo sistema simmetrico va bene solo per rendere affidabile la comunicazione tra due parti che hanno avuto modo preventivamente di condividere la chiave.<br \/>\nSe molte persone devono scambiarsi informazioni, si pu\u00f2 fare ma dovranno creare una chiave segreta per ogni coppia di persone che vogliono comunicare.<br \/>\nCon la codifica simmetrica la comunicazione uno-verso-molti \u00e8 proprio impossibile perch\u00e9 i Kronos Quartet dovrebbero dare la loro chiave segreta a .. molti, e alcuni di questi potrebbero da l\u00ec in poi firmare gli aprocrifi in loro vece.<br \/>\nLa comunicazione molti-verso-uno con la codifica simmetrica \u00e8 quasi la stessa cosa del sistema <strong>utente-password<\/strong> che usiamo per identificarci con i vari fornitori di servizi. Possiamo avere lo stesso nome utente con la banca, la posta, lo spazio nel cloud e per il social network, ma sarebbe meglio non avere la stessa password (chiave segreta) tra tutti questi account ! Se no la banca potr\u00e0 fare accesso al nostro conto sul social network (e viceversa). In quest&#8217;analogia, la password corrisponde alla chiave segreta della firma digitale simmetrica.<\/p>\n<p>Per ovviare a queste scomodit\u00e0 e limitazioni della codifica simmetrica si pu\u00f2 usare il <strong>sistema asimmetrico<\/strong>, che usa due numeri associati: una <strong>chiave privata<\/strong> e una <strong>chiave pubblica<\/strong>. Qui il mittente prende il numero, calcola l&#8217;impronta con l&#8217;algoritmo 1 come prima, poi applica all&#8217;impronta un nuovo algoritmo 2A dove entra un numero segretissimo (la chiave privata), ottenendo la <strong>firma<\/strong>. Alla ricezione dobbiamo calcolare l&#8217;impronta e verificare la firma, ma questa volta usando un nuovo algoritmo 2B che serve solo a verificare (non a firmare) che non richiede la chiave privata, ma solo la chiave pubblica associata alla chiave privata che \u00e8 stata usata per firmare.<br \/>\nLa codifica asimmetrica \u00e8 possibile perch\u00e9 esiste un algoritmo 3 (e dajje) che permette facilmente di calcolare dalla chiave privata la chiave pubblica, ma molto difficile da applicare all&#8217;indietro: quindi dalla chiave pubblica \u00e8 praticamente impossibile riottenere la chiave privata.<br \/>\nCon questo sistema asimmetrico la chiave pubblica pu\u00f2 essere diffusa senza vanificare l&#8217;affidabilit\u00e0 della comunicazione. Se molte persone devono scambiarsi informazioni, \u00e8 pi\u00f9 facile di prima perch\u00e9 ognuno di loro deve creare un&#8217;unica coppia di chiavi e far arrivare tutti i suoi corrispondenti una sola chiave pubblica. Anche la comunicazione uno verso molti diventa possibile.<\/p>\n<p>Tornando ai Kronos Quartet, vediamo cosa succede quando loro pubblicano l&#8217;ultimo lavoro come mp3. OK lo firmano con la codifica asimmetrica, ma come fanno a inviarci la chiave pubblica a noi che siamo i loro fans ? La pubblicano sul loro sito web ? E se poi un gruppo di hacker ne assume il controllo ? O i Righeira ?<br \/>\nIl fatto \u00e8 che dopo questo tripudio di algoritmi, impronte e chiavi abbiamo fatto solo un <strong>primo piccolo passo<\/strong> in avanti: adesso ci dobbiamo fidare di <strong>un solo numero<\/strong> (la chiave pubblica dei Kronos Quartet), poi possiamo verificare tutti i numeri che ci loro mandano.<br \/>\nMa resta il problema di come esser certi che la sedicente chiave pubblica dei Kronos Quartet che abbiamo trovato scritta da qualche parte (ad esempio nei cessi di un&#8217;autogrill) sia effettivamente la loro.<\/p>\n<p>Insomma bisogna associare al <strong>processo tecnico<\/strong> di firma asimmetrica un <strong>processo sociale<\/strong> che la faccia funzionare nel mondo reale! E qui usciamo dall&#8217;ambito degli algoritmi e entriamo nella <strong>sfera politica<\/strong>.<\/p>\n<p>Per distribuire le chavi pubbliche ci sono tre sistemi, a contenuto autoritario decrescente:<\/p>\n<ol>\n<li>chain of trust (catena della fiducia)<\/li>\n<li>web of trust (rete della fiducia)<\/li>\n<li>il consenso.<\/li>\n<\/ol>\n<p>Nel <strong>chain of trust<\/strong> tutti si fidano del <strong>re<\/strong>. Il re poi si fida dei <strong>duchi<\/strong>, e i duchi si fidano dei <strong>vassalli<\/strong>.<br \/>\nAllora uno dei vassalli incontra i Kronos, si fa dare la loro chiave pubblica, la mette in un messaggio: &#8220;<em>Io sono il vassallo Pippino, e garantisco che questa \u00e8 la chiave pubblica dei Kronos Quartet: 123456&#8230;.9999<\/em>&#8220;, lo converte in un numero e lo firma. Poi scrive sui cessi di tutti gli autogrill il messaggio, e la sua firma.<br \/>\nMa come facciamo a fidarci del Vassallo Pippino ? Risposta, perch\u00e9 il duca Pippone conosce il vassallo Pippino, si fa dare la sua chiave pubblica, la mette in un messaggio: &#8220;<em>Io sono il duca Pippone, e garantisco che questa \u00e8 la chiave pubblica del vassallo Pippino: 123456&#8230;.9999<\/em>&#8220;, lo converte in un numero e lo firma. Poi scrive sui cessi di tutti gli autogrill il messaggio, e la sua firma.<br \/>\nMa come facciamo a fidarci del Duca Pippone ? Risposta, perch\u00e9 il re Pappone conosce il duca Pippone, si fa dare la sua chiave pubblica, la mette in un messaggio: &#8220;<em>Io sono il re Pappone, e garantisco che questa \u00e8 la chiave pubblica del duca Pippone: 123456&#8230;.9999<\/em>&#8220;, lo converte in un numero e lo firma. Poi scrive sui cessi di tutti gli autogrill il messaggio, e la sua firma.<br \/>\nToh sembra una barzelletta quando devo ridere ? Niente non si deve ridere siamo alla fine, resta solo un piccolo problema: <strong>come facciamo a fidarci del re<\/strong> ? Boh.<\/p>\n<p>Comunque questo \u00e8 il sistema usato per garantire la sicurezza delle comunicazioni su internet attraverso il protocollo <strong>https<\/strong>.<\/p>\n<p>Vediamo adesso il <strong>web of trust<\/strong>. Qui siamo tutti anarchici, nessuno si fida del re: che fare ? Mi fido solo dei miei amici. E dei loro amici, e degli amici degli amici.<br \/>\nAllora io incontro il compagno Peppone, ci scambiamo le chiavi pubbliche, io firmo la sua e lui firma la mia poi decidiamo di mettere i messaggi firmati in una bacheca. Poi io vado a una festa dove incontro Rino, Lino e Pino e ci firmiamo vicendevolmente le chiavi pubbliche. Nel frattempo Peppone va a un&#8217;altra festa e si scambiano le chiavi pubbliche lui, Lillo, Lello e Lollo. Se tutta questa gente mette i messaggi firmati nella stessa bacheca, quando Lello riceve una notizia da Tino va in bacheca, vede che io mi fido di Tino, e Peppone si fida di me, allora lui decide di fidarsi di Tino.<\/p>\n<p>Infine il <strong>consenso<\/strong>. Qui si sfrutta una molteplicit\u00e0 di canali indipendenti per verificare l&#8217;associazione tra un numero ed un emittente di messaggi. Ad esempio ci potrebbe essere un libro stampato (!) con un elenco di chiavi pubbliche di entit\u00e0 di &#8220;primo livello&#8221; (stati, ONG, aziende&#8230;.), poi una serie di server indipendenti operati da privati che si sono identificati con le entit\u00e0 di primo livello, ognuno dei quali pubblica un &#8220;elenco&#8221;. Se la maggioranza di questi dice che la chiave pubblica dei Kronos Quartet \u00e8 123456&#8230;.9999, allora mi fido. Questo procedimento \u00e8 abbastanza anarchico, ma non c&#8217;\u00e8 una garanzia certa quindi non sembra indicato quando abbiamo bisogno di certezze.<\/p>\n<p>Ma torniamo allo sketch d&#8217;apertura. In quel caso ci interessa sapere se l&#8217;informazione contenuta nel messaggio \u00e8 vera <strong>adesso<\/strong>: ne va della nostra astronave ! Questo problema si potrebbe porre anche per delle informazioni non cos\u00ec letali ma importanti, come sapere se un&#8217;immobile OGGI \u00e8 ipotecato (si\/no, 1\/0) oppure se una ragazzina che vuole comprare del tabacco da fiuto OGGI \u00e8 maggiorenne (&#8220;Quanti anni hai ? 18 signor tabaccaio !&#8221;).<br \/>\nIn questo esempio le informazioni non sono pi\u00f9 statiche, e possono cambiare. Infatti potrebbe essere un&#8217;astronave della federazione caduta in mano ai ribelli ! Oppure ci potrebbe essere stata un&#8217;ipoteca fino a ieri ma \u00e8 stata sciolta. O la ragazzina potrebbe diventare maggiorenne solo domani. Insomma il numero che si serve e di cui vorremmo essere certi \u00e8 il risultato di <strong>calcoli<\/strong> !<\/p>\n<p>Nella prossima puntata: come fidarsi di una somma di numeri e altri calcoli pi\u00f9 complessi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Dovete sapere che tra le navi spaziali della federazione c&#8217;\u00e8 questo codice: 3 = amico, 4 = nemico; eravamo dalle parti di Orione quando dietro un asteroide vien fuori un&#8217;astronave; immediatamente puntiamo su di loro i missili a perforazione atomica, intanto il telegrafista di bordo trasmette: 3 o 4 ? e subito riceviamo la risposta: [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"https:\/\/calomelano.it\/?p=1427\">Leggi tutto&#8230;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,8],"tags":[57,61,110],"_links":{"self":[{"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/posts\/1427"}],"collection":[{"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/calomelano.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1427"}],"version-history":[{"count":2,"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/posts\/1427\/revisions"}],"predecessor-version":[{"id":1430,"href":"https:\/\/calomelano.it\/index.php?rest_route=\/wp\/v2\/posts\/1427\/revisions\/1430"}],"wp:attachment":[{"href":"https:\/\/calomelano.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/calomelano.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/calomelano.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}