Qual è la forza della funzione di derivazione della chiave sulla crittografia del dispositivo Android?

1

Qual è la forza della derivazione della chiave? In particolare, quanti millisecondi o microsecondi ci vorrebbe un computer desktop per controllare una password indovinata per vedere se è una corrispondenza? Sono consapevole che questo varia a seconda del computer, quindi voglio un ballpark, e darei un computer single-core 3GHz come esempio, ma fai la tua scelta.

Supponendo che non vi siano difetti significativi nell'implementazione e che la crittografia simmetrica sia di buona qualità, allora posso usare la tua risposta combinata con la conoscenza della forza della mia password per stimare il costo per un utente malintenzionato di decifrare il mio Android.

Ovviamente ci sono dei caveat. Se il telefono è ancora acceso, l'utente malintenzionato potrebbe seguire una procedura per bypassare l'ostacolo di crittografia (utilizzando un congelatore e la ROM sostituita o altra tecnica). Potrebbero esserci altri avvertimenti che vale la pena menzionare.

    
posta George Bailey 13.01.2014 - 21:03
fonte

1 risposta

2

La diapositiva 23 di questa presentazione afferma che la derivazione della chiave per "Crittografia Android" è PBKDF2 (presumibilmente con HMAC / SHA-1) e iterazioni 2000. Poiché ogni iterazione implica una chiamata HMAC, che a sua volta utilizza due invocazioni SHA-1 nest, ciò equivale a 4000 chiamate SHA-1 per controllare una password.

Una CPU quad Core2 a 2,4 GHz può calcolare circa 48 milioni di SHA-1 al secondo (fonte: me), traducendo in circa 12000 password provate al secondo. Se la password è un codice PIN di quattro cifre, non durerà a lungo ...

Con una GPU, puoi andare ai miliardi di istanze SHA-1 al secondo. OclHashcat afferma che le prestazioni misurate di 27 miliardi di SHA-1 su un PC con otto grandi GPU; questo si tradurrebbe in più di 6 milioni di password provate al secondo con PBKDF2 come in Android.

    
risposta data 13.01.2014 - 21:16
fonte

Leggi altre domande sui tag