Campi per più password per un accesso [duplicato]

9

In questo scenario ipotetico, c'è un input per un nome utente e ci sono due campi password separati. Un utente deve avere due password separate che devono inserire prima di poter accedere. Questo avrebbe qualche vantaggio su una singola password che è la lunghezza della password uno e due combinati? (Non mi interessa la facilità d'uso per l'utente qui)

    
posta Cup of Java 24.10.2016 - 20:50
fonte

8 risposte

28

Sono d'accordo con le altre risposte:

  • Non aggiunge o poca entropia rispetto all'utilizzo di una password più lunga (come sottolinea Steffen Ullrich ).
  • Se si hash le password separatamente, rende gli hash più facili da decifrare rispetto a un hash di una password lunga (come lengyelg sottolinea ).

Ma vorrei aggiungere un punto relativo al comportamento degli utenti.

Costringere l'utente a scegliere due password invece di una probabilmente farà sì che l'utente scelga le password peggiori per puro esaurimento. Incoraggerete semplicemente le persone a ripetere la stessa password due volte con alcune modifiche per eludere i blocchi che avete messo in atto per impedire ciò.

Quando consideri le parole d'ordine umane, penso che finisci per essere meno sicuro, non di più. È semplicemente fastidioso senza alcun vantaggio per la sicurezza e, nel peggiore dei casi, dannoso per la sicurezza.

    
risposta data 24.10.2016 - 21:08
fonte
24

In realtà meno sicuro ha due campi password separati, nel senso che se gli hash delle password sono memorizzati separatamente, può essere più facile trovare due password più brevi da qualcosa come una tabella arcobaleno rispetto a una password lunga . Naturalmente se un singolo hash è memorizzato per la password concatenata, è lo stesso di un campo password.

    
risposta data 24.10.2016 - 21:03
fonte
7

L'unica differenza tra la tua proposta di due password P1 e P2 e una singola password P1 + P2 è dove la stringa P1 + P2 viene divisa per ottenere le due password. Rispetto alla complessità che può essere raggiunta già con una lunga password, questo passaggio aggiuntivo non aggiunge quasi nulla in termini di complessità e quindi non rende davvero più fasullo la password.

    
risposta data 24.10.2016 - 20:59
fonte
4

Dipende.

Si

Da un punto di vista teorico, vi è un leggero aumento nell'entropia perché la posizione dell'interruzione tra la prima e la seconda password costituisce un'informazione aggiuntiva.

Una grande password. Supponiamo che tu abbia una password e che l'utente inserisca 16 caratteri e, per semplicità, diciamo che la password deve essere numerica. Ciò equivale a 10 ^ 16 possibili permutazioni, o 10.000.000.000.000.000 (10 quadrilioni).

Due password. Ora diciamo che hai due password con un totale di 16 caratteri. Penseresti che ci siano 10 ^ 16 combinazioni, ma in effetti ce ne sono altre. Aggiungiamoli:

Se la prima password ha 1 cifra e la seconda ha 15 cifre, ciò equivale a 1 ^ 10 x 15 ^ 10 = 10.000.000.000.000.000 di permutazioni.

Se la prima password ha 2 cifre e la seconda ha 14 cifre, ciò equivale a 2 ^ 10 x 14 ^ 10 = 10.000.000.000.000.000 di permutazioni.

Se la prima password ha 3 cifre e la seconda ha 13 cifre, ciò equivale a 3 ^ 10 x 13 ^ 10 = 10.000.000.000.000.000 di permutazioni.

...

Se la prima password ha 15 cifre e la seconda ha 1 cifra, ciò equivale a 15 ^ 10 x 1 ^ 10 = 10.000.000.000.000.000 di permutazioni.

Ci sono 15 possibili casi, per un totale di 150.000.000.000.000.000 di permutazioni (150 quadrilioni).

Confronto. Da 150 quadrilioni > 10 quadrilioni, sì, c'è un po 'di aumento nell'entropia e quindi è più difficile indovinare le due password rispetto alla password lunga.

Le supposizioni di cui sopra (lunghezza = 16, set di caratteri = 10) possono essere modificate e la matematica funzionerà ancora.

No

