Il modo "corretto" per implementare la crittografia hardware su un dispositivo di memoria flash è crittografare con una chiave memorizzata in una parte inaccessibile del dispositivo, che è a sua volta crittografata con la password dell'utente. Ciò significa che il dispositivo può essere "cancellato" semplicemente cancellando la chiave e sostituendola con un'altra. La ragione di ciò risiede nel modo in cui funzionano i dispositivi di memoria flash: sono costruiti con una capacità di riserva che viene utilizzata per compensare la mancata o l'usura di singoli elementi di memoria durante la durata prevista del dispositivo. Tuttavia, questo significa anche che i dati possono esistere su settori che non sono più scrivibili, quindi non sarebbe possibile cancellarli in modo sicuro. Questo non è un grosso problema se l'intero dispositivo è crittografato - i dati rimanenti, anche se possono essere estratti dai settori non scrivibili, sono crittografati, quindi rimane sicuro. Rimuovendo e sostituendo la chiave, i dati possono essere resi illeggibili, senza aumentare il carico sulla memoria flash con scritture aggiuntive.
Se un dispositivo crittografa invece basato direttamente sull'input dell'utente, non puoi evitare le scritture extra - non puoi semplicemente dimenticare la chiave, poiché l'utente ce l'ha, e potrebbe averla lasciata in giro altrove, dove alcuni il malintenzionato può trovarlo e usarlo per decrittografare i dati.
Il risultato di tutto ciò è che se un produttore ha costruito la propria unità nel modo "corretto", la password inserita viene utilizzata solo per decrittografare la chiave utilizzata per il resto dei dati. Dal momento che questo è intenzionalmente inaccessibile, in genere non puoi estrarlo per forzare il bruto offline, anche se puoi estrarre il resto dei dati sul dispositivo. Significa anche che la forzatura bruta della chiave effettiva utilizzata non significa elaborare la password relativamente breve in cui inseriresti, ma invece elaborare la chiave interna, che potrebbe essere molto più lunga - anche qualcosa di relativamente insicuro, come un SHA- 256 hash della parola "password" sarebbe 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
. Ciò è impossibile alla forza bruta quando non conosci la lunghezza o la composizione della chiave ...
Ora, è possibile che il produttore abbia implementato un metodo diverso, in cui l'input è direttamente utilizzato per crittografare i dati, ma i passaggi descritti sopra sono piuttosto noti e, dato un key store ragionevolmente sicuro sul dispositivo, davvero difficile rompere.
Direi che i dati su quel dispositivo sono probabilmente andati, a meno che tu non sia fortunato con l'ultimo tentativo ...