Le password composte da sequenze di tasti su una tastiera sono meno sicure degli stessi caratteri, ma mescolate?

31

Ecco due password:

5678%^&*tyuiTYUI

e

8^tyU75%*IuY6T&i

Entrambi hanno lo stesso numero di caratteri e in ciascuno i personaggi sono identici, l'unica differenza è che il primo sistema quei personaggi in un pattern che si presta strongmente alla memoria muscolare seguendo un semplice schema geometrico di pressioni dei tasti.

Esistono quindi differenze significative dal punto di vista della sicurezza?

    
posta Toni Leigh 26.01.2015 - 22:00
fonte

5 risposte

41

Sì! Soprattutto di fronte ai requisiti di complessità delle password draconiane, gli utenti scelgono spesso password come la prima: progressioni della tastiera, tastiere della tastiera, modelli di tastiera o qualsiasi altra cosa che desideri chiamarli. E gli attaccanti lo sanno bene.

Che si tratti di un attacco online (forzatura bruta) o offline (hash cracking), un utente malintenzionato sa che il metodo più redditizio è in genere una variante di un attacco dizionario: utilizzando una raccolta di password comuni e provandole. Praticamente tutti i dizionari creati usando le password raccolte da violazioni di dati reali contengono almeno alcune varianti sul metodo del pattern tastiera, più comunemente "1qaz2wsx" e amici.

Al di là del metodo del dizionario statico, gli algoritmi mentali che le persone usano per creare queste password sono abbastanza semplici e ci sono molti programmi che generano rapidamente queste password per provarle tutte.

Da un punto di vista teorico-informativo, la seconda password ha più entropia, dal momento che ogni personaggio è una scelta casuale da un set di 16 caratteri. Sapere che provengono da un piccolo gruppo riduce un po 'l'entropia, ma rimane comunque abbastanza buono. La prima password, d'altra parte, è molto più semplice. Puoi pensare all'entropia come "quanto sarebbe difficile spiegare come digitare la mia password?" Ecco come potrei provare a spiegare il tuo primo:

On a US-standard keyboard, start at "5":

  1. Type 4 keys to the right, then return to your starting position.
  2. Hold "shift" and repeat step 1. Release "shift."
  3. Move down a row and repeat steps 1 and 2.

Confrontalo con la tua seconda password, che dovrebbe avere un passo procedurale per ogni carattere di input. Non c'è un buon modo per comprimerlo, quindi ha un sacco di entropia. Anche se so quali 8 tasti hai scelto, e che ognuno di essi viene premuto una volta con shift e una volta senza, ciò lascia ancora (assumendo una scelta totalmente casuale) 16! ~= 2^44 scelte, ovvero circa 44 bit di entropia, che stranamente abbastanza è lo stesso importo richiesto dal metodo "graffetta batteria cavallo corretto" .

    
risposta data 26.01.2015 - 22:40
fonte
4

Sì, c'è una differenza perché c'è un modello discernibile. Proprio come programmare un password cracker per prendere le parole del dizionario e sostituire le lettere con i numeri, o aggiungere numeri alla fine, i pattern della tastiera soffrono della stessa debolezza.

L'altro problema è "shoulder-surfing". È abbastanza facile capire quale sia la password di qualcuno guardando le prime sequenze di tasti, quindi semplicemente ascoltando il resto.

Significa che la prima password è inutile? No, ma soffre di debolezze che una stringa puramente casuale non farebbe. Solo tu puoi valutare i rischi per la tua situazione.

    
risposta data 26.01.2015 - 22:05
fonte
1

Quello che stai cercando di fare qui, è creare una password che sia più facile da ricordare. Il problema è che gli hacker sanno che le persone sono pigre e quasi nessuno usa una password casuale completa come la tua seconda.

Per rendere le password più semplici tutte le persone creano uno schema. Come una parola che conosci è un modello o 6 caratteri dalla tastiera come 123456. Gli aggressori cercano modelli che le persone usano e creano attacchi di forza bruta per tali modelli. Per scegliere una buona password devi assicurarti di non utilizzare nessuno di quei pattern comuni.

