Sembrerebbe una cosa abbastanza facile, no? L’utente inserisce una password, e i dati scritti sulla chiavetta usb vengono cifrati con quella password. Inserendo la stessa password, i dati vengono letti correttamente. Le varie problematiche di cifratura di drive sono note e trattate dai numerosi driver per dischi/partizioni cifrati.
Già una volta (non trovo il riferimento) la qualità delle implementazioni era stata messa in discussione. Adesso, il problema si presenta di nuovo: “NIST-certified USB Flash drives with hardware encryption cracked“. Cito:
During a successful authorisation procedure the program will, irrespective of the password, always send the same character string to the drive after performing various crypto operations.
Naturalmente mi viene un dubbio. Dato che questi oggetti sono certificati FIPS 140-2 Level 2, una prova che si potrebbe supporre venga effettuata è che i dati cifrati sulla chiavetta siano effettivamente cifrati con AES-128 come dichiarato. Ma se una tale verifica fosse stata fatta, ci si sarebbe dovuti almeno accorgere che la chiave con cui erano cifrati i dati non era quella derivata dalla password inserita…
Tutto questo conferma ancora una volta, se ce ne fosse bisogno, che i problemi della crittografia non vengono tanto dagli algoritmi crittografici in sè, ma dai protocolli che li utilizzano e dalle implementazioni.