Quali sono i vantaggi e gli svantaggi di inviare via e-mail a un utente un token / collegamento di accesso?

1

La domanda

Stavo leggendo un forum la scorsa notte discutendo l'idea di inviare via e-mail a un utente un link di accesso, proprio come un link di reimpostazione della password, quindi non richiedono una password. Il loro indirizzo e-mail è già verificato al momento della registrazione utilizzando un simile link simile e li vedo come abbastanza simili in linea di principio a un link di reimpostazione della password.

Il processo

L'utente visiterebbe il sito, inserirà il suo nome utente e riceverà via email un link di accesso valido per 5 minuti. Fanno clic sul link nell'email e hanno effettuato l'accesso.

Inconvenienti

  • La mia preoccupazione iniziale era che un utente malintenzionato avesse accesso alla sua posta elettronica, ma potevano semplicemente utilizzare la procedura di reimpostazione della password sulla maggior parte dei siti per accedere all'account in questa situazione.
  • L'inconveniente per l'utente di dover accedere alla propria email per recuperare il link.
  • L'email non è necessariamente un mezzo sicuro per lo scambio del link di accesso.

vantaggi

  • Come host non è necessario memorizzare la password dell'utente e preoccuparsi di una violazione che la rivela.
  • SSO presenta un singolo obiettivo di alto valore per un utente malintenzionato e richiede l'implementazione sul tuo sito. Questo metodo disegna un parallelo ma senza la dipendenza dal servizio SSO?
  • L'utente non deve ricordare un'altra password che potrebbe essere un duplicato di una password altrove o molto debole.

Pensieri

Il token di accesso dovrebbe essere sia strong che casuale per prevenire tentativi di forza bruta su di esso e potrebbe anche contenere una qualche forma di ID utente per ridurre l'ambito di un attacco. Ci sono altri importanti vantaggi o svantaggi che potresti evidenziare in precedenza dal punto di vista della sicurezza?

    
posta Scott Helme 17.08.2013 - 12:43
fonte

5 risposte

3

Se stai facendo affidamento sull'indirizzo email per verificare l'identità dell'utente originale, sia per il login che per la reimpostazione della password, allora una compromissione dell'account email significa una compromissione dell'account del sito web. Pertanto, non vedo alcun rischio elevato di sicurezza in questo schema di login. In effetti, questo è essenzialmente come utilizzare un servizio di autenticazione di terze parti. Pensa, accedi a StackExchange usando il tuo account GMail.

Combinare questo schema di login con buone pratiche di sicurezza come l'utilizzo di HTTPS, evitando le vulnerabilità di injection, ecc. può renderlo alla pari con uno schema di login basato su password. L'unico vantaggio che vedo qui è che ora l'utente dovrà ricordare un numero minore di password, il gioco è fatto. L'ovvio svantaggio è, ovviamente, l'inconveniente di dover andare nella mia casella di posta elettronica, aprire, il messaggio e fare clic sul collegamento ogni volta che devo accedere a quel sito web.

Se hai intenzione di usarlo, ti consiglio vivamente di avere un'opzione di fallback per consentire all'utente di accedere con la sua password nel caso in cui non abbia accesso al suo account di posta elettronica per qualsiasi motivo.

    
risposta data 17.08.2013 - 16:36
fonte
1

Un utente potrebbe voler visitare il tuo sito Web da un computer in cui non ha accesso al proprio account di posta elettronica o non desidera accedervi. Il tuo processo limiterebbe i computer in cui l'utente può accedere al tuo sito.

    
risposta data 17.08.2013 - 14:43
fonte
0

Il più grande svantaggio di questo metodo di sicurezza è che offre una protezione assolutamente nulla contro un attacco mirato su uno dei tuoi utenti. Le e-mail possono essere intercettate piuttosto facilmente in un attacco mirato e hai assolutamente zero possibilità di proteggere da questo tipo di situazioni.

