Forza brutale è il più stupido degli attacchi. È l'equivalente di una scimmia che colpisce ripetutamente una noce di cocco con una pietra fino a quando non si rompe (la noce di cocco, non la pietra). Se sostituisci la noce di cocco con una cassastrong in acciaio, la scimmia sarà sconfitta. "In fin dei conti", la scimmia poteva colpire l'acciaio, se solo fosse riuscito a colpirlo per (molto) più a lungo della sua vita. Ma non può: sarà morto molto prima di aver sostanzialmente ammaccato l'acciaio.
Ciò di cui dovresti preoccuparti non è la forza bruta. Un attaccante brutale impone tutte le possibili chiavi finché non diventa fortunato. È sufficiente avere un numero sufficiente di chiavi possibili per rendere tale attacco impossibile; "molte possibili chiavi" traducono in "chiavi sufficientemente lunghe": per la crittografia simmetrica, una chiave è solo una sequenza di bit di una determinata dimensione, e qualsiasi sequenza di esattamente tanti bit è una chiave valida; pertanto, una chiave a 128 bit è più che abbastanza grande da ottenere un'adeguata resistenza contro la forzatura bruta (con un margine equo ). Se utilizzi AES , la dimensione minima della chiave è di 128 bit (l'algoritmo non può fare di meno lo stesso), quindi non preoccuparti .
I problemi riguardano piuttosto come usi l'algoritmo di crittografia. Questa è una questione di sottigliezza ed è molto facile da neutralizzare, lasciando la porta aperta agli aggressori più intelligenti della scimmia media. Come minimo, dovresti definire chiaramente cosa stai cercando di difendere, chi dovrà crittografare i dati, chi avrà bisogno di decodificare i dati e come saranno gestite le chiavi (generazione, archiviazione, accesso, distruzione).
Ovviamente, se hai solo bisogno di crittografia per scopi regolatori, allora basta aggiungere un po 'di AES. Non sarebbe la prima volta che viene applicata la crittografia senza una cosa del genere che abbia un senso. La soluzione migliore, in questo caso, sarebbe Crittografia dati trasparente implementata in Oracle e SQL Server. TDE ha buone prestazioni (non te ne accorgerai) e non altera il formato della tabella, quindi le applicazioni possono utilizzarlo in modo trasparente (da cui il nome). TDE protegge da violazioni della riservatezza da parte di aggressori che ottengono un accesso in lettura alla parte rilevante del disco rigido (ad esempio, aggressori che rubano un vecchio nastro di backup). È qualcosa.
TDE, o qualsiasi quantità di crittografia, ovviamente non dissiperà magicamente tutte le vulnerabilità. La crittografia è una scienza, non una magia.