Cosa succede se ci si fida di un sistema crittografico che ha un algoritmo sconosciuto? Succedono cose molto brutte. Per questo è necessario che gli algoritmi di crittografia siano Open Source, a disposizione di tutti.
Pillole di Bit (https://www.pilloledib.it/) è un podcast indipendente realizzato da Francesco Tucci, se vuoi metterti con contatto con me puoi scegliere tra diverse piattaforme:
– Telegram (o anche solo il canale dedicato solo ai commenti delle puntate)
– TikTok (per ora è un esperimento)
– Twitter
– BlueSky
– Il mio blog personale ilTucci.com
– Il mio canale telegram personale Le Cose
– Mastodon personale
– Mastodon del podcast
– la mail (se mi vuoi scrivere in modo diretto e vuoi avere più spazio per il tuo messaggio)
Rispondo sempre
Se questo podcast ti piace, puoi contribuire alla sue realizzazione!
Con una donazione diretta:
– Singola con Satispay
– Singola o ricorrente con Paypal
Usando i link sponsorizzati
– Con un acquisto su Amazon (accedi a questo link e metti le cose che vuoi nel carrello)
– Attivando uno dei servizi di Ehiweb
Se hai donato più di 5€ ricordati di compilare il form per ricevere i gadget!
Il sito è gentilmente hostato da ThirdEye (scrivete a domini AT thirdeye.it), un ottimo servizio che vi consiglio caldamente e il podcast è montato con gioia con PODucer, un software per Mac di Alex Raccuglia
Ciao a tutti e bentornati all’ascolto di Pillole di Bit, questa è la puntata 133 e io sono, come sempre, Francesco.
Lo spunto per scrivere questa puntata mi è arrivato leggendo un articolo del Post sulla storia di un’azienda che produceva macchine per mandare messaggi crittografati, vi lascio il link all’articolo nelle note dell’episodio e spero che quelli del Post non se la prendano per questa puntata derivata da uno dei loro articoli.
Tra parentesi, questa cosa non è sponsorizzata, se state pensando di abbonarvi a un sito di notizie online, a mio parare il sito del Post è il migliore sulla piazza al momento, io l’ho fatto e ne sono felice.
Torniamo a noi.
La storia in breve, racconta che un produttore di macchine crittografiche con sede in svizzera ha venduto le proprie macchine a mezzo mondo garantendo loro la sicurezza delle comunicazioni con un certo tipo di algoritmo di crittografia. Un algoritmo segreto.
Nessuno però sapeva che questa società era finanziata dalla CIA e dai servizi segreti tedeschi e che parte di questi algoritmi di cifratura erano stati sviluppati dall’EN ES EI, la National Security Agency, quelli che come mestiere spiano tutto il mondo.
Qual è stato il risultato? Facile da intuire: tutte le comunicazioni crittografate erano facilissime da scardinare per americani e tedeschi.
Davvero una mossa geniale, ancora più facile di dover mettere spie all’interno di governi nemici, rischiando che venissero scoperte, torturate e ammazzate.
La storia è davvero interessante, leggetevela, davvero.
Ma veniamo all’argomento della puntata, perché è bene che alcune cose siano Open Source.
Ho parlato di open e close diverse volte in questo podcast e credo che ne parlerò ancora, nel bene e nel male.
Facciamo un piccolo ripasso e qualche esempio.
Nel mondo del software, se io produco un software che fa qualcosa posso decidere di renderlo disponibile al mondo in diversi modi.
Il primo, quello al quale tutti pensano subito, per diventare ricchissimi, è “adesso lo vendo, faccio in modo che nessuno me lo possa copiare e ci faccio un sacco di soldi”.
Licenza non open, a pagamento.
Non open vuol dire che al cliente finale io fornisco solo il programma eseguibile e lui non può sapere cosa succede davvero al suo interno, paga, si fida e lo usa. Un esempio banale è Windows. lo pago, non so cosa fa all’interno, lo uso.
Se esce una vulnerabilità e Microsoft non la tappa, resta. Se qualcuno la scopre e non lo dice a Microsoft la può sfruttare per sempre. E questo capita molto molto spesso, c’è un gran mercato di queste vulnerabilità sconosciute.
Licenza non open, gratuito.
Sviluppo un software, lo compilo, lo metto sul mio sito e lo distribuisco gratis. chiunque può usarlo, ma nessuno vede come è fatto all’interno e nessuno sa cosa succede quando lo uso. Ovviamente tutti sanno che funzionalità ha, visto che lo utilizzano.
Licenza Open, gratuito
Sviluppo un software, lo metto sul mio sito e dico al mondo “questo è il mio software, potete usarlo, ma potete anche guardare nel codice, vedere cosa fa e se ne siete capaci lo potete modificare e adattarlo alle vostre esigenze, a patto che le versioni modificate restino open anche loro e libere di essere modificate.
Un esempio è Linux, lo posso scaricare e usare liberamente, se ne sono capace lo posso modificare in base alle mie necessità.
Un esempio banale.
Linux è solitamente compilato per funzionare sui sistemi intel del tipo x86 o x64, è nato il Raspberry Pi e nessuno ha dovuto spendere in licenze per prendere una distribuzione Linux, in questo caso Debian modificarla e compilarla per l’architettura ARM, mettendo le cose specifiche per la scheda Raspberry, facendo nascere Raspbian.
Per far uscire la versione di Windows compatibile con Raspberry tutto il mondo appassionato ha dovuto aspettare i comodi tempi di Microsoft.
Ma l’open ha un altro grandissimo vantaggio. No, non ancora quello fondamentale, a cui arriviamo dopo. Esce una vulnerabilità e chiunque, con le necessarie capacità, può correggere il problema e renderlo disponibile al mondo intero, senza dover aspettare che il produttore si metta lì a correggere, se e quando ne ha voglia.
Adesso la cosa più importante, la sicurezza del codice.
Se io sviluppo un’app che permette di crittografare un testo per mandarlo in sicurezza a un destinatario, senza che questo possa essere intercettato, ma non dico a nessuno come lo codifico, posso inserire, a mia discrezione, una cosa chiamata backdoor, letteralmente una porta nel retro, che altro non è un sistema per accedere al messaggio in modo semplice. Perché dovrei farlo?
Magari perché qualcuno mi telefona e mi dice “senti, il tuo programma che cripta le comunicazioni è scomodo e mi impedisce di leggere cosa si dicono Marco e Anna, io amo Anna, voglio sapere tutto e ti do 10.000€ se mi permetti di avere una password universale che mi consenta di accedere a tutti i messaggi crittografati che si scambiano loro due.
Se l’algoritmo è nascosto e nessuno sa come funziona, fino a che la password universale resta nascosta, nessuno saprà che l’algoritmo è vulnerabile e tutti lo useranno come un algoritmo sicuro. Poi, tanto succede, la password universale esce e l’algoritmo sicuro non è più sicuro per nessuno, un po’ come le serrature TSA delle valigie per andare negli stati uniti, si trovano su Internet gli schemi per stampare le chiavi universali con la stampante 3D, quindi la valigia con il lucchetto TSA è una valigia senza lucchetto ai fini pratici.
Un algoritmo di crittografia aperto, come ad esempio il PGP o, meglio OpenPGP, ha il codice aperto, quindi tutti possono vedere il codice e capire come il messaggio viene crittografato e poi decodificato per essere letto. Ok, almeno tutti quelli che capiscono di programmazione di matematica. Ma vi garantisco che nel mondo sono moltissimi.
Se una persona volesse mettere mano a questo codice per inserire una backdoor, la comunità che sviluppa e controlla questo algoritmo se ne accorgerebbe subito, butterebbe fuori a calci il programmatore e correggerebbe istantaneamente il codice per renderlo nuovamente sicuro.
Una nota importante a cui fare attenzione: sapere come un algoritmo codifica e decodifica i dati non vuol dire che si sa decodificare i dati che ci passano attraverso, vuol solo dire che si conosce il meccanismo. Se non si è a conoscenza delle corrette chiavi, a patto di avere computer maledettamente potenti, scardinare una crittografia richiede anni di calcoli e tentativi con calciatori estremamente potenti e che consumano un sacco di corrente, insomma, non è cosa alla portata di tutti.
Come ho sempre detto e continuo a ripetere, il mondo non andrà mai avanti sempre e solo con l’Open Source, ma in certi ambiti è necessario che ci sia, è un bene e serve a tutti. Spesso lo utilizziamo e neanche ce ne accorgiamo.
Apple, nel suo sistema operativo MacOS, ha un sacco di parti di codice con licenze Open Source.
Se usate Libre Office o Open Office, sono software Open Source, una parte di Android, derivata da Linux è Open Source, e così via.
I contatti
Trovate tutti i contatti e i modi per sostenermi in questo progetto direttamente nelle note di questa puntata o sul sito www.pilloledib.it, mi trovate su twitter, nel gruppo telegram, il canale che preferisco e che ormai conta più di 200 iscritti, oppure via mail, se volete scrivere di più.
Se volete sostenermi con 5€ o più, compilate il form e vi spedisco gli adesivi a casa.
Grazie a chi ha donato in questa settimana!
Una nota per chi ha difficoltà con i link e con il gruppo telegram. Se nelle note dell’episodio della vostra app non vedete nessun link, ma solo il sito all’inizio cliccabile, cliccate lì e il vostro telefono vi porterà al sito vero con tutti i link fatti bene.
Non trovate il gruppo telegram cercandolo dentro telegram, l’ho dovuto rendere privato per evitare di essere sommerso dallo spam, quindi, per iscrivervi fate riferimento al link nelle note della puntata o nella barra laterale del sito, se lo aprite da desktop.
Il tip
Continuiamo a parlare di crittografia, vi propongo un add on di Google Chrome per crittografare in modo abbastanza facile le mail con OpenPGP senza diventare matti con troppi tecnicismi.
Accedete al sito mailvelope.com, come sempre i link li trovate nelle note dell’episodio, e lo installate nel browser Chrome.
Poi generate la coppia di chiavi, seguendo il facilissimo wizard, lasciando perdere le opzioni avanzate e inserite una password, non caricate le chiavi sui loro server.
Esportate il file con entrambe le chiavi e memorizzatelo in un posto molto molto sicuro che non sia accessibile a nessuno.
A questo punto vi esportate il solo file con la chiave pubblica e la mettete a disposizione da qualche parte in modo tale chi vi deve scrivere la possa usare per codificare i messaggi
Il gioco è fatto, da ora in poi, se avete la chiave pubblica di qualcuno potete usare mailvelope dall’interfaccia di Gmail per codificare una mail da mandargli e lui userà la sua mail per decodificarla e leggerla. Mi raccomando, se volete che vi risponda in modo crittografato dovete fornirgli la vostra chiave pubblica, MAI quella privata!
Se volete fare un test, trovate la chiave pubblica della mia mail [email protected] direttamente sul sito, nelle note dell’episodio nella parte gialla, potete scrivermi usando quella chiave lì.
Bene è proprio tutto, non mi resta che salutarvi e darvi appuntamento alla prossima puntata.
Ciao!