Ir al contenido

El cifrado AES-256 explicado en palabras sencillas

Casi todas las apps dicen AES-256. La pregunta que importa es dónde vive la clave.

3 min de lecturaÚltima revisión

En resumen

AES es el estándar de cifrado publicado por el NIST, y AES-256 es la versión con claves de 256 bits: demasiadas posibilidades como para probarlas todas. GCM es una forma de usar AES que además detecta manipulaciones. Como el algoritmo es tan sólido, la seguridad real de una app depende de la gestión de claves: quién tiene la clave, dónde se guarda y qué la desbloquea.

Lo esencial

  • AES-256: un estándar del NIST, bloques de 128 bits, claves de 256 bits.
  • GCM añade una comprobación de integridad: los datos alterados no se descifran.
  • Un cifrado fuerte con una clave mal guardada no protege nada.

Qué es AES

AES, el Advanced Encryption Standard, es un cifrado por bloques elegido por el Instituto Nacional de Estándares y Tecnología de Estados Unidos (NIST) en 2000 y especificado en FIPS 197. Transforma los datos en bloques de 128 bits mediante una clave secreta. El estándar define tres versiones —AES-128, AES-192 y AES-256—, y el número es la longitud de la clave en bits.

Está en todas partes, también en tu iPhone: configurar un código activa la protección de datos, que cifra los datos de tu iPhone con AES de 256 bits.

Por qué 256 bits son de sobra

Una clave de 256 bits puede tomar 2²⁵⁶ valores distintos. Probarlos todos no es cuestión de tener ordenadores más rápidos: está muy por encima de cualquier cosa que se pueda hacer en la práctica. Por eso los ataques reales a sistemas bien construidos rodean el cifrado en lugar de atravesarlo: van a por la clave, la contraseña que la desbloquea o los datos mientras están descifrados.

Lo que añade GCM

Un cifrado por sí solo oculta los datos, pero no puede decirte si alguien los ha cambiado. GCM, el modo Galois/Counter especificado por el NIST en SP 800-38D, es cifrado autenticado: junto a los datos cifrados produce una etiqueta, y si los datos o la etiqueta se han alterado, el descifrado falla en lugar de devolver contenido corrupto o manipulado.

GCM tiene una regla estricta: el valor que se usa para iniciar cada cifrado, llamado nonce o IV, no debe repetirse nunca con la misma clave. Las implementaciones cuidadosas generan uno nuevo cada vez.

La gestión de claves es la verdadera cuestión

«AES-256» te dice que la cerradura es sólida. No dice nada de dónde se guarda la llave. Estas preguntas dicen mucho más de una app:

  • ¿Quién tiene la clave? Si la empresa puede restablecer tu acceso por correo, ella —o quien logre atacarla— puede llegar a tus datos.
  • ¿Dónde se guarda? Una clave guardada junto a los datos, o derivada de un PIN corto, se convierte en el punto débil.
  • ¿Qué la desbloquea? Una clave protegida por el hardware de seguridad de tu dispositivo y por un secreto que solo tú conoces es mucho más difícil de atacar.
  • ¿Y si olvidas el secreto? Una respuesta honesta pasa por una clave de recuperación que guardas tú, no por una incidencia en el servicio de atención.

Cada archivo

su propia clave AES-256-GCM

Clave de la caja fuerte

envuelve cada clave de archivo

Secure Enclave

se abre con tu patrón

Cada archivo tiene su propia clave. La clave de la caja fuerte las envuelve todas, y solo puede desbloquearse dentro del Secure Enclave, con tu patrón.

Cómo lo aplica Latent

Latent cifra cada archivo con su propia clave AES-256-GCM. Esas claves están envueltas por una clave de caja fuerte, protegida a su vez por una clave del Secure Enclave de tu iPhone y desbloqueada con tu patrón o tu contraseña. Las claves se borran de la memoria cuando la caja fuerte se bloquea. Nadie más tiene una copia: la frase de recuperación de nueve palabras es la única llave de repuesto, y solo la tienes tú.

Fuentes

  1. NIST — FIPS 197, Advanced Encryption Standard (AES)
  2. NIST — SP 800-38D, Galois/Counter Mode (GCM) and GMAC
  3. Apple — Set a passcode on iPhone

Que lo tuyo siga siendo tuyo.

Libre para probar, libre para irte.