Password: perché la lunghezza conta più della complessità

Si crede di fare bene aggiungendo maiuscole e simboli. In realtà, una password più lunga — anche composta solo da lettere — è matematicamente più robusta. Ecco perché, e cosa cambia concretamente per la vostra sicurezza.
È meglio una password lunga o complessa?
La lunghezza batte la complessità. È controintuitivo, ma i numeri non lasciano dubbi.
Confrontiamo tre password:
- 8 caratteri, solo minuscole (26 possibilità per posizione): 26⁸ = circa 208 miliardi di combinazioni
- 8 caratteri, tutti i tipi — minuscole, maiuscole, cifre, simboli (95 possibilità per posizione): 95⁸ = circa 6 600 miliardi di combinazioni
- 16 caratteri, solo minuscole: 26¹⁶ = circa 43 000 miliardi di miliardi di combinazioni
La terza password, apparentemente la più semplice, è incomparabilmente più resistente delle altre due. Ogni carattere aggiuntivo moltiplica lo spazio delle possibilità in modo esponenziale, mentre aggiungere tipi di caratteri diversi produce solo un guadagno lineare.
Perché sostituire le lettere con simboli non serve a nulla?
Sostituire una "a" con "@", una "o" con "0" o una "e" con "3" è una falsa buona idea. Queste sostituzioni sono note da decenni e integrate in tutti i moderni strumenti di cracking. "P@ssw0rd" non è significativamente più resistente di "password" contro un attacco automatizzato.
Questa abitudine genera un falso senso di sicurezza. Nasce dalle prime raccomandazioni sulla sicurezza informatica, in un'epoca in cui gli strumenti di attacco erano molto meno sofisticati. Oggi è preferibile una password davvero lunga e casuale piuttosto che una password breve mascherata con simboli.
Bisogna cambiare la password periodicamente?
No. Il cambio periodico delle password è ufficialmente sconsigliato dal 2017 dal NIST, l'ente americano di standardizzazione in materia di cybersicurezza.
Questa raccomandazione ha radici lontane. Nel 2003, Bill Burr, all'epoca dipendente del NIST, redasse la pubblicazione SP 800-63, diventata un riferimento mondiale. Prescriveva la complessità obbligatoria e il cambio ogni 90 giorni. Nel 2017, una volta in pensione, ha pubblicamente riconosciuto che tali raccomandazioni erano basate su ipotesi degli anni '80, senza dati empirici solidi.
Il problema della rotazione forzata è concreto: spinge gli utenti verso variazioni prevedibili — "Gennaio2024", "Gennaio2024!", "Febbraio2024!". È esattamente lo schema che un attaccante testa per primo.
Una buona password non ha data di scadenza. La si cambia solo in caso di compromissione accertata o sospettata.
Qual è la differenza tra un attacco online e uno offline?
È una distinzione fondamentale che cambia radicalmente il livello di sicurezza necessario.
In un attacco offline, l'attaccante ha ottenuto una copia del database (fuga di dati, furto di backup). Lavora in locale, senza alcuna limitazione esterna. Con una GPU moderna può testare diversi miliardi di combinazioni al secondo su un hash MD5, o diverse centinaia di milioni su bcrypt. In questo caso, solo la lunghezza della password e la qualità dell'hashing fanno la differenza.
In un attacco online, ogni tentativo passa attraverso la rete e il server. I meccanismi di difesa cambiano l'equazione: ritardo progressivo tra i tentativi, blocco temporaneo dopo diversi errori, captcha, rilevamento di IP sospetti. Con un semplice ritardo di un secondo tra i tentativi, una password di 10 caratteri diventa in pratica inattaccabile.
Un servizio online correttamente protetto tollera una password ragionevolmente più breve rispetto a un file che potrebbe essere esfiltrato e attaccato offline.
Come protegge le password un server?
In caso di fuga di dati, è l'algoritmo di hashing a determinare la resistenza delle password. Non tutti sono equivalenti.
MD5 e SHA1 sono obsoleti: si violano a miliardi di tentativi al secondo. Bcrypt, progettato per essere volutamente lento, rimane un riferimento collaudato con un costo computazionale regolabile. Argon2, vincitore della Password Hashing Competition nel 2015, è oggi la scelta raccomandata: resiste agli attacchi tramite GPU e circuiti specializzati (ASIC).
Il salt completa il sistema: aggiungendo un valore unico a ogni password prima dell'hashing, garantisce che due utenti con la stessa password producano hash diversi. Questo neutralizza gli attacchi tramite rainbow table.
Perché non bisogna mai riutilizzare una password?
Perché miliardi di coppie identità/password provenienti da fughe di dati circolano liberamente. Gli attaccanti le testano automaticamente su decine di servizi — è il credential stuffing.
Se si usa la stessa password per la posta elettronica e per un forum violato tre anni fa, la casella di posta è potenzialmente compromessa. E la posta elettronica è spesso la chiave di tutto il resto: è attraverso di essa che transitano i link "password dimenticata" di tutti gli altri account.
L'unica difesa: una password unica per ogni servizio, senza eccezioni. È questo che rende un gestore di password indispensabile nella pratica — nessuno può ricordare decine di password lunghe e casuali.
Servizi come Have I Been Pwned (haveibeenpwned.com) permettono di verificare se un indirizzo e-mail o una password compare in un database compromesso noto. È uno strumento utile per decidere obiettivamente di cambiare una password, senza attendere una rotazione arbitraria.
Cos'è una passphrase e perché è efficace?
Una passphrase è una sequenza di parole casuali usata come password — ad esempio "cavallo batteria graffetta montagna cactus". È allo stesso tempo lunga, robusta e memorizzabile.
L'entropia di una passphrase di 5 parole estratte da un dizionario di 7 776 voci (metodo Diceware) è paragonabile a quella di una password casuale di 12-14 caratteri. La memorizzazione è incomparabilmente più semplice.
La passphrase è particolarmente adatta come password principale di un gestore — l'unica che si debba davvero ricordare. Per tutte le altre password, è preferibile un generatore integrato: produce casualità crittografica senza bias umano, cosa che il cervello non è in grado di fare. Il gestore di password di Octopussian include un tale generatore.
Una password solida è sufficiente per proteggersi?
No. Diversi vettori di compromissione rendono irrilevante la qualità intrinseca della password.
Lo shoulder surfing — uno sguardo di nascosto in un open space o sui mezzi di trasporto — è sottovalutato perché non assomiglia a un cyberattacco. Un keylogger, hardware o software, cattura la password prima ancora che venga trasmessa al server. E il phishing induce l'utente a inserire direttamente la propria password su un sito fraudolento: in questo caso, lunghezza e complessità sono del tutto irrilevanti.
Queste realtà depongono a favore di un approccio a più livelli: una buona password è necessaria ma non sufficiente. L'autenticazione a due fattori e la vigilanza contro il phishing completano il sistema di protezione.
Perché la sicurezza delle password è una questione collettiva in azienda?
Perché un singolo account compromesso può esporre l'intero spazio di lavoro condiviso — dati dei colleghi, dati dei clienti, reputazione dell'azienda.
Un collaboratore che protegge male l'accesso a uno strumento di gestione delle attività può pensare che la posta in gioco sia bassa. Ma quello strumento contiene potenzialmente specifiche tecniche, comunicazioni con i clienti, informazioni sull'architettura interna. Un attaccante che entra da quella porta può spostarsi lateralmente verso obiettivi ben più sensibili.
La sicurezza delle password in team è una responsabilità collettiva. È questo che giustifica le funzionalità di amministrazione in un gestore di password: imporre regole minime, verificare l'attivazione del doppio fattore da parte di ogni membro, revocare rapidamente un accesso senza dipendere dalla buona volontà individuale.
Perché alcuni siti impongono regole assurde sulle password?
Perché i loro sistemi non gestiscono correttamente le password lato server. Una lunghezza massima di 10 o 12 caratteri, il divieto di certi caratteri speciali, o il rifiuto di alcune combinazioni "per motivi di sicurezza" tradiscono spesso una password memorizzata in chiaro o con un hashing inadeguato.
Una password correttamente sottoposta a hashing (con bcrypt o Argon2) non ha alcun motivo di essere limitata in lunghezza. Se un servizio impedisce di usare una password lunga e casuale, è un segnale d'allarme sulla qualità complessiva della sua sicurezza.
Cosa bisogna ricordare
- Privilegiare la lunghezza rispetto alla complessità. 16 caratteri in minuscolo sono più robusti di 8 caratteri con tutti i tipi.
- Non cambiare le password per abitudine. Il NIST lo sconsiglia ufficialmente dal 2017.
- Una password unica per ogni servizio. Il credential stuffing sfrutta il riutilizzo su larga scala.
- Una passphrase per ciò che si deve ricordare. Un generatore per tutto il resto.
- In team, è una questione collettiva. Un solo account debole mette tutti a rischio.