Capítulo 30 — Laboratório de verificação I
Mapa da aula
Aula 30 publicada. Mapa, exemplo, EX088.
flowchart TD
N0["30.1 Planejar a verificação"]
N1["30.2 Testes negativos"]
N2["30.3 Registrar as evidências"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX088"]
Desenho lógico
flowchart LR
N0["30.1 Planejar a verificação"]
N1["30.2 Testes negativos"]
N2["30.3 Registrar as evidências"]
N3["Síntese"]
N0 --> N1 --> N2 --> N3 --> Q["EX088"]
[30.1 Planejar a verificação]
|
v
[30.2 Testes negativos]
|
v
[30.3 Registrar as evidências]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX088]
Objetivos de aprendizagem
Você vai (1) planejar a verificação de controles criptográficos; (2) executar testes negativos contra a autenticação das leituras; (3) registrar evidências para a garantia.
30.1 Planejar a verificação
No primeiro laboratório de verificação, a equipe de Aiyana testa o projeto de autenticação das leituras numa bancada com dez medidores de teste, um concentrador e uma cópia do verificador do faturamento. O plano de testes lista cada requisito, o teste, o resultado esperado e a evidência a guardar. Os testes rodam numa rede isolada, com chaves sintéticas, nunca com chaves de produção. O plano também declara o que está fora do escopo, como a adulteração física, que um laboratório posterior cobre, para que os resultados não sejam interpretados além do que mostram. Cada teste é revisado por uma segunda engenheira ou engenheiro antes de rodar.
30.2 Testes negativos
A equipe executa testes negativos: leituras alteradas, leituras repetidas com contadores antigos, leituras com tag gerada por uma chave revogada, leituras com tags truncadas e leituras de um identificador de medidor vinculado a outra chave. Cada uma precisa ser rejeitada e registrada. Um teste falha: as leituras com tag de uma chave revogada são aceitas por até uma hora, porque o verificador guarda em cache os estados das chaves. A equipe reduz o tempo do cache para um minuto e acrescenta um envio explícito (push) das revogações. Encontrar isso numa bancada custa muito menos do que encontrá-lo em produção.
30.3 Registrar as evidências
Para cada teste, a equipe registra as entradas, as saídas, os logs, as versões de software e o nome do testador e os guarda num arquivo com evidência de adulteração (tamper-evident), com digests SHA-256. Aiyana escreve um resumo: vinte e quatro testes, vinte e três aprovados de início, um reprovado, corrigido e testado de novo. As evidências apoiam a revisão do regulador e os futuros testes de regressão. Ela enfatiza que passar nos testes mostra a ausência de defeitos conhecidos nas condições testadas, e não a ausência de todos os defeitos. O arquivo é somente leitura para os testadores, para que os resultados não possam ser editados discretamente depois, e cada novo teste é acrescentado como uma nova entrada.
Exemplo resolvido
O laboratório executa vinte e quatro testes; uma falha de revogação em cache é encontrada e corrigida encurtando o cache e enviando as revogações, e as evidências são arquivadas com digests.
Caso sintético. O laboratório e os resultados são inventados.
Erros e limites
Testes de bancada usam condições idealizadas; o comportamento em campo pode ser diferente. Testes com chaves de produção arriscam uma exposição real.
Exercícios
-
EX088 — Regra de isolamento. Que chaves e que rede o laboratório usa? Rubrica: 3 = chaves sintéticas numa rede isolada, nunca chaves de produção;; 2 = sintéticas;; 1 = produção;; 0 = nenhuma.
-
EX089 — Falha de revogação. O que falhou, e como foi corrigido? Rubrica: 3 = leituras com chave revogada aceitas por uma hora por causa do cache; cache reduzido a um minuto mais envio das revogações;; 2 = só a falha;; 1 = só a correção;; 0 = nenhuma.
-
EX090 — Limites da aprovação. O que passar em todos os testes mostra? Rubrica: 3 = ausência de defeitos conhecidos nas condições testadas, não de todos os defeitos;; 2 = limitado;; 1 = prova a segurança;; 0 = nenhuma.
Síntese
Testes negativos planejados, com evidências arquivadas, encontram falhas reais cedo e sustentam afirmações de garantia honestas.
Continue estudando — aula 30 (capítulo 30 de 50)
← Capítulo 29 · Índice das aulas · Capítulo 31 →
Continue para a próxima aula já escrita.