Progettazione della conformità delle norme sulle password

2

Stiamo cercando di creare una soluzione in cui abbiamo l'obbligo di verificare la conformità della password di un utente rispetto a tutti i sistemi che deve.

Ad esempio, se il sistema 1 richiede che la password abbia 4 alfabeti e il sistema 2 abbia un requisito di 5 alfabeti, se l'utente ha accesso a entrambi i sistemi 1 & 2, dobbiamo assicurarci che la sua password attuale abbia 5 alfabeti. Abbiamo requisiti simili per la composizione della password come numero di caratteri speciali, numero di cifre, lunghezza minima ecc.

I sistemi sono liberi di modificare la composizione della password in qualsiasi momento, quindi quando l'utente accede a uno qualsiasi dei sistemi a cui ha accesso, è necessario calcolare una politica di password efficace (fondamentalmente un'unione di tutti i singoli criteri di sistema) e prompt l'utente di cambiare la sua password se non è conforme.

Vogliamo farlo senza dover memorizzare / ricordare la password dell'utente in testo normale ovunque e in modo sicuro.

La nostra opzione corrente è

Ottieni la composizione della password (solo il numero di cifre, alfabeti, caratteri speciali, lunghezza) durante l'accesso e passa tali informazioni a un servizio che può dirci se è conforme o meno.

C'è un modo migliore per farlo? Apprezzo qualsiasi aiuto su questo.

Nota: se pensi che questo dovrebbe essere richiesto in un altro sito nello stack exchange, ti preghiamo di farmelo sapere.

    
posta Arkantos 02.11.2017 - 19:51
fonte

1 risposta

8

Tali requisiti sono un incubo per gli utenti e degli sviluppatori. La tua migliore opzione sarebbe quella di trovare la persona che ha deciso che il sistema avrebbe funzionato in quel modo, e licenziarlo prima che causi ai tuoi utenti di uscire per un'alternativa migliore (o, se gli utenti sono i tuoi dipendenti, andarsene per un datore di lavoro migliore).

Stai vedendo un aspetto tecnico del problema, che potrebbe essere divertente. Prendi una serie di vincoli, combinali. Ma c'è il lato dell'esperienza utente che ti manca:

  • Come spieghi cosa c'è di sbagliato in una password quando chiedi all'utente di cambiarla?

  • Come ci si sente che l'utente sappia che si sa qualcosa della sua password, come il numero di lettere maiuscole? Come utente, non mi interessa nemmeno che tu abbia memorizzato solo il conteggio stesso; non appena mi dici che la mia password precedente contiene sei lettere maiuscole e due simboli, perdi tutta la mia fiducia.

  • Che cosa significa che la mia password che era conforme ieri pomeriggio non è conforme stamattina? L'unica ragione per cui ho bisogno di cambiare la mia password è perché il sistema ha infastidito i termini di sicurezza, cioè trapelato tutte le password e il mio account potrebbe essere interessato. Dimostrare di essere stato violato regolarmente non ti darà fiducia.

  • Come gestisci i vincoli contraddittori? Ad esempio il sistema 1 accetta password da 8 a 12 caratteri, mentre il sistema 2 richiede almeno 15 caratteri.

Un modo migliore è configurare i sistemi in modo uniforme. Stesse regole ovunque, e le regole sono facili da capire, chiare e non creano insicurezza per i tuoi utenti. Security.SE contiene alcune domande su questo argomento, a partire da questo .

    
risposta data 02.11.2017 - 20:24
fonte

Leggi altre domande sui tag