DEV Community

Cover image for Cifrado de hardware en USB y discos: cómo saber si es real
lu1tr0n
lu1tr0n

Posted on Originally published at elsolitario.org

Cifrado de hardware en USB y discos: cómo saber si es real

Lenovo vendía una memoria USB con sensor de huella digital anunciada como cifrada. Un desarmado posterior, documentado en un hilo de Reddit, mostró que adentro no había más que una tarjeta microSD genérica: ningún chip criptográfico, ningún motor AES, nada que cifrara un solo byte. El sensor biométrico apenas desbloqueaba una aplicación de Windows; la memoria, leída directo con cualquier lector de tarjetas, entregaba los archivos en texto plano.

El caso no es un bug aislado de un fabricante. Es el síntoma de un mercado entero donde la palabra 'cifrado' aparece en la caja sin que exista una propiedad verificable detrás. Esta nota explica qué hace real al cifrado de hardware, qué estándares lo certifican y cómo comprobarlo en cualquier USB o disco externo antes de confiarle datos sensibles.

TL;DR

  • El cifrado de hardware real exige un chip AES dedicado que cifra los datos antes de que lleguen a la memoria flash.- Un sensor de huella digital que solo desbloquea una app de Windows no cifra nada: la memoria sigue legible en cualquier lector de tarjetas.- FIPS 140-2 o FIPS 140-3 validados en el registro CMVP de NIST son la única prueba verificable de un módulo criptográfico real.- TCG Opal define cómo un SSD autocifrado protege la clave de los datos sin exponerla al sistema operativo.- Comandos como hdparm -I y sedutil-cli --scan revelan si un disco soporta y tiene activo el cifrado por hardware.

¿Qué es el cifrado de hardware?

El cifrado de hardware es la técnica en la que un chip dedicado dentro del controlador de un disco o memoria USB cifra y descifra cada byte con AES antes de escribirlo o leerlo de la memoria flash, sin que el sistema operativo ni ningún programa intervengan en el proceso ni tengan acceso directo a la clave.

La diferencia con el cifrado por software (BitLocker en modo estándar, VeraCrypt, LUKS) está en la ubicación de la clave y del cómputo. En el cifrado por software, el sistema operativo carga la clave en la RAM y usa el procesador principal para cifrar cada bloque. En una unidad autocifrada real, la clave vive dentro del controlador, y ni un volcado de memoria del equipo la expone.

Un sensor de huella digital, por sí solo, no define nada sobre dónde ocurre el cifrado. Puede ser la llave de un cifrado legítimo, como en una unidad certificada, o puede ser apenas el gatillo de una ventana de inicio de sesión de una app, como en el caso de Lenovo. La huella identifica a la persona, pero no dice nada sobre qué le pasa a los datos después.

Por qué importa

El riesgo no es solo perder un archivo. Una empresa que compra 500 memorias USB 'cifradas' para su equipo de ventas y confía en esa palabra está exponiendo datos de clientes bajo una falsa sensación de cumplimiento normativo. Si el dispositivo se pierde y en realidad nunca cifró nada, cualquier marco regulatorio que exima de notificación a equipos cifrados deja de aplicar, y la empresa queda expuesta a una notificación de brecha que creía evitada.

El sensor de huella no es una medida de seguridad, sino una cerradura decorativa sobre una memoria sin ninguna protección real, cuando el fabricante nunca implementó cifrado de hardware genuino.

Esto no es exclusivo de pendrives baratos. En el pasado, investigaciones académicas sobre SSD comerciales que anunciaban cifrado por hardware hallaron implementaciones defectuosas que permitían evadir la clave sin conocer la contraseña, lo que llevó a Microsoft a dejar de confiar por defecto en el cifrado por hardware reportado por el propio disco para proteger volúmenes con BitLocker. El problema de fondo es siempre el mismo: una afirmación sin verificación independiente.

El problema se repite fuera de los USB de bajo costo: discos externos, SSD portátiles y hasta algunos NAS domésticos usan la palabra 'cifrado' en el empaque sin publicar jamás un estándar, un algoritmo verificable o un número de certificación. La única forma de saber si hay algo real detrás es preguntar por el estándar, no por el adjetivo.

Cómo funciona por dentro

Una unidad autocifrada (SED, por self-encrypting drive) separa dos claves. La Media Encryption Key (MEK) es la que realmente cifra cada bloque de datos con AES, casi siempre en modo XTS. Esa clave se genera una sola vez, dentro del chip, y nunca sale de ahí.

