Quale scegliere per prima cosa nell'autenticazione a più fattori?

4

Diciamo che ho un sistema che usa qualcosa che conosci, come una password, e qualcosa che hai, come un codice inviato a un telefono cellulare, per autenticare.

Esiste un ordine preferito per chiedere la password e il codice?

Dovrebbe essere prima la password quindi il codice inviato al telefono o il contrario?

Modifica

La risposta dovrebbe essere:

Password first but validate both at same time.

Spiegazione qui

    
posta Gudradain 29.08.2014 - 19:21
fonte

4 risposte

0

Ripensandoci, la risposta dovrebbe essere:

Password first but validate both at same time.

Spiegazione

Come @woliveirajr mentionned , devi prima chiedere la password o sarà molto fastidioso per un utente se un hacker tenta di connettersi al tuo account e ricevi un SMS ogni volta che tenta di accedere. Quindi, è necessario inviare un SMS solo se la password è valida.

D'altra parte, come @tylerl mentionned , per ottenere la massima sicurezza è necessario chiedere a entrambi lo stesso tempo. Il trucco che puoi usare qui è inviare il codice SMS solo se la password è corretta, MA chiedi sempre il codice SMS durante il login, anche se la password è sbagliata.

In questo modo l'attaccante non ha modo di sapere se era la password o il codice SMS che non era corretto E non infastidire l'utente reale con un SMS su ogni tentativo di fallire / hacking.

    
risposta data 03.09.2014 - 14:50
fonte
4

Non so se c'è qualche studio a riguardo, o se questa domanda sarà chiusa come opinione, ma:

In un attacco online, limiterai quanti tentativi puoi fare per ogni x minuti, o persino bloccherai l'account dopo x tentativi. Quindi, un attacco a forza bruta avrà un impatto limitato. Ad ogni modo, probabilmente una password avrà più combinazioni rispetto al codice che invierai via SMS. In generale, i codici inviati tramite SMS hanno 4 caratteri o 6 cifre.

Se qualcuno sta provando a forzare la forza bruta e prima tu mandi l'SMS:

  • se deve indovinare il codice e il codice è più piccolo della password, è più semplice per indovinare 6 cifre rispetto a una buona password.

  • se si inviano SMS per ogni tentativo, l'utente reale può annoiarsi a ricevere così tanti codici che non ha richiesto, e non c'è molto che possa fare al riguardo (come dire al sito di smettere di accettare i tentativi di il cattivo?)

Se chiedi prima la password, non infastidirai l'utente reale finché l'account non verrà bloccato da così tanti tentativi. E dopo aver bloccato l'account, puoi semplicemente inviare l'SMS indicando che "il tuo account è stato bloccato a causa di x tentativi sbagliati, per sbloccarlo guarda la tua email"

E forse l'invio di SMS potrebbe costarti qualcosa, può essere meno costoso inviare l'SMS come ultimo passaggio.

    
risposta data 29.08.2014 - 19:35
fonte
3

Nel caso ideale, entrambi possono essere inseriti nello stesso momento, come nel caso di un generatore di OTP . In questo modo, stai testando la combinazione della password e dell'OTP allo stesso tempo, senza rivelare quale ha avuto l'errore, impedendo a un utente malintenzionato di attaccare con forza bruta uno dei due in isolamento.

Ma devi prendere in considerazione le preoccupazioni pratiche in scenari come la verifica tramite SMS. In tal caso, un utente malintenzionato può utilizzare il sistema stesso per attaccare l'utente. Se riesce a far scattare un messaggio SMS tentando un'autenticazione, anche senza conoscere la password, nel tempo potrebbe essere in grado di annoiare l'utente nella disabilitazione dell'autenticazione del secondo fattore solo per interrompere i messaggi SMS. La limitazione della velocità del servizio di autenticazione probabilmente non sarebbe sufficiente a prevenire questo tipo di attacco.

Quindi, come compromesso, è necessario un minimo livello di autorizzazione per attivare il ciclo di verifica fuori banda, sia esso SMS o e-mail o telefonata o altro. Questo non è l'ideale in quanto consente di attaccare la password in modo isolato, ma il compromesso generale è considerato valido.

Un'altra considerazione è la divulgazione di informazioni. Quante informazioni sulla configurazione di autenticazione di un utente vuoi rivelare a un utente malintenzionato non autenticato? Se è necessario un secondo fattore, è sensato richiedere il token del secondo fattore in anticipo. Ogni utente lo ha, quindi non viene divulgato nulla di personale. Ma se il campo del secondo fattore è visibile solo se si digita il nome utente di un utente che lo ha abilitato, un utente malintenzionato può rapidamente stabilire se il secondo fattore è abilitato senza la necessità di conoscere la password. Forse è un grosso problema, forse non lo è. Ma vale la pena considerare che tali informazioni potrebbero essere utilizzate per scegliere un target per le campagne di phishing.

    
risposta data 30.08.2014 - 21:07
fonte
1

Per prima cosa andrei sempre con la password; ciò garantisce che non solo chiunque possa richiedere che i token di autenticazione via SMS o via e-mail vengano inviati agli utenti a caso semplicemente facendo clic su un pulsante.

Questi servizi possono in alcuni casi essere costosi e fastidiosi.

    
risposta data 30.08.2014 - 23:18
fonte

Leggi altre domande sui tag