Cryptology Academy · Lección

Selección de AEAD para sistemas en producción

Aplique un marco de decisión para elegir el esquema AEAD adecuado según el modelo de amenazas y los requisitos de rendimiento.

Lección 4 de 413 pasos

Selección de AEAD para sistemas en producción es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

AES-GCM: la opción predeterminada

AES-GCM es el AEAD predeterminado adecuado para la mayoría de los sistemas de producción. Cuenta con aceleración de hardware mediante AES-NI en prácticamente todos los procesadores x86 y ARM64 modernos, es ampliamente compatible con pilas TLS y bibliotecas criptográficas, y se beneficia de un análisis criptográfico exhaustivo y de una amplia experiencia de uso en entornos reales.

Límites de los nonces de AES-GCM

AES-GCM utiliza un nonce de 96 bits. Con nonces generados aleatoriamente, el límite de cumpleaños se alcanza después de aproximadamente 2^32 mensajes con la misma clave, momento en el que la probabilidad de colisión de nonces deja de ser insignificante. En sistemas de gran volumen, es esencial gestionar los nonces mediante un contador o cambiar la clave después de 2^32 mensajes.

ChaCha20-Poly1305: cuando no hay AES-NI

ChaCha20-Poly1305 es la opción adecuada cuando AES-NI no está disponible o cuando la generación de nonces puede no ser fiable. Es rápido en software, está diseñado para ejecutarse en tiempo constante (resistente a canales laterales de temporización) y es el conjunto de cifrado obligatorio en TLS 1.3 para entornos sin compatibilidad con hardware AES.

AES-GCM-SIV para la seguridad de los nonces

Cuando los nonces pueden reutilizarse o deben generarse de forma determinista, como en servicios sin estado o en la envoltura de claves, AES-GCM-SIV (RFC 8452) es la opción adecuada. Proporciona resistencia al uso incorrecto de nonces con un coste de rendimiento moderado frente a AES-GCM estándar.

AEGIS para obtener el máximo rendimiento

AEGIS-128L es la opción adecuada cuando se requiere el máximo rendimiento de cifrado y se garantiza la presencia de AES-NI en todos los destinos de despliegue. Los dispositivos de red de gran ancho de banda, los concentradores VPN y los sistemas de cifrado de almacenamiento son candidatos ideales, ya que AEGIS ofrece mejoras de rendimiento significativas frente a AES-GCM.

Selección del tamaño de clave: 128 frente a 256 bits

AES-128 proporciona una seguridad de 128 bits, considerada adecuada frente a todas las amenazas actuales y previsibles de la computación clásica. AES-256 ofrece un margen adicional frente a avances futuros y es obligatorio en algunos marcos normativos, como la clasificación TOP SECRET conforme a NSA Suite B. Para la mayoría de las aplicaciones, AES-128 es suficiente y ligeramente más rápido.

Consideraciones sobre el tamaño de los nonces

AES-GCM utiliza nonces de 96 bits, mientras que AES-GCM-SIV también utiliza nonces de 96 bits. XSalsa20 (utilizado en secretbox de libsodium) utiliza nonces de 192 bits, lo que hace que la generación aleatoria de nonces sea segura para muchos más mensajes con la misma clave. Los nonces más grandes reducen el riesgo de reutilización accidental en sistemas de gran volumen.

Bibliotecas recomendadas

Utilice bibliotecas AEAD consolidadas en lugar de implementar las primitivas directamente. libsodium proporciona una API AEAD sencilla (crypto_aead_aes256gcm_encrypt, crypto_aead_chacha20poly1305_ietf_encrypt). Google Tink encapsula primitivas AEAD y añade rotación y versionado de claves. Las bibliotecas TLS nativas del lenguaje gestionan AEAD automáticamente para la seguridad del transporte.

Migración desde AES-CBC

AES-CBC con un HMAC-SHA256 independiente (en orden EtM) es aceptable, pero se considera una solución heredada. La migración a AES-GCM simplifica la implementación al sustituir dos primitivas por una y elimina el riesgo de una composición incorrecta. Los datos en reposo cifrados con CBC-HMAC deben volver a cifrarse con AES-GCM durante una rotación de claves programada.

Pruebas de implementaciones AEAD

Las implementaciones AEAD deben probarse con los vectores de prueba oficiales del NIST (para AES-GCM) y del RFC 8439 (para ChaCha20-Poly1305). Compruebe siempre que los fallos en la verificación de la etiqueta de autenticación hagan que el descifrado devuelva un error en lugar de texto plano parcial. La gestión incorrecta de errores es un fallo común de implementación.

Diagrama de flujo para la decisión

Elija AES-GCM cuando AES-NI esté presente y los nonces sean únicos. Elija ChaCha20-Poly1305 cuando AES-NI no esté presente o los nonces sean menos fiables. Elija AES-GCM-SIV cuando exista riesgo de reutilización de nonces. Elija AEGIS cuando la prioridad sea el máximo rendimiento con AES-NI garantizado. No elija nunca modos que no sean AEAD para sistemas nuevos.

Comprobación de la selección de AEAD

Un microservicio sin estado desplegado en varias réplicas debe cifrar datos y no puede coordinar un contador de nonces compartido. ¿Qué modo AEAD es el más adecuado?

Resumen de la lección: elegir el AEAD adecuado

AES-GCM es la opción predeterminada. ChaCha20-Poly1305 cubre los entornos sin AES-NI. AES-GCM-SIV gestiona los entornos en los que los nonces no son seguros. AEGIS maximiza el rendimiento cuando se garantiza la presencia de AES-NI. Utilice bibliotecas como libsodium o Tink en lugar de combinar primitivas manualmente. Pruebe siempre con vectores de prueba oficiales y compruebe que los fallos de autenticación se gestionen correctamente.

Gratis para empezar

Aprende Cryptology Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
67
Lecciones
261

Preguntas frecuentes

¿La lección «Selección de AEAD para sistemas en producción» es gratis?

Sí — el texto completo de «Selección de AEAD para sistemas en producción» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Selección de AEAD para sistemas en producción»?

Aplique un marco de decisión para elegir el esquema AEAD adecuado según el modelo de amenazas y los requisitos de rendimiento. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Selección de AEAD para sistemas en producción»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Por qué Encrypt-Then-MAC supera a MAC-Then-Encrypt
  2. Modo SIV: AEAD resistente al uso indebido de nonces
  3. AEGIS: cifrado autenticado de alta velocidad
  4. Selección de AEAD para sistemas en producción
← Volver a Cryptology Academy