L'autenticazione con una serie di domande memorabili è migliore dell'autenticazione della password normale?

1

Non è troppo facile creare una password affidabile e allo stesso tempo memorabile.

Quindi, che ne dici di un numero di domande memorabili invece di una singola password? (Questa idea è correlata a questo )

Lascia che l'utente crei le domande da solo. Potrebbe essere qualsiasi stringa, anche un numero casuale di simboli, purché gli ricordi qualcosa. Renderà la registrazione molto più lunga, sì.

UPD : quando un utente accede, vede la domanda a cui sta rispondendo, quindi le domande funzionano come suggerimenti per la password. Giusto per chiarire.

Le risposte vengono memorizzate come hash (con il corso salato) (sarà utile la crittografia aggiuntiva?). Le domande vengono archiviate crittografate in una catena, ad eccezione del primo - la risposta per la prima domanda è la chiave per decifrare quella successiva e così via. Ciò garantisce che un potenziale violatore dovrà ottenere la risposta per ogni domanda una alla volta in una sequenza rigorosa, il che renderà più difficile l'interazione con il social engineering.

Ripristina in caso di risposta dimenticata per una delle domande: la parte dimenticata della catena viene cancellata e l'utente è autorizzato a "coltivare" una nuova invece di quella. Ovviamente, prima chiediamo all'utente se vuole davvero farlo via email.

Ripristina in caso di risposte compromesse: l'intera catena viene cancellata e l'utente può crearne una nuova. Ancora una volta, conferma email.

(questa idea si basa sull'e-mail, potrebbe essere un problema)

Potrebbe essere migliore dell'autent password standard?

    
posta Andrew Che 11.10.2017 - 21:31
fonte

3 risposte

5

Il problema con qualsiasi schema come questo è che le persone in generale sono spazzatura nel scegliere le buone domande, per non parlare di ricordare le risposte.

In teoria c'è un'enorme quantità di entropia in quanto vi sono più istanze di domande essenzialmente infinite e possibili risposte.

In pratica un numero significativo di persone sceglierebbe comunque domande e risposte comuni. Primo animale domestico, auto, strada, luogo di nascita ecc.

Queste risposte sono quindi vulnerabili sia agli attacchi di dizionario che all'ingegneria sociale e / o alla ricerca open source.

    
risposta data 11.10.2017 - 22:13
fonte
3

Esiste sicuramente un precedente nel settore per utilizzare "Domande di sicurezza" come ripiego di "I Forgot My Password".

La domanda si riduce fondamentalmente a "una password complessa vs più password deboli".

Alcuni pensieri:

  • Attacchi keylogging: se un utente malintenzionato riesce a installare un keylogger, la registrazione di più password equivale a registrare una password.
  • Attacchi per forzatura brutale: le persone sono state addestrate a creare password forti e senza dizionario. Non sono stati così preparati a dare risposte forti alle domande e di solito usano parole a dizionario singolo. Non ho mai visto i dati se sia più facile eseguire la brute-force di 5 risposte di sicurezza piuttosto che forzare una buona password, ma immagino che siano simili.

Risposta diretta alle tue domande:

Answers are stored hashed (with salt fo course) (will additional encryption be useful?).

No, queste sono essenzialmente password, quindi trattale come password e usa l'hashing delle hash delle hash delle best practice e delle hash.

answer for the first question is the key to decrypt the next one, and so on. That guarantees that a potential violator will have to get the answer for each question one by one in a strict sequence, which will make it more difficult to do with social engineering.

Sì, ma apre un buco di sicurezza ancora più grande: attacchi record e replay. Il tuo protocollo di autenticazione si basa su HTTPS per fornire la tua mitigazione contro gli attacchi di riproduzione. Va bene, a meno che l'attaccante non abbia infranto l'HTTPS; hanno un keylogger sul computer della vittima, hanno crackato (o rubato) la chiave privata del server, hanno installato un certificato di root MitM nel sistema operativo della vittima, ecc. Ora l'utente malintenzionato può vedere le password / risposte inviate.

Meglio delle password?

Questo è lo svantaggio principale delle password tradizionali. Gli schemi di autenticazione che mirano a migliorare le password dovrebbero risolvere il problema altrimenti non è affatto un miglioramento.

Se affermi che il tuo metodo di autenticazione è migliore delle password, dovrebbe essere nella stessa categoria dei metodi 2FA come app OTP generatrici di codice, codici SMS o altri metodi di risposta alle sfide; tutti i quali hanno la proprietà che i codici sono one time use , quindi anche se un utente malintenzionato è in grado di registrare uno, il server non accetterà un replay di esso.

Randomizzare quali domande sono presentate, o l'ordine, fornisce almeno una minima protezione di riproduzione. Ad esempio, aiuta con cross-site-request-forgery in cui l'attaccante invia una richiesta cieca senza poter vedere la pagina di accesso per determinare quali domande vengono poste in quale ordine.

    
risposta data 11.10.2017 - 22:20
fonte
2

Mi limiterò a ricapitolare per assicurarmi di aver capito bene. Si propone di chiedere all'utente un numero di domande / risposte, quindi cancellarle nel database con le informazioni sulla domanda successiva nascoste nella precedente.

Ad essere onesti, mi piace, è un servizio molto segreto e tutto, tuttavia sembra che si limiti a chiedere all'utente diverse password, quindi chiedere loro di inserire queste password in modo sequenziale. Sembra una cosa brutale, ma immagino che due password siano più sicure di una.

Per migliorarlo, potresti randomizzare l'ordine su ogni accesso riuscito in modo che la prossima volta le risposte debbano essere fornite in un ordine diverso.

    
risposta data 11.10.2017 - 22:21
fonte

Leggi altre domande sui tag