Buon sistema (manuale) per creare password per una vasta gamma di requisiti

3

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

  1. Dovrebbe darmi una password per (quasi) qualsiasi combinazione di vincoli di password (vedi sotto)
  2. È relativamente facile da ricordare / ricreare se conosco l'impostazione (e la data ?!) e i suoi vincoli
  3. Dovrebbe essere sicuro contro qualcuno che conosce il sistema (ma non i parametri di input)
  4. 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.
  5. 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.

  1. Continua ad aggiungere la lettera a, fino a quando il numero minimo di caratteri è soddisfatto, ad esempio aaaaaa
  2. 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.

  1. Scegli un core (si spera strong), ad esempio: securitystackexchange
  2. 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

  1. 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.

    
posta Dennis Jaheruddin 08.08.2016 - 11:53
fonte

6 risposte

3

Un'opzione (non dicendo che è grandiosa) è combinare l'idea del nucleo strong con l'opzione del taccuino.

Diciamo che hai un nucleo come: secu_ritYstAcke_xChang_e01

Lo cambi a seconda dei requisiti (ad esempio, modifica 0 - > a, 1 - > b se i numeri non sono consentiti), le _ che inserisci dal taccuino. Il taccuino contiene voci come: (non deve essere 3 volte 6 caratteri o avere lo stesso modello ogni volta)

