AEAD

sigla

criptografia

Significa: Authenticated Encryption with Associated Data

Uma cifra que criptografa e autentica em um único passo, de modo que a adulteração falha como uma só operação.

Criptografia autenticada com dados associados (do inglês Authenticated Encryption with Associated Data, RFC 5116) combina confidencialidade e integridade em uma única primitiva - AES-GCM, AES-CCM, ChaCha20-Poly1305. O TLS 1.3 permite apenas cifras AEAD, porque as construções antigas de cifrar-e-autenticar-separadamente continuavam produzindo ataques de oráculo de preenchimento.

O AEAD empacota criptografia e autenticação numa única operação, o que soa como conveniência e é, na verdade, um mecanismo de segurança. A alternativa histórica era compor uma cifra com um MAC separado, e era na composição que as implementações erravam: autenticar a coisa errada, fazer na ordem errada, e o resultado é um oráculo de preenchimento em vez de um protocolo.

A parte dos dados associados é a que costuma passar despercebida. Alguns campos precisam estar visíveis para funcionar, como cabeçalhos que um roteador precisa ler, e ainda assim não podem ser adulterados. O AEAD os cobre com a etiqueta de autenticação deixando-os sem criptografia, de modo que a integridade se estende para além do texto cifrado, alcançando o contexto ao redor.

A regra que importa na operação é que o AEAD troca uma classe de falha por outra. Ele elimina os erros de composição e é implacável com a reutilização de nonce: repetir um nonce sob a mesma chave em GCM não degrada a segurança graciosamente, pode expor a própria chave de autenticação. O TLS 1.3 manteve apenas cifras AEAD justamente porque as alternativas acumularam uma década de ataques, e a aresta que resta é o manejo de nonce, não a escolha da cifra.

Também conhecido como: aead, authenticated encryption

Fontes

Todos os verbetes do glossário