◇ OpenCyber Academy
Engenharia · Capítulo 30 · Português

Capítulo 30 — Laboratório de verificação I

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

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

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.