La segunda clave es la Key Encryption Key (KEK), derivada del PIN, la contraseña o, en dispositivos biométricos bien diseñados, de un secreto que el sensor de huella libera tras verificar la identidad. La KEK no cifra los datos: cifra a la MEK, que queda guardada en una zona reservada del disco. Sin la KEK correcta, la MEK sigue ahí, pero inutilizable.

Esta separación es la que permite el borrado criptográfico instantáneo: descartar la MEK, sin tocar un solo bit de los datos reales, vuelve ilegible todo el contenido en milisegundos, porque ya no existe ninguna clave capaz de descifrarlo. Es el mecanismo detrás de funciones como 'borrado seguro' en SSD empresariales, y la razón por la que un disco de varios terabytes puede darse de baja de forma segura en segundos.
El estándar TCG Opal, publicado por Trusted Computing Group, define cómo un SSD autocifrado gestiona su clave sin exponerla al sistema operativo.
El estándar que define cómo deben comportarse estas piezas en un SSD o HDD es TCG Opal, publicado por el Trusted Computing Group. Las memorias USB no siguen necesariamente Opal, pensado originalmente para SATA y NVMe, pero las serias documentan un esquema equivalente: un controlador con motor AES, una KEK derivada del PIN o la huella, y una MEK que nunca cruza el bus USB en claro.

flowchart TD
    A["Huella digital del usuario"] --> B{"Que desbloquea el sensor?"}
    B -->|"Solo una app de Windows"| C["La app muestra los archivos"]
    C --> D[("Memoria flash sin cifrar")]
    B -->|"Deriva la clave del controlador"| E["Chip AES del controlador"]
    E --> F[("Memoria flash cifrada con AES-XTS")]
Enter fullscreen mode Exit fullscreen mode

La memoria de Lenovo no tenía nada de esto. No había MEK, no había KEK, no había motor AES. Había una tarjeta microSD estándar, del tipo que se vende suelta en cualquier tienda, detrás de un lector de huellas conectado únicamente a la lógica de la aplicación de escritorio.

Cómo verificar en la práctica

Antes de confiar en la etiqueta de un USB o disco externo, hay tres comprobaciones concretas que se pueden hacer sin desarmar nada.

1. Revisar el feature set ATA Security con hdparm

En Linux, instalá hdparm (sudo apt install hdparm en Debian o Ubuntu, sudo dnf install hdparm en Fedora) y consultá el bloque de seguridad del disco:

sudo hdparm -I /dev/sdb
Enter fullscreen mode Exit fullscreen mode

Un disco con el feature set ATA Security activo muestra algo como esto en la salida:

Security: 
    Master password revision code = 65534
        supported
        enabled
    not locked
        frozen
    not expired: security count
        supported: enhanced erase
    2min for SECURITY ERASE UNIT.
Enter fullscreen mode Exit fullscreen mode

Si el bloque dice 'not supported' o directamente no aparece, el disco no implementa el feature set ATA Security. Eso es normal en la mayoría de memorias USB simples y no es, por sí solo, prueba de fraude, pero combinado con la ausencia de cualquier otra documentación técnica es la primera señal de alerta.

2. Confirmar TCG Opal con sedutil-cli

Para SSD y unidades autocifradas que afirman cumplir TCG Opal, la Drive Trust Alliance mantiene sedutil-cli, una herramienta de línea de comandos que no viene empaquetada en todos los repositorios, así que lo más seguro es compilarla desde su repositorio oficial en GitHub o instalar el paquete si tu distribución lo ofrece. El escaneo básico es:

sudo sedutil-cli --scan
Enter fullscreen mode Exit fullscreen mode

El comando lista cada disco conectado junto a un indicador del nivel de soporte Opal detectado, por ejemplo 2 para Opal 2.0. Un guion en esa columna significa que el disco no implementa Opal, sin importar lo que diga el empaque.

3. Verificar el certificado FIPS en el CMVP de NIST

Cuando el fabricante anuncia FIPS 140-2 o FIPS 140-3, tiene que existir un número de certificado público. Buscalo en el Cryptographic Module Validation Program de NIST: ahí aparece el nombre del módulo, el fabricante y el nivel de seguridad validado, del 1 al 4. Si el modelo exacto no figura en esa lista, el 'FIPS' de la caja es solo marketing, aunque el algoritmo interno sea AES real.

sequenceDiagram
    participant U as Usuario
    participant H as Host
    participant C as Controlador del disco
    U->>H: ingresa PIN o huella
    H->>C: envia credencial de autenticacion
    C->>C: deriva la Key Encryption Key
    C->>C: desbloquea la Media Encryption Key
    C-->>H: datos descifrados en tiempo real
    Note over C: la clave nunca sale del chip
Enter fullscreen mode Exit fullscreen mode

