Vai al contenuto

Salting delle password

Il salting assegna a ogni nuovo hash di password un valore casuale distinto. Il salt si conserva insieme all’hash e non deve essere segreto.

Sicurezza informatica

Usare un salt distinto per ogni hash

Il salting assegna a ogni nuovo hash di password un valore aggiuntivo distinto, generato casualmente in modo sicuro. Il salt è un ingresso della funzione hash per password. Non deve essere segreto e viene conservato con il valore di verifica. Una libreria di hashing delle password usata correttamente può occuparsi della generazione e della gestione.

In un’applicazione fittizia, account-A e account-B scelgono la stessa password. La libreria genera per loro salt casuali indipendenti. I nomi salt-A e salt-B rappresentano solo questi valori; non sono impostazioni di salt utilizzabili. Salt distinti impediscono a un attaccante di riutilizzare semplicemente un hash precalcolato per tutti gli account.

Verificare con il valore salvato

A un accesso successivo, la libreria usa salt e parametri salvati per controllare la password inserita. Non genera un nuovo salt a ogni verifica di un hash esistente. La creazione di un nuovo hash di password usa invece un salt nuovo.

Un salt non è un pepper: quest’ultimo è un segreto aggiuntivo che può proteggere più record e viene custodito separatamente dal database delle password. Il salt non sostituisce neppure una funzione hash sufficientemente costosa. Chi possiede una copia del database può ancora provare password candidate con il rispettivo salt; le password deboli restano quindi a rischio.

Fonti