Se c’è un luogo comune che merita di essere screditato una volta entrati nell’epoca digitale, è l’idea che non bisogna lasciare niente al caso. Invece si dovrebbe proprio, soprattutto se c’è di mezzo la sicurezza dei dati.
Alla luce delle rivelazioni di Guardian, New York Times e Pro Publica, basate sui documenti riservati della National Security Agency resi pubblici dall’ex dipendente Edward Snowden dopo essersi rifugiato in Russia, i responsabili del sistema operativo libero FreeBSD hanno deciso di diffidare dei generatori hardware di numeri casuali offerti da Intel e VIA:
Sarà ancora possibile accedere a generatori hardware di numeri casuali come RDRAND, Padlock e altri, direttamente da istruzioni in linguaggio macchina o mediante connessione OpenSSL dell’utente, se desiderato, ma non possiamo più fidarci di loro.
La generazione di numeri casuali è importante molto oltre la fornitura di dati all’intelligenza artificiale di Black and White o l’elaborazione di modelli meteorologici, risultando fondamentale negli algoritmi di cifratura dei dati. Se il risultato contiene una qualche regolarità nascosta, la cifratura è vulnerabile. La debolezza nel generatore potrebbe essere involontaria (come è accaduto con alcune smart card emesse dal governo taiwanese) oppure intenzionale, magari con lo zampino dell’NSA.
Come proteggersi? L’uso di software libero è solo un buon inizio. Microsoft, per esempio, non ha mai reso noto il proprio algoritmo di generazione di numeri casuali e per capire che Windows XP era esposto a certe minacce è stato necessario il lavoro di crittanalisti. Apple da questo punto di vista è più esplicita e il software open source è per natura del tutto trasparente.
Una cattiva applicazione potrebbe peraltro funzionare malamente su una buona piattaforma. Se abbiamo una seria necessità di cifratura solida, dobbiamo dunque essere diffidare di chiunque non abbia una metodologia di generazione di numeri casuali chiara e verificabile, esattamente come diffidano nella comunità FreeBSD.