Capítulo 23 — Criptografia e serviços de confiança: métodos I
Mapa da aula
Aula 23 publicada. Mapa, exemplo, EX067.
flowchart TD
N0["23.1 Cifração autenticada"]
N1["23.2 Regras dos nonces"]
N2["23.3 Escolher os parâmetros"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX067"]
Desenho lógico
flowchart LR
N0["23.1 Cifração autenticada"]
N1["23.2 Regras dos nonces"]
N2["23.3 Escolher os parâmetros"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3 --> Q["EX067"]
[23.1 Cifração autenticada]
|
v
[23.2 Regras dos nonces]
|
v
[23.3 Escolher os parâmetros]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX067]
Objetivos de aprendizagem
Você vai (1) aplicar corretamente a cifração autenticada; (2) entender os nonces e suas regras; (3) escolher os parâmetros do AES-GCM a partir das normas.
23.1 Cifração autenticada
A cifração autenticada combina confidencialidade e integridade: a decifração falha se o texto cifrado tiver sido alterado. O AES-GCM, especificado no SP 800-38D usando o AES do FIPS 197, é o esquema mais usado. Priya aprende sua interface: uma chave, um nonce único, o texto claro e dados associados opcionais, que são autenticados, mas não cifrados, como o identificador de um registro. Incluir o identificador como dado associado impede que um atacante troque registros cifrados entre leitores sem ser detectado. Priya demonstra, com registros sintéticos, que mudar o identificador faz a decifração falhar, o que convence colegas céticos.
23.2 Regras dos nonces
O GCM exige que um nonce nunca se repita sob a mesma chave. Uma repetição permite a um atacante descobrir o XOR de dois textos claros, como no pad reutilizado do Capítulo 1, e forjar mensagens. O SP 800-38D permite contadores, que nunca podem ser reiniciados, ou nonces aleatórios de 96 bits, limitados a cerca de 2^32 cifrações por chave. Priya recomenda nonces aleatórios gerados pela biblioteca, junto com a rotação das chaves bem antes desse limite. Ela confere que a ferramenta de exportação da Tidewell nunca constrói os nonces por conta própria. Ela documenta a regra no checklist de revisão de código.
23.3 Escolher os parâmetros
Priya escreve uma nota de parâmetros para a Tidewell: AES-256-GCM, nonces de 96 bits gerados pela biblioteca, tags de autenticação de 128 bits, dados associados contendo o tipo e o identificador do registro, e chaves rotacionadas anualmente ou depois de um número definido de cifrações. Cada escolha cita o SP 800-38D ou o SP 800-57. Ela anota que a receita de alto nível da biblioteca já escolhe a maioria desses parâmetros, e esse é justamente o ponto: os engenheiros devem verificar os parâmetros, e não inventá-los. Grace arquiva a nota com a documentação do sistema, e Priya agenda uma revisão anual para confirmar que os parâmetros continuam de acordo com as orientações atuais.
Exemplo resolvido
Priya especifica AES-256-GCM com nonces de 96 bits gerados pela biblioteca, tags completas e dados associados que vinculam os registros aos leitores, citando o SP 800-38D.
Caso sintético. A nota de parâmetros é inventada; o SP 800-38D e o FIPS 197 são reais.
Erros e limites
A reutilização de nonces quebra o GCM gravemente. Os dados associados precisam ser idênticos na cifração e na decifração.
Exercícios
-
EX067 — Dados associados. Por que incluir o identificador do registro como dado associado? Rubrica: 3 = para impedir que registros cifrados sejam trocados entre leitores sem detecção;; 2 = vinculação;; 1 = cifra o identificador;; 0 = nenhuma.
-
EX068 — Limite dos nonces aleatórios. Que limite se aplica aos nonces aleatórios de 96 bits do GCM? Rubrica: 3 = cerca de 2^32 cifrações por chave;; 2 = limite;; 1 = vago;; 0 = nenhuma.
-
EX069 — Origem dos parâmetros. Por que Priya diz que verificar os parâmetros é o ponto? Rubrica: 3 = os engenheiros devem verificar, não inventar, os parâmetros; as receitas escolhem a maioria;; 2 = verificar;; 1 = inventar;; 0 = nenhuma.
Síntese
A cifração autenticada com nonces únicos e dados associados vinculados protege os registros quando os parâmetros seguem as normas.
Continue estudando — aula 23 (capítulo 23 de 40)
← Capítulo 22 · Índice das aulas · Capítulo 24 →
Continue para a próxima aula já escrita.