Username + Password + Pin migliorano la sicurezza di accesso?

2

Mi è stato chiesto di aggiungere una funzionalità a un sito Web per richiedere uno spillo per gli utenti. Il sito utilizza attualmente nome utente e password. Se un utente desidera modificare la propria password, deve fornire la password corrente OPPURE utilizzare una funzione "promemoria password" che invia un token di accesso one-time al proprio indirizzo e-mail.

C'è una richiesta per aggiungere un codice pin numerico (almeno 4 cifre) in modo che l'utente possa autenticarsi con nome utente + password + codice pin. Dovremmo aggiungere il codice pin nel modulo di gestione dell'account e, immagino, consentire agli utenti di modificare il pin se possono ricordare il loro pin precedente O usano la funzione di accesso one-time.

Tre domande:

  1. Questo in realtà aiuta la sicurezza in qualche modo?
  2. È più efficace se il pin si trova nella schermata di accesso principale o in una seconda pagina in un formato a più fasi?
  3. Se possiamo facilmente applicare una politica per le password, (che richiede una cifra, un carattere speciale, ecc.) è più o meno utile?

Sono interessato a molte prospettive qui e sceglierò una risposta che presenti vantaggi e svantaggi a queste strategie.

    
posta greggles 02.10.2012 - 19:50
fonte

6 risposte

4

1) Più autenticazione ha tutti i pro e i contro di solito associati (maggiori informazioni sono più difficili da hackerare, ma più difficili da ricordare). Con una spilla, le persone sono estremamente propense ad usare i compleanni e altri numeri facili da ricordare, quindi l'ingegneria sociale potrebbe rendere più facile la violazione di una password o di un fattore 2 reale.

2) Esistono altri sistemi per prevenire la forzatura bruta? Altrimenti, dovresti posizionarlo sulla pagina principale. XXXXXXXX #### è più difficile da indovinare di XXXXXXXX quindi #### (matematica semplice: devi indovinare "AAAAAAAA" 10 ^ 4 volte prima di concludere passando a "AAAAAAAB" nel primo, ma devi solo fare una volta in quest'ultimo: moltiplicazione di possibilità contro aggiunta). In tal caso, forse si guadagna qualche vantaggio inserendo il PIN a pagina 2 perché il PIN potrebbe essere inviato su una linea più sicura?

3) Le regole per le password, benché in linea di principio, falliscono nella pratica per gli stessi motivi visti in 1. Ingegneria sociale, incremento delle password e annotazioni su una nota appiccicosa dalla tua scrivania. Ci sono molte altre domande sulle migliori pratiche per le regole della password (io uso in genere 14 passphrase), ma tutte le password sono deboli per l'ingegneria sociale e gli utenti smemorati.

    
risposta data 02.10.2012 - 20:15
fonte
4

Matematicamente un pin di 4 cifre migliorerebbe la sicurezza. Tuttavia, questo aumento potrebbe essere replicato aumentando la lunghezza richiesta di una password di 4 caratteri.

