La mia implementazione sicura preferita di questo è fatta da una banca che uso. Se digito correttamente il mio nome utente, verrà visualizzato "Benvenuto Jimbob!" e poi mi chiede di rispondere alle domande di sicurezza (se non ho mai effettuato l'accesso da questo browser su questo computer), attendi che risponda correttamente alle domande di sicurezza, poi mi consenta di vedere la mia immagine / didascalia di sicurezza e di inserire la mia password. Se scrivo il nome utente sbagliato, vedrò qualcosa come "Welcome Bessie / Kareem / Randal!" dove il nome visualizzato è molto raro - sebbene tu sia sempre lo stesso nome per lo stesso nome utente (di solito non sono sicuro tra uno o due nomi utente, e quello sbagliato mi chiama in modo coerente Frenshelia). Presumo che sia implementato come una sorta di hash non crittografico applicato a qualsiasi nome utente inserito che si associ in modo univoco a un nome utente su una lunga lista di nomi abbastanza rari. Ciò consente agli utenti legittimi di sapere se hanno digitato il nome utente sbagliato (come anche se si ha un nome insolito come Bessie, è molto improbabile che il nome utente errato sia stato indovinato in modo casuale per tornare al proprio nome comune), senza rendere evidente a chi prova per trovare account casuali che il nome utente non esiste.
Per inciso: non sono particolarmente interessato alle domande sulla sicurezza / alla parte dell'immagine di sicurezza, che sembra essere al confine con il teatro della sicurezza. Un attaccante sofisticato che esegue un attacco man-in-the-middle (MITM) (ad esempio, dopo aver installato certificati falsi nel browser Web e lo spoofing DNS / ARP per indirizzare il tuo accountbank.com al proprio indirizzo IP) potrebbe attendere finché non si prova a registrare nel sito, quindi avere uno script automatico accedere sul proprio computer al sito reale, ottenere le domande di sicurezza, visualizzare le domande di sicurezza prescelte, rimandare indietro le risposte al sito dal proprio browser, attendere per ottenere la sicurezza immagine, restituisci l'immagine secuirty all'utente, quindi attendi che tu inserisca la password dalla loro fine, a quel punto in cui usano la password per accedere come te e fare cose maligne. Le domande + l'immagine rendono il processo più difficile che avere tutto il tempo del mondo per raccogliere tutte le immagini di sicurezza per una varietà di nomi utente attaccati trasformandolo in un attacco che deve essere eseguito in tempo reale e che potrebbe lasciare una firma sospetta .