AES-XTS Block Cipher Mode is used in Kingston's Encrypted USB Flash Drives

Crittografia XTS

La massima sicurezza nella crittografia per drive USB richiede ben altro che un semplice certificato. I drive Flash USB ultra sicuri di Kingston - DataTraveler® 4000G2 e DataTraveler Vault Privacy 3.0 - adottano la crittografia hardware AES a 256 bit con la modalità di cifratura a blocchi XTS. La tecnologia XTS offre un maggior livello di protezione rispetto ad altre tecnologie di crittografia, quali CBC e ECB.

Di seguito vengono illustrati in dettaglio i vantaggi per la sicurezza offerti dai dispositivi di storage Flash USB con crittografia DT4000G2 e DTVP30.

Modalità di funzionamento della cifratura a blocchi AES per crittografia Full-Disk

AES - acronimo di Advanced Encryption Standard - è uno standard di cifratura a blocchi che crittografa blocchi di dati della dimensione di 128 bit. Per eseguire crittografie oltre i 128 bit, AES utilizza una modalità di cifratura a blocchi. Esistono molte modalità di cifratura a blocchi AES, diverse fra loro, ma comunque rientranti nella specifica AES. La modalità di cifratura a blocchi più semplice è la ECB (Electronic Code Book). La CBC (Cipher Block Chaining) interviene a risolvere le vulnerabilità di sicurezza interne all’ECB ed è una delle modalità più comunemente utilizzate dai drive Flash portatili protetti da crittografia. La XTS è invece una delle modalità più recenti e garantisce una sicurezza maggiore rispetto alle modalità ECB e CBC. Di seguito viene riportata una breve descrizione di queste modalità di cifratura a blocchi.

ECB (Electronic Code Book). Questa modalità di cifratura a blocchi si limita a ripetere il processo di crittografia AES per ciascun blocco di dati da 128 bit. La Figura 1 mostra la crittografia di dati utilizzando la modalità ECB. Ciascun blocco viene crittografato in modo indipendente, utilizzando la modalità AES con la stessa chiave di crittografia. Per decrittografare, la procedura viene invertita. Con la modalità ECB, blocchi identici di dati non crittografati, di seguito indicati come testo semplice (plain text), vengono crittografati allo stesso identico modo, producendo così blocchi identici di dati crittografati (cipher text). Si tratta quindi di una modalità di cifratura non ideale, dal momento che non nasconde a sufficienza pattern di dati. La Figura 2 mostra un esempio di grave vulnerabilità della sicurezza prodottosi utilizzando questa modalità.

Figure 1, ECB

Electronic Code Book (ECB)
Figura 1

L’immagine riportata a sinistra non è crittografata. L’immagine sulla destra mostra l’aspetto del testo cifrato quando si utilizza una modalità di crittografia quale CBC o XTS. L’immagine al centro mostra invece chiaramente la vulnerabilità prodotta dalla modalità ECB. Dal momento che pattern di pixel dell’immagine identici contenuti all’interno di uno stesso blocco vengono crittografati in modo da produrre blocchi cifrati identici, l’immagine originale traspare chiaramente.

Ovviamente, blocchi di dati identici non dovrebbero essere crittografati in modo tale da produrre lo stesso testo cifrato. Ne consegue che la modalità ECB è considerata poco sicura ed il suo impiego è sconsigliato.

Original Image Encrypted using ECB mode Encrypted using other mode

Immagine originale

Crittografia mediante ECB

Crittografia con modalità diverse

Figura 2

CBC (Cipher Block Chaining). Come visto, la principale vulnerabilità della modalità ECB consiste nella produzione di testo cifrato identico quando si esegue la cifratura a blocchi di dati identici. La soluzione ideale consiste nel realizzare un metodo di crittografia che utilizzi un’unica chiave di crittografia, ma allo stesso tempo produca testo cifrato diverso, anche qualora il testo semplice di 2 o più blocchi fosse identico. La modalità CBC è stata progettata proprio per raggiungere questo obiettivo. La Figura 3 mostra questa modalità CBC.

