L'importanza di applicare un SALT alle password: il caso di Linkedin

di Daniele Bochicchio, in Sviluppo web,

Il caso del leak delle password di Linkedin ci ricorda che siamo, costantemente, sotto potenziali attacchi di sicurezza.

Per farla breve, parte del database di Linkedin è stato esposto e con esso le password. Ovviamente, Linkedin ha applicato un meccanismo di hashing delle password, ma ha usato SHA1, il cui algoritmo è abbastanza debole. Grazie alle rainbow table il risultato è che le password fatte di frasi "comuni" (password, Jake13, 12345) sono facilmente recuperabili.

Detto questo, c'è un sistema abbastanza semplice per evitare questi problemi, anche se il vostro database viene esposto? Sì, basta usare un SALT, che è un insieme di bit random, univoci per ogni password, che potete salvare nel vostro database e che serve per combinare la password in formato hash, così che non si possa risalire alla stessa dalle rainbow table (o meccanismi analoghi).

Applicare un SALT è facilissimo (è quello che fa il provider built-in di Membership API di ASP.NET) e richiede solo un passaggio in più, all'atto del login. In pratica, dovete salvare il SALT all'atto dell'iscrizione o del cambio password, per poi usarlo in fase di login.

Trovate maggiori informazioni, che spiegano un po' più nel dettaglio tecnicamente il problema e le soluzioni, su questo post.

In fondo trovate anche l'implementazione di una funzione che vi calcola SALT e fa l'hash in C#.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese