Trattare con utenti che riutilizzano password errate

1

Qual è la migliore (o buona) pratica per trattare con gli utenti, che sono determinati a riutilizzare la loro vecchia password, che sia buona o cattiva? O semplicemente usa una password errata?

Scenario:

Un utente vuole creare un account sul nostro sito web. Abbiamo alcuni criteri come lunghezza e caratteri speciali. L'utente inserisce quindi la propria password abituale, che consulta il link per verificare se si è verificata una violazione. In questo caso, la password dell'utente è stata trapelata in passato.

A questo punto, abbiamo un paio di opzioni:

  1. Informa l'utente in modo amichevole, che la sua password non è sicura, perché è stata fatta trapelare prima
  2. Dì loro 1. e di 'loro che non possono usare quella password, perché potrebbe mettere a rischio il proprio account
  3. Dì loro 1. ma consenti loro di usarlo, se spuntano una casella di controllo che dice "Sono consapevole che sto usando una password che è stata trapelata"

Ovviamente, la cosa migliore è non lasciare che usino quella password, tuttavia, alcuni utenti potrebbero non tollerarlo. Io di certo non lo farei, ma dipende completamente dal caso. L'opzione 3 è interessante, perché se vengono hackerati e ci fanno causa per aver consentito loro di utilizzare una password errata, possono sempre dichiarare di non vedere la casella di controllo.

Ci sono stati articoli su questo, con qualsiasi tipo di prova, che dimostra che un metodo è migliore dell'altro? Qualche statistica in merito?

So che Microsoft impone il buon vecchio "abbiamo notato che hai provato a cambiare la password con una password precedente" . Certamente alcuni pensieri devono averli fatti passare per la mente, se non consentono agli utenti di usare vecchie password.

    
posta MortenMoulder 08.10.2018 - 11:47
fonte

4 risposte

3

Ti farebbe bene leggere perché Troy ha creato l'elenco delle password pwned in primo luogo .

Le linee guida NIST sono piuttosto esplicite su cosa fare: "Se il segreto scelto viene trovato nell'elenco, il CSP o il verificatore DEVONO avvisare l'abbonato di aver bisogno di selezionare un segreto diverso, DEVE fornire il motivo del rifiuto, e DEVONO richiedere al sottoscrittore di scegliere un valore diverso . " (sottolineatura mia)

Blocca la password errata. Dì loro perché lo stai bloccando. Per i punti bonus, suggerisci una password generata a caso che possono utilizzare, oppure collegala a un sito che descrive come generarne uno (o fornire un elenco di gestori di password).

Oppure, come altri hanno già detto, utilizza una sorta di autenticazione di terze parti, ad es. "accedi con Google" o "accedi con Facebook".

    
risposta data 08.10.2018 - 22:08
fonte
2

Se puoi essere ritenuto responsabile in alcun modo per eventuali danni a seguito di dati trapelati dal tuo sito web, anche se potrebbe essere rintracciato per riutilizzare le password conosciute, mi piacerebbe sempre scegliere l'opzione di forzare le persone a scegliere un'altra password.

La maggior parte delle persone andrà sempre per la facile uscita, quindi l'opzione 1 risulterà in loro ancora usando la password errata, così come l'opzione 3. L'unico modo per assicurarsi che tu non subisca il risultati della loro cattiva gestione delle password, è forzandoli.

    
risposta data 08.10.2018 - 12:04
fonte
1

Attualmente, haveIbeenpwned ha 517.238.891 password. Per evitare complicazioni eccessive, supponiamo che siano tutti e 10 i caratteri di un set di 86 caratteri. Sono le password possibili 1.37e19 se fossero casuali, ma La stima di Nist suggerisce che il numero di password che gli utenti sceglieranno effettivamente (4 bit per il primo carattere, 2 bit per i caratteri 2-8, 1,5 bit per i caratteri 9 in) è inferiore a 2.100.000. Mentre mi aspetto che il numero di password citate da haveIbeenpwned sia il numero di istanze piuttosto che valori univoci, suggerisce comunque che una grande percentuale di proposte di password troverà una corrispondenza nel database.