Un Vettore di Inizializzazione (IV) di 128 bit viene generato e combinato con il testo semplice del primo blocco di un settore. Questi dati vengono combinati mediante la funzione XOR (Exclusive OR). I 128 bit di dati che ne derivano vengono quindi crittografati con l’algoritmo di crittografia AES e archiviati nel supporto. Il testo cifrato così prodotto viene passato al blocco successivo, dove viene combinato con il testo semplice di quel blocco, per essere poi crittografato ed archiviato. Questo processo di concatenamento viene quindi ripetuto per ogni blocco del settore. Come si vede, si tratta di una soluzione in grado di assicurare che blocchi di dati identici producano testo cifrato assolutamente diverso. Ne consegue che la modalità CBC risulta essere molto più sicura della modalità ECB e viene pertanto considerata adatta alla maggior parte delle applicazioni di sicurezza. La modalità CBC è infatti largamente utilizzata in molti drive Flash protetti da crittografia.

Figure 3, ECB

Electronic Code Book (ECB) - Encryption
Figura 3

Modalità AES-XTS. Nata con la specifica originaria di IEEE Std 1619-2007, NIST ha aggiunto la modalità XTS all’elenco delle modalità di cifratura a blocchi AES nel 2010. La XTS è la più recente modalità di cifratura a blocchi ed è quella adottata da DataTraveler 4000G2 e DataTraveler Vault Privacy 3.0. È stata progettata per offrire un livello di protezione ancora maggiore rispetto a quello assicurato da altre modalità quali la CBC. La modalità XTS infatti risolve le vulnerabilità associate ad alcuni dei più sofisticati attacchi dei canali laterali, che potrebbero essere utilizzati per sfruttare le vulnerabilità delle altre modalità. La Figura 4 illustra la modalità XTS mediante un diagramma a blocchi semplificato.

La modalità XTS utilizza due chiavi AES. La prima chiave viene utilizzata per eseguire la cifratura a blocchi AES; l’altra viene utilizzata per eseguire la crittografia di ciò che è comunemente noto come “Tweak Value”. Questo prodotto viene ulteriormente modificato mediante una funzione polinomiale di Galois e una funzione XOR, che interessano sia il testo semplice che il testo cifrato di ciascun blocco. La funzione di Galois produce maggiore propagazione ed assicura che blocchi di dati identici non producano mai testo cifrato identico. Questa procedura viene operata a livello di singolo blocco, in modo da produrre testo cifrato univoco anche in caso di testo semplice identico, senza tuttavia dover ricorrere a vettori di inizializzazione e concatenamento. In effetti, il testo viene sostanzialmente (ma non completamente) sottoposto a doppia cifratura, utilizzando due chiavi indipendenti. La decrittografia dei dati viene eseguita svolgendo tale procedura al contrario. Dal momento che ciascun blocco è indipendente e non è stato realizzato alcun concatenamento, se i dati cifrati e archiviati dovessero danneggiarsi, diventando corrotti, solo i dati di quel particolare blocco risulterebbero non ripristinabili. Nelle modalità che prevedono il concatenamento, questi errori si propagano invece agli altri blocchi durante il processo di decrittografia.

Figure 4

Figura 4

Conclusioni

La modalità AES-XTS consente ai drive DT4000G2 e DTVP30 di assicurare una maggiore sicurezza dei dati rispetto ad altri modelli presenti sul mercato. Tutte le funzioni di sicurezza sono contenute all’interno dei confini del processore di sicurezza integrato, garantendo così un elevato grado di sicurezza e portabilità.

In più, entrambi questi dispositivi sono dotati di funzionalità di protezione mediante password complessa: l'accesso all'unità viene bloccato dopo un determinato numero di tentativi di accesso falliti. Protetti da un robusto alloggiamento impermeabile, questi dispositivi sono in grado di garantire al meglio sicurezza e protezione dei dati. Tutti i drive Kingston® con crittografia di livello enterprise e militare sono coperti da una garanzia di cinque anni, con servizio di supporto tecnico gratuito compreso.