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

Capítulo 36 — Criptografia e serviços de confiança: desempenho e escala

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 36 — Criptografia e serviços de confiança: desempenho e escala

Mapa da aula

Aula 36 publicada. Mapa, exemplo, EX106.

flowchart TD
  N0["36.1 Carga da frota"]
  N1["36.2 Custos do hash de senhas"]
  N2["36.3 Planejar os picos"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX106"]

Desenho lógico

flowchart LR
  N0["36.1 Carga da frota"]
  N1["36.2 Custos do hash de senhas"]
  N2["36.3 Planejar os picos"]
  N3["Síntese"]
  N0 --> N1 --> N2 --> N3 --> Q["EX106"]
[36.1 Carga da frota]
    |
    v
[36.2 Custos do hash de senhas]
    |
    v
[36.3 Planejar os picos]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX106]

Objetivos de aprendizagem

Você vai (1) estimar a carga de trabalho criptográfica na escala da frota; (2) ajustar os custos do hash de senhas e da verificação; (3) planejar a capacidade para os picos.

36.1 Carga da frota

Aiyana estima a carga: 50.000 medidores reportando a cada hora produzem cerca de 1,2 milhão de leituras por dia, e cada uma precisa de uma verificação HMAC. O HMAC-SHA256 sobre mensagens curtas leva microssegundos em servidores modernos, então a verificação é barata; o gargalo está nas gravações no banco de dados e nas consultas de chaves. Ela projeta um cache de chaves derivadas na memória protegida do verificador, renovado quando as chaves são rotacionadas. Estimar primeiro evita desperdiçar otimização na criptografia quando o custo real está em outro lugar. Ela confirma a estimativa com um teste de carga em homologação, que mostra o HMAC usando menos de um por cento do processador, enquanto a fila do banco de dados cresce durante as rajadas.

36.2 Custos do hash de senhas

O portal dos clientes usa o Argon2id da RFC 9106, que é deliberadamente lento. Aiyana ajusta os parâmetros para que cada login leve cerca de meio segundo no servidor e use memória suficiente para atrasar atacantes com hardware especializado. No pico, quando as contas são emitidas, milhares de clientes entram em uma hora. Ela calcula a capacidade de servidor necessária e acrescenta limitação de taxa por conta e por endereço de rede, para que os atacantes não possam usar os logins para esgotar os recursos. O ajuste equilibra a experiência do usuário, a capacidade e a resistência a palpites offline.

36.3 Planejar os picos

As implantações de firmware criam picos: se todos os 50.000 medidores baixassem e verificassem ao mesmo tempo, os concentradores ficariam saturados. Aiyana escalona as atualizações em ondas de cinco por cento, monitora os resultados das verificações e pausa automaticamente se as falhas excederem um limiar. As renovações de certificados também são espalhadas, acrescentando um jitter aleatório aos horários de renovação, o que evita a situação em que todos os concentradores renovam no mesmo minuto. O planejamento de capacidade para a criptografia costuma ser uma questão de agendamento, e não de velocidade bruta. Ela também ensaia uma pausa da implantação, para que os operadores saibam interromper rapidamente uma onda se as falhas de verificação aumentarem durante uma atualização.

Exemplo resolvido

Aiyana estima 1,2 milhão de verificações diárias, guarda em cache as chaves derivadas, ajusta o Argon2id para cerca de meio segundo com limites de taxa e escalona o firmware e as renovações.

Caso sintético. Os números de carga são inventados; a RFC 9106 é real.

Erros e limites

Reduzir o custo do hash de senhas para economizar capacidade enfraquece a proteção. Os caches de chaves precisam ser protegidos como o serviço de chaves.

Exercícios

Síntese

Em escala, o desempenho criptográfico depende de estimar a carga, ajustar os custos deliberados e programar os picos, mais do que da velocidade bruta dos algoritmos.

Continue estudando — aula 36 (capítulo 36 de 50)

← Capítulo 35 · Índice das aulas · Capítulo 37 →

Continue para a próxima aula já escrita.