Nel contesto della sicurezza, tutto è un compromesso. Maggiori informazioni su questo in un secondo ....
Quali sono le opzioni di attacco per entrare nel tuo volume crittografato? Sono, in sostanza:
-
Ricerca forza bruta dello spazio delle chiavi per la chiave utilizzata dalla primitiva di crittografia simmetrica.
-
Forza brutale la passphrase provando ogni possibile password utilizzando i parametri specifici di derivazione del tasto e del volume del volume.
-
Domestica cattiva, tubo di gomma, keylogger o altri "non criptati" per proteggere il tuo keymat.
Dovresti preoccuparti del numero 3. Perché è l'ovvio vettore di attacco.
Nessuno riuscirà a forzare bruto la chiave utilizzata per la primitiva di crittografia a blocchi.
Da una prospettiva di sicurezza di base, sono convinto che anche le chiavi a 128 bit siano completamente sicure se l'implementazione non è interrotta. Una ricerca di forza bruta in questo caso deve esaurire in media la metà di uno spazio chiave che ha 340.282.366,920,938,463,463,374,607,431,768,211,456 possibilità.
Per un primitivo con chiave a 256 bit, stai parlando di 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 possibilità.
Quindi, anche con 256 bit di sicurezza chiave stai già raggiungendo numeri che si avvicinano al numero di atomi nell'universo conosciuto.
Quindi è fuori.
Ciò di cui sei preoccupato è qualcuno che prova ogni possibile frase di accesso.
Ora, ricorda che LUKS usa un po 'di sale + PBKDF2 per estendere la tua pass phrase alla dimensione dello spazio della chiave. Ciò significa che anche una password di "a" può essere mappata a qualsiasi punto possibile nell'intero spazio della chiave. Quindi gli attaccanti non avranno un tavolo arcobaleno che aiuterà qui.
Se hanno intenzione di forzare la frase del passo, dovranno provare tutti gli input possibili, eseguendo ciascuno attraverso la funzione di derivazione dei tasti con i parametri usati sul volume (salt & iterations). Ci vuole tempo. E, se la memoria viene pubblicata, LUKS imposta effettivamente le iterazioni in modo da richiedere una quantità specifica di tempo per "tentativo".
Ciò significa che è sufficiente una lunghezza della frase che ha abbastanza entropia per rendere impossibile per un utente malintenzionato provare un numero sufficiente di frasi possibili per localizzare la frase. L'hacker può ovviamente utilizzare GPU o hardware ASIC specializzato per accelerare questo processo (il motivo per cui la gente sta sperimentando cose come Scrypt per renderlo più difficile), ma sarà più che protetto con 20-30 caratteri contenenti numeri minuscoli e maiuscoli e simboli della tastiera (compresi i simboli di numeri spostati e altri simboli sulla tastiera).
Questo mi riporta al mio commento iniziale. È importante tenere a mente i trade off. Puoi provare a creare una passphrase equivalente alla difficoltà del tuo spazio chiave a 512 bit, ma impatterà sul tuo comportamento. Potresti non riuscire a smontare / disconnettersi quando ti alzi per prendere una tazza di caffè perché è così doloroso ricevere la frase giusta quando è il momento di ricollegarti. Potresti memorizzare la frase lunga su un telefono o un pezzo di carta. Se lo memorizzi in un gestore di password, sarai limitato dalla sicurezza del gestore password e non dalla sicurezza della lunghezza della tua passphrase.
Nel frattempo, una volta che un attaccante deve provare da 20 a 30 caratteri di passphrase utilizzando 93 possibili caratteri, l'attaccante deve affrontare (efficacemente) da 95 a 150 bit di entropia che lo pone al di fuori dell'intervallo ragionevole di forza bruta.
E, tutto ciò riporta alla terza possibilità di entrare nel tuo volume. Rispetto alla forza bruta che costringe la chiave alla primitiva della crittografia oa provare tutte le possibili pass phrase, il terzo scenario "COMPROMISE" è proprio quello di cui dovresti preoccuparti. Un utente malintenzionato che ti fa indicare un browser Web compromesso a un exploit che offre privilegi intensificati sul tuo sistema in esecuzione può scansionare la memoria per la tua password. Un utente malintenzionato che ottiene un rootkit sul tuo sistema può fare lo stesso. Se si collega un dispositivo USB o firewire compromesso, si sta potenzialmente compromettendo la sicurezza. E questi sono tutti molto più semplici per l'attaccante che forzare lo spazio delle chiavi o lo spazio delle frasi passate.