Fino a pochi anni alla domanda “ogni quanto si dovrebbe cambiare la propria password?” gli esperti di sicurezza davano una risposta unanime: almeno ogni sei mesi, se non prima (ad esempio nel caso di trattamento di dati sensibili o giudiziari).

Questa regola era talmente condivisa da essere addirittura fissata nella legge.

Fino al 2018, era inserita nel famigerato “Allegato B” al Codice della Privacy, emanato nel 2003. In quell’allegato erano contenute le misure minime di sicurezza richieste a tutti i titolari del trattamento.

La stessa misura si trova anche nell’elenco elaborato nel 2017 dall’AgID contenente le Misure minime di sicurezza ICT per le pubbliche amministrazioni. La misura 5.7.3 include come misura minima quella di “assicurare che le credenziali delle utenze amministrative vengano sostituite con sufficiente frequenza”.

Sempre più spesso, però, si ritiene che questa regola sia obsoleta; si dovrebbe pertanto dare maggior libertà agli utenti sulla scelta relativa ad ogni quanto cambiare la propria password.

La previsione di periodi di scadenza delle password non sarebbe dunque più una misura necessaria per essere conformi al GDPR. I titolari potrebbero infatti adottare misure diverse per prevenire la violazione degli account utente e proteggere i dati trattati.

Le giustificazioni della scadenza periodica della password

La regola di imporre una scadenza periodica alla password (password aging) risale agli albori della storia della sicurezza informatica, ed è stata giustificata in vario modo.

Prevenzione di attacchi brute force

La ragione principale era collegata alla stima dei tempi necessari per poter ricostruire una password a partire dal suo hash crittografico. Generalmente, per motivi di sicurezza, nei database delle credenziali degli utenti non vengono conservate le password, ma bensì i loro hash crittografici, vale a dire una stringa di testo che si ottiene univocamente applicando ad una stringa di testo un certo algoritmo.

Ad esempio, usando l’algoritmo MD5, uno tra i più diffusi, la parola “password”, diventa: “cc3a0280e4fc1415930899896574e118”. Tutte le volte che si tratta una stringa di testo tramite una funzione di hash, si ottiene lo stesso risultato. Ogni volta che un utente inserisce la password in un sistema di autenticazione, questo genera l’hash della stringa inserita, e lo confronta con quello della password memorizzato nel database. Se i due hash coincidono, significa che la password inserita è corretta e l’utente viene autenticato.

Per ricostruire una password dal suo hash si può effettuare con un attacco di brute force. In altre parole, l’attaccante può generare l’hash di numerose combinazioni  di caratteri o di parole, fino a quando non trova quella corrispondente all’hash trafugato. Questa operazione, specialmente in passato, richiedeva un tempo normalmente compreso tra i 90 e 180 giorni, a seconda della complessità della password. Impostare una scadenza della password più breve del tempo mediamente necessario a ricostruirla dal suo hash poteva servire a contrastare questi attacchi.

Alcuni sistemi consentono poi di effettuare attacchi brute force anche senza aver preventivamente trafugato l’hash delle password. Ciò avviene quando non sono attivi sistemi di sicurezza in grado di rilevare tentativi anomali di accesso (ad esempio per numero o provenienza geografica) ed adottare adeguate contromisure.

Altri motivi di sicurezza

Inoltre, il cambiamento periodico delle credenziali consente di ridurre il rischio che le persone a contatto con l’utente vengano a conoscenza della sua password (anche solo sbirciando il movimento delle dita sulla tastiera).

L’aggiornamento periodico delle credenziali può permettere di limitare gli effetti delle violazioni, nel caso di furto o divulgazione delle credenziali. In questi casi, la possibilità di accedere al sistema da parte dell’attaccante verrebbe verosimilmente interrotta al momento della scadenza della password.

Il password aging è ancora una misura di sicurezza valida?

Molti esperti ritengono però che questa misura di sicurezza non sia più efficace come un tempo; anzi, incentiverebbe comportamenti poco sicuri da parte degli utenti.

Grazie all’evoluzione tecnologia, i criminali informatici dispongono di tecnologie e metodi sempre più sofisticati per attaccare i sistemi informatici. L’affinamento delle tecniche usate dai criminali informatici ha ridotto moltissimo il tempo necessario a ricostruire una password dal suo hash, specialmente per quelle più brevi.

Una password di otto lettere, un tempo considerata sicura, oggi essere violata in una manciata di minuti. Sono molto diffusi in rete dei tool che consentono di calcolare il tempo medio richiesto per violare una certa password.

Inoltre, le tecniche di violazione delle password sono cambiate rispetto ad alcuni anni fa. Oggi i criminali informatici fanno un uso diffuso di attacchi phising, smishing e di ingegneria sociale (che abbiamo descritto in questo articolo) per farsi rivelare la password dagli utenti.

