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.