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.
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
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ú.