En Windows, manage-bde -status C: muestra si BitLocker usa cifrado por hardware (eDrive) o cae a software porque el disco no lo soporta. En macOS, diskutil info no distingue hardware de software en discos externos de terceros, así que para esos equipos conviene apoyarse directamente en el certificado FIPS publicado por el fabricante.

Casos de uso reales

Las empresas que manejan datos regulados (salud, finanzas, gobierno, defensa) suelen exigir por contrato que cualquier memoria USB corporativa tenga FIPS 140-2 nivel 3 validado. Líneas como Apricorn Aegis Secure Key, iStorage datAshur PRO o Kingston IronKey publican su número de certificado y su nivel exacto en su documentación, precisamente porque sus clientes lo van a verificar antes de firmar la compra.

⚠️ Ojo: El borrado criptográfico de una unidad autocifrada destruye la clave en milisegundos y vuelve ilegibles todos los datos, pero esa garantía solo existe si el cifrado era real desde el diseño: en una memoria como la de Lenovo no hay clave que borrar.

En el sector salud, perder un USB con historiales clínicos sin cifrado real puede disparar la obligación de notificar a cada paciente afectado. Algunos marcos regulatorios reducen esa obligación cuando el dispositivo tenía cifrado certificado, así que el certificado no es un detalle burocrático: es lo que decide si hay que mandar miles de cartas de notificación.

Fuera del mundo corporativo, el caso de uso más simple es el de cualquier persona que viaja con datos sensibles (contratos, historiales médicos propios, claves de acceso) en una memoria USB. Para ese uso, una unidad autocifrada certificada justifica su sobreprecio frente a un pendrive genérico con un sticker de 'AES-256' sin respaldo.

Errores comunes y buenas prácticas

Confundir el algoritmo con la implementación es el error más común. AES-256 es un algoritmo público y gratuito: cualquiera puede escribir 'AES-256' en una caja sin que eso implique que el chip adentro lo ejecuta, ni que la clave esté protegida, ni que el sensor biométrico tenga algo que ver con el cifrado.

Asumir que todo lo que trae lector de huella es más seguro que una contraseña es otro error. Un sensor biométrico barato sin motor criptográfico es, en la práctica, más débil que una contraseña larga: no hay forma de 'cambiar' una huella comprometida, y en el caso de Lenovo ni siquiera estaba protegiendo nada.

El feature set ATA Security, más viejo que TCG Opal, tiene un historial conocido de contraseñas maestras de fábrica que algunos fabricantes nunca rotaron ni documentaron para rotar, lo que en ciertos modelos antiguos permitía desbloquear el disco sin el PIN del usuario legítimo. Por eso las implementaciones modernas migraron a TCG Opal, que no depende de una contraseña maestra universal del fabricante.

Comunidades de reparación y desarmado, como la que destapó el caso Lenovo en Reddit, terminan siendo el control de calidad real de este mercado: revisar un video o hilo de desarmado del modelo exacto antes de comprar vale más que leer la descripción del producto.

Buena práctica: pedí siempre el número de certificado FIPS antes de comprar, no después. Un fabricante serio lo tiene impreso en la hoja de datos del producto, no escondido en un correo de soporte.

Comparativa con alternativas

No todo lo que se vende como 'cifrado' ocupa el mismo nivel de confianza. La tabla siguiente ordena las tres categorías reales que existen en el mercado de USB y discos externos.
Tipo de 'cifrado'Qué protege en realidadCómo verificarloCuándo confiarApp o sensor biométrico sin chip criptográfico (caso Lenovo)Nada: solo bloquea una interfaz, la memoria flash queda legible con cualquier lectorVideo o reporte de desarmado del modelo exactoNunca, para datos sensiblesCifrado por hardware sin certificación independienteCifra los bytes en el controlador, pero sin auditoría externa de la implementaciónhdparm -I o documentación técnica del fabricanteUso personal de bajo riesgoUnidad autocifrada FIPS 140-2 o 140-3 validadaCifrado AES-XTS auditado por un laboratorio acreditado y registrado en NIST CMVPNúmero de certificado contra el buscador de CMVPEmpresas, salud, finanzas, gobiernoEl programa CMVP de NIST es el único registro público donde se valida un módulo criptográfico bajo FIPS 140-2 o FIPS 140-3.

flowchart TD
    A["Dispositivo anuncia cifrado"] --> B{"Tiene numero de certificado FIPS verificable?"}
    B -->|"Si, aparece en CMVP"| C["Cifrado de hardware validado"]
    B -->|"No, o no lo publica"| D{"Soporta TCG Opal o ATA Security?"}
    D -->|"Si, confirmado con hdparm o sedutil-cli"| E["Cifrado por hardware probable, sin certificar"]
    D -->|"No, solo una app o sensor biometrico"| F["Cifrado de marketing: no confiar"]