Il rischio deriva da un utente malintenzionato che conosce una combinazione di password e ID utente.

Sulla base di quanto sopra, il motivo per cui i tentativi di autenticazione della limitazione della velocità dovrebbero essere ovvi.

Le password fanno schifo.

Non hai indicato se il tuo obiettivo è proteggere i tuoi utenti o proteggerti. Esistono modi per trasferire la responsabilità in base a:

  • per ricordare agli utenti la buona pratica della password (non riutilizzare le password) e richiedere loro di riconoscere il messaggio. Puoi sempre controllare in un secondo momento - o persino controllare quando la password è impostata su haveIbennpwned senza usarla per guidare il flusso di interazione
  • fai affidamento su qualcun altro per gestire l'autenticazione, in genere utilizzando openID

Né hai indicato quale sia la natura della tua relazione con i tuoi clienti. Potresti perdere affari rendendo la registrazione troppo onerosa.

Sebbene nessuno possa darti una risposta definitiva come la soluzione "giusta", se dovessi eseguire il test AB dei diversi approcci, saresti in grado di misurare almeno l'effetto sulla percezione del tuo sito da parte del cliente.

    
risposta data 08.10.2018 - 18:37
fonte
1

Penso che tu abbia solo due opzioni sensate:

  1. Blocca la password e comunica all'utente il motivo in un modo molto dettagliato e comprensibile. Cioè, dire loro che la loro password è considerata insicura perché è inclusa in un database di password che ora sono considerate insicure. Hanno bisogno di usarne un altro. Probabilmente capiranno e potrebbero anche essere contenti di aver imparato qualcosa di nuovo.
  2. Lascia che l'utente scelga la password che desidera, purché abbia abbastanza entropia (controlla la loro lunghezza, ecc.) e hai un sistema di prevenzione della forza bruta (molto tempo tra accessi falliti, CAPTCHA, vietare gli IP dopo troppi tentativi, ecc.).

Perché ritengo che l'opzione n. 2 non sia insicura?

  1. A meno che la mia impressione e i miei calcoli non siano corretti, non credo che gli attacchi bruteforce online proveranno troppe password. Proveranno solo alcune password (le più comuni) e poi passeranno a un altro account per fare lo stesso. Al momento l'abbandono sembra avere mezzo miliardo di password "insicure". Ad esempio, ad una velocità di 1 password al secondo (considerando ritardi, captcha, blocchi, divieti, ecc.) Occorrerebbero circa 15 anni per provarli tutti. Potresti essere in grado di accelerare l'utilizzo di più IP, ecc., Ma richiederebbe ancora troppo tempo. Nessuno lo farebbe, forse nemmeno se fosse un attacco mirato (probabilmente prenderanno in considerazione altre opzioni).
  2. Per gli attacchi offline, che possono essere molto veloci, l'hacker probabilmente sta andando a provare tutte le password nella lista cancellata, ma probabilmente non si fermeranno qui: proveranno di più, forse alcune variazioni basate su quell'elenco, e indovina cosa? Quando un utente è appassionato di una determinata password ed è costretto a cambiarlo, potrebbe semplicemente usare una leggera variazione di esso. Inoltre, se l'utente malintenzionato è in grado di proteggere le password offline, potrebbero verificarsi problemi peggiori: il software probabilmente presenta alcune vulnerabilità gravi che lo hanno consentito, altri potrebbero essere stati rubati o compromessi (incluso il software stesso, quindi le password potrebbero avere stato letto in testo in chiaro ad ogni accesso), ecc.

Per dirti la verità, di solito sono più preoccupato del fatto che gli utenti utilizzino spesso la stessa password ovunque, o lievi variazioni quasi ovunque. E sfortunatamente non c'è modo di costringere questi utenti a smettere di farlo.

    
risposta data 09.10.2018 - 00:26
fonte

Leggi altre domande sui tag