OpenCyber Academy
Engenharia · Capítulo 25 · Português
Código do curso: OCA-123Capítulo 25: OCA-123-C025

Capítulo 25 — Ateliê de projeto I

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Mapa da aula

Aula 25 publicada. Mapa, exemplo, EX073.

flowchart TD
  N0["25.1 O enunciado do ateliê"]
  N1["25.2 O primeiro projeto"]
  N2["25.3 Crítica e revisão"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX073"]

Desenho lógico

flowchart LR
  N0["25.1 O enunciado do ateliê"]
  N1["25.2 O primeiro projeto"]
  N2["25.3 Crítica e revisão"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3 --> Q["EX073"]
[25.1 O enunciado do ateliê]
    |
    v
[25.2 O primeiro projeto]
    |
    v
[25.3 Crítica e revisão]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX073]

Objetivos de aprendizagem

Você vai (1) produzir um primeiro projeto integrado para a autenticação das leituras dos medidores; (2) apresentá-lo para crítica; (3) revisá-lo com base no retorno recebido.

25.1 O enunciado do ateliê

No primeiro ateliê de projeto, a equipe de Aiyana precisa projetar a autenticação fim a fim das leituras, do medidor ao faturamento, usando o que os capítulos anteriores ensinaram: chaves por medidor derivadas com HKDF, formatos canônicos de leitura, tags HMAC, TLS entre os concentradores e o gateway e verificações do estado das chaves. O enunciado inclui restrições: cada mensagem de leitura pode acrescentar no máximo 32 bytes, os medidores despertam por dois segundos a cada hora, e o sistema precisa tolerar concentradores offline por um dia. A equipe trabalha em quadros brancos antes de escrever qualquer documento.

25.2 O primeiro projeto

O projeto da equipe trunca as tags HMAC para 16 bytes, para caber no limite de tamanho, inclui em cada leitura um contador monotonicamente crescente para impedir a repetição (replay) e faz os concentradores guardarem as leituras em buffer durante as indisponibilidades. O faturamento verifica a tag, confere que o contador é maior que o último aceito e confere o estado da chave. Aiyana justifica as tags de 16 bytes: forjar exige adivinhar 128 bits, muito além do viável, e a RFC 2104 permite o truncamento com cuidado. Ela documenta cada decisão de projeto e o requisito que ela atende. O contador também permite ao faturamento perceber lacunas que indicam leituras perdidas.

25.3 Crítica e revisão

Os revisores levantam três problemas. Primeiro, se um medidor for substituído, o contador do novo medidor recomeça, e o faturamento rejeitaria suas leituras; a equipe acrescenta uma versão da chave à mensagem, para que os contadores recomecem com as novas chaves. Segundo, as leituras em buffer chegam fora de ordem depois das indisponibilidades; o faturamento passa a aceitar contadores dentro de uma janela e a acompanhar as lacunas. Terceiro, nada registra as verificações que falham; a equipe acrescenta o registro em log e o alerta do Capítulo 17. Aiyana aprende que a crítica encontra problemas operacionais que os documentos de projeto raramente revelam.

Exemplo resolvido

O projeto da equipe usa tags HMAC truncadas para 16 bytes, com contadores, e depois é revisado para lidar com a substituição de medidores, as leituras em buffer fora de ordem e a falta de logs de falhas.

Caso sintético. O ateliê e os revisores são inventados.

Erros e limites

O truncamento reduz a resistência à falsificação; nunca trunque abaixo do que o modelo de ameaça permite. Os contadores contra replay exigem tratamento cuidadoso das reinicializações.

Exercícios

Síntese

A crítica de ateliê transforma um projeto aparentemente correto num projeto operável, ao expor lacunas de substituição, de ordenação e de monitoramento.

Respostas comentadas

EX073. Forjar uma leitura exigiria adivinhar um valor de 128 bits, e a RFC 2104 permite o truncamento dentro desses limites.

EX074. Cada leitura carrega um contador crescente, e o faturamento rejeita contadores que não sejam maiores que o último aceito.

EX075. Acrescentaram uma versão da chave às mensagens, para que o contador de um novo medidor comece do zero com sua nova chave.