Ogni volta che debbo registrare ad un nuovo servizio mi ritrovo ad inventare una nuova password. Gli algoritmi divengono sempre piu' complicati, come ad esempio:

  • Deve essere lunga dra 6 e 12 simboli
  • Deve contenere almeno un numero
  • Deve contenere almeno una maiuscola e minuscola
  • Deve contenere almeno un simbolo di punteggiatura
  • Non deve contenere spazi bianchi

In altre parole, e' un'altra palla al piede da ricordarsi. Se poi come in un dominio Windows c'e' la regola che non deve essere uguale alle precedenti 72, inizio a farmele girare :-)

Qual'e' il punto? Il punto e' semplice, gli sviluppatori si sono ormai abituati a scaricare il barile sulle spalle dell'utente. Se si applicasse un algoritmo di hashing strong (es SHA-512) non dovremmo preoccuparci di tanti criteri. L'unico che servirebbe sarebbe la lunghezza minima, tutto il resto si rivelerebbe inutile.

Mi si potrebbe far notare che cosi' un utente potrebbe inserire una password banale (es il proprio nome, o 'password') rendendo l'accesso vulnerabile al brute force attack o dictionary attack. Anche questo e', a parer mio, un'altra balla. Per mitigare questo problema vi sono due approcci (applicabili contemporaneamente)

  • chi sviluppa il sito deve preoccuparsi che la password inserita non faccia parte del dizionario (e' cura del maintainer tenere aggiornato il dizionario).
  • Limitare il numero di tentativi sbagliati a 3. Dopodiche' si attiva il processo simile a 'Ho dimenticato la password'.

Qual'e' l'obiettivo. Rendere la vita dell'utente piu' semplice. Vorrei poter inserire una password come voglio io, con dei bei spazi bianchi: "La password me la scelgio io e non tu.". Vi piace questa password?