Casa Come Come utilizzare un generatore di password casuale

Come utilizzare un generatore di password casuale

Sommario:

Video: Come Fare un Programma C che Genera Password Casuali (Settembre 2024)

Video: Come Fare un Programma C che Genera Password Casuali (Settembre 2024)
Anonim

Le password sono terribili. Se si utilizza una password debole per il sito Web della propria banca, si rischia di perdere i propri fondi a causa di un attacco violento a forza bruta. Ma se rendi la password troppo casuale, potresti dimenticarla e rimanere bloccata fuori dall'account. Puoi scegliere di memorizzare solo una password complessa e utilizzarla ovunque, ma se lo fai, una violazione in un sito espone tutti i tuoi account. Il tuo unico corso ragionevole è quello di ottenere l'aiuto di un gestore di password e cambiare tutte le tue password deboli e duplicate in stringhe di caratteri univoche e casuali.

Quasi ogni gestore di password include un componente generatore di password, quindi non è necessario inventare quelle password casuali. (Ma se vuoi una soluzione fai-da-te, ti mostreremo come costruire il tuo generatore di password casuale). Tuttavia, non tutti i generatori di password sono uguali. Quando sai come funzionano, puoi scegliere quello che è meglio per te e utilizzare quello che hai in modo intelligente.

Generatori di password: casuali o no?

Quando lanci un paio di dadi, ottieni un risultato davvero casuale. Nessuno può prevedere se otterrai occhi di serpente, boxcar o sette fortunati. Ma nel regno dei computer, i randomizzatori fisici come i dadi non sono disponibili. Sì, ci sono alcune fonti di numeri casuali basate sul decadimento radioattivo, ma non le troverai nel gestore delle password lato consumatore medio.

I gestori di password e altri programmi per computer usano quello che viene chiamato un algoritmo pseudo-casuale. Questo algoritmo inizia con un numero chiamato seed. L'algoritmo elabora il seed e ottiene un nuovo numero senza alcuna connessione tracciabile con il vecchio e il nuovo numero diventa il seed successivo. Il seme originale non si presenta mai più fino a quando non è emerso ogni altro numero. Se il seed era un numero intero a 32 bit, ciò significa che l'algoritmo eseguirà 4.294.967.295 altri numeri prima di una ripetizione.

Questo va bene per l'uso quotidiano e va bene per le esigenze di generazione della password della maggior parte delle persone. Tuttavia, è teoricamente possibile per un hacker esperto determinare l'algoritmo pseudo-casuale utilizzato. Date tali informazioni e il seme, l'hacker potrebbe concepibilmente replicare la sequenza di numeri casuali (anche se sarebbe difficile).

Questo tipo di hacking diretto è straordinariamente improbabile, tranne che in un attacco di stato-nazione dedicato o in uno spionaggio aziendale. Se sei oggetto di tale attacco, probabilmente la tua suite di sicurezza non può proteggerti; fortunatamente non sei quasi certamente il bersaglio di questo tipo di cyberespionage.

Anche così, alcuni gestori di password lavorano attivamente per eliminare anche la remota possibilità di un attacco così mirato. Incorporando i tuoi movimenti del mouse o caratteri casuali nell'algoritmo casuale, ottengono un risultato davvero casuale. Tra quelli che offrono questa randomizzazione nel mondo reale ci sono AceBIT Password Depot, KeePass e Steganos Password Manager. Lo screenshot mostra il randomizzatore in stile matrice di Password Depot; sì, i personaggi cadono mentre muovi il mouse.

Hai davvero bisogno di aggiungere la randomizzazione del mondo reale? Probabilmente no. Ma se ti rende felice, provaci!

I gestori di password riducono la casualità

Naturalmente, i generatori di password non restituiscono letteralmente numeri casuali. Piuttosto, restituiscono una serie di caratteri, usando numeri casuali per scegliere tra i set di caratteri disponibili. Dovresti sempre abilitare l'uso di tutti i set di caratteri disponibili, a meno che tu non stia generando una password per un sito Web che, per esempio, non consente caratteri speciali.

Il pool di caratteri disponibili comprende 26 lettere maiuscole, 26 lettere minuscole e 10 cifre. Include anche una raccolta di caratteri speciali che possono variare da prodotto a prodotto. Per semplicità, supponiamo che siano disponibili 18 caratteri speciali. Questo rende un totale di 80 personaggi tra cui scegliere. In una password totalmente casuale, ci sono 80 possibilità per ogni personaggio. Se si sceglie una password di otto caratteri, il numero di possibilità è 80 all'ottava potenza, o 1.677.721.600.000.000, più di un quadrilione. Questo è un duro bombardamento per un attacco di cracking a forza bruta e indovinare la forza bruta è davvero l'unico modo per decifrare una password davvero casuale.

Naturalmente, un generatore totalmente casuale alla fine produrrà "aaaaaaaa" e "Covfefe!" e "12345678", poiché sono altrettanto probabili di qualsiasi altra sequenza di otto caratteri. Alcuni generatori di password filtrano attivamente il loro output per evitare tali password. Va bene, ma se un hacker conosce questi filtri, in realtà riduce il numero di possibilità e facilita il cracking della forza bruta.

