El modo de cifrado de bloque AES-XTS se utiliza en las unidades USB y SSD externas cifradas por hardware de Kingston IronKey

XTS: la clave para el mejor cifrado

Para disfrutar del cifrado de unidades USB más seguro, no basta con un certificado. Las unidades USB y SSD externas cifradas por hardware de Kingston IronKey™ incorporan el cifrado AES de 256 bits con el modo de cifrado por bloques XTS. XTS ofrece una mayor protección de datos que otros modos de cifrado por bloques, como CBC y ECB.

A continuación, se detallan las ventajas en cuanto a la seguridad de las unidades IronKey, que están diseñadas desde cero como dispositivos de protección de datos.

Modos de funcionamiento del cifrado por bloques AES para la encriptación total del disco

El cifrado por bloques AES (también denominado estándar de cifrado avanzado) encripta bloques de datos en 128 bits. Para encriptar datos de más de 128 bits, AES utiliza un modo de cifrado por bloques. Dentro de la especificación AES, existen muchos modos de cifrado por bloques AES. El modo de cifrado por bloques más sencillo es Electronic Code Book (ECB). Cipher Block Chaining (CBC) aborda las deficiencias de seguridad de ECB y es uno de los modos que se usan con más frecuencia en las unidades Flash con encriptación portátiles. XTS es uno de los modos más recientes y ofrece más protección de datos que ECB y CBC. A continuación, se describen brevemente estos modos de cifrado por bloques.

Electronic Code Book (ECB).Este modo de cifrado simplemente repite el proceso de cifrado de AES en cada bloque de datos de 128 bits. En la figura 1 se describe el cifrado de datos con el modo ECB. Cada bloque se cifra de forma independiente por medio de AES y la misma clave de cifrado. Para descifrar, el proceso se invierte. Con ECB, los bloques idénticos de datos no cifrados (o texto sin formato) se cifran del mismo modo y los bloques de datos cifrados resultantes (texto cifrado) son idénticos. Este modo de cifrado no es el ideal, ya que no oculta bien los patrones de datos. En la figura 2 se representa un ejemplo que demuestra la vulnerabilidad de seguridad más importante de este modo de cifrado.

Figure 1, ECB

Electronic Code Book (ECB)
Figura 1

A la izquierda, se muestra la imagen sin cifrar. La imagen de la derecha muestra el aspecto del texto cifrado cuando se usan otros modos de cifrado como CBC o XTS. En la parte central de la imagen, se muestra claramente la vulnerabilidad asociada con ECB. Puesto que se cifran patrones de píxeles de imagen idénticos del bloque de cifrado de manera tal que se generen bloques de cifrado idénticos, se distingue la imagen original.

Evidentemente, los bloques de datos idénticos no deberían cifrarse de manera que se genere el mismo texto cifrado. Por este motivo, se considera que la seguridad del modo de cifrado por bloques ECB es baja y no se recomienda su uso.

Original Image Encrypted using ECB mode Encrypted using other mode

Imagen original

Imagen cifrada con el modo ECB

Imagen cifrada con otro modo

Figura 2

Cipher Block Chaining (CBC). Tal y como se ha mencionado anteriormente, la principal deficiencia de ECB es que, al cifrar bloques de datos idénticos, se genera el mismo texto cifrado. El objetivo es conseguir un método de cifrado que, con la misma clave de cifrado, cifre todos los bloques, pero genere un texto cifrado diferente aunque el texto sin formato correspondiente a dos o más bloques sea idéntico. Cipher Block Chaining se diseñó para lograr este objetivo. En la figura 3 se describe el modo de cifrado CBC.

Para el primer bloque de un sector, se genera un vector de inicialización (IV) de 128 bits que se combina con el texto sin formato. Para la combinación de estos datos, se usa la función de disyunción exclusiva (XOR). A continuación, los 128 bits de datos resultantes se cifran con el algoritmo de cifrado AES y se almacenan en el soporte. El texto cifrado resultante pasa al siguiente bloque, donde se combina con el texto sin formato correspondiente, se cifra y se almacena. Este proceso de encadenamiento se repite para cada bloque del sector y garantiza que el texto cifrado que se genera a partir de bloques de datos idénticos sea totalmente distinto. Por lo tanto, CBC es mucho más seguro que ECB y es adecuado para la mayoría de las aplicaciones de seguridad. El uso de CBC es muy habitual en muchas unidades Flash con encriptación.

Figure 3, Cipher Block Chaining (CBC) - Encryption

Cipher Block Chaining (CBC) - Encryption
Figura 3

Modo de cifrado por bloques AES XTS. En 2010, el Instituto Nacional de Estándares y Tecnología (NIST) añadió el modo XTS (incluido originalmente en el estándar 1619-2007 del IEEE) a la lista de modos de cifrado por bloques AES. Las unidades IronKey utilizan XTS, el modo de cifrado por bloques más reciente que se ha diseñado como alternativa a otros modos de cifrado por bloques disponibles, por ejemplo, CBC. Elimina las posibles vulnerabilidades asociadas con algunos de los ataques de canal lateral más sofisticados que podrían usarse para explotar las deficiencias de otros modos. En la figura 4 se muestra un diagrama de bloques simplificado para el modo XTS.

XTS utiliza dos claves AES: una para el cifrado por bloques AES y otra para cifrar el denominado "valor de retoque". Este retoque del cifrado continúa modificándose con una función polinómica de Galois (GF) y con la función XOR, tanto con el texto sin formato como con el texto cifrado de cada uno de los bloques. La función GF ofrece una mayor difusión y garantiza que los bloques de datos idénticos no generen el mismo texto cifrado. De este modo, se consigue que cada bloque produzca un texto cifrado único a partir de un texto sin formato idéntico sin usar vectores de inicialización ni el proceso de encadenamiento. De hecho, el texto se cifra prácticamente dos veces (aunque no es exactamente así) con dos claves independientes. Para descifrar los datos, se invierte el proceso. Cada bloque es independiente y no hay encadenamiento; por tanto, si los datos cifrados almacenados sufren algún daño, los únicos datos que no se podrán recuperar serán los del bloque en concreto. En los modos de encadenamiento, es posible que los errores se propaguen a otros bloques durante el descifrado.

Figure 4, Electronic Code Book (ECB) - Encryption

Figura 4

Conclusiones

AES-XTS provee a las unidades cifradas por hardware de Kingston IronKey de mayor seguridad de datos que otros productos ofrecidos en el mercado. Todas las funciones de seguridad se encuentran dentro de los límites del procesador de seguridad integrado, por lo que la seguridad y la portabilidad son superiores.

Además, ambos dispositivos imponen una protección con contraseña compleja y se bloquean cuando se alcanza un número concreto de intentos erróneos de introducción de la contraseña y, en última instancia, borran los datos de la unidad. Con una robusta carcasa impermeable, estos dispositivos ofrecen la máxima seguridad y protección de datos. Para los clientes que buscan el máximo nivel de protección de datos, algunas unidades IronKey incorporan la certificación FIPS 140-3 de nivel 3 más reciente, que proporciona seguridad de grado militar para los datos de mayor valor. Las unidades IronKey militares y comerciales con cifrado incluyen una garantía de tres a cinco años y ofrecen asistencia técnica gratuita.