Perché i requisiti della password statica vengono utilizzati così frequentemente?

55

Non sarebbe più intelligente misurare l'entropia della password e rifiutare le password a bassa entropia?

Ciò consentirebbe l'uso di passwords brevi utilizzando l'intero set di caratteri e le password lunghe solo usando parti del set di caratteri.

Lo schema di cui sopra è possibile o i dettagli di implementazione impediscono di fare qualcosa del genere?

Qualche sito o programma include già tali requisiti di password?

    
posta HopefullyHelpful 17.11.2016 - 09:42
fonte

11 risposte

75

Dopo la famosa striscia XKCD , sono stati avviati alcuni progetti per affrontare esattamente questo tipo di controllo di entropia. Uno di questi era il controllo della password ZXCVBN , creato da un dipendente di Dropbox.

È probabilmente il correttore di password più completo del suo genere. Controlla pattern, parole e altro, aggiungendo (o sottraendo) un punteggio entropia di conseguenza. È spiegato in dettaglio sul loro blog .

    
risposta data 17.11.2016 - 12:52
fonte
49

Questa è una grande idea, infatti è l'unico modo corretto per misurare la forza della password.

Ma come si misurerebbe l'entropia della password?
L'entropia è un aspetto del processo di generazione, non dell'output.

Ad esempio, quale sarebbe l'output di tale misura per Tr0ub4dor&3 ? Con ogni ragionevole misura di entropia possibile basata su una determinata password, sarebbe piuttosto decente - oltre 70 bit di entropia. O forse, tenendo conto di un processo di generazione di password presunta , potrei essere abbastanza intelligente da rendermi conto che in realtà è limitato a soli 28 bit , poiché ciascun carattere non è selezionato in modo casuale, ma prima viene selezionata una parola intera. Ma in realtà dovrei spazzare via tutta questa idea, dato che ovviamente l'ho appena copiata direttamente da quel fumetto.

Lo stesso problema si applicherebbe se la password fosse correct horse battery staple (una delle password più popolari tra una certa popolazione).

Quindi sì, i requisiti della password dovrebbero essere basati sull'entropia della password, ma non è possibile applicare questo requisito a una determinata password dopo il fatto.

(Btw, come ho menzionato in un'altra risposta su questo argomento (da una direzione diversa), potrebbe essere una buona idea implementare un sistema in cui le passwords / passphrase vengono generate automaticamente per un determinato livello di entropia e fornite all'utente, invece di chiedere agli utenti di crearne una che soddisfi i nostri requisiti. un buon gestore di password dovrebbe fare sul client, comunque ...)

    
risposta data 17.11.2016 - 09:55
fonte
16

Le politiche sulle password statiche vengono scelte per due motivi principali: usabilità e il corpo di ricerca che dimostra un'efficacia accettabile. La maggior parte della mia risposta proviene da l'eccellente documento di ricerca su un misuratore avanzato di password, Telepath.

In primo luogo, per riassumere alcune delle ricerche utilizzate per eseguire il backup delle attuali norme sulle password:

Password-composition rules date back at least to 1979, when Morris and Thompson reported on the predictability of the passwords used by users on their Unix systems; they proposed that passwords longer than four characters, or purely alphabetic passwords longer than five characters, will be “very safe indeed” [19] [However] Bonneau analyzed nearly 70 million passwords in 2012, 33 years later, to measure the impact of a six-character minimum requirement compared with no requirement [2]. He found that it made almost no difference in security...

This includes the work of Komanduri et al. [13] and Kelley et al. [12], who used similar study designs to perform comparative analyses of password composition rules. These prior studies found that increasing length requirements in passwords generally led to more usable passwords that were also less likely to be identified as weak by their guessing algorithm [13 12]. Most recently, Shay et al. studied password-composition policies requiring longer passwords, finding the best performance came from mixing a 12-character minimum with a requirement of three character sets [25].

L'usabilità è una grande ragione per cui criteri più complessi come l'entropia della password non vengono usati più frequentemente:

In a study of the distribution of password policies, Florencio and Herley found that usability imperatives appeared to play at least as large a role as security among the 75 websites examined [8]. ...

Ur et al. also studied the effect of password strength meters on password-creation. They found that when users became frustrated and lost confidence in the meter, more weak passwords appeared. [28] ...

