Aiutami a sistemare una discussione tra colleghi e guida il design futuro:
Anche in uno scenario ad alto impatto: ad es. proteggere l'applicazione di pagamento o il gateway governativo ma in un'applicazione accessibile a Internet
Vale la pena implementare una delle seguenti (o altre) misure per proteggere un nome utente:
-
Richiedere un nome utente generato dal sistema complesso come gateway governativo del Regno Unito o HSBC on-line banking ? È il compromesso in termini di utenti che dimenticano questo, che hanno bisogno di annotarlo, il traffico del call center aggiuntivo, gli utenti che hanno un promemoria del nome utente self-service utile rispetto al rischio di utilizzare un nome utente pubblico come l'indirizzo e-mail o il numero di cellulare? p>
-
Fornire un messaggio generico: "il tuo nome utente o password non erano corretti" invece di più user friendly "il tuo nome utente non è stato riconosciuto" e "la tua password non era corretta"
-
Utilizzo del seguente tipo di sequenza di accesso in cui è utilizzata una pass-frase personale per la chiave del sito o utente per l'identificazione dei siti di phishing:
- Inserisci nome utente e valore segreto semplice (ad es. codice postale)
- Se non validi, viene fornito un errore: nome utente o valore errati
- Se sono validi, viene visualizzata l'immagine personale del sito chiave dell'utente e viene richiesta la password
- Se la password non è valida, messaggio di errore password errata
- Se è concesso un accesso valido
Contrariamente al modo più amichevole su dire Quora.com in cui ti viene mostrata la tua immagine sulla voce corretta del nome utente. È accettabile solo su Q & A site? A basso rischio?
I miei colleghi sostengono che mantenere i nomi utente segreti e le misure del tipo sopra riportate:
- L'enumerazione del nome utente di massa consente di provare i tentativi di dizionario e bruteforce contro un sito
- ti consente di dosare un sito bloccando tutti gli account in cui il blocco degli account è abilitato
- Gli utenti preferiscono utilizzare lo stesso nome utente e password tra i siti e molti siti utilizzano l'indirizzo di posta elettronica e il numero di cellulare per i loro siti. Se gli utenti condividono le credenziali tra siti, le credenziali potrebbero essere rubate o utilizzate dagli altri siti e quindi utilizzate per accedere al sito
- I fatti noti pubblicamente, come il cellulare e la posta elettronica, non contano per la forza dell'autenticazione. Se il nome utente è un fatto noto, per mantenere lo stesso livello di sicurezza la password deve essere significativamente più strong per compensare la differenza statistica, ad es. se username e password hanno entrambi un minimo di 6 caratteri, supponendo 52 possibili caratteri abbiamo 52 ^ 12 combinazioni. Tuttavia, se il nome utente è un fatto noto, allora diventa solo 52 ^ 6 combinazioni; devi aumentare la password di almeno 12 caratteri per ottenere lo stesso livello di protezione: l'impossibilità di farlo aumenterebbe il rischio di acquisizione dell'account.
I counter per each:
- Il tuo reale controllo su questo è la lunghezza della password, la complessità e il criterio di blocco dell'account
- Puoi mitigare ciò avendo lo sblocco automatico dopo un periodo di tempo (ad es. 5 - 30 minuti), una funzione di sblocco di massa, un esponenziale di back-off o un bando IP per un periodo di tempo dopo un numero di tentativi errati, selettivo controlli anti-automazione (es. Captcha, script Roboo) visualizzati dopo un numero di tentativi falliti
- La formazione degli utenti, un secondo fattore di autenticazione, l'autenticazione adattiva (ad es. step-up o autenticazione graduata basata su ID dispositivo, posizione, ecc.) sarebbero migliori difese contro questo
- Vedo il nome utente come identità e password come autenticazione. Se si desidera un'autenticazione più strong, rendere la password più lunga o richiedere 2 password: lasciare solo l'identificazione
Felice di imparare e cambiare la mia posizione. Grazie in anticipo.