Ciò ha portato i gestori dei sistemi di autenticazione a richiedere all’utente di memorizzare password sempre più complesse, e a chiederne l’aggiornamento con sempre maggiore frequenza.

La reazione degli utenti al password aging

Queste misure sono però percepite negativamente dagli utenti, che le vivono molto spesso come una inutile complicazione. Per reazione, molti sono portati ad adottare comportamenti poco sicuri, come confermato da uno studio sponsorizzato dalla Federal Trade Commission statunitense.

Uno dei più pericolosi è, ad esempio, riciclare le stesse password su diversi sistemi. In questo modo, infatti, la violazione di una password può consentire ai malintenzionati di accedere anche ad altri account utente nei quali siano state utilizzate le stesse credenziali.

Ancora, gli utenti possono essere tentati di fare modifiche minime della password ad ogni aggiornamento. Per esempio, potrebbero decidere di cambiare la loro password da “Password!” a “Password?”. Si tratta di un comportamento diffuso che i criminali informatici hanno imparato a sfruttare. Nel caso in cui riescano a violare una password scaduta, gli attaccanti potranno cercare di ricostruire le password successive applicando gli schemi di variante più diffusi.

Inoltre, la necessità di ricordare password sempre diverse potrebbe portare ad un abbassamento del livello di sicurezza, ad esempio con l’utilizzo di elementi facilmente riconducibili all’utente (come date di nascita, anniversari, nomi di familiari e simili). In questo modo, diventa più facile per un attaccante che conosca il suo bersaglio indovinare la sua password.

Ancora più banalmente, gli utenti potrebbero essere tentati di annotare la propria password lasciandola in bella vista accanto al loro PC.

Ha ancora senso imporre agli utenti ogni quanto cambiare la password?

Visti i contro del password aging, sono sempre di più i soggetti che propongono di superare questa misura. Tra questi, vi è Microsoft, che nei suggerimenti sulla politica di gestione delle password per gli utenti dei suoi servizi cloud, consiglia di adottare misure alternative.

Nello stesso senso, anche il National Cyber Security Centre del Regno Unito, nei suggerimenti sulla gestione delle password rivolti agli amministratori di sistema ha suggerito di eliminare le misure di password aging, in favore di misure alternative.

Allo stesso modo, anche il NIST, l’agenzia americana sulla cybersecurity, nelle linee guida sui sistemi di identità digitale, sconsiglia l’adozione di politiche arbitrarie di scadenza della password, che possono portare a risultati controproducenti.

Sulla base di queste indicazioni, si potrebbe affermare che una misura aziendale che imponga agli utenti ogni quanto cambiare la propria password non costituisce più una prassi conforme allo stato dell’arte, al quale l’art. 32 GDPR impone di conformare le misure di sicurezza adottate per proteggere i sistemi aziendali ed i dati personali trattati.

Quali alternative alla scadenza delle password?

Superare le politiche di password aging potrebbe di primo acchito essere un sollievo per gli utenti. Nella pratica, però, ciò non significa che il titolare del trattamento non debba adottare delle misure di sicurezza alternative commisurate al rischio correlato ai trattamenti di dati personali che effettua.

Se, da un lato, il titolare può eliminare dai regolamenti aziendali le disposizioni relative ad ogni quanto cambiare le password, dall’altro deve comunque prevedere delle regole che garantiscano la sicurezza delle credenziali di accesso ai sistemi aziendali.

Nel farlo, dovrà motivare in modo adeguato le proprie scelte, bilanciando le esigenze di sicurezza con la necessità di non penalizzare eccessivamente gli utenti.

Tra le misure alternative che possono essere valutate ci sono, ad esempio:

  • La previsione di un requisito di complessità adeguato per le password utente: non troppo lunghe né troppo difficili. Ma nemmeno troppo corte e banali.
  • Istituire una black list di password comuni o poco sicure (come le celeberrime password123, qwerty o asdfghj), che vengano automaticamente rifiutate dal sistema.
  • Educare gli utenti a non riutilizzare la password aziendale in account personali e viceversa.
  • Attivare sistemi di autenticazione a più fattori.
  • Attivare sistemi resilienti che individuino e blocchino tentativi anomali di accesso.
  • Favorire l’uso da parte degli utenti di password manager, di cui abbiamo parlato qui.

Adottare queste misure non significa necessariamente che le password debbano essere eterne. Ad esempio, un cambio password potrebbe essere disposto eccezionalmente nel caso in cui si verifichino violazioni o tentativi anomali di accesso al sistema.

Ancora, gli utenti potrebbero essere sensibilizzati ad aggiornare spontaneamente la propria password.

Non è poi escluso che, in relazione a sistemi particolarmente critici o a trattamenti di dati particolarmente sensibili, una valutazione puntuale porti comunque a ritenere necessario mantenere una policy di scadenza breve delle password d’accesso. Si tratterebbe, però, di un’eccezione, legata a specifici utenti o sistemi e non la regola.