While [Dropbox's] zxcvbn provides a much-needed improvement in the credibility of its strength estimates when compared to approaches relying solely on composition rules, this credibility is unlikely to be observed by users. In fact, its perceived credibility may suffer if users, who have been told that adding characters increases password strength, see scores decrease when certain characters are added. For example, when typing iatemylunch, the strength estimate decreases from the second-best score (3) to the worst score (1) when the final character is added. Even if users find zxcvbn’s strength estimates credible, they are unlikely to understand the underlying entropy-estimation mechanism and thus be unsure how to improve their scores. [30]

Infine, per completezza, dobbiamo renderci conto che definire l'entropia in questo esempio è molto difficile (ma non impossibile). Ci sono molte diverse ipotesi che possiamo fare sulla sofisticazione dell'algoritmo o del dizionario di induzione di un cracker di password, e queste portano a risposte diverse sull'entropia di password come " Tr0ub4dor & 3 "o" corretto punto batteria di cavallo ". Le misure di entropia della password più sofisticate si basano su dizionari di milioni di password e su studi avanzati di modelli di password, e questo livello di sofisticazione è difficile da ottenere per molti amministratori (e hacker).

    
risposta data 17.11.2016 - 18:10
fonte
13

L'entropia viene calcolata in base alla modalità di creazione di una password. Per calcolare entropia, non è necessario conoscere la password , ma è necessario sapere come è stata creata. Avere la password non ti aiuta nel calcolo dell'entropia, ti consente solo di fare una stima molto scarsa sull'entropia.

Esempio:

Password123

Se la nostra password "Password123" è stata scelta da un elenco delle 3 password più utilizzate che contengono lettere, numeri, lettere maiuscole e minuscole e sono più lunghe di 10 caratteri, l'entropia di Password123 è ridicolmente bassa.

Se la stessa password "Password123" è stata scelta da un generatore casuale perfetto che crea password a 11 cifre con ogni cifra scelta tra 5000 possibili punti di codice unicode, l'entropia di Password123 è incredibilmente alta.

In altre parole: sei a qualcosa, ma "entropia" è la parola sbagliata - "entropia" ha già un significato diverso. Quello che stai cercando è "forza" di una password. E la forza di una password è difficile da misurare e persino più difficile da comunicare. Il fatto che la forza cambi ogni volta che cambiano i metodi di attacco non aiuta neanche.

    
risposta data 17.11.2016 - 23:37
fonte
7

Non puoi misurare entropia della password, puoi solo misurare un limite superiore per essa. Quindi qualsiasi stimatore della forza della password è difettoso.

L'utilizzo di uno stimatore di password o di regole fastidiose ha lo stesso effetto di indurre l'utente a cercare di soddisfare i requisiti mantenendo la password il più semplice possibile da ricordare. Quindi, più difficile è il requisito, più difficile tenteranno di creare una password facile da ricordare. Ad esempio utilizzando password come Pa $$ word1 o passwordpasswordpassword. Il problema è che una password facile da ricordare è anche una password facile da indovinare.

Quando il servizio che offri è facoltativo, hai anche il rischio di allontanare gli utenti con requisiti troppo rigidi e perdere clienti.

Tuttavia, è possibile imporre un limite inferiore di 10 caratteri, poiché tutte le password inferiori a 10 caratteri sono deboli e il requisito non è troppo difficile da soddisfare. Puoi anche dare loro consigli per costruire password sicure.

Per la tua ultima domanda "Qualche sito o programma include già tali requisiti di password?", immagino tu possa trovare tali siti. Tuttavia, non raccomanderei di seguire la loro pratica. Non è perché qualcun altro lo fa che è una buona idea fare lo stesso.

    
risposta data 17.11.2016 - 10:08
fonte
6

Come si misura la "entropia" della password?

È impossibile.

Una password come "hresda" può avere "bassa entropia" perché è stata scelta da lettere minuscole, ma se è stata generata casualmente da un set di caratteri contenenti lettere maiuscole / minuscole, cifre e simboli e il risultato è appena successo per contenere solo lettere minuscole, quindi ha un'entropia più alta. Una password come "A63ba!" può avere un'entropia inferiore a "hresda" se è stato generato specificamente come [maiuscolo] [cifra] [cifra] [minuscolo] [minuscolo] [simbolo] piuttosto che scelto a caso.

    
risposta data 17.11.2016 - 13:03
fonte
2

Sì, ci sono programmi che misurano l'entropia di una password per decidere se è abbastanza buona o meno. Una volta che il programma è Wabol Talk . La funzione è implementata usando estimate_quality metodo nel modulo principale del programma. In definitiva, il metodo è utilizzato nel metodo appena sopra ( error ) per convalidare i campi password utilizzati per generare chiavi e vettori di inizializzazione. La stima è solo di qualità minima poiché non giudica le password in base alla loro frequenza d'uso, ma dimostra uno dei modi più semplici per scoprire quanti bit di entropia sono presenti in una password.

    
risposta data 17.11.2016 - 22:31
fonte
1

Una nota sull'ambiente internazionale. Se la password viene creata per un sito web aperto a tutto il mondo (non raro), è probabile che l'utente non parli inglese come lingua nativa e invece possa scegliere, ad esempio, parole svedesi come base per il metodo di creazione della password xkcd.

"paraplyost" (formaggio ombrello) sarebbe probabilmente di livello inferiore in un correttore di entropia che conosceva il dizionario svedese rispetto a quello che non lo conosceva. Se un utente malintenzionato sa che l'utente è svedese (non lo scenario più comune, ma potrebbe accadere), potrebbe essere in grado di hackerare la password di un utente più facilmente di quanto il controllore di entropy ne fosse a conoscenza, a meno che il controllore dell'entropia sia caricato con centinaia (o migliaia ?) dei dizionari.

Un bell'effetto collaterale di questo è che se si parla una lingua che non è una delle più comuni al mondo, è possibile rendere le password ancora più sicure come utente anonimo su un sito Web internazionale. :)

    
risposta data 18.11.2016 - 11:01
fonte
1

Does any site or program already incorporate such password requirements?

Diversi siti Web lo fanno. Ad esempio, vai su link e prova a registrarti con una password che è una parola di dizionario comune di 8 caratteri o più (es. dictionary ). Vedrai che il misuratore di forza ti mostra il punteggio più basso. Ora prova a mescolare le lettere in modo casuale (ad esempio ioictnadry ) e usa quello - vedrai il contatore di forza salire.

L'ovvio svantaggio di questo metodo è che è necessario caricare un dizionario di password comuni per ogni cliente utilizzando il modulo di accesso. Questo recentemente è diventato OK, ma è stato totalmente inaccettabile 5 o 10 anni fa.

    
risposta data 21.11.2016 - 11:33
fonte
0

La mia impressione è che la maggior parte delle crepe utilizzi la parola e l'amp; esistente; elenchi di password. E alcune variazioni su quelle, come aggiungere numeri o ripetere una parola. Eccezione annotata di seguito.

Quindi anche una password è debole se appare su un elenco , tuttavia è possibile che vengano visualizzati i calcoli di entropia (del processo di generazione). Su "una lista" significa: se la lista dei cracker non contiene la tua password, è strong, nonostante il calcolo dell'entropia. Quindi è quasi impossibile controllare l'elenco (sconosciuto) in anticipo. Tuttavia, provare 65 milioni di parole non fa male, vedi Password ID SUNet di Stanford . 65M è molto ma questa lista contiene quasi 2,5 miliardi di password: Password MySQL

Un processo di generazione PW ad alta entropia e uno strumento che controllano l'entropia devono essere entrambi integrati da una fase di rifiuto che utilizza elenchi e schemi. Anche quei processi ad alta entropia possono generare password facili da indovinare, come aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (vedi sotto) e password1 .

Ho chiesto al cracker degli hash di Ashley Madison come avrebbero potuto crackare lunghe passphrase pubblicate. Solo una risposta generica, ma dopo aver analizzato quelli pubblicati, ho scoperto che la maggior parte di quelle frasi lunghe sono espressioni comuni o tag hash, vedi fonte di alcune frasi AM incrinate

L'unica eccezione agli elenchi come fonti è costituita da password con uno schema come: maiuscolo, quindi minuscolo seguito da un numero. Modelli comuni, con hit%, sono disponibili su Internet. Quelli potrebbero infatti essere facilmente controllati in anticipo.

- modifica 2,5 miliardi aggiustati; aggiunta della parte 'aaaaaaa'; rifiuto riformulato

    
risposta data 18.11.2016 - 10:11
fonte
0

Una parola: politica

Negli ultimi dieci anni circa, la principale deriva nella sicurezza delle informazioni è verso la conformità, il controllo e le politiche. In sostanza, ciò che facciamo oggi è la creazione di un ISMS (Information Security Management System) basato sull'impegno a livello C e sulle politiche aziendali.

E quando si arriva a scrivere la politica della password, non si è al livello tecnico. Stai scrivendo un documento che i dipendenti devono leggere, capire e possibilmente firmare. Stai scrivendo un documento che la direzione deve accettare e supportare. Non puoi entrare troppo in profondità nella matematica o non ricevere l'accettazione.

Infine, quando si pensa a come implementare effettivamente la politica della password, in quasi tutte le organizzazioni non si è liberi di inventare le proprie regole. Avrai qualcosa come Active Directory in esecuzione e la tua implementazione deve lavorare con esso, o il sistema IDM, o lo stack legacy o altro.

Quindi, con le lacrime agli occhi, scriviamo le politiche sulle password che sappiamo essere per metà stupide, perché è il meglio che possiamo effettivamente fare.

    
risposta data 22.11.2016 - 12:00
fonte

Leggi altre domande sui tag