La crittografia più sicura è opensource

Apparso su Nòva, inserto del quotidiano Sole 24 Ore, 25 maggio 2014.

link esterno: articolo su Nòva online 25 maggio 2014

La relazione di Recorded future, società che si occupa di web intelligence attraverso l'analisi delle fonti aperte (Osint), segnala che Al Qaida già dal 2007 utilizzava tecniche crittografiche proprietarie. In seguito alle rivelazioni di Edward Snowden del giugno 2013, tre nuovi software di cifratura delle comunicazioni sono stati realizzati da Gimf, Al-Fajr e Isis, tutti gruppi associati all'organizzazione fondata da Osama bin Laden. Il fatto che un'organizzazione terroristica si faccia da sé il proprio armamentario per nascondere le comunicazioni sembrerebbe una cattiva nuova per i servizi di intelligence, ma è invece un'ottima notizia. Come scrive il crittografo ed esperto di sicurezza Bruce Schneier: la crittografia è difficile, ci sono scarse possibilità che un algoritmo di cifratura fatto in casa sia migliore di uno strumento collaudato a sorgente aperta. Gli unici software di crittografia sicuri sono quelli OpenSource, ossia quando il codice sorgente del software è liberamente ottenibile e modificabile. Questa affermazione può sembrare un ossimoro, la saggezza popolare sembra suggerire che segretezza e sicurezza viaggino assieme e di conseguenza che un sistema di sicurezza segreto sia più sicuro di uno pubblico, che un algoritmo non pubblicato, non diffuso e tenuto gelosamente nascosto dall'entità che l'ha prodotto sia più difficilmente attaccabile, proprio in quanto segreto, di un algoritmo invece noto e addirittura facilmente reperibile in La modalità del tenere segreto il meccanismo che garantisce la sicurezza viene chiamata sicurezza tramite segretezza (security through obscurity) e si basa sull'assunzione che mantenere segreto il funzionamento di un sistema renda il sistema stesso più sicuro. Questo principio viene smontato già nel 1883 dal crittografo e linguista olandese Auguste Kerckhoffs, il quale enuncia così il principio che prende il suo nome: “In un sistema crittografico è importante tener segreta la chiave (cioè la password), ma non l'algoritmo”. Ogni sistema di sicurezza basato sul segreto è fragile quanto il segreto stesso, il quale si perde non appena viene scoperto. Tentare di basare la sicurezza sulla segretezza è semplicemente cattiva progettazione, rincara in tempi moderni Schneier. Possiamo usare un parallelo con le serrature, nascondere la serratura non rende più sicura una porta blindata, anche se potrebbe far perdere qualche minuto allo scassinatore che non dovesse già conoscerne la collocazione. Utilizzare un software crittografico proprietario il cui funzionamento è segreto crea un falso senso di sicurezza. Usando segretezza si perde la possibilità di verifica della bontà del sistema da parte della comunità crittografica mondiale il quale garantisce la sua efficacia tramite l'uso. Se il sistema dovesse rivelarsi debole ed inefficace, la notizia sarà immediatamente pubblica, come è successo recentemente alla scoperta di una falla nella libreria di OpenSSL, utilizzata per rendere sicura internet quando usa applicazioni come web, email, instant messaging e vpn. La notizia del bug, chiamato HeartBleed, è circolata e la comunità degli sviluppatori lo ha riparato. Una ditta che fabbrica del software proprietario potrebbe decidere di non divulgare l'informazione che il suo software è difettoso o che è stato manomesso, in effetti sarebbe decisamente contro i suoi interessi commerciali divulgare un'informazione simile, nel software OpenSource invece la notizia di una manomissione è immediatamente pubblica. Uno degli effetti del caso Snowden, che ha rivelato l'esistenza dei programmi di intercettazione globale, è il proliferare di nuovi software che promettono sicurezza nelle comunicazioni. Il mercato delle comunicazioni sicure non è regolamentato ed il pubblico ha scarse possibilità di riconoscere un software non valido, il venditore non ha nessuna responsabilità e può dichiarare l'infallibilità del suo prodotto come facevano nel far-west i venditori degli intrugli miracolosi a scopo medicinale. Un altro effetto è l'abbandono della crittografia collaudata per ricorrere a quella fatta in casa come avviene nel caso di Al Qaida. Ma prima di chiamare ingenua l'organizzazione terroristica è bene notare come sia possibile che un prodotto proprietario venga utilizzato in cascata con altri algoritmi collaudati, i quali sono del resto quasi tutti prodotti all'interno degli Stati Uniti. Questo nel tentativo di nascondere la crittografia, la quale se pure è in grado di nascondere efficacemente un messaggio, ben più difficilmente può nascondere sé stessa. In altre parole, un messaggio crittografato è riconoscibile come tale, anche se non è decifrabile. Gli utilizzatori che desiderano proteggere la riservatezza delle loro comunicazioni, nel scegliere un software, dovranno tener conto che OpenSource significa algoritmi e protocolli pubblicati. La verifica costante da parte della comunità rappresenta uno scrutinio incessante e un conseguente miglior funzionamento. Per implementare delle pratiche efficaci di sicurezza delle proprie comunicazioni occorre tempo e del lavoro personale, non esiste una formula magica o una via regia, né una procedura da eseguire una sola volta e poi dimenticare. Occorre tutelarsi personalmente e non delegare ad altri la propria sicurezza, occorre tenersi informati ed evolvere nel tempo. Sta tutto nella pratica. La sicurezza è un processo e non un prodotto. Non esiste un punto d'arrivo né una pozione magica.