Ho bisogno di una password di sicurezza elevata se richiedo anche un certificato client per la convalida?

1

A causa di una discussione in corso nel mio ufficio, mi chiedevo se qualcuno avesse commenti sul fatto che la sicurezza dell'hash delle password dovesse essere molto strong se è richiesta anche la convalida del certificato client per la verifica dell'account.

Usiamo l'hashing SHA-512 con un sale randomizzato per l'archiviazione delle password. È stato suggerito che non è necessario iterare la funzione hash poiché richiediamo ENTRAMBI la password e un certificato client per la convalida dell'utente.

La sicurezza del nostro account è significativamente inferiore se riduciamo il numero di iterazioni di hash tenendo conto che richiediamo anche la convalida del certificato client?

Poiché in alcuni casi consentiamo la convalida del solo certificato, e in alcuni casi (ad esempio sui computer degli sviluppatori) consentiamo la convalida della sola password, sono tentato di suggerire che consentiamo un numero basso di iterazioni (o nessun extra iterazioni) del metodo di hashing per gli utenti che richiedono la convalida del certificato client, ma richiedono un numero normale di iterazioni hash per gli utenti che non lo fanno. Ha senso?

    
posta Joe 17.08.2017 - 00:01
fonte

1 risposta

2

Hai bisogno di un hash della password corretta (lento e salato - iterazione è un modo per renderlo lento). Non importa che l'utente abbia un secondo fattore di autenticazione come un certificato. L'hashing della password non protegge dalla stessa minaccia.

L'uso di un secondo fattore di autenticazione protegge da qualcuno che indovina la password dell'utente sul tuo sito, o ottiene la password spiando le comunicazioni, effettuando una spalla, con un keylogger, ecc. La risorsa protetta è l'accesso all'account dell'utente. A tale scopo, il modo in cui il server memorizza la password è irrilevante.

Un hash password appropriato protegge la password da un utente malintenzionato che accede al database delle password sul server (o su un backup). L'asset protetto è il valore della password, che l'utente potrebbe aver utilizzato su altri siti. A tale scopo, l'autenticazione dell'utente sul tuo sito è irrilevante. Il tuo server potrebbe persino memorizzare un hash della password che non utilizza per autenticare l'utente (ad esempio, se stai eseguendo un servizio di autenticazione proxy), e dovrebbe comunque conservare la password in modo sicuro.

    
risposta data 17.08.2017 - 02:57
fonte