Per tornare alla tua domanda: Entrambe le tue password da soli avrebbero la stessa entropia e sarebbero ugualmente sicure, se ignorerai le password comuni. Ma se guardi le password comuni troverai la tua prima stringa in modo che il primo sia meno sicuro.

Ma penso che non ti piaccia confrontare la sicurezza di queste due stringhe ma del modello che sta dietro. Ora dipende da come definisci questi modelli. Come mostrato in un fumetto xkcd è possibile creare pattern di password ugualmente sicuri come password casuali ma più facili da ricordare. (Almeno se picco una password casuale da questo modello!)

Per la tua stringa: 5678% ^ & * tyuiTYUI

Potresti definire uno schema come: Un tasto casuale e i tre tasti accanto. Insieme al turno si ottiene con [a-z0-9] = 2 * 36 caratteri come chiavi di avvio. Se fai questo 4 volte come nel tuo esempio, hai 72 ^ 4 = 29.986.576 combinazioni possibili con questo modello. I tre tasti accanto non aggiungono alcuna entropia aggiuntiva perché fanno parte del modello. Se conosci lo schema conosci queste chiavi.

Quindi con questo modello la tua password è sicura come una stringa casuale di 4 caratteri. Naturalmente puoi creare un modello migliore basato su questo, ma non credo che ti renderebbe felice. Prova invece il pattern xkcd o un gestore di password.

    
risposta data 27.01.2015 - 17:11
fonte
0

Quello casuale è sostanzialmente più strong di quello con un modello di memoria muscolare.

Come sottolineato più volte, ad esempio con il bonsaviking, gli attaccanti sanno che i modelli di memoria muscolare sono comuni, quindi già testano per loro.

Raccomando di pensare in termini delle stesse regole che usiamo per determinare la forza di un algoritmo di crittografia. Nella crittografia, si presuppone sempre che l'algoritmo sia di dominio pubblico; l'unica parte segreta è la chiave. Allo stesso modo, dovresti progettare le password in base al presupposto che l'hacker conosca il tuo algoritmo (ad esempio "modello di memoria muscolare su una tastiera"), e l'unica parte segreta è la particolare "chiave" che hai usato per aggirare la tastiera. / p>

La mia esperienza personale è che i modelli di memoria muscolare mostrano solo un po 'più di entropia di una password come "abcde" o "password", perché "facile da digitare" è in realtà una metrica abbastanza ben concordata, quindi non ci sono molti diversi i modelli si faranno.

Considera l'esempio classico di spostare sempre un carattere a sinistra, a destra, in alto o in basso. Se sei veramente casuale nella tua direzione, sono 2 bit di entropia per chiave, più forse 8 bit per una posizione di partenza casuale. Un modello di memoria muscolare di 16 caratteri avrà quindi circa 40 bit di entropia. Questa non è esattamente una password sicura. Si consideri che questo modello si confronta a mala pena favorevolmente con semplici frasi inglesi (1 bit di entropia / carattere), ma in modo abissale con una frase di carattere veramente casuale (poco meno di 6 bit di entropia / carattere). Tuttavia, dato che è improbabile che memorizzi una stringa veramente casuale di su / giù / sinistra / destra, è probabile che ci sia un pattern a tua scelta, trascinando la forza della tua password più verso la forza della "singola parola o frase".

    
risposta data 27.01.2015 - 16:17
fonte
-2

È la distribuzione di frequenza delle lettere, delle parole e degli ngram associati che abbassa l'entropia della selezione. Ecco perché gli elenchi di password sono un ottimo strumento per verificare la scelta della password. L'entropia di una passphrase selezionata in modo casuale puro è più di 44 bit di entropia. La parte 2 della strategia dovrebbe quindi limitare la facilità con cui un utente malintenzionato è in grado di indovinare la password. Quello che stai cercando di ottenere è avere una quantità di entropia più alta * il tempo necessario per inserire le ipotesi.

    
risposta data 26.01.2015 - 22:51
fonte

Leggi altre domande sui tag