D'altra parte, a seconda di come il sistema valuta la password, quanto sopra potrebbe non essere applicabile, ad es. se il sito web combina le password e le unisce insieme invece di tenerle separate. Se questo è il caso, allora no, non c'è potenza di calcolo aggiuntiva necessaria per falsificare la password, perché ci sono in effetti 15 diverse combinazioni di password che funzioneranno. 150 quadrilioni ÷ 15 = 10 quadrilioni quindi sei tornato dove hai iniziato.

È ancora peggio!

Vedi risposta di lengyelg che è azzeccata :

It's actually less secure to have two separate password fields in the sense that if password hashes are stored separately, it can be easier to find two shorter passwords from something like a rainbow table than one long password. Of course if a single hash is stored for the concatenated password, it's the same as one password field.

Perché preoccuparsi?

Secondo me, è molto più semplice richiedere una cifra in più che richiedere due password separate, e questo avrà sempre un effetto più strong se il tuo set di caratteri è più grande della lunghezza delle due password combinate (che sarà quasi sicuramente sarà il caso)

    
risposta data 24.10.2016 - 21:51
fonte
2

Per quanto ho capito, queste 2 password, rispettivamente con i simboli N e K di lunghezza, saranno equivalenti a una password con lunghezza N + K. Molto piccola probabilità che gli utenti adottino password più forti, ricordando due parole separate. Ma l'attacco al dizionario forza bruta questo senza problemi seri

    
risposta data 24.10.2016 - 20:56
fonte
2

Sì, potrebbe essere una differenza, a seconda di come vengono scelte le due password.

Se una delle password viene scelta dall'utente e l'altra viene prodotta da un generatore di numeri pseudo casuali come quelli che la tua banca può fornire ai clienti online o una password scelta da un elenco di password che ti è stato inviato da l'operatore del sito, da cui devi sempre eliminare l'ultima password utilizzata e utilizzare quella successiva, farebbe la differenza.

Se lasci che un utente scelga due password da solo, è probabile che non saranno molto buone, e staresti meglio con una password lunga il doppio, dal momento che sarebbe più difficile per un bruto- forza indovinare la password per indovinare in anticipo. Ma se la metà della password di un utente è una stringa strong, quasi casuale che cambia ogni volta che accede, migliora la sicurezza del processo di accesso e di tutte le sessioni future e protegge dalle conseguenze di ingannare un utente per rivelare il suo password scelta o anche la combinazione attuale di password.

Si noti che ciò non renderà più difficile la decodifica di una password quando il database delle password degli utenti viene rubato, poiché la password che è effettivamente memorizzata nel database delle password sarà comunque solo quella scelta dall'utente.

    
risposta data 24.10.2016 - 21:40
fonte
1

La ragione principale per cui posso pensare a questo scenario è se vuoi avere il requisito che due persone debbano autenticarsi piuttosto che fidarsi di una singola persona - una specie di come i film popolari mostrino due chiavi di lancio missilistiche. P1 ha una password, P2 ha una password e quando entrambe le inseriscono, il sistema usa entrambi per creare la chiave effettiva utilizzata per l'autenticazione. Quindi né da soli possono sbloccare. Aumenta teoricamente la sicurezza, ma al possibile rischio di perdita di accesso (uno viene colpito dal bus ipotetico).

    
risposta data 24.10.2016 - 23:45
fonte
1

C'è ancora un punto che non ho ancora visto l'indirizzo di qualcuno, che è una domanda specifica che non è chiara dalla tua domanda: l'ordine delle password è importante?

In alcuni sistemi, come quelli che usano una variazione di Condivisione segreta di Shamir , il sistema è stato progettato con l'assunto che le password multiple sarebbero detenute da più parti e, quindi, l'ordine in cui sono inserite non ha importanza.

Tuttavia, se in questo scenario hai utilizzato uno schema simile, ora permetti a un utente malintenzionato di entrare usando bar e foo quando l'utente imposta le sue password su foo e bar . Se confrontiamo questo con una singola password combinata, hai raddoppiato il numero di voci valide, da appena foobar a foobar e barfoo .

A due password, questo non è probabilmente un grosso problema; diventa più di un problema quando si estende il numero di password. Alle tre ora abbiamo% combinazioni valide valide per 3! = 6 , a 4 abbiamo 4! = 24 , e così via, in rapido aumento.

    
risposta data 25.10.2016 - 02:26
fonte

Leggi altre domande sui tag