Cos’è una password, e perché sbagliamo da sessant’anni

Pubblicato il di David Carrero

Una password è la risposta a una domanda molto antica: sei dei nostri?

Non l’ha inventata l’informatica. Polibio, nel secondo secolo a. C., descrive come l’esercito romano facesse circolare ogni notte una parola scritta su una tavoletta di legno — la tessera — che passava di unità in unità e tornava al comando. Chi la sapeva era dei loro. Chi no, no.

Duemila anni dopo facciamo esattamente la stessa cosa. È cambiato solo chi chiede, e a che velocità può provare a indovinare la risposta.

1961 la password entra nel computer

Nel novembre del 1961 il MIT dimostrò il CTSS (Compatible Time-Sharing System), diretto da Fernando Corbató. Era un’idea nuova: un solo computer, molto costoso, condiviso da più persone insieme.

E lì è comparso il problema. Se la macchina è di tutti, i file di ciascuno devono restare di ciascuno. Serviva un modo perché il computer sapesse chi stava scrivendo. La soluzione fu la più ovvia e la più romana possibile: dare a ogni utente una parola sua.

Conviene dirlo con precisione: Corbató non ha inventato la password. Ha inventato la password per utente su un computer multiutente, che è un’altra cosa. Lui stesso, ormai anziano, disse che la faccenda era diventata «un incubo».

1962 la prima fuga, ed era per tempo macchina

Un anno dopo Allan Scherr, dottorando in quello stesso MIT, aveva un problema molto terreno: gli assegnavano quattro ore di computer alla settimana e per la tesi ne servivano di più.

Così chiese al sistema di stampare il file delle password. Tutto qui. Era lì, in chiaro, e nessuno aveva pensato che qualcuno lo avrebbe chiesto. Con il tabulato in mano, usò gli account degli altri per continuare a lavorare.

La cosa interessante non è il trucco. È il movente: la prima fuga di password della storia non è stata opera di un delinquente, ma di qualcuno che voleva continuare a lavorare. Sessant’anni dopo, la maggior parte dei buchi di sicurezza nasce ancora da persone ragionevoli che cercano la scorciatoia.

1979 qualcuno capisce che non vanno conservate

Per quasi vent’anni molti sistemi hanno conservato le password così com’erano. Se qualcuno leggeva il file, si portava via tutto.

Nel 1979 Robert Morris e Ken Thompson pubblicarono su Communications of the ACM un articolo intitolato «Password Security: A Case History», su quello che avevano fatto in Unix. Due idee che oggi stanno alla base di tutto:

  • Non conservare la password, conservare il suo hash. Il sistema non ha bisogno di sapere qual è la tua password; deve solo poter verificare che quella che hai appena scritto dia lo stesso risultato.
  • Il sale: aggiungere un valore casuale a ogni password prima di calcolarne l’hash, così due persone con la stessa password non hanno lo stesso hash e nessuno può precalcolare una tabella e romperle tutte insieme.

Quando oggi diciamo che un servizio «non dovrebbe conoscere la tua password», stiamo citando un articolo del 1979.

2003 le regole che abbiamo imparato tutti, e da dove venivano

Nel 2003 Bill Burr, del NIST statunitense, scrisse il documento che avrebbe finito per governare il modo in cui mezzo mondo chiede le password: l’SP 800-63. Da lì viene tutto quello che riconosci all’istante:

Almeno una maiuscola, un numero e un simbolo. Cambiala ogni 90 giorni.

Sembrava scienza. Non lo era. Burr non aveva buoni dati sulle password reali — quasi non ne esistevano — così si è appoggiato a quello che c’era e ha ragionato verso ciò che sembrava sensato: più varietà di caratteri, più combinazioni, più sicurezza.

Il problema è che le persone non sono generatori casuali. Chiedi una maiuscola e la metteranno per prima. Chiedi un numero e finirà in fondo. Chiedi un simbolo e sarà un !. E se imponi un cambio ogni tre mesi, Estate2024! diventerà Autunno2024!.

Il risultato è stata un’intera generazione di password che sembrano complesse e sono banali, e utenti esausti che le riutilizzano ovunque perché non ce la fanno più.

2017 il NIST si rimangia tutto, e Burr pure

Nel 2017 il NIST ha pubblicato l’SP 800-63B ed è tornato indietro su quasi tutto:

  • La lunghezza conta più della complessità.
  • Nessuna rotazione forzata, salvo indizi di compromissione.
  • Verificare la password contro liste di credenziali trapelate, invece di pretendere simboli.

Quello stesso anno Burr disse al Wall Street Journal che rimpiangeva buona parte di ciò che aveva scritto. È una delle rettifiche più oneste che la sicurezza informatica abbia prodotto — e ancora oggi ci sono migliaia di moduli che pretendono un simbolo per colpa di un documento sconfessato dal suo stesso autore.

Perché questa non è storia antica

Tutto questo ha una conseguenza molto concreta, e la puoi vedere proprio qui.

Il nostro controllo fino a poco fa funzionava con la logica del 2003: contava maiuscole, numeri e simboli. Dava 92 % «Molto forte» a Contraseña1! — letteralmente la parola spagnola per «password» — e 0 % «Molto debole» a una frase di cinque parole a caso, incomparabilmente migliore.

Premiava esattamente quello che non si deve fare. L’abbiamo cambiato: ora cerca la tua password in dizionari di parole, nomi, città e percorsi di tastiera, e ti dice in quanto cadrebbe davvero.

Ed è per questo che il generatore ti mostra i bit di entropia invece di una percentuale. Una percentuale non significa niente. I bit sì: sono quante volte dovrebbe provarci qualcuno che non sa nulla di te.

Cosa fare, in due righe

  • Lunga batte contorta. Quattro o cinque parole a caso battono P@ssw0rd di molti ordini di grandezza.
  • Diversa ovunque, e dentro un gestore. È l’unica regola del 2003 ancora in piedi, ed è quella a cui abbiamo dato meno retta.

La domanda resta quella della Roma del secondo secolo: sei dei nostri? Quello che è cambiato è che ora chi chiede può provare un miliardo di risposte al secondo. Meglio che la tua non sia sul dizionario.


Fonti: F. J. Corbató e il CTSS (MIT, 1961) · il racconto dello stesso Allan Scherr sul 1962 · R. Morris e K. Thompson, «Password Security: A Case History», Communications of the ACM, 1979 · NIST SP 800-63 (2003) e SP 800-63B (2017) · dichiarazioni di Bill Burr al Wall Street Journal, agosto 2017.

← Torna al blog