Esistono diversi tipi di attacchi a cui le password sono soggette, così come esistono numerose difese che possono essere implementate.
bcrypt e / o il blocco della password sono solo due delle molte difese possibili.
Forza della password è un articolo abbastanza decente.
Per rispondere in modo specifico alla domanda sul motivo per cui sono necessarie le combinazioni: è l'unico mezzo disponibile per forzare la selezione di una password complessa. Una password strong significa davvero alta entropia (cambio) tra i caratteri della password. Maggiore è l'entropia, maggiore è la gamma di bit disponibili per la crittografia (ad esempio con bcrypt). Una password bassa entropia (debole) non utilizza lo spazio completo disponibile per la crittografia. Quello che pensavi fosse la crittografia a 128-bit o 256-bit finisce per essere molto meno perché non è stato usato l'intero range per le chiavi.
Alcuni numeri potrebbero aiutare a spiegare le cose in modo più chiaro. Useremo una password di 8 caratteri per l'esempio.
Tutte le password in minuscolo hanno solo 26 combinazioni diverse. Quindi sono 26 ^ 8 o 2.1x10 ^ 11 combinazioni diverse.
L'aggiunta di caratteri maiuscoli raddoppia il nostro spazio (ora 52 non 26) ma ci compra molte più combinazioni. 52 ^ 8 o 5.3x10 ^ 13, che è un guadagno di circa 250x.
Inizia ad aggiungere numeri o caratteri speciali e puoi facilmente vedere gli effetti di forzare più entropia nello spazio chiave.
In realtà, non abbiamo ancora lo spazio chiave completo poiché qualcosa che è in grado di essere ricordato generalmente non ha molta entropia in esso. Ma i requisiti aiutano a spingere più entropia nella password.