Nell'autenticazione in due passaggi, dovrei controllare il passaggio 1 prima di procedere al passaggio 2 o controllare entrambi alla fine?

1

Ho posto questa domanda prima su Stack Overflow, ma è stato suggerito che la sicurezza delle informazioni sarebbe stata un posto migliore per questo (piuttosto ovvio a posteriori).

link

Ho una tipica procedura di autenticazione dei moduli di applicazione Web con due passaggi:

  • Passaggio 1: richiesta di nome utente e password
  • Passaggio 2: richiedi alcuni caratteri (ad esempio, 2 °, 5 ° e 8 °) da una frase segreta

Devo autenticare il nome utente e la password prima di andare al passaggio 2? O dovrei raccogliere tutte e tre le informazioni (nome utente, password e caratteri) e controllarle alla fine?

La maggior parte dei siti web che ho visto controlla il nome utente e la password e, se non si autenticano, non chiedono mai i caratteri. D'altra parte, si potrebbe sostenere che controllando tutto alla fine e se non corrispondono, mostrando un messaggio di errore che non spiega quale bit fallire sarebbe più sicuro. Ciò fornisce meno informazioni come la visualizzazione di "Nome utente o password errati" (senza specificare quale) in una semplice autenticazione in 1 fase.

Il problema con il secondo approccio (oltre ad essere meno user-friendly) è che il Passaggio 2 richiede l'ottenimento di un utente valido nel Passaggio 1, altrimenti è difficile conoscere la lunghezza della frase segreta per chiedere caratteri validi (non c'è punta a chiedere il decimo carattere se la frase è lunga solo 9 caratteri). L'applicazione dovrebbe anche conservare la password in modo sicuro tra i due passaggi.

Quindi qual è il migliore? C'è un terzo approccio che dovrei prendere in considerazione?

    
posta acfrancis 20.06.2014 - 12:27
fonte

2 risposte

4

Non farlo! Questo è stupido. Se si tratta di un requisito del cliente, respingere il client. Dovresti essere l'esperto. Dillo al cliente quando sta facendo qualcosa che non serve i loro interessi. Questa è semplicemente un'elaborata autenticazione a fattore singolo e fornisce assolutamente zero sicurezza aggiuntiva su un requisito di password leggermente più lungo.

Il cliente potrebbe pensare che questo è un secondo fattore, ma non lo è. Per l'autenticazione a due fattori, devono essere due fattori diversi da qualcosa che hai, qualcosa che conosci e qualcosa che sei. Questi sono entrambi qualcosa che sai, quindi non viene fornita alcuna sicurezza aggiuntiva oltre ai caratteri aggiuntivi della password, è solo un po 'più conveniente dover digitare l'intera frase (che è fondamentalmente una password lunga ma scelta molto debolmente). Inoltre non ha alcun impatto sulla prevenzione degli attacchi hash contro la password memorizzata (e la forza bruta online non dovrebbe essere possibile a causa di blocchi degli account.)

Se il cliente vuole ancora questo nonostante la mancanza di effettivi vantaggi in termini di sicurezza, non vedo alcun modo di non farlo in due passaggi poiché, come si fa notare, non si sa quanti caratteri scegliere a meno che tu non conosca la lunghezza della frase con cui sta funzionando e speriamo che almeno la frase segreta sia protetta dalla loro password (anche se in qualche modo ne dubito).

    
risposta data 20.06.2014 - 14:54
fonte
1

Generalmente una sfida multifattuale avviene dopo l'autenticazione della password o allo stesso tempo.

Non penso che dire ai tuoi clienti che cosa è andato storto durante l'accesso sta danneggiando la tua sicurezza così tanto da giustificare la quantità di frustrazione a cui li stai sottoponendo se non dici loro cosa è andato storto.

Se hanno errato il loro nome utente o il loro account è bloccato, si tratta di informazioni utili. Dire loro che la password è sbagliata, non indebolisce la password. Dicendo loro che la sfida MFA ha fallito, non indebolisce il MFA.

Il nome utente errato può comunque essere scoperto in qualsiasi modo da "I forgot my", quindi sarebbe meglio razionalizzare il processo per gli esseri umani smemorati invece di bloccare il proprio account.

Per lavoro da casa stamattina, ho effettuato l'accesso con multifactor e dato che è condizionato al punto di accesso (in ufficio non devo MFA), l'MFA avviene dopo l'autenticazione normale come seconda operazione.

Per accedere al mio gestore di password da un computer non affidabile, ho bisogno di MFA, e questo avviene come secondo stadio, non nello stesso stadio. Rendendolo una seconda fase di autenticazione ti permette di renderlo condizionale. Non tutti con il mio gestore di password scelgono di richiedere l'MFA. In questo modo puoi disattivarlo per le persone che non lo apprezzano.

Oh e sono d'accordo con AJ Henderson, che secondo passo usando caratteri casuali da una parola segreta è un'idea di Topolino da qualcuno che non sa cosa stanno facendo. Quindi se lo fai invece del vero MFA, è comunque un placebo, non preoccuparti troppo.

    
risposta data 20.06.2014 - 15:18
fonte

Leggi altre domande sui tag