quante combinazioni consente uno specifico criterio password?

5

Recentemente stavo discutendo sulle politiche relative alle password. Supponiamo che tu abbia una politica che richiede 10 caratteri e inoltre almeno una lettera, un numero e un carattere speciale. Il mio compagno stava sostenendo che questa politica è più debole di quella che richiede almeno 10 caratteri. Anche se questo è vero dal punto di vista computazionale, non potremmo essere d'accordo sul numero di combinazioni consentite dal primo criterio. Quante combinazioni ha la prima politica ed è davvero molto meno della seconda politica?

    
posta PePe 05.05.2015 - 14:26
fonte

5 risposte

7

Il tuo compagno ha ragione che la politica meno restrittiva ha un'entropia potenziale più alta, in quanto può codificare una quantità maggiore di informazioni . Detto questo, l'entropia di un insieme di dati dipende dalla distribuzione di probabilità di ogni dato che appare nel set di dati. Pertanto, la qualità di una politica di password non deve essere misurata in termini di quante informazioni possono essere codificate , ma in termini di quanto impedisce a utenti diversi di utilizzare password simili.

Il semplice lancio di numeri obbligatori non fa molto per questo scopo, e un sito che assegna casualmente password lunghe 7 caratteri composte da numeri, simboli e lettere otterrebbe probabilmente un'entropia complessiva più alta. È impossibile dare una risposta autorevole sul fatto che ci sia una differenza significativa di qualità tra le due politiche proposte perché:

  • richiedono entrambi una quantità maggiore di memoria utente rispetto alla maggior parte delle password osservate in natura, il che significa che non è probabile che abbiano quantità significativamente maggiori di riutilizzo della password debole
  • nessuno di questi modelli è abbastanza comune da rendere disponibile un set di dati di password pubblico / trapelato per il ragionamento sulle distribuzioni di probabilità
  • non esiste un modello generativo di scelte di password umane che possano spiegare come gli umani effettivi possano creare password su questi siti¹

¹ some might claim they have such a model - given the superficiality of state of the art research on human password choices, this is very unlikely. The latest research only addresses behaviours with regard to a unique credential, with populations that are unrealistically motivated in authenticating to studied services (because of how password behaviour experiments are constructed). Current research is also strongly culturally biased towards US/UK individuals as demonstrated by Li et al. 2014. Until these limitations are addressed and much more data is collected

Se vuoi capire come stimare la forza di una singola password, il metodo corrente da applicare sarebbe implementare Metriche sulla sicurezza della password di Bonneau .

    
risposta data 05.05.2015 - 14:50
fonte
4

Questo ha avuto alcuni buoni suggerimenti per rafforzare la password, quindi la domanda dell'OP non è probabilmente importante. Penso che Dexgecko avesse ragione, ma era difficile da leggere. Quindi nell'interesse di rispondere alle domande nel modo più semplice possibile:

Let X = { ten character passwords }
Let A = { ten character passwords with no letters }
Let B = { ten character passwords with no numbers }
Let C = { ten character passwords with no special characters }

(Sto usando + per i sindacati impostati e * per le intersezioni impostate.)

La prima politica proibisce A + B + C, quindi la dimensione del primo criterio è

| X \ (A + B + C) | = | X | - | A + B + C |

Ora | X | è una specie di banale, come notato. La dimensione di un'unione può essere calcolata da Principio di inclusione / esclusione

| A + B + C | = |A| + |B| + |C| - (|A * B| + |B * C| + |A * C|) + (|A * B * C|)

In realtà sono abbastanza facili da contare. La dimensione di A è quella delle password senza lettere, cioè solo numeri e caratteri speciali. Le dimensioni di B e C sono simili. La dimensione di A * B è quella delle password senza lettere o numeri, cioè solo caratteri speciali. La dimensione di A * B * C è quella delle password senza simboli, cioè vuota.

Quindi la dimensione delle password vietate è

(10 + 33) ^ 10 + (52 + 33) ^ 10 + (52 + 10) ^ 10 - (33 ^ 10 + 52 ^ 10 + 10 ^ 10)

che è ciò che Dexgecko ha trovato.

Quindi forse il punto sorprendente è che se hai un gestore di password che garantisce che tutti gli elementi di quel 10 keyspace sono ugualmente probabili, c'è una possibilità su tre che dovrai scartare la prima cosa che sceglie.

Direi che siamo lontani dal tempo delle password generate dall'uomo. : - (

    
risposta data 07.05.2015 - 16:07
fonte
2

Quindi proverò a rispondere a quante combinazioni esistono effettivamente per ogni politica. Per favore pubblica un commento se ritieni che la logica sia sbagliata.

Per prima cosa consideriamo il numero di caratteri disponibili includendo ciascuno dei numeri (N), lettere (L) e speciali (S).

  • N - 10
  • L - 52
  • S - 33
  • LS - 85
  • NS - 43
  • NL - 62

  • NLS - 95

EDIT:

Per il primo criterio, rimuoviamo dal totale le combinazioni per ogni singolo set di caratteri e i set su appaiati (che hanno le singole combinazioni rimosse da loro stessi).

Criterio 1

= NLS - N - L - S - (LS - L - S) - (NS - N - S) - (NL - N - L)

= 95 ^ x - 85 ^ x - 43 ^ x - 62 ^ x + 10 ^ x + 52 ^ x + 33 ^ x

Criterio 2

= NLS

= 95 ^ x

A 10 caratteri, la politica 1 è approssimativamente 65,92% di Politica 2. A 20 caratteri, la Politica 1 è intorno a 89,17% della politica 2.

Crediti: Desmos

    
risposta data 05.05.2015 - 15:44
fonte
2

My companion was arguing that this policy is weaker than one that requires at least 10 characters.

