Algoritmo finale - Approvazione della comunità richiesta

0

Buongiorno,

Come alcuni potrebbero essere a conoscenza, sono stato molto attivo su questo forum negli ultimi giorni. Nei miei tentativi di conoscere la sicurezza, ho pubblicato molti "rifiuti" in termini di protezione effettiva.

Prima della settimana scorsa non avevo alcuna conoscenza in merito alla protezione dei dati e spero che la mia precedente stupidaggine non abbia strofinato nessuno nel modo sbagliato.

Ecco cosa ho scoperto usando il codice di questo forum, i consigli dei suoi membri e un sacco di tempo dedicato all'apprendimento.

  1. La password dell'utente è di 8 cifre, 0-9. Questo è impostato dagli amministratori usando un generatore casuale (per essere unico) e non è qualcosa che posso cambiare. Capisco la debolezza di questo, ma posso solo lavorare con quello che ho.

  2. Un controllo. Questo verrà impostato da me quando compilerò il database per aumentare l'entropia senza chiedere troppo agli utenti. Sarà generato casualmente da 96 caratteri diversi (tabella ASCII da 32 a 126, più 128 e 163)

Ciò darebbe un'entropia di 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 * 96 * 96 = 921600000000

  1. Il sale viene generato in modo casuale come 512 bit (lunghezza 128)

InputPassword = "12345678"
InputCheck = "K)"

Password = Password & Check

Salt = CryptGenRandom(512)
SaltedPassword = Password & Salt

CryptHash = CryptHashData(SaltedPassword, CALG_SHA_512)

For i = 0 to 9999
CryptHash = CryptHashData (CryptHash & Password & Salt, CALG_SHA_512)
Next

Output = CryptHash & Salt
Display(Output)

La durata sopra aumenterebbe di 10.000 l'ammontare di hash per ogni ipotesi. Trasformando 921600000000 in 9216000000000000. Contro l'attacco H / S di 10000000000 potrebbero essere necessari 1,75 anni (A questo punto le password sarebbero state modificate).

Sto iniziando a seguire la traccia giusta o sono di nuovo fuori dal centro?

Ian

    
posta ian smith 14.09.2016 - 12:58
fonte

0 risposte

Leggi altre domande sui tag