it-swarm-eu.dev

Usabilità e sicurezza per l'accesso degli utenti e la gestione delle password in un'applicazione web?

Sto cercando di mettere insieme un sito web rivolto agli utenti ordinari che gestirà i dati personali che non voglio essere compromesso. Come posso rendere il sito sicuro ma anche utilizzabile?

Sembra che la maggior parte dei siti utilizzi un identificatore utente (l'indirizzo e-mail sembra migliore) e una password, che è abbastanza ben compresa.

Alcuni siti bancari vanno oltre avendo un PIN o domande di sicurezza che seguono gli identificatori standard o che sostituiscono la password. Sarei interessato a conoscere eventuali alternative che si sono rivelate efficaci in questo senso .

Ho anche sentito parlare di come consentire agli utenti di scegliere il proprio colore o cercare un sito una volta identificati per rendere più difficile il phishing dei dettagli dell'account. Qualcuno sa dei siti che usano questo e quanto bene funziona?

La vera debolezza nella maggior parte dei sistemi mi sembra essere la funzione di reimpostazione della password. Poiché gli utenti dimenticano le loro password per tutto il tempo, dobbiamo avere qualcosa per aiutarli qui, ma sembra davvero difficile trovare un equilibrio tra utile e orribilmente insicuro. Anche in questo caso l'approccio alle domande sulla sicurezza degli utenti sembra essere ampiamente usato qui, ma i due lati di questo che ho riscontrato hanno avuto una domanda che l'utente pone e fornisce una risposta o hanno alcune domande immutabili sull'utente.

Con una domanda fornita dall'utente non mi fido di loro per non fare la domanda "cosa è 1 + 1", non importa quanto tu provi a dire loro che è molto importante.

Con domande immutabili - e se stai chiedendo le opinioni di un utente su cose piuttosto che semplici fatti, è più probabile che cambino - tendono a trasformarsi in quel tipo di cose (nome dei genitori, primo animale domestico) che in realtà è abbastanza facile da trovare se stai prendendo di mira un utente per l'attacco.

Mi rendo conto che ci sarà sempre un compromesso tra ciò che è sicuro e ciò che è facile da usare, ma deve essere possibile fare meglio di quanto faccia la maggior parte dei siti adesso. Puoi suggerire approcci meno convenzionali ma affidabili alla sicurezza dell'account utente? Ho sentito parlare di griglie di immagini, captcha personalizzati e così via: qualche esperienza di questi in pratica? Esistono siti che lo gestiscono particolarmente bene e se mostrano come/perché funzionano?

10
glenatron

Buona domanda.

Versione breve

Esistono diverse opzioni che vanno oltre il nome utente/e-mail/password come la maggior parte dei siti. Non puoi risolvere l'ultimo problema di sicurezza, ma puoi educare. Ci sono alternative ai captcha. Sicurezza e facilità d'uso sono un dibattito senza fine e salutare.

Opzioni di sicurezza extra durante l'accesso

  • Yahoo! utilizza il concetto " sigillo di accesso ", in cui è possibile scegliere un testo o un'immagine e tale personalizzazione verrà memorizzata in un cookie e visualizzata nella pagina di accesso al ritorno. L'idea qui è che aiuta a prevenire gli attacchi di phishing: invece di spiegare i dettagli tecnici del phishing agli utenti e aspettarsi che ricordino cose come "assicurati che l'URL inizi con https://www.yahoo.com ", devi semplicemente dire all'utente di cercare il testo o l'immagine personalizzati nella pagina. Se non è presente, non sei nel sito giusto, quindi non fornire le tue credenziali di accesso.

  • World of Warcraft utilizza Blizzard Authenticator , che è un dispositivo che puoi ordinare e che ti è stato spedito, oppure un'app per iPhone/Android. Entrambi generano un codice univoco associato al tuo account ogni minuto. Quando accedi, devi fornire il tuo indirizzo e-mail registrato Battle.net, la password dell'account e quel codice Blizzard Authenticator. Sebbene sia un gioco, World of Warcraft è un continente di phishing a sé stante, questo approccio si è dimostrato estremamente efficace nel ridurre il numero di account compromessi attraverso il phishing (poiché anche se si hackera l'account e-mail di qualcuno e si recupera o si modifica la password di World of Warcraft , non è possibile accedere a meno che non si disponga di quel codice Authenticator sincronizzato specifico effettivo). Vale la pena notare che l'Autenticatore è teoricamente hackerabile, ma ci vuole molto più lavoro per farlo.

  • myOpenID utilizza un sigillo di accesso simile a Yahoo! chiamata "la tua icona personale". Poiché OpenID ha ulteriori implicazioni per la sicurezza (ad es. Se si accede al mio OpenID, ora si ha potenzialmente accesso a tutti i siti che utilizzo con tale OpenID), qualsiasi opzione per una maggiore protezione aiuta molto. Non penso che la maggior parte degli utenti non tecnici disponga di account OpenID con provider OpenID, quindi questo potrebbe essere un grosso problema. Comunque, bravo JanRain per aver fatto il possibile.

Cosa fare quando gli utenti forniscono ovvie domande e risposte sulla sicurezza

Questo è un problema che non puoi risolvere e non è davvero una tua responsabilità. Ciò su cui dovresti concentrarti è promuovere il giusto comportamento nei tuoi utenti educandoli su ciò a cui devono prestare attenzione. A seconda del tipo di base di utenti che possiedi, puoi essere più o meno aggressivo al riguardo, ad esempio Yahoo! e Blizzard sono molto aggressivi e implementano anche un'assistenza di sicurezza più proattiva, come menzionato sopra.

Alcune cose che puoi fare:

  • Ricorda agli utenti di utilizzare una password univoca composta non solo da caratteri alfanumerici
  • Spiega che le password devono essere fatte da parole inesistenti e aiuta a spiegare come creare una password memorabile che si adatti a quello stampo
  • Usa copia libera durante il flusso in cui gli utenti creano una domanda di reimpostazione della password di sicurezza e sottolinea l'importanza di porre domande non banali a cui altre persone non conosceranno la risposta
  • Fornisci esempi di domande che le persone potrebbero usare ( Don't fornisci esempi come "il nome da nubile della madre", che è facilmente reperibile oggi tramite Facebook)
  • Scrivi un FAQ che fornisce suggerimenti su come proteggere il tuo account. Poiché la webmail è una falla di sicurezza spesso utilizzata, fornisci suggerimenti di base sulla protezione dell'account e-mail e su come guardare per i tentativi di phishing

Essere un proprietario di un sito Web responsabile. L'ho paragonato alle stazioni ferroviarie che hanno un cartello che dice "attenzione ai borseggiatori" - è una tua responsabilità come individuo non avere il tuo portafoglio in bella vista e poi lamentarti quando viene rubato. Ma è bello che la direzione della stazione ricordi alle persone di tenere a mente le cose. Il problema sul Web è che molte persone non sanno cosa cercare o come identificare le minacce. Possiamo aiutare educando costantemente e costantemente tutti coloro con cui veniamo in contatto.

Captcha e alternative

I captcha esistono per due motivi: uno, per impedire al tuo sito di ricevere DDOS e due, per impedire agli hacker di eseguire attacchi con dizionario. Ma il rovescio della medaglia è che, nella maggior parte dei casi, sono molto ostili e completamente non " Non farmi pensare ".

Se vuoi impedire, o almeno dissuadere, gli attacchi da dizionario, considera l'aggiunta di un timer alla schermata di accesso che aumenta per ogni tentativo (dopo un certo numero). La maggior parte degli utenti entrerà dopo, diciamo, 5 tentativi e non è un comportamento dubbio. Rendi noiosi gli attacchi con dizionario da eseguire provocando problemi ai trasgressori, non agli utenti regolari.

Sicurezza vs. facilità d'uso

Jakob Nielsen ha causato uno schianto l'anno scorso quando ha scritto che i campi password presentano un problema di usabilità e dovrebbe smettere di mascherare il loro input . Ha sostenuto che il mascheramento dell'input previene davvero le perdite di sicurezza solo quando qualcuno si trova direttamente dietro di te, e non è così il 99% delle volte, quindi perché rendere le cose più difficili da usare solo per un caso Edge? Come esperto di usabilità, è difficile discutere con lui. E l'esperto di sicurezza Bruce Schneier ha persino concordato con lui!

Quindi sicurezza vs. facilità d'uso è un problema controverso che non può essere realmente risolto. Ed è un argomento salutare: se le cose oscillassero troppo in entrambe le direzioni, ciò non sarebbe positivo per gli utenti finali. Come designer dell'interfaccia utente, è importante riconoscere gli argomenti degli esperti di sicurezza e tenerne conto quando si progetta l'esperienza dell'utente.

9
Rahul

In realtà, con la maggior parte dei fornitori là fuori che offrono API di accesso (di solito basate su Open Auth), non è nemmeno necessario affrontare i problemi di accesso/autenticazione dell'utente. Chiedi ai tuoi utenti di accedere con Facebook, Google, Yahoo, Twitter, ecc ... Sento che Google, Microsoft, Yahoo, et. al. farà un lavoro migliore nel proteggere le credenziali di accesso e nel gestire le reimpostazioni delle password rispetto a me. Questo è davvero il caso migliore per i tuoi utenti perché non hanno bisogno di ricordare un nuovo set di credenziali e, nella maggior parte dei casi, se sono già registrati nella loro posta, non passeranno più attraverso l'immissione della password. È perfetto l'accesso con un clic (senza digitare).

Ci sono due piccoli trucchi per far funzionare questo. (1) È necessario supportare un numero relativamente elevato di provider di accesso per assicurarsi di acquisire tutti i propri utenti senza disturbarli. (2) È necessario supportare e incoraggiare il collegamento dell'account in modo che gli utenti possano aggiungere più fornitori di accesso al proprio account sul proprio sito perché i fornitori possono (e spesso fanno senza preavviso) modificare la loro API o interrompere la manutenzione bloccando efficacemente quegli utenti del tuo sito.

L'aspetto positivo è che puoi recuperare i parametri utente direttamente dal provider in modo che l'utente non debba inserire informazioni come indirizzo e-mail, nome, telefono, ecc ...

1
Jonathan

Ad essere sincero, come programmatore, non mi piacciono molto i passaggi di sicurezza di domande/risposte personali in quanto le risposte potrebbero essere inserite in modo errato da un punto di vista strettamente programmativo. Cosa succede se la loro risposta era un nome, ma non ricordano se hanno messo l'intero nome o solo il loro nome breve o solo il loro nome, o se mancano un apostrofo e non si rendono conto.

I captcha (di vario tipo) d'altra parte richiedono una risposta in bianco e nero. È valido o non lo è. Detto questo, la leggibilità del captcha a volte presenta problemi per gli utenti. La maggior parte sono leggibili, ma alcuni sono solo fragili.

Penso che il metodo per richiedere la verifica tramite e-mail quando si reimposta la password mi è sempre sembrato abbastanza sicuro, in quanto richiede chiaramente di conoscere i miei dati di accesso per un sistema secondo (il mio account di posta) per accedere il collegamento indietro al sito per richiedere una nuova password.

0
Nick Bedford