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
-
EX073 — Truncamento da tag. Por que uma tag truncada para 16 bytes é aceitável aqui?
Mostrar critérios de avaliação
Rubrica: 3 = forjar exige adivinhar 128 bits; a RFC 2104 permite o truncamento cuidadoso;; 2 = 128 bits;; 1 = inseguro;; 0 = nenhuma. -
EX074 — Defesa contra replay. Como o projeto impede leituras repetidas?
Mostrar critérios de avaliação
Rubrica: 3 = contador monotonicamente crescente verificado pelo faturamento;; 2 = contador;; 1 = só timestamps;; 0 = nenhuma. -
EX075 — Correção da substituição. Como a equipe corrigiu a reinicialização dos contadores nos medidores substitutos?
Mostrar critérios de avaliação
Rubrica: 3 = acrescentou a versão da chave, para que os contadores recomecem com as novas chaves;; 2 = versão;; 1 = ignorar;; 0 = nenhuma.
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.