CompanyX: abc123, xyz! * @, (# * 987

Quindi la password risultante per CompanyX sarebbe:

secuabc123ritYstAckexyz! * @ XChang (# * 987e01

Credo che sia chiaramente in grado di soddisfare i vincoli 1, 2 e amp; 3. Per il vincolo 4, a condizione che i valori "core" e "valori del notebook" siano abbastanza forti con una sola password esposta non dovrebbe aumentare drasticamente il rischio per il resto delle password in quanto uno di questi caratteri potrebbe essere "core" o meno. Sebbene riduca definitivamente la forza. Supponendo che tu cambi la tua parte "core", spesso il vincolo 5 dovrebbe essere soddisfatto. Certo, i "valori del notebook" rimangono gli stessi ma, dato che il "core" cambia completamente, dovrebbe mantenere una buona quantità di entropia.

Il notebook rappresenterà ovviamente un rischio fisico, ma in sé e per sé non dovrebbe essere sufficiente, per cui sarebbe necessaria una sola password attiva per interrompere completamente il sistema.

Tuttavia direi sicuramente di usare questo sistema per il minor numero possibile di sistemi (solo quelli in cui non puoi portare il tuo telefono E non puoi accedere a Internet) e utilizzare un gestore di password per il resto in quanto tale metodo è un molto più sicuro.

    
risposta data 08.08.2016 - 16:40
fonte
2

Puoi provare Off the Grid . Dovrebbe soddisfare tutti i criteri 1,2,3,4,5.

Consiste in una griglia di caratteri casuali che può essere utilizzata per crittografare i nomi di dominio (o qualunque cosa tu voglia) in password sicure. Puoi stamparlo e tenerlo in tasca, ma non c'è nulla in chiaro da catturare per un surfista. Se usi il modo "standard" per usarlo (descritto sul sito web), una persona che ottiene una copia potrebbe teoricamente violare le tue password, ma se la modifichi leggermente (anche descritta sul sito web) dovrebbe essere sicura anche da quella .

disclaimer: non ho mai usato questo sistema, quindi non posso dire quanto sia difficile da usare nella pratica.

    
risposta data 09.08.2016 - 08:26
fonte
1

Se non stai usando un metodo randomizzato come il diceware o la casualità character-by-character, allora dovresti inventare un metodo per generare una password che potrebbe comportare un numero molto grande di possibilità anche se non sono veramente casuale. La difficoltà per te sarà quella di utilizzare un metodo che non aiuti l'aggressore troppo se è noto.

Quindi suggerisco di evitare schemi che provano a trasformare una password debole in qualcosa di strong (ad esempio, l'hashing del nome del sito). Se indovina il tuo metodo sei nei guai una volta che stabiliscono una regola per un attacco di dizionario.

Invece, se hai davvero intenzione di evitare password o diceware casuali, ti consiglio di iniziare con una passphrase originale originale e di prendere la prima lettera di ogni parola o sillaba, come suggerito da Bruce Schneier in un post un po 'controverso. Poiché i creatori di 1-Password indicano , la tua passphrase non dovrebbe senso, e non dovrebbe usare fatti reali su di te che qualcuno potrebbe scoprire; come si dice nel loro post, "ci sono più modi ... di mentire ... che dire la verità" e "ci sono più modi in cui una frase non ha senso che dare un senso". Soprattutto, non usare versetti biblici, testi di canzoni o citazioni di wikipedia poiché questi possono portare ad attacchi di dizionario; crea qualcosa invece

Numeri e simboli possono essere introdotti con le solite sostituzioni.

Questo NON sarà strong come una password casuale o una frase diceware. Può sembrare casuale a un umano, ma un computer può sfruttare le frequenze delle lettere nella parte anteriore delle parole, l'analisi statistica della struttura delle frasi e ogni sorta di altre cose per rendere più facile il suo lavoro. Quanto più facile sarebbe molto difficile, se non impossibile, quantificare.

Probabilmente , con un buon algoritmo di hash lento e una passphrase di base abbastanza lunga, ed evitando frasi comuni, la tua password sarà "abbastanza strong" da resistere all'attacco abbastanza a lungo da farti scoprire un compromesso e cambia la password. Quindi questo metodo è probabilmente abbastanza buono per le password che devono essere corte e devono essere memorizzate.

Ma a differenza del diceware e delle password casuali, non ci sono garanzie.

    
risposta data 10.08.2016 - 07:07
fonte
0

Hai provato a trasportare un piccolo blocco note? Usa un sito come www.passwordsgenerator.net/ che ti consente di modificare il suo generatore in modo che corrisponda ai criteri del sistema specifico. Una volta generato, annota la frase "Ricorda la tua password". So che è probabile che i rischi fisici siano un problema, ma è l'unica soluzione che riesco a pensare che tu possa ancora utilizzare offline e senza dispositivi ausiliari.

    
risposta data 08.08.2016 - 14:02
fonte
0

Diceware . Conosciuto anche come passphrase in stile xkcd .

Queste possono essere password memorizzabili che soddisfano tutti i tuoi vincoli di sistema. L'unica difficoltà è che tendono ad essere lunghi, quindi quando dici "tra caratteri min e max" potresti incontrare dei problemi alla fine massima. Questo può essere superato fino a un certo punto fintanto che "max" è dell'ordine di 30-50 e non di 10-12.

L'idea è che inizi con un elenco di diverse migliaia di parole comuni e scegli 6-8 parole a caso . Il classico Diceware utilizza i dadi fisici effettivi per selezionare le parole, ma è possibile utilizzare un generatore di numeri pseudo-casuali crittograficamente sicuro se è più semplice. Alcuni gestori di password come 1Password hanno generatori di diceware integrati, altri come KeePass hanno plugin per farlo per te (come Sequencer di parole ).

Se trovi 6-8 parole completamente casuali non è molto memorabile puoi modificare il metodo per generare frasi senza senso che seguono vagamente le regole grammaticali. A seconda di come è fatto, può essere altrettanto sicuro (ad es. Se crei elenchi di parole separati basati su parte del discorso ma scegli comunque in modo casuale da ciascuna lista, in un ordine particolare). Non sono sicuro di come sia implementato, ma il generatore di passphrase leggibile di KeePass sembra fare qualcosa del genere.

Se le password generate da questi metodi sono troppo lunghe, puoi ridurre alquanto la lunghezza provando di nuovo fino a quando non riesci o eliminando gli elenchi di parole per immettere una determinata lunghezza media. Ma nota: la riduzione delle tue liste ridurrà la sicurezza della passphrase risultante a meno che tu non sostituisca le parole cancellate con nuove parole (più brevi).

Se hai bisogno di determinati caratteri speciali, o numeri, o qualsiasi altra cosa, puoi incorporarli in una lista di parole, o semplicemente aggiungerli sempre in un posto specifico e dipendere dalla sicurezza del metodo stesso per mantenere il resto del passphrase secret.

    
risposta data 08.08.2016 - 17:10
fonte
-1

Manualmente, il diceware è molto buono, ma conosco un'azienda che utilizza questo schema (gli utenti selezionano il proprio pw): 23 + 78 = 101, ottenendo "ventitre più settantaquattro equivale a centouno". Non uso questo schema, dal momento che può essere attaccato con liste di parole personalizzate se è noto a un cracker. Qualcosa come "L'equitazione è atroce? Ma è delizioso!" è memorabile. Usa questo tipo di mnemonico e usa caratteri speciali: é, ö ecc.

    
risposta data 09.08.2016 - 09:47
fonte

Leggi altre domande sui tag