Situazione
Nel corso del tempo mi viene richiesto di scegliere e utilizzare molte password in diversi ambienti. Alcuni sul mio computer in cui ho potuto scegliere di utilizzare un gestore di password, ma molti sui sistemi client in cui potrei non avere accesso online e sicuramente non posso collegare un dispositivo di archiviazione. A volte non si può nemmeno introdurre risorse ausiliarie come un telefono.
Domanda
Supponendo che non voglio utilizzare un gestore di password e devo selezionare e utilizzare le password manualmente, quale sarebbe un buon sistema per questo?
Idealmente il sistema dovrebbe soddisfare i seguenti vincoli:
Vincoli di sistema
- Dovrebbe darmi una password per (quasi) qualsiasi combinazione di vincoli di password (vedi sotto)
- È relativamente facile da ricordare / ricreare se conosco l'impostazione (e la data ?!) e i suoi vincoli
- Dovrebbe essere sicuro contro qualcuno che conosce il sistema (ma non i parametri di input)
- Deve essere sicuro dopo aver utilizzato il sistema in un ambiente non sicuro e la password utilizzata potrebbe perdere. Non sono preoccupato per qualcuno che conosce più di 1 password persa.
- Bonus: sarebbe bello se fosse sicuro contro qualcuno che conosceva una vecchia password.
Esempi di vincoli di password
Tipici vincoli nella scelta di una password (ovviamente variano per sistema):
- Tra i caratteri min e max
- Nessun simbolo / almeno n simboli da un set limitato
- Almeno alcune lettere di ogni caso
- La password deve essere cambiata periodicamente e non corrisponde a nulla degli ultimi periodi M
Non sono preoccupato solo per le password numeriche
Che cosa ho provato?
Ho provato a creare sistemi, ma non ho trovato nulla che soddisfi tutti i vincoli di sistema (o è abbastanza buono in generale).
Esempio 1: prima misura più piccola
Solo per mostrare come potrebbe essere un sistema, menzionerò questo ridicolo esempio.
- Continua ad aggiungere la lettera a, fino a quando il numero minimo di caratteri è soddisfatto, ad esempio aaaaaa
- Modifica ricorsivamente un carattere fino a quando i vincoli non vengono soddisfatti, potresti finire con aaaaA1
Questo sistema genererà una password che può sempre corrispondere ai requisiti. Ovviamente la sua forza può essere orribile se non si inizia con una stringa casuale. Quindi questo sistema fallirebbe nel vincolo di sistema 2 o 3.
Esempio 2: inizia con il nucleo
Ritengo che questo non sia un sistema strong, ma credo che in pratica si abitui.
- Scegli un core (si spera strong), ad esempio: securitystackexchange
- Modificalo per soddisfare i requisiti, ad esempio: Securitystackexchange01
Se hai un nucleo lungo, in genere può portare a password deboli quando il numero massimo di caratteri è limitato. Ad esempio Security01. Anche questo sistema non soddisfa il vincolo di sistema 4.
Esempio 3: Scegli i caratteri casuali all'interno dei requisiti
- Scegli i personaggi casuali nei requisiti
Non si può ricordare molti di questi, quindi questo non si qualifica come qualcosa che posso usare manualmente e direi che fallisce il vincolo di sistema 2.
Aggiornamento relativo ai gestori di password
Non sono preoccupato per la qualità dei gestori di password e capisco che il loro uso renderebbe banale questa domanda. Tuttavia, sto cercando una risposta che non li richieda perché potresti non essere in grado di usarli comodamente ovunque. Ad esempio, quando non è consentito accedere a Internet, installare programmi o portare il proprio dispositivo.