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

AES-CBC

Revisado porCybersecurity entrepreneur & security researcher

O que é AES-CBC?

AES-CBCModo de cifragem por blocos sem autenticacao que encadeia AES com o bloco cifrado anterior; vulneravel a ataques de oraculo de preenchimento sem MAC.


AES-CBC (Cipher Block Chaining) e um modo classico definido em NIST SP 800-38A em que cada bloco de texto claro de 128 bits e XOR com o bloco cifrado anterior antes da cifragem AES, sendo o primeiro bloco protegido por um IV aleatorio. CBC oferece confidencialidade mas nao integridade, devendo ser combinado com um MAC em encrypt-then-MAC. CBC com preenchimento PKCS#7 e celebre pelas vulnerabilidades a oraculos de preenchimento (BEAST, Lucky 13, POODLE) exploradas contra TLS, IPsec e cifragem de disco. Os padroes modernos preferem AEAD como AES-GCM ou ChaCha20-Poly1305, mas CBC continua em pilhas TLS 1.0/1.1 legadas.

A classe de ataques de oraculo de preenchimento foi introduzida por Serge Vaudenay em 2002: se um servidor revela — por meio de uma mensagem de erro, do tempo de resposta ou de uma diferenca de comportamento — se o preenchimento PKCS#7 decifrado e valido, um atacante pode recuperar o texto claro byte a byte sem jamais conhecer a chave. O padrao reapareceu como POODLE (CVE-2014-3566) contra SSL 3.0, Lucky 13 (CVE-2013-0169) como canal lateral temporal na construcao MAC-then-encrypt do TLS, e BEAST (CVE-2011-3389), que explorou o IV encadeado previsivel do TLS 1.0. CBC tambem e maleavel: inverter um bit em um bloco cifrado inverte o bit correspondente do texto claro no bloco seguinte, de modo que, sem protecao de integridade, um atacante pode adulterar mensagens sem ser detectado.

O uso correto exige, portanto, um IV aleatorio e imprevisivel por mensagem e integridade via encrypt-then-MAC (padronizada para TLS na RFC 7366), e nao a ordem legada MAC-then-encrypt. CBC ainda aparece em IPsec, SSH e implantacoes TLS mais antigas, mas o TLS 1.3 removeu todas as suites de cifra CBC e exige AEAD em seu lugar. Ao refatorar sistemas legados, substitua AES-CBC + HMAC por uma unica primitiva AEAD (AES-GCM, AES-GCM-SIV ou ChaCha20-Poly1305) para eliminar de uma so vez as armadilhas do oraculo de preenchimento e da ordem do MAC.

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

Exemplos

  1. 01

    AES-256-CBC com HMAC-SHA256 em suites TLS 1.0/1.1 antigas.

  2. 02

    BitLocker substituiu AES-CBC por XTS-AES na cifragem total do disco.

Perguntas frequentes

O que é AES-CBC?

Modo de cifragem por blocos sem autenticacao que encadeia AES com o bloco cifrado anterior; vulneravel a ataques de oraculo de preenchimento sem MAC. Pertence à categoria Criptografia da cibersegurança.

O que significa AES-CBC?

Modo de cifragem por blocos sem autenticacao que encadeia AES com o bloco cifrado anterior; vulneravel a ataques de oraculo de preenchimento sem MAC.

Como se defender contra AES-CBC?

As defesas contra AES-CBC costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para AES-CBC?

Nomes alternativos comuns: Encadeamento de blocos, AES-128-CBC, AES-256-CBC.

Termos relacionados