it-swarm.dev

Quanto è difficile decifrare la password principale di keepass?

Con quale facilità qualcuno potrebbe decifrare il mio file keepass .kdbx se quella persona ruba il file ma non ottiene mai la password principale?

È una minaccia seria o un attacco di forza bruta richiederebbe enormi tempi di elaborazione?

Assumi una password lunga più di 10 caratteri con caratteri distribuiti in modo casuale del set, inclusi tutte le lettere, i numeri e la maggior parte dei simboli della tastiera non alfanumerici.

111
steampowered

KeePass utilizza un processo di derivazione della password personalizzato che include più iterazioni di crittografia simmetrica con una chiave casuale (che quindi funge da salt), come spiegato . Il numero predefinito di iterazioni è 6000, quindi sono 12000 invocazioni AES per l'elaborazione di una password (la crittografia viene eseguita su un valore a 256 bit, AES utilizza blocchi a 128 bit, quindi devono essere presenti almeno due invocazioni AES per ogni round). Con un PC quad-core recente (quelli con lo spiffy istruzioni AES ), dovresti essere in grado di testare circa 32000 potenziali password al secondo.

Con dieci personaggi casuali scelti in modo uniforme tra i centinaia di caratteri che possono essere digitati su una tastiera, ce ne sono 1020 password potenziali e forza bruta, in media, proveranno la metà di esse. Sei dentro per 1020* 0,5/32000 secondi, noto anche come 50 milioni di anni. Ma con due PC che sono solo 25 milioni di anni.

Ciò presuppone che il processo di derivazione della password non sia in qualche modo imperfetto. Nel "processo di derivazione della password personalizzata", la "personalizzazione" è una parola spaventosa. Inoltre, il numero di iterazioni è configurabile (6000 è solo il valore predefinito).

140
Tom Leek