Oltre all'ovvia falla nella sicurezza, c'è un'enorme preoccupazione sull'usabilità. Richiedermi di accedere alla mia email solo per accedere al tuo sito è davvero fastidioso e probabilmente scoraggeremo molte persone dall'accesso.

    
risposta data 17.08.2013 - 12:48
fonte
0

A volte gli utenti devono modificare i loro indirizzi email, forse a causa di spam o perché hanno cambiato il datore di lavoro. Se sono membri di molti di tali siti Web, devono ricordare tutti questi siti e devono aggiornare l'e-mail di contatto. Se ne dimenticano uno, in seguito non possono più accedere a questo sito e quindi non possono cambiare l'indirizzo email.

Quindi, direi, non vi è alcun vantaggio, o è necessario ricordare le password, oppure è necessario ricordare i siti in cui è necessario accedere per aggiornare l'e-mail di contatto. In ogni caso è bello avere uno strumento come KeePass in cui è possibile memorizzare tutte le informazioni di accesso in sicurezza.

Forse c'è anche uno svantaggio, ci saranno persone che chiedono l'accesso, perché hanno cambiato l'indirizzo email. Quindi tu come amministratore affronterai il problema se credere o meno a questa persona.

    
risposta data 17.08.2013 - 17:09
fonte
0

Questa potrebbe essere una buona idea, se prima hai richiesto di digitare le credenziali complete (username + password) e poi inviare e-mail con token-link. Ciò funzionerebbe come verifica in due passaggi (inserisci la tua password, che solo tu dovresti conoscere, e poi inserisci la tua e-mail, che anche solo tu dovresti inserire).

Tuttavia, si desidera implementare qualcosa come le password e-mail una tantum. Ci sono molti svantaggi di questa idea.

In primo luogo, come è stato menzionato sopra - alcune persone hanno un accesso limitato ai propri account di posta elettronica. In secondo luogo, ad alcune persone piace avere accordi / ordine nella propria casella di posta. Rimozione di ogni e-mail dal tuo sito web, dopo il login di successo, potrebbe essere in qualche modo fastidioso.

Ma questi sono solo svantaggi di usabilità. Diamo un'occhiata più da vicino alla tua idea, dal punto di vista della sicurezza.

Che dire dello spamming ai tuoi utenti? Se un utente malintenzionato conosceva il nome utente / e-mail, potrebbe utilizzare il metodo di accesso per inviare tonnellate di e-mail ai propri utenti. Questa situazione potrebbe portare a infastidire i tuoi clienti (beh, scommetto, che ottenere un numero di messaggi come Click here to login non è qualcosa che vorrebbero ottenere :)). La tua e-mail (questa, che usi per inviare messaggi con token-link) potrebbe anche essere inserita nella lista nera (a causa dell'enorme traffico da essa) e gli altri tuoi clienti non sarebbero in grado di ricevere altre email di accesso.

OK, potresti dire - No spamming! I'll implement CAPTCHA and allow to send only Nth email in short period of time . Bene, risponderei - accedete al vostro indirizzo e-mail, CAPTCHA - cos'altro rendere il vostro sito Web difficile da usare? Torniamo al discorso sull'usabilità :). A proposito di richieste di blocco in un breve lasso di tempo - non dimenticare che l'hacker potrebbe utilizzare questo metodo per bloccare i tuoi utenti autentici e impedire loro di accedere al tuo sito web.

Un altro motivo, perché questa idea è sbagliata è il phishing. Se il tuo sito web invia molte e-mail, i tuoi clienti sono più vulnerabili agli attacchi phishing. Se un utente tipico, su base giornaliera, clicca sul link dal tuo dominio - è più probabile che non esaminerà ogni tua e-mail da te con la stessa attenzione delle e-mail dalla sua banca. Gli aggressori potrebbero utilizzare la tua politica di accesso e inviare e-mail falsificate ai tuoi clienti (ad es. Con link a contenuti dannosi).

    
risposta data 19.08.2013 - 19:24
fonte

Leggi altre domande sui tag