La "forza" della password è più importante? [duplicare]

1

Nei primi giorni abbiamo salvato felicemente qualsiasi password volesse dal database.

In seguito abbiamo deciso che le password devono includere determinate caratteristiche come numeri, lettere maiuscole e minuscole e lunghezze definite (a volte un massimo di 8; yikes!).

Non molto tempo dopo che alcuni di noi hanno deciso che determinati caratteri come ; e ' (devi amare le persone che risolvono SQL injection nel modo sbagliato) e persino sequenze ripetute come aaa non sono più consentite.

Ad un certo punto li abbiamo finalmente eliminati e poco dopo abbiamo aggiunto un po 'di sale.

Ora, mi chiedo, è davvero importante fare uno qualsiasi dei requisiti relativi alla "forza" della password? In altre parole, se togliamo tutte le caratteristiche EXCEPT per una lunghezza minima è altrettanto buono?

Se la mia app dice, la lunghezza minima della password è di 12 caratteri e fino a 200 caratteri - essenzialmente una pass phrase e consento loro di usare qualsiasi carattere che possono digitare su una tastiera, quindi è altrettanto difficile sfondare il porta d'ingresso? Supponendo che sto ancora facendo un hashing con un salt quando è memorizzato nel DB?

- nota: non sto cercando opinioni. Sto cercando di capire se qualcuno può fornire una "prova" del fatto che una frase di 12 caratteri è meno sicura di una che ha limitazioni comuni identificate sopra.

    
posta NotMe 06.02.2014 - 16:50
fonte

1 risposta

6

Ok, prendiamo le cose nel giusto ordine.

Innanzitutto, potresti sbagliare . Questo è ciò che dici di "un po 'di sale". Non dici se usi "noi" come "me al mio lavoro" o semplicemente "noi" come in "noi professionisti della sicurezza delle informazioni, in generale". Se è il primo, sembra che si stia usando una costruzione di hashing fatta in casa, probabilmente una o due invocazioni di funzioni hash di una funzione di hash con il valore di sale aggiunto a casaccio nel mix. Questo non promette nulla di buono. L'hashing delle password è una questione complessa, con teoria e ricerca attiva esistente e candidati ben controllati. Leggi questa risposta .

Detto questo, vediamo la tua domanda effettiva, ad esempio le "regole di sicurezza della password" sono utili? A questo devo rispondere: in pratica, no. Vedi questa domanda precedente . È probabile che qualsiasi vincolo trasformi l'utente in un utente non collaborativo , che utilizzerà meccanismi difensivi per facilitare la propria vita, come ad esempio la scrittura di password o la generazione di password "con un significato nascosto". Ciò è controproducente: questi comportamenti degli utenti sono innescati dalle rigide regole della password e il loro effetto complessivo è che la sicurezza è ridotta, non aumentata.

Una lunghezza minima può essere applicata perché una password troppo breve è indebolita e gli utenti lo capiscono . Quindi non alienare i propri utenti applicando una lunghezza minima della password. Tuttavia, qualsiasi altra regola tende a ritorcersi contro il fuoco.

Ciò che rende una buona password è randomness . Le regole per le password sono solo modi per spingere gli utenti fuori dalla loro zona di comfort, nella speranza che una volta che sono obbligati a mettere simboli di punteggiatura e lettere e cifre, allora, in un modo non specificato, inizieranno a "agire a caso". Questo non va in questo modo nella pratica. Gli utenti scomodi sono più arrabbiati, ma non più casuali.

Ciò che può aiutare è dare all'utente un generatore di password non obbligatorio che usa la casualità. I computer sono meglio alla casualità degli umani.

(Vedi anche questa domanda precedente le sue risposte possono illustrare le relazioni tra casualità, sicurezza e usabilità.)

    
risposta data 06.02.2014 - 17:04
fonte

Leggi altre domande sui tag