Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 024

AES-CBC

Revisado porCybersecurity entrepreneur & security researcher

¿Qué es AES-CBC?

AES-CBCModo de cifrado por bloques no autenticado que encadena AES con el bloque cifrado anterior; vulnerable a ataques de oraculo de relleno si se usa sin un MAC.


AES-CBC (Cipher Block Chaining) es un modo definido en NIST SP 800-38A en el que cada bloque de texto claro de 128 bits se combina por XOR con el bloque cifrado anterior antes del cifrado AES, usando un IV aleatorio en el primer bloque. CBC ofrece confidencialidad pero no integridad, por lo que debe combinarse con un MAC mediante encrypt-then-MAC. CBC con relleno PKCS#7 es famoso por su vulnerabilidad a ataques de oraculo de relleno (BEAST, Lucky 13, POODLE), que se han explotado contra TLS, IPsec y cifrado de disco. Los estandares modernos prefieren modos AEAD como AES-GCM o ChaCha20-Poly1305, aunque CBC persiste en pilas TLS 1.0/1.1 heredadas.

La clase de ataques de oraculo de relleno fue presentada por Serge Vaudenay en 2002: si un servidor revela —mediante un mensaje de error, el tiempo de respuesta o una diferencia de comportamiento— si el relleno PKCS#7 descifrado es valido, un atacante puede recuperar el texto claro byte a byte sin llegar a conocer nunca la clave. El patron reaparecio como POODLE (CVE-2014-3566) contra SSL 3.0, Lucky 13 (CVE-2013-0169) como canal lateral temporal en la construccion MAC-then-encrypt de TLS, y BEAST (CVE-2011-3389), que aprovecho el IV encadenado predecible de TLS 1.0. CBC tambien es maleable: invertir un bit en un bloque cifrado invierte el bit correspondiente del texto claro en el bloque siguiente, de modo que, sin proteccion de integridad, un atacante puede manipular mensajes sin ser detectado.

Por tanto, el uso correcto exige un IV aleatorio e impredecible por mensaje e integridad mediante encrypt-then-MAC (normalizado para TLS en RFC 7366), no el orden heredado MAC-then-encrypt. CBC todavia aparece en IPsec, SSH y despliegues TLS antiguos, pero TLS 1.3 elimino todas las suites de cifrado CBC y exige AEAD en su lugar. Al refactorizar sistemas heredados, sustituya AES-CBC + HMAC por una unica primitiva AEAD (AES-GCM, AES-GCM-SIV o ChaCha20-Poly1305) para eliminar de un solo paso las trampas del oraculo de relleno y del orden del MAC.

flowchart LR
  IV[IV aleatorio] --> X1((XOR))
  P1[Bloque de texto claro 1] --> X1
  X1 --> E1[Cifrado AES] --> C1[Bloque cifrado 1]
  C1 --> X2((XOR))
  P2[Bloque de texto claro 2] --> X2
  X2 --> E2[Cifrado AES] --> C2[Bloque cifrado 2]

Ejemplos

  1. 01

    AES-256-CBC con HMAC-SHA256 en suites TLS 1.0/1.1 antiguas.

  2. 02

    BitLocker sustituyo AES-CBC por XTS-AES en cifrado de disco completo.

Preguntas frecuentes

¿Qué es AES-CBC?

Modo de cifrado por bloques no autenticado que encadena AES con el bloque cifrado anterior; vulnerable a ataques de oraculo de relleno si se usa sin un MAC. Pertenece a la categoría de Criptografía en ciberseguridad.

¿Qué significa AES-CBC?

Modo de cifrado por bloques no autenticado que encadena AES con el bloque cifrado anterior; vulnerable a ataques de oraculo de relleno si se usa sin un MAC.

¿Cómo defenderse de AES-CBC?

Las defensas contra AES-CBC combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para AES-CBC?

Nombres alternativos comunes: Encadenamiento de bloques, AES-128-CBC, AES-256-CBC.

Términos relacionados