Un criterio password è progettato per impedire le password "deboli" (più su cosa questo in realtà significa sotto) , quindi deve essere giudicato sulla password più debole che può essere creata sotto di esso, non dal numero di password che possono essere codificate con esso.

Diciamo che abbiamo 52 lettere (superiore e inferiore), 10 cifre e altri 30 caratteri.

Il metodo di generazione di password più debole possibile con 10 caratteri e almeno uno di ciascun tipo di carattere sarebbe 8 numeri (poiché ci sono solo 10 cifre nel pool di entropia è il più basso disponibile per i tipi di caratteri) e uno ciascuno di un lettera e un simbolo. Dì 12345678A@ .

Il calcolo del pool di entropia di tale password generata in questo modo dà

2^(log2(10) * 8 + log2(52) + log2(30)) = 156,000,000,000 permutations.

La password più debole possibile con 10 caratteri sarebbe di 10 caratteri dal tipo di carattere con il pool di entropia più basso - solo numeri. Dì 1234567890 .

2^(log2(10) * 10) = 10,000,000,000 possible combinations from this entropy pool.

Calcoli mostrati per il calcolo dell'entropia a scopo di spiegazione, tuttavia potresti semplicemente moltiplicarli per ottenere lo stesso risultato: ad es. 10^8 * 52 * 30 = 156,000,000,000

Quindi

     156,000,000,000 vs
      10,000,000,000 vs

Quindi la prima politica applica una password "più strong". Ricorda che la forza della password non è una metrica reale, conta solo entropia e si basa su come viene generata la password . Quindi, se la password fosse basketball , verrebbe immediatamente decifrata usando la seconda politica.

Oltre al primo criterio, il numero e il simbolo possono apparire ovunque, non solo all'inizio, aumentando il numero di permutazioni. Ricorda però che stiamo andando per la password più debole possibile, quindi se un utente deve essere forzato ad avere una lettera e un numero è probabile che li attacchi alla fine (e in quell'ordine).

Se si desidera calcolarlo, moltiplicare per il numero di permutazioni (tempi 10 per le posizioni del numero e 9 per le posizioni del simbolo, poiché il simbolo non può apparire nella stessa posizione del numero, comunque in entrambi i casi va bene).

156,000,000,000 * 10 * 9 = 14,040,000,000,000

Per completezza, per ottenere il numero massimo di permutazioni i calcoli sarebbero i seguenti, supponendo che 10 caratteri sia il limite massimo, altrimenti sarebbe una domanda impossibile a cui rispondere. Si noti che qui stiamo usando il pool di entropia completo poiché stiamo utilizzando la password più "complessa" possibile. Dì Azz643@$%2 - anche se puoi ottenere la diffusione di ogni tipo di carattere.

52^8 * 10 * 30 * 10 * 9 = 1,443,412,670,349,312,000
92^10 = 43,438,845,422,363,213,824

Quindi qui abbiamo

 1,443,412,670,349,312,000 vs
43,438,845,422,363,213,824

Questo ti dà 60 bit contro 65 bit di entropia.

Quindi sì, ci sono molte più combinazioni possibili che possono essere codificate usando la seconda politica, ma in termini reali si possono ottenere molti palloni da basket.

    
risposta data 07.05.2015 - 13:05
fonte
0

L'entropia condizionale specifica può essere maggiore di entropia.

Questo è il fatto matematico chiave. Stai discutendo sul numero di combinazioni, ma dovresti discutere di entropia. Questi tipi di criteri password hanno senso solo se l'utente sceglie la password e non viene generata in modo uniforme.

In questi casi, limitando il possibile pool di valori (password), potremmo ottenere qualcosa che ha un'entropia più alta dell'originale. Questo è un fatto matematico, l'entropia può essere aumentata.

Per illustrare questo esempio esagerato, immagina una variabile casuale X, con i potenziali valori 1, 2 e 3 e le probabilità corrispondenti 98%, 1%, 1%, rispettivamente. Calcoliamo cosa succede se disabilitiamo il valore 1.

  • L'entropia originale di X è H (X) = 0,16 bit.
  • Tuttavia condizionatamente: H (X | X = 2 o X = 3) = 1 bit.

Disabilitando il valore di probabilità ovvio e molto alto, abbiamo ottenuto una distribuzione uniforme del 50% -50% e una maggiore entropia risultante.

Qualcosa di simile sta succedendo con le password. Gli utenti tendono ad avere una preferenza per un set specifico di password (come X = 1 nell'esempio), ma al di fuori di quel set, probabilmente non hanno preferenze forti (come X = 2 e X = 3 hanno probabilità uguali). Quindi, forzandoli a non usare quelli preferiti, devono andare in un territorio dove sceglieranno in modo imprevedibile. Richiedendo caratteri speciali, disabilitiamo il set di password altamente probabile che non ha caratteri speciali del genere. (La maggior parte della gente non penserebbe di includerli naturalmente.)

In pratica, non risulta comunque una distribuzione uniforme. La scelta tipica sarà comunque una password originariamente preferita con qualche tocco su di essa (alcuni caratteri speciali qua e là). Ma quella svolta è abbastanza casuale e aumenta notevolmente l'entropia finale ... Beh, a meno che la torsione non sia prevedibile perché è solo una l33t-ificazione (commutazione di 0 per o, $ per s, ecc.), Nel qual caso è solo una leggera aumentare.

Questo non significa che tali politiche password siano davvero la strada da percorrere, dal momento che anche i fattori psicologici sono importanti da considerare (e in realtà, i gestori di password con password casuali sembrano essere la soluzione migliore nella maggior parte dei casi).

Ciononostante, matematicamente, una tale restrizione potrebbe effettivamente rendere le password più forti.

    
risposta data 14.05.2015 - 15:29
fonte

Leggi altre domande sui tag