Controlla la "sicurezza" di una password [chiusa]

1

Sto cercando di trovare uno strumento per convalidare la sicurezza di una password e ho trovato cracklib o libcrack2 (su Debian), che sembra essere usato molto per l'attività e sembra fare esattamente quello che volevo.

Tuttavia, in realtà non descrive i requisiti che ho immaginato. Per molti casi sembra che abbia alcuni controlli appropriati (ad esempio parole in dizionario rovesciate, troppo semplicistiche, ...).

Quanto segue spiega cosa intendo:

$ echo "wordpass" | cracklib-check
wordpass: OK

Ora, wordpass non è quello che immagino sia una password sicura.

Non ho una password specifica che seguo, né ho un certo valore per l'entropia desiderata della password. Definire "sicuro" in termini di password è un compito complesso. Dato che la password è usata per un sistema Linux che usa PAM, se un utente malintenzionato non è in grado di decifrarlo con le tabelle arcobaleno o bruteforce entro una settimana, lo considererei sicuro.

Come potrei semplicemente verificare la sicurezza di una determinata password su un sistema Linux?

EDIT : ho trovato un altro più ragionevole, passwdqc :

$ echo "wordpass" | pwqcheck -1
Bad passphrase (not enough different characters or classes for this length)

Ma, come accennato dall'utente @Hector, la domanda è molto vaga e in questa forma non è realmente rispondibile, quindi voterò per chiudere la domanda. ma non lo eliminerà perché potrebbe essere utilizzabile per qualcun altro che non è soddisfatto dall'approccio cracklib .

$ echo "MyP@ssw0rd" | pwqcheck -1
OK
    
posta SaAtomic 14.11.2017 - 15:02
fonte

2 risposte

4

Non esiste un processo semplice in grado di farlo. Ad esempio, un oscuro dizionario inglese è più o meno sicuro di "MyP @ ssw0rd"?

L'applicazione delle regole che richiedono simboli e numeri porta agli utenti che utilizzano "password1!" ecc. e costringendo gli utenti a ruotare le password porta a "password1", "password2" ecc.

if an attacker is not able to crack it with rainbow tables or bruteforce it within a week

Attraverso quale meccanismo? In una rete con limiti di frequenza? Hanno accesso agli hash memorizzati? Hai bisogno di molto più contesto per "una settimana" per avere rilevanza. Per una forza bruta stanno incrementando i valori dei byte o usando un dizionario? Quale dizionario? - tutto ciò di cui hai bisogno è un utente che riutilizzi una password altrimenti sicura su un sito che è stato violato ...

I'm trying to find a tool to validate the security of a password

Personalmente suggerirei una combinazione di limiti di caratteri (> = 10 caratteri) combinati con il controllo della password rispetto agli elenchi di password trapelate. Ad esempio Have I Been Pwned mantiene un elenco di diverse centinaia di milioni di hash SHA1 di password perse . Se l'SHA1 della password immessa dall'utente non è presente, è probabile che non sia facilmente forzato bruto / dizionario attaccato.

    
risposta data 14.11.2017 - 15:11
fonte
1

Il tuo obiettivo è ammirevole. Consiglierei il seguente approccio:

A) Richiede una lunghezza minima di 12 (questo elimina automaticamente l'80% della lista HIBP) e consente password di lunghezze lunghe (per contenere passphrase). (Potresti anche avere qualche aiuto sul contesto per incoraggiare le persone a usare una passphrase e indirizzarle all'uso di un gestore di password).

B) Utilizza un sistema di blacklist con una blacklist più piccola, come zxcvbn di Dropbox , personalizzato per includere anche l'elenco RockYou e le parole comuni nelle lingue della tua base di utenti e rimuovendo le parole che sono inferiori alla lunghezza 12. L'elenco HIBP è enormemente eccessivo per scopi di blacklist.

C) Usa un hash strong e lento (come bcrypt al costo 12). Ciò aumenta drasticamente il costo per l'aggressore.

D) Se hai il budget, considera l'archiviazione di materiale aggiuntivo (una chiave di crittografia o un pepe) in un HSM .

La resistenza alle tabelle arcobaleno dovrebbe essere irrilevante, perché dovresti usare un hash correttamente salato.

    
risposta data 14.11.2017 - 17:17
fonte

Leggi altre domande sui tag