Esistono almeno i seguenti problemi con le implementazioni dei file di chiavi TrueCrypt:
L'analisi del file chiave ignora i dati oltre il primo 1 MB. Nell'autenticazione a tre fattori (qualcosa hai {keyfile}, qualcosa che conosci {password} e qualcosa che sei {biometria}), quando sei meno o più connesso a internet, potresti voler essere in grado di rilevare il traffico di file del tuo file dalla tua directory più acessed, cioè quella con keyfiles.Grandi file non possono essere memorizzati nascosti in un bootsector usando l'attacco stile Maid Evil, quindi vuoi che i file di chiavi siano grandi. Veracrypt e Truecrypt hanno entrambi questo problema di limite di 1 MB per file (il resto viene ignorato), tali file vengono facilmente trasmessi sulla rete senza nemmeno ridurre la larghezza di banda come spia di avviso.
Il secondo problema è che l'algoritmo di analisi dei file di chiavi TrueCrypt utilizza CRC32 anziché SHA256 o superiore, quindi aggiunge il valore CRC32 alla fine della maggior parte dei tuoi file (attacco attivo preemptive sui file di chiavi), PRIMA di usarli come "nuovo file di chiavi fresco" , potrebbe annullare l'output del file di chiavi, rendendolo vulnerabile quando si passa inconsapevolmente a un nuovo file di chiavi pensando che aggiungerà qualcosa di nuovo alla password. Keepass, Diskcryptor non hanno questo problema.
Il terzo problema è che l'elaborazione del file di chiavi non sta affermando con password o salt, quindi se per errore usi una password corta e lo stesso file di chiavi TWICE, dal punto di vista degli attaccanti, non avrebbe mai bisogno di ricalcolare il file di chiavi su tutto il file, ma Piuttosto rimani con lo stesso CRC32 conosciuto su 64 byte di pattern unico per un dato file. In altre parole, per ottenere tutti i possibili contributi del file di chiavi alla password dal tuo filesystem hai bisogno di 64 byte di dati per ogni file, e che puoi fare silenziosamente con antivirus online backdoor! Questo problema è condiviso da Veracrypt, Discryptor e Keepass e probabilmente da tutti i software di crittografia open source. L'implementazione corretta sarebbe HASH (HASH (HASH (HASH (sale) ^ HASH (password)) ^ keyfile [block_0]), keyfile [block_1], ...), un insieme annidato di chiamate che iniziano con salt e password, quindi se o uno cambia, mentre anche supponendo che RNG rotto almeno la password possa cambiare, è necessario ricalcolare l'intera routine lungo un file di chiavi. Solo allora il metodo keyfile sarebbe molto strong, perché l'attaccante deve avere un intero file potenzialmente pesante per poter fare il suo attacco di forza bruta.
Ciò che viene spesso trascurato è che i brevi keyfile di lunghezza minima (64 byte) sono facilmente rilevabili, sono potenzialmente esposti a debolezze RNG in bit inferiori e la loro casualità (alto per byte) non è paragonabile a un file tipico la cui entropia è molto bassa per kilobyte . Questo è un altro motivo per cui vuoi > 1 file di dimensioni di MB, oltre al fatto che sono più difficili da rubare o trasportare inosservati via internet.
Tutto sommato, è molto utile usare keyfile come secondo fattore dato che non fornisce una password completamente gratis se è stato attaccato da un keylogger.
Quando usi Windows, c'è un plugin interessante da tenere che ti permette di montare i TrueCube Wulumes e inserire il percorso del file chiave senza digitarlo, mentre usi l'offuscamento a due canali. Questo ti rende immune alla maggior parte dei grabber di appunti, screengrabbers, analisi della tastiera di registrazione del suono e tutti i keylogger più diffusi.
Se il nome della directory è lungo e casuale, il nome del file di chiavi non viene nemmeno mostrato (perché il percorso è troppo lungo) in modo da essere immune agli attacchi screengrabber riguardo a quale file è il file di chiavi, tra i vari in una directory molto complessa.
Poiché KeePass utilizza SecureDesktop, allora hai più immunità ai keylogger avviando il gestore di Keepass (che può usare la posizione nota per un file di chiavi, memorizzato nel registro), quindi lanciare TrueCrypt direttamente da esso (di nuovo inserendo un altro file di chiavi come input TrueCrypt).
La cosa interessante è che puoi mantenere il file di chiavi sulla chiavetta USB crittografato con Bitlocker su The Go, quindi con EFS su file. Il volume USB rimovibile nel suo insieme può essere comodamente montato automaticamente da Windows, e quest'ultimo, la crittografia per file funziona solo quando un utente specifico di Windows ha effettuato l'accesso. Quindi un altro utente che ha effettuato l'accesso a Windows non sarà nemmeno in grado di accedere a quei file di chiavi e una volta disconnesso o bloccato la console (richiede la configurazione EFS in gpedit.msc), le chiavi di crittografia per EFS non saranno nemmeno in memoria (coldboot attacca nuovamente i file di chiavi - protetti). Inoltre, se si inseriscono questi file su USB o scheda SD, è possibile rimuoverli facilmente dopo aver montato i volumi, limitando la loro esposizione all'interno del sistema operativo.
Tale scheda SD o chiave USB potrebbe essere eliminata in pochi secondi, garantendo che non venga rubata da determinati avversari. Quindi i tuoi dati saranno al sicuro anche se dici la password mentre stai assumendo farmaci, ciò che è buono perché puoi consumare farmaci gratuitamente. Non dimenticare di conservare diverse copie di keyfile nella foresta.