Memorizzazione di password precedenti. Bad Security [duplicato]

4

Ho un cliente che è irremovibile vogliono archiviare le ultime 4 password utilizzate per ogni utente e costringere ogni utente a cambiare la propria password ogni 6 mesi a qualcosa che non è stato usato prima (cioè non negli ultimi 4 utilizzati).

Ho consigliato loro di non implementare alcuna modifica forzata della password per i seguenti motivi:

  1. Forzare un utente a modificare un PW indebolisce la password nel 90% dei casi, in particolare una modifica forzata che ricorda gli ultimi 4
  2. Memorizzare in modo efficace 5 hash delle password (4 precedenti, 1 corrente) per ogni utente potrebbe essere un incubo se mai dovesse verificarsi una violazione dei dati
  3. Il sistema nelle domande ha già molti altri controlli di sicurezza ben implementati, whitelist IP ecc.
  4. Non forzare una modifica PW è in linea con le più recenti linee guida NCSC

Ora ho spiegato questo in dettaglio a loro, ma non avranno ancora senso.

La mia domanda: è il loro altro angolo che posso portare qui? Sono i loro punti che mi sono mancati che aiuteranno il mio caso?

NOTA: Non sto cercando tecnicamente di archiviare vecchie password, sto cercando di convincere il cliente a non implementare una modifica forzata della password e sto cercando di costruire l'argomento più strong possibile.

    
posta Trickycm 17.09.2017 - 18:35
fonte

2 risposte

4

Prima di spendere qualsiasi sforzo cercando di farli cambiare, considera che potrebbero essere sotto un requisito di cui non sei a conoscenza. Ad esempio, se utilizzano queste password per accedere a un ambiente di carte di credito, PCI DSS richiede una modifica periodica della password. Questo potrebbe essere qualcosa di completamente fuori dal loro controllo.

Se non è questo il caso, puoi provare a riferirti agli ultimi consigli del NIST in SP 800-63B . Nella sezione 5.1.1.2 Verificatori segreti memorizzati (pseudonimi), dicono questo [enfasi mia]:

Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily (e.g., periodically). However, verifiers SHALL force a change if there is evidence of compromise of the authenticator.

L'intera sezione sulle password deve essere letta e implementata nel suo insieme, naturalmente, ma questa raccomandazione è indipendente. L'unica lamentela che ho sul documento è che la loro lunghezza minima raccomandata è di soli 8 caratteri, il che non è chiaramente sufficiente per resistere a un attacco offline di forza bruta sugli hash delle password che potrebbero essere esposti in una violazione dei dati. Per attenuarlo, richiedono che gli hash delle password archiviati siano sufficientemente protetti dagli attacchi di forza bruta, come 10.000 round di PBKDF2.

Si consigliano 10.000 cicli di PBKDF2 per la verifica della password online, in quanto l'idea è di rendere computivamente costoso verificare una singola password, consentendo comunque l'elaborazione in tempo reale durante le frequenti occorrenze degli accessi degli utenti. Si noti tuttavia che le vecchie conferme della password si sarebbero verificate solo durante un'attività di modifica della password effettiva, che dovrebbe verificarsi molto meno frequentemente rispetto agli accessi regolari. E questo apre un'opportunità per migliorare la tua sicurezza.

Considera di consumare ulteriore potenza di elaborazione durante il processo di modifica della password. Calcola sia il PBKDF2 (password, 10000) che memorizzalo nella tabella "password quotidiana" e conserva un archivio di PBKDF2 (password, 50000) nella tabella "password precedente". Quando si collegano di nuovo, confrontarli solo con la tabella "password quotidiana". Quando cambiano le password, eseguire la ricerca su tutte le voci nella tabella delle password precedenti; questo sarà molto più lento di un normale login, ma poiché non è frequente, non dovrebbe interrompere la normale attività. Una volta verificato come unico, scartare e sostituire l'hash di tutti i giorni con il nuovo hash di tutti i giorni e aggiungere il nuovo hash strong alla tabella "password precedente", cancellando la precedente password precedente.

Se si finisce che non è possibile escluderli modificando periodicamente le password, provare ad attuare almeno la memorizzazione pratica più efficace delle "password precedenti".

    
risposta data 17.09.2017 - 23:28
fonte
2

Un altro punto che non hai preso in considerazione è che la tua sicurezza complessiva della password è più vulnerabile durante una modifica della password. Non considerando la sicurezza dei sistemi, questo è un momento in cui un attacco di ingegneria sociale o cavallo di Troia può ingannare gli utenti. Le rotazioni forzate aumentano la superficie di attacco. Questo è il rischio di bilanciare una password rubata oggi e usata male un anno o due dopo.

    
risposta data 18.09.2017 - 15:01
fonte

Leggi altre domande sui tag