Domanda

Sono in fase di pianificazione dello sviluppo di un'applicazione web che voglio fare il più sicuro possibile. Sono abbastanza chiare su come fare da un punto di vista tecnico, ma c'è una massiccio buco potenziale di sicurezza: Voglio il sito per avere gli utenti.

Come chiunque abbia mai stato un utente sa, gli utenti dimenticare nomi utente, dimenticare le password, a volte dimenticare che avevano anche un account con il tuo sito. Gli utenti rispondono alle email di phishing e dare via le loro credenziali. Se fate tutto ciò che trovano troppo complicato non utilizzare il sito, deve essere semplice e tutto accada nel minor numero di click possibile, ma dobbiamo equilibrio che fuori, rendendo più forte possibile per gli utenti di accidentalmente dare via le loro credenziali e per mantenere l'accesso al servizio più sicuro possibile.

Quello che sto particolarmente interessato sono le strategie che vanno oltre la combinazione di nome utente e password standard e modi di recupero o la reimpostazione delle password che rendono le cose facili per gli utenti, ma difficile per chiunque cerchi di rubare il loro conto. Conosco un sacco di siti di fornire un'user-set di domanda in più sicurezza, ma perché faccio gli utenti non si fidano di non creare una domanda stupida come "ciò che è 1 + 1" Io non vedo come questa sicurezza può garantire.

Ci sono strategie che potrebbero essere utilizzabili per l'utente più all'oscuro, ma impegnativo per un attacco deciso e mirato con l'obiettivo di entrare nel proprio account? In caso contrario quali sono le cose più vicini potremmo ottenere? Come utente quali sono le migliori / peggiori siti per questo che avete incontrato e perché?

È stato utile?

Soluzione

L'unico modo che conosco per costruire un sito web veramente sicura è quella di richiedere una password e hanno un dispositivo di challenge / response.

Per esempio, TreasuryDirect.gov si invia una scheda con una griglia di caratteri casuali. Come parte del processo di accesso, viene richiesto di fornire i caratteri che sono contenuti nelle cellule specifiche della griglia. Ma questo è costoso e richiede molto tempo; richiede per ottenere le carte, per tenere traccia di loro e per inviarli. Inoltre, se una persona perde la carta, non possono accedere fino a quando si arriva loro una nuova carta. Nel caso di TreasuryDirect, dove si potrebbe essere gestiscono milioni di dollari, questo fastidio è valsa la pena. Solo è possibile determinare se sarà valsa la pena per il tuo sito.

Un'altra opzione è quella di aggiungere un'immagine di validazione, come un sacco di banche. Credo che questa opzione aiuta solo contrasta alcuni attacchi di phishing quindi se pensate che il phishing sarà un problema, questo potrebbe essere un'opzione.

Credo che le altre alternative, tra cui quello che la maggior parte delle banche utilizzano, sembrano essere sicuro, ma non sono realmente. questioni di sicurezza, per esempio, credo che i siti di compromesso più di quanto aiuto. Altri pensano anche questo .

Un altra cosa sarà quella di incoraggiare gli utenti a utilizzare una "passphrase" invece di una password come Jeff Atwood raccomanda . Amazon ha preso questo approccio e con la loro PayPhrase nuova.

Altri suggerimenti

Credo che non si deve reinventare la ruota. La maggior parte dei siti web hanno una soluzione che funziona per le password dimenticate, e questo è l'invio di un link ad account di posta elettronica dell'utente. L'unico modo che il piano va in tilt è se l'account di posta elettronica è stata compromessa.

E 'ovvio che il più importante dei dati utente sul sito web è, le misure di sicurezza più si dovrebbe avere, ma queste misure di sicurezza addizionali avere un impatto sulla usabilità del tuo sito. Come critico è i dati sul tuo sito? Se avete 2 o 3 sistemi di autenticazione, come a volte le e-banche fanno?

L'aspetto più importante è "fare l'input dell'utente non fiducia". Se si esegue questa operazione, non esisterà la maggior parte dei problemi di sicurezza e non ci sarà un impatto sulla usabilità. Se si vuole essere paranoici, andare avanti e costruire un sistema di sicurezza di fantasia, ma non dimenticare che potrebbe influenzare il modo in cui gli utenti utilizzano il sito (per il peggio). È necessario trovare un equilibrio tra queste 2 cose.

Per l'OP: uso standard si avvicina per la sicurezza dei siti web. Ci saranno inevitabilmente gli utenti Moron che annegare e andare via dal vostro sito sicuro, ma questa è la natura della bestia. Si vuole la sicurezza, si dovrà sacrificare una certa flessibilità (e ancora una volta, non ci sono noti pratiche in materia di sicurezza che hanno funzionato bene da un punto di vista user-friendly.)

Inoltre, quando un utente si allontana, è di solito per cose diverse da quelle di sicurezza (di merda web design, confondendo la navigazione, scarso rendimento, inaffidabilità, ecc) la sicurezza molesta di solito è il risultato di una cattiva architettura, e non di sicurezza si. Tenetelo a mente.

Il mio unico suggerimento sul "utilizzabile ma sicuro" front sarebbe quella di avere impostare le domande, ma le risposte inserite dall'utente (ad esempio notevole luogo, il nome prima di animale domestico, la data notevole). Anche se questi non sono a tenuta stagna individualmente, rendendoli rispondere a una combinazione di due o tre domande sulla persona specfic dovrebbe essere abbastanza buono.

E non dimenticate le parole Captcha o simile per rallentare o identificare brute-forcing.

È inoltre possibile utilizzare OpenID e OAuth piuttosto che dover utente crea nuovo profilo

A meno che non si capisce tutti i casi limite nel trattare in modo sicuro con autenticazione e le sessioni, non implementare da soli.

rotto l'autenticazione e la sessione di gestione è uno dei problemi di sicurezza OWASP Top 10 , e c'è una ragione per questo. "Come è giusto" è così complessa che devi essere un esperto di sicurezza web.

Se possibile, utilizzare un terzo sistema partitico autenticazione. Ad esempio, gli account google uso. Lasciate che preoccuparsi di tutta questa roba.

Come per il tuo commento

non mi fido degli utenti di non creare una domanda stupida come "ciò che è 1 + 1" I non vedere come questo può garantire la sicurezza.

Non è necessario a garantire la sicurezza - in realtà avere una domanda del genere non dovrebbe essere un problema. Consentire agli utenti di impostare i suggerimenti di cui hanno bisogno.

Ora, per e-banking, v'è una sufficiente bersaglio succoso che i phisher fanno i soldi bene, quindi se siete nello stesso spazio si poteva guardare a ciò che alcune delle banche fanno molto successo nello spazio anti-phishing - antiphishing.org ha informazioni utili, quindi le applicazioni come Rapport di Trusteer fornire ulteriori sicurezza intorno alla connessione e per le aree a più alto valore usano 2 fattore di autenticazione, spesso sotto forma di smart card.

Le soluzioni per i vari livelli di rischio e di usabilità diverse sono abbastanza ben compreso, così si potrebbe trovare è più semplice di riutilizzare un concetto già esistente di riqualificare - il costo dei test di usabilità potrebbe essere alto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top