Penso che potresti aver perso una parte sottile della norma:
- Devi avere una lunghezza minima
- Devi avere un numero minimo di di lettere.
- Devi avere un numero minimo di di numeri.
Da una prospettiva puramente statistica, diamo un'occhiata alla possibile riduzione dello spazio delle chiavi. Mi scuso se è un po 'difficile da seguire, ma capirai le mie ragioni mentre arrivi verso la fine.
In primo luogo, esamineremo le possibili lunghezze per una password. Nella teoria , le tue lunghezze possibili si inseriscono nell'insieme ℤ + , cioè tutti gli interi positivi. Questo insieme non è numerabile, cioè infinito. In quanto tale, qualsiasi insieme con limiti {n → ∞} è sempre non numerabile, purché n < ∞. Quindi per qualsiasi lunghezza non infinita la tua richiesta di lunghezza non cambierà il numero di lunghezze possibili. Definiamo una funzione ƒ L che ci fornisce la lunghezza di qualsiasi password arbitraria, per ulteriore utilizzo.
Successivamente, esaminiamo i numeri di lettere e numeri. Poiché il dominio della nostra funzione ƒ L è al massimo {1 → ∞}, e almeno {n → ∞} per n < ∞, sappiamo che non è numerabile. Calcolando il numero di permutazioni per un set di caratteri C e una lunghezza L ci richiede di calcolare C L , cioè C elevato alla potenza di L - chiamiamo questo ƒ S . Lo facciamo comunemente per determinare il numero di valori possibili memorizzabili in una stringa binaria n-bit, calcolando 2 n , quindi dovrebbe essere un compito familiare. Sfortunatamente L nel nostro caso non è un numero definito; è una funzione. Quindi stiamo davvero cercando di calcolare C elevato alla potenza di ƒ L , che è piuttosto privo di significato in quanto l'output di ƒ L potrebbe essere qualsiasi numero intero positivo. Tuttavia, possiamo osservare il comportamento di questa operazione - poiché le uscite di ƒ L sono un insieme non numerabile, qualsiasi valore di C causerebbe sempre produrre anche un insieme non numerabile. In quanto tale, per qualsiasi valore di C , ƒ S produce sempre un set non numerabile, e quindi lo spazio delle chiavi rimane infinito indipendentemente del set di caratteri, finché le lunghezze possibili della password si adattano al set ℤ + .
Ora, tutto il precedente era puramente teorico , e in gran parte privo di senso in qualsiasi modo applicabile. In pratica, non si poteva permettere una password di carattere 2 × 10 100 , quindi si ha effettivamente un limite. Come tale, l'insieme ƒ L diventa numerabile, e quindi l'insieme ƒ S diventa numerabile anche, e per definizione ora dipende dal valore di C . Ma fino a che punto importa?
La risposta non è basata sulla matematica, ed è proprio per questo che ti ho portato su un percorso tortuoso e dettagliato fino a questo punto. Non si tratta dei numeri, si tratta delle persone. Abbiamo visto, più e più volte, le cattive pratiche di password utilizzate dalle masse. I dump delle password trapelati dopo le violazioni di siti importanti come LinkedIn, Sony e Gamigo hanno dimostrato quanto siano orribilmente comuni le password scadenti (come "letmein" e "dragon"). Il Santo Graal della politica delle password è quello che consente agli utenti di scegliere password resistenti ai tentativi manuali di induzione e bruteforce, ma che rimangono memorabili abbastanza da non dover riutilizzare le password. Il Santo Graal non esiste. Non è possibile che ogni singolo utente aderisca a criteri di password perfetti.
Fornire una politica di password che porti alcuni requisiti minimi assoluti (una lettera, un numero, minimo 7 caratteri) è sufficiente per portare il 100% dei criminali a una password senza dizionario, 80% di loro su una password non comune, e uccidere il 90% delle password comuni. Ciò significa che hai ridotto con successo la tua superficie d'attacco per gli attacchi a bassa attaccatura di almeno l'80%, il che è una grande vittoria. Inoltre, non hai intaccato i tassi di conversione durante l'iscrizione, dal momento che le norme di base sulle password sono prassi standard per la maggior parte degli utenti.
Quindi, anche se potresti teoricamente ridurre lo spazio dei tuoi personaggi, è una misura scarsa della sicurezza della password e una tangente completa al vero obiettivo di aumentare la sicurezza. Le politiche relative alle password riguardano le persone, non i numeri, e come tali devono essere studiate come meccanismo psicologico, non matematico.