Enter fullscreen mode Exit fullscreen mode

La fila del medio es la más común y la más ambigua: muchos pendrives decentes de marca caen ahí. No son una estafa como el caso Lenovo, pero tampoco ofrecen la garantía auditada de un módulo FIPS. Y hay un escenario donde ni la fila de arriba conviene: si necesitás sincronizar un mismo contenedor cifrado entre Windows, macOS y Linux sin depender de un sensor físico que puede fallar o de un PIN de recuperación con intentos limitados, un contenedor de software como VeraCrypt sigue siendo más práctico que una unidad autocifrada atada a un único lector biométrico.

Profundizando

AES-XTS, el modo que usan casi todas las unidades autocifradas, fue diseñado específicamente para discos: cifra cada sector de forma independiente para que un cambio de un solo bit en el texto plano no afecte a los sectores vecinos, algo necesario cuando el almacenamiento se accede en bloques fijos y no como un flujo continuo.

💭 Clave: La separación entre MEK y KEK es lo que vuelve posible cambiar el PIN de una unidad autocifrada en segundos: solo se re-cifra la MEK, unos pocos bytes, nunca los datos completos, sin importar cuántos terabytes tenga el disco.

Los niveles de seguridad FIPS 140-2 y 140-3, del 1 al 4, no miden el algoritmo, sino la implementación física: resistencia a manipulación del hardware, borrado de claves ante intentos de apertura, calidad del generador de números aleatorios. Un módulo de nivel 3, el más común en memorias USB corporativas, exige evidencia física de sabotaje y mecanismos de respuesta ante intrusión.

El propio Trusted Computing Group documenta Opal 2.0 con estados explícitos para la unidad: Locked, Unlocked, Frozen, y un contador de intentos (Try Limit) que, al agotarse, puede bloquear el disco hasta un reinicio o forzar un borrado criptográfico, según cómo lo configure el administrador. Nada de esto existe en un dispositivo que, como el de Lenovo, nunca implementó el estándar.

Una limitación real que vale aclarar: incluso un cifrado de hardware perfectamente implementado no protege nada si el disco queda desbloqueado y conectado. El cifrado defiende contra la pérdida o el robo del dispositivo apagado, no contra alguien que lo use mientras está desbloqueado. Eso es trabajo de otras capas de seguridad, no del chip AES.

📖 Resumen en Telegram: Ver resumen

Tu próximo paso: conectá un disco externo o USB que tengas a mano, corré sudo hdparm -I /dev/sdX y revisá si el bloque Security aparece como supported antes de confiar en la palabra 'cifrado' de cualquier caja.

Preguntas frecuentes

¿El cifrado de hardware de un USB es siempre real si dice AES-256 en la caja?

No. AES-256 describe un algoritmo público, no una certificación. Lo único que confirma una implementación real y auditada es un número de certificado FIPS 140-2 o FIPS 140-3 verificable en el CMVP de NIST.

¿Qué diferencia hay entre una unidad autocifrada y el cifrado por software como VeraCrypt?

VeraCrypt y LUKS cifran con el procesador del equipo y guardan la clave en la RAM del sistema mientras el volumen está montado. Una unidad autocifrada hace el trabajo dentro del propio controlador del disco, y la clave nunca llega a la memoria RAM del equipo anfitrión.

¿Cómo compruebo si mi disco soporta TCG Opal?

Con sedutil-cli --scan desde Linux, o preguntando directamente al fabricante por el nivel de Opal soportado, por ejemplo Opal 2.0. La ausencia de una respuesta técnica suele ser la respuesta.

¿Un sensor de huella digital reemplaza a una contraseña fuerte?

Solo si ese sensor efectivamente deriva o libera la Key Encryption Key del controlador. Si apenas desbloquea una aplicación, como en el caso de Lenovo, no reemplaza nada: la memoria sigue expuesta a cualquiera que la lea directo.

¿Qué significa que un módulo criptográfico tenga validación FIPS de nivel 3?

Significa que, además del algoritmo correcto, el hardware fue evaluado por resistencia física a manipulación y por borrar sus claves ante un intento de apertura detectado. Es el nivel que suelen exigir los contratos corporativos y gubernamentales.

¿Qué pasó exactamente con el USB con huella digital de Lenovo?

Según el desarmado documentado en Reddit, el dispositivo anunciado como cifrado resultó ser una tarjeta microSD genérica sin ningún componente criptográfico, con un lector de huella que solo controlaba el acceso a una aplicación de escritorio.

Referencias

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (0)