Ecco un esempio estremo. Esistono 40.960.000 possibili password di quattro caratteri, provenienti da una raccolta di 80 caratteri. Ma alcuni generatori di password impongono la selezione di almeno uno per ciascun tipo di carattere e ciò riduce drasticamente le possibilità. Ci sono ancora 80 possibilità per il primo personaggio. Supponiamo che sia una lettera maiuscola; il pool per il secondo personaggio è 54 (80 meno i 26 caratteri maiuscoli). Supponiamo inoltre che il secondo carattere sia una lettera minuscola. Per il terzo carattere, rimangono solo cifre e caratteri speciali, per 28 scelte. E se il terzo carattere è la punteggiatura, l'ultimo deve essere una cifra, 10 scelte. I nostri 40 milioni di possibilità diminuiscono a 1.209.600.

L'uso di tutti i set di caratteri è una necessità per molti siti Web. Per evitare che tale requisito riduca il pool di password, impostare una lunghezza della password elevata. Quando la password è abbastanza lunga, l'effetto di forzare tutti i tipi di caratteri diventa trascurabile.

Altri limiti applicati dai gestori di password riducono inutilmente il pool di possibili password. Ad esempio, RememBear Premium specifica il numero preciso di caratteri di ciascuno dei quattro set di caratteri, il che riduce drasticamente il pool. Per impostazione predefinita, richiede due lettere maiuscole, due cifre, 14 lettere minuscole e nessun simbolo, per un totale di 18 caratteri. Ciò si traduce in un pool di password che è centinaia di milioni di volte più piccolo di se richiedesse semplicemente uno o più di ciascun tipo di carattere. Anche in questo caso, è possibile compensare questo problema impostando una lunghezza della password più elevata.

LastPass e molti altri predefiniti evitano coppie di caratteri ambigue come la cifra 0 e la lettera O. Quando non devi ricordare la password, questo non è necessario; disattiva questa opzione. Allo stesso modo, non scegliere l'opzione per generare una password pronunciabile come "entlestmospa". Questa opzione è importante solo se è una password che devi ricordare. Applicando questa opzione non si limita solo a caratteri minuscoli, ma si rifiuta il vasto numero di possibilità che il generatore di password ritiene non redditizie.

Genera password lunghe

Come abbiamo visto, i generatori di password non necessariamente scelgono dal pool di tutte le possibili password corrispondenti alla lunghezza e ai set di caratteri selezionati. Nell'esempio estremo di una password di quattro caratteri che utilizza tutti i set di caratteri, circa il 97 percento delle possibili password di quattro caratteri non viene mai visualizzato. La soluzione è semplice; andare a lungo! Non devi ricordare queste password, quindi possono essere enormi. Almeno, tanto grande quanto il sito Web in questione accetta; alcuni impongono limiti.

Maggiore è lo spazio di ricerca (quello che ho chiamato il pool di password disponibili), più tempo ci vorrebbe un attacco di forza bruta per accadere sulla tua password. Puoi giocare con il calcolatore Haystack Password (come in, ago in un pagliaio) sul sito Web Gibson Research per avere un'idea del valore della lunghezza.

Basta inserire una password per vedere quanto tempo impiegherà il cracking. (Il sito promette "NULLA che fai qui lascia mai il tuo browser. Ciò che accade qui rimane qui." Ma la cautela suggerisce di evitare di usare le tue password effettive). Una password di quattro caratteri come 1eA e non richiederebbe nemmeno un giorno per decifrare, se l'hacker deve inviare ipotesi online. Ma in uno scenario offline, in cui l'hacker può provare a indovinare ad alta velocità, il tempo di cracking è una frazione di secondo.

Nel mio articolo sulla creazione di password complesse memorabili (per cose come la password principale di un gestore di password) suggerisco una tecnica mnemonica che trasforma una linea da una poesia o gioca in una password dall'aspetto casuale. Ad esempio, una riga di Romeo e Giulietta, atto 2, scena 2, divenne "bS, wLtYdWdB? A2S2". Questa non è una password casuale, ma un cracker non lo sa. Rilasciandolo nel calcolatore di Gibson apprendiamo che anche usando un enorme array di cracking ci vorrebbero 1, 41 cento milioni di secoli per forzare questa forza.

Fai una scelta di Gestore password informato

Quindi ora lo sai: il fattore più importante nel generare password complesse e casuali è farle lunghe. Alcuni generatori di password rifiutano le password che non contengono tutti i set di caratteri, alcune rifiutano quelle con parole del dizionario incorporate, alcune ignorano le password che contengono caratteri ambigui come la piccola l e la cifra 1. Tutte queste restrizioni limitano il pool di possibili password, ma quando la lunghezza è abbastanza alto, questa limitazione non ha importanza.

Naturalmente, è teoricamente (se non praticamente) possibile che qualche malfattore possa hackerare lo schema di generazione delle password del tuo gestore di password preferito, e quindi ottenere la capacità di prevedere le password pseudo-casuali che ti offriranno. Un losco programma di gestione delle password potrebbe inviare le password casuali alla sede centrale dell'azienda. Questo è davvero nel livello di preoccupazione paranoia cappello di carta stagnola. Ma se davvero non vuoi fare affidamento su qualcun altro per le tue password casuali, puoi creare il tuo generatore di password casuali in Excel.

Come utilizzare un generatore di password casuale