Istruzione, minacce e strumenti.
La prima soluzione per i problemi di sicurezza è l'arruolamento degli utenti. Non puoi ottenere comunque una buona sicurezza senza la consapevolezza, quindi potresti anche chiedere il loro aiuto. Pubblica le linee guida su come scegliere una password.
Per rafforzare il punto precedente, pressurizzali un po '(solo un pochino). Pronuncia la parola fatidica: "responsabile". Essendo umani esseri umani, alcuni avranno bisogno di un ulteriore incentivo; in particolare, prestando attenzione a esplicitamente che spieghi quali saranno i guasti, sottolineerà la gravità del problema. Le persone non crederanno nell'importanza dei problemi di sicurezza se tu, come manutentore del server, non fai i compiti. Queste piccole minacce sottilmente velate spingono gli utenti nella zona leggermente scomoda dove sono alert . Non esagerare! Desideri utenti che si conformano , non utenti che combattono il tuo sistema .
A quel punto, aiuta gli utenti. Il fatto fondamentale della generazione di password è che gli umani non sono bravi in caso di casualità . Ma la casualità è ciò che è necessario per una password. Poiché si tratta di una webapp, si ha un server Web attendibile - "affidabile" nel senso che la password è per garantire la sicurezza di quel server, quindi il server stesso non può essere un nemico (sarebbe non ha senso). Quindi, usa quel server: includi un generatore di password . Qualcosa che produrrà buone password, accessibili con un clic.
I due aspetti della generazione della password sono che la password non deve essere ipotizzabile, ma deve essere comunque memorizzata. Dando regole per la password generazione , si presume che mnemonici con cui l'utente ricorda la password corrisponderà esattamente alla procedura con la quale la password è stata creata . Questa è una restrizione artificiale. Prendi in considerazione il famoso generatore di password XKCD : il il generatore è non sulla scelta di quattro parole che "hanno senso" insieme; invece, si tratta di selezionare quattro parole a caso e quindi, solo allora, trovare un "significato" per esso (come il mammifero ungulato che riflette i dispositivi di accumulo di elettricità). Questo evidenzia come vengono prodotte password complesse: usa la casualità , quindi allena il cervello per far fronte al risultato.
Uno schema di generazione di password a cui sono piuttosto affezionato va così: genera due lettere, poi due cifre, poi due lettere, poi due cifre. Per compiacere interfacce applicative inflessibili, creare le prime due lettere in minuscolo e le altre due in maiuscolo. L'entropia di questo processo di generazione è 10 4 * 26 4 , cioè un po 'sopra 2 32 . 32 bit di entropia non sono male: ci vorranno in media più di due miliardi di tentativi per rompere una password di quel tipo. Questo è sufficiente per la sicurezza online (ci vorrebbe troppo tempo perché il tuo server "provi" molte password). D'altra parte, trovo che queste password casuali siano facili da ricordare . Provalo ! Ricorda già i numeri di telefono, che sono solo numerici; le lettere sono grandi "ancore" per la mente e rendono la memorizzazione solo più facile. Ecco cinque password di questo tipo, appena generate (non le ho scelte):
sf57HD04
sd82PI16
ny21BF75
xv53AQ36
jz91EQ92
Per ognuno di loro, dichiaro che stai già trovando un modo semplice per "ricostruirlo" nel tuo cervello, come se lo avessi creato in modo arguto. Ma dal momento che sono stati generati con reale casualità, la loro entropia è intatta.