Questa non è davvero una grande soluzione, ma potrebbe essere migliorata con (solo un'idea) il pin che gli viene dato tramite SMS o e-mail.

Nessuno di questi è paragonabile all'autenticazione a 2 fattori che funziona secondo il principio dell'essere da forza a forza bruta nel tempo assegnato.

    
risposta data 02.10.2012 - 20:46
fonte
4

Un PIN è solo una password - una password che è limitata a cifre e di dimensioni limitate, ma una password ciò nonostante. Il PIN ha senso in contesti in cui le cifre sono naturali, ovvero sistemi ATM e altri dispositivi di pagamento che presentano solo tastiere di piccole dimensioni; allo stesso modo, i telefoni cellulari. Per un sito Web, questo è molto meno rilevante, poiché l'utente ha una tastiera completa con lettere.

Se puoi far ricordare ai tuoi utenti due password (anche se una è un PIN), la sicurezza viene quindi migliorata. Le due password devono essere inserite nella pagina stessa . Per capire perché, immagina di chiedere le dodici "password" a una cifra "; se il tuo sistema consente di inserire la seconda cifra solo quando la prima cifra è corretta, l'utente malintenzionato può facilmente indovinare la prima cifra tentando al massimo 9 volte. Allo stesso modo, se chiedi la password e poi l'altra password (il PIN) nelle pagine successive, l'utente malintenzionato può provare a craccarle separatamente, il che è più facile che scoppiarle entrambe contemporaneamente.

Le politiche relative alle password spesso si sono rivelate controproducenti. O fanno in modo che gli utenti scelgano password troppo complesse da ricordare, e ciò accresce i costi dell'help desk (o esagerano con l'uso dell'opzione di reimpostazione della password, che è sempre un rischio, essendo la sicurezza della posta elettronica sostanzialmente nulla); o, più spesso, questo antagonizza gli utenti, che poi diventano nemici attivi, e non va affatto bene. Gli utenti arrabbiati riutilizzeranno le password, condivideranno le password, annoteranno le password su note adesive e molte altre cose di creatività insolita. Se riesci a forzare gli utenti a inserire una password e un'altra password (anche se quest'ultima va sotto le sembianze di un "PIN"), allora oso dire che le hai già gestite con password abbastanza. Fare di più sarebbe probabilmente controproducente.

    
risposta data 03.10.2012 - 04:13
fonte
3

Questa è quasi Autenticazione a due fattori . L'autenticazione a due fattori è un ottimo sistema che migliora la sicurezza. Di solito questo sistema di autenticazione si riduce a "Qualcosa che hai" (un token) e qualcosa che conosci (una password). Nel caso di avere un PIN e una password, sono solo due le cose che sai che non sono poi così utili.

L'utilizzo di qualsiasi fattore di possesso sarebbe una scelta migliore rispetto a un PIN.

SMS sembra essere la scelta più comune per un fattore di possesso perché non richiede un'infrastruttura o il cliente per acquistare un dispositivo aggiuntivo.

    
risposta data 02.10.2012 - 20:03
fonte
2

L'aggiunta di un pin aggiuntivo che non è funzionalmente diverso da una password non migliora la sicurezza

Come ho capito, stai proponendo di richiedere agli utenti di fornire una e password al numero di pin al momento dell'iscrizione. Questo non è in effetti diverso dal cambiare la politica della password per richiedere 4 numeri alla fine di ogni password.

Se l'utente controlla sia la password che il pin, quindi l'autenticazione con:

  • password: superdooperpassword
  • pin: 1789

Non è diverso da:

  • password : superdooperpassword1789

L'unico miglioramento è un lieve aumento della complessità della password .

Stai introducendo un falso senso di sicurezza implementando qualcosa che assomiglia un po 'a due- autenticazione dei fattori , ma in realtà è solo una suddivisione dell'autenticazione a un fattore su due campi di input.

Consideralo in questo modo - se qualcuno ti avesse chiesto di cambiare il meccanismo di login in modo che gli utenti dovessero inserire la prima metà della loro password in un campo e la seconda metà in un altro campo avresti fatto questa domanda?

Sarebbe molto più vantaggioso per la sicurezza introdurre una politica delle password complesse nel campo della singola password .

    
risposta data 03.10.2012 - 13:22
fonte
0

Personalmente, non credo che questo aggiunga molta sicurezza, sarebbe meglio applicare una policy di rafforzamento della password. Se devi procedere con questo, i miei pensieri sono al di sotto delle insidie che potresti incontrare.

Se si dispone di un modulo a più fasi, è più difficile da testare e c'è più spazio per i difetti logici da introdurre. Prenderò in considerazione quanto segue.

  • Se c'è un nome utente, una password o una mancata corrispondenza del PIN, il sistema non dovrebbe dire all'utente che c'è stato un problema di autenticazione fino all'ultimo stadio del modulo.
  • In caso di errore di autenticazione, il sistema non dovrebbe informare l'utente che il modulo non è corretto.
  • In caso di errore di autenticazione, il sistema dovrebbe restituire l'utente al passaggio 1 e costringerli a reinserire tutti i dettagli (un piccolo vantaggio nell'usabilità per una maggiore sicurezza).
  • Non fare alcuna ipotesi sullo stato del passo dal passaggio dell'utente. Ad esempio, se l'utente si trova nel passaggio 2 del modulo, non presupporre che l'utente abbia già completato il passaggio 1. Potrebbe aver trovato un modo per accedere direttamente al passaggio 2.
  • Assicurati che nessun dato dei passaggi precedenti sia memorizzato in testo normale in campi o cookie nascosti.

Per i motivi di cui sopra è molto più facile avere il PIN nella stessa pagina del modulo come username e password, e probabilmente più sicuro a causa del minor rischio di introdurre bug. L'unica eccezione è se si chiedesse all'utente di immettere ogni volta 2 cifre dal proprio PIN e quindi il sistema deve sapere quale utente sta tentando di accedere e sarà richiesto un modulo a più fasi. In questo caso devono essere assegnati a caso 2 posizioni di cifre dal PIN per fornire (ad esempio 1 ° e 3 °), e il sistema deve ricordare quali posizioni a 2 cifre sono state presentate per quell'utente fino a quando non si verifica un login riuscito. In caso contrario, un utente malintenzionato potrebbe semplicemente riavviare il processo di autenticazione fino a quando ottengono 2 cifre che conoscono. Vorrei anche fare in modo che il sistema "dimenticasse" le posizioni a 2 cifre presentate dopo un certo periodo di tempo perché se persistevano indefinitamente un utente malintenzionato potrebbe dedurre che non ha indovinato correttamente un nome utente perché non è mai avvenuto nessun login riuscito a fare le posizioni delle cifre aggiornare.

    
risposta data 03.10.2012 - 12:54
fonte

Leggi altre domande sui tag