L'FDE di Android è protetto dagli attacchi offline?

4

Android fornisce FDE, ma utilizza il pin lockscreen, che è (almeno nel mio caso) abbastanza debole (come un PIN a 4 cifre). Significa che il mio FDE potrebbe essere facilmente rotto da un attacco offline?

O forse la chiave master è memorizzata su TPM e tutta la crittografia viene eseguita lì? In tal caso potrebbe eseguire prove di limite di velocità o addirittura chiudersi automaticamente dopo un certo numero di quelle.

Ho trovato questo pezzo su source.android.com (enfasi mia):

The encrypted key is stored in the crypto metadata. Hardware backing is implemented by using Trusted Execution Environment’s (TEE) signing capability. Previously, we encrypted the master key with a key generated by applying scrypt to the user's password and the stored salt. In order to make the key resilient against off-box attacks, we extend this algorithm by signing the resultant key with a stored TEE key. The resultant signature is then turned into an appropriate length key by one more application of scrypt. This key is then used to encrypt and decrypt the master key. To store this key:

Tuttavia non spiegano se questo processo di firma è in qualche modo limitato o protetto con altri mezzi.

    
posta joozek 19.03.2015 - 16:17
fonte

2 risposte

4

La cosa importante da tenere a mente è che le chiavi di crittografia effettive per il volume sono memorizzate nel chip TEE (Trusted Execution Environment), che è progettato per fornire storage sicuro delle chiavi. L'obiettivo del dispositivo è di agire come un oracle di crittografia: gli dai alcuni dati, li cripta o decodifica, quindi ti dà il risultato. Ciò significa che se togli il chip flash e provi a leggerlo direttamente, otterrai solo dati crittografati.

Per impostazione predefinita, non esiste un'autenticazione diretta da parte dell'utente al TEE che protegge da un utente malintenzionato solo chiedendo la decrittografia dei dati. È qui che l'aggiunta di un PIN o una passphrase al telefono aiuta - agisce come un meccanismo di autenticazione per il TEE per garantire che non si possa solo chiedere di decifrare i dati senza "dimostrare" chi sei.

La frase chiave sulla limitazione della velocità è questa:

The resultant signature is then turned into an appropriate length key by one more application of scrypt.

Lo scrypt KDF è progettato per essere lento e sufficientemente hard-memory per rendere difficile la parallelizzazione su piattaforme di calcolo comuni (ad esempio CUDA). Notate anche che hanno detto "un'altra applicazione di scrypt"; il DEK è già stato trasformato tramite scrypt, quindi non è possibile provare a "crackare" il DEK derivandolo ripetutamente contro le password candidate.

    
risposta data 19.03.2015 - 17:12
fonte
0

Il brano che citi spiega come la chiave FDE è protetta dagli attacchi offline: è derivata da un componente segreto (la chiave di firma) che è memorizzato in un TEE. Un TEE (Trusted Execution Environment) ¹ è un coprocessore sicuro (di solito virtuale, ma comunque protetto dall'accesso dal normale sistema operativo) che ha accesso esclusivo ad alcune chiavi segrete. Mentre lo storage Android può essere clonato copiando la memoria flash, le chiavi TEE sono memorizzate in una memoria separata all'interno del chip che non può essere copiata fuori dispositivo (almeno non senza attacchi fisici sul processore).

Pertanto, in un'installazione Android in cui la chiave di crittografia è protetta da TEE (molti non lo sono!), non è possibile decodificare i dati anche se si conosce il PIN, a meno che non si abbia accesso al dispositivo originale (oppure sono riuscito in qualche modo ad estrarre le chiavi dal TEE).

La protezione dagli attacchi online è diversa. Con un PIN di 4 cifre, anche la limitazione non è sufficiente; è necessario bloccare il dispositivo (e in genere richiedere un codice di sicurezza più lungo per sbloccarlo). Questo è quello che succede con le carte di credito (basate su chip) e le SIM telefoniche, per esempio. Per quanto ne so, Android non richiede alcun meccanismo di limitazione o lockdown specifico, quindi dipende dalle singole implementazioni TEE (ogni produttore ha il suo) se la chiave di crittografia rimane vulnerabile agli attacchi online.

¹ Che, a proposito, non è la stessa cosa di un TPM.

    
risposta data 01.01.2016 - 21:58
fonte

Leggi altre domande sui tag