◇ OpenCyber Academy
Técnico · Capítulo 9 · Português

Capítulo 9 — Segurança quântica e pós-quântica: ferramentas e métodos

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 9 — Segurança quântica e pós-quântica: ferramentas e métodos

Mapa da aula

Aula 09 publicada. Mapa, exemplo, EX025.

flowchart TD
  N0["9.1 Ferramentas de cliente"]
  N1["9.2 Atividade prática — Laboratório B"]
  N2["9.3 Validando ferramentas"]
  N3["9.4 Um método repetível"]
  N4["9.5 Caso resolvido"]
  N5["9.6 Atividade prática"]
  N6["9.7 Lendo tamanhos"]
  N7["9.9 Comparando resultados ao longo do tempo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX025"]

Desenho lógico

flowchart LR
  N0["9.1 Ferramentas de cliente"]
  N1["9.2 Atividade prática — Laboratório B"]
  N2["9.3 Validando ferramentas"]
  N3["9.4 Um método repetível"]
  N4["9.5 Caso resolvido"]
  N5["9.6 Atividade prática"]
  N6["9.7 Lendo tamanhos"]
  N7["9.9 Comparando resultados ao longo do tempo"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX025"]
[9.1 Ferramentas de cliente]
    |
    v
[9.2 Atividade prática — Laboratório B]
    |
    v
[9.3 Validando ferramentas]
    |
    v
[9.4 Um método repetível]
    |
    v
[9.5 Caso resolvido]
    |
    v
[9.6 Atividade prática]
    |
    v
[9.7 Lendo tamanhos]
    |
    v
[9.9 Comparando resultados ao longo do tempo]
    |
    v
[Exemplo resolvido] --> [Exercício EX025]

Objetivos de aprendizagem

Você vai (1) usar ferramentas de cliente para verificar a negociação; (2) estimar os tamanhos de handshake para diferentes escolhas de certificado; (3) validar uma ferramenta antes de confiar nela; e (4) seguir um método de verificação repetível.

9.1 Ferramentas de cliente

openssl s_client (TLS), ssh -v (SSH) e os comandos de status dos appliances de VPN mostram os algoritmos negociados. Use um cliente com suporte pós-quântico; um cliente antigo sempre relatará clássico. Registre a versão do cliente junto de cada resultado.

No HHG, o scanner do caso resolvido abaixo relatava todos os servidores como clássicos porque embutia uma biblioteca antiga. Escreva a versão do cliente ao lado de cada resultado, para que esses erros possam ser encontrados depois. Verifique o cliente primeiro contra um servidor de laboratório conhecido, para saber que ele consegue relatar híbrido quando for usado.

9.2 Atividade prática — Laboratório B

# Lab B (ch 9): bytes of authentication in a TLS handshake for different signature choices.
# Sizes in bytes: (public key, signature). ML-DSA from FIPS 204; SLH-DSA-128s from FIPS 205.
algs = {"ECDSA P-256": (65, 72), "RSA-2048": (270, 256), "ML-DSA-44": (1312, 2420),
        "ML-DSA-65": (1952, 3309), "SLH-DSA-SHA2-128s": (32, 7856)}
def chain_bytes(alg, depth=2, scts=2):
    pk, sig = algs[alg]
    certs = depth * (pk + sig + 400)          # leaf + intermediate: key + CA signature + ~400 B fields
    return certs + sig + scts * sig           # + CertificateVerify + embedded SCT signatures
for a in algs:
    print(f"{a:20s} ~{chain_bytes(a):6d} bytes of certificates and signatures")

Saída esperada:

ECDSA P-256          ~  1290 bytes of certificates and signatures
RSA-2048             ~  2620 bytes of certificates and signatures
ML-DSA-44            ~ 15524 bytes of certificates and signatures
ML-DSA-65            ~ 21249 bytes of certificates and signatures
SLH-DSA-SHA2-128s    ~ 40144 bytes of certificates and signatures

Os certificados pós-quânticos tornam os handshakes muito maiores. Os operadores precisam desses números quando uma equipe de rede pergunta por que um firewall de repente vê mensagens maiores depois de uma troca de certificado.

O script estima os bytes de certificados e assinaturas num handshake TLS para cinco escolhas de assinatura, usando os tamanhos de chave pública e de assinatura da FIPS 204 e da FIPS 205. O ECDSA P-256 precisa de cerca de 1,3 KB; o ML-DSA-44, de cerca de 15,5 KB; e o SLH-DSA-SHA2-128s, de cerca de 40 KB. Esses números explicam por que as trocas de certificado exigem testes de rede. Mude a profundidade ou o número de SCTs para ver como as hipóteses afetam os totais.

9.3 Validando ferramentas

Antes de usar um scanner em sistemas reais, teste-o contra servidores de laboratório com configurações conhecidas: híbrido preferido, híbrido oferecido mas não preferido, apenas clássico. Se a ferramenta não conseguir distinguir esses casos, não use os seus resultados.

Guarde os resultados da validação com a versão da ferramenta e repita a validação após cada atualização da ferramenta. No HHG, essa etapa revelou o OpenSSL antigo do scanner antes que os seus resultados enganassem alguém. Uma ferramenta que você não consegue validar não deve produzir constatações, por mais conveniente que seja. Guarde o registro.

9.4 Um método repetível

  1. Confirmar o escopo. 2. Registrar a ferramenta e a versão. 3. Executar a verificação. 4. Salvar a saída. 5. Comparar com o resultado esperado. 6. Registrar a constatação ou "conforme o esperado". Repetir os mesmos passos torna os resultados comparáveis ao longo do tempo.

Escreva o método num checklist curto e siga-o toda vez, mesmo nas verificações rápidas. O passo 5 é onde aparecem as surpresas, e cada surpresa deve levar a uma constatação ou a uma nota explicando por que o resultado é esperado. Registre a referência de escopo com a saída salva. Use os mesmos passos nas verificações automatizadas.

9.5 Caso resolvido

O scanner de um operador do HHG relata todos os servidores como clássicos. O teste contra o laboratório mostra que o scanner embute um OpenSSL antigo. Após a atualização, ele identifica corretamente o servidor híbrido do laboratório; só então é usado no parque de homologação, dentro do escopo.

Sem o teste de laboratório, o scanner teria produzido um relatório falso de que todo o parque era clássico, e o esforço teria ido para os serviços errados. A validação levou pouco tempo e economizou muito mais. Registre a validação com a versão do scanner.

9.6 Atividade prática

Valide uma ferramenta de cliente TLS contra três configurações de servidor de laboratório e registre os resultados.

Monte três servidores de laboratório ou três configurações num servidor: híbrido preferido, híbrido oferecido mas não preferido e apenas clássico. Execute a ferramenta contra cada um, registre a versão e a saída e diga se ela distinguiu corretamente os três. Se não distinguiu, anote o que relatou e se uma versão mais nova corrige isso. Arquive esses resultados no registro de validação da ferramenta descrito em 9.3.

9.7 Lendo tamanhos

Os números do Laboratório B são estimativas sob hipóteses declaradas: dois certificados na cadeia, cerca de 400 bytes de outros campos do certificado, duas assinaturas de transparência de certificados. Cadeias reais podem ser mais longas ou mais curtas. Quando precisar de números exatos para uma regra de firewall ou um ticket, capture um handshake de laboratório e meça-o, depois anote a configuração de onde ele veio.

Guarde os valores medidos com o ticket. No HHG, uma equipe de firewall que perguntasse sobre o portal do hóspede precisaria de valores medidos, não da estimativa do Laboratório B. Trate as estimativas como um guia da ordem de grandeza.

9.8 Erros comuns e limites

Cada erro torna os resultados pouco confiáveis. Uma ferramenta não validada pode relatar errado o parque inteiro, como fez o scanner do HHG com um OpenSSL antigo. Resultados sem versões do cliente não podem ser verificados depois, já que um cliente antigo sempre relata clássico. Os números de tamanho do Laboratório B se apoiam em hipóteses declaradas, então uma regra de firewall construída sobre eles pode estar errada; meça um handshake real de laboratório antes de usar números num ticket. Confira as suas anotações quanto a cada um desses.

9.9 Comparando resultados ao longo do tempo

Guarde a saída salva de cada verificação numa pasta datada, para que a execução do mês seguinte possa ser comparada linha a linha. Um diff simples entre duas execuções do mesmo script mostra rapidamente quais serviços mudaram de negociação, o que muitas vezes é mais rápido do que ler um painel quando você investiga uma reclamação específica.

Mantenha os nomes das pastas consistentes, para que os scripts encontrem as execuções. No HHG, foi comparando execuções datadas que o job noturno detectou os dois endpoints que passaram a clássico após um patch.

Exercícios

Síntese

Os operadores usam ferramentas de cliente atuais e validadas, registram versões, seguem um método repetível e entendem os efeitos de tamanho dos certificados pós-quânticos.

Continue estudando — capítulo 09 de 18

← Capítulo 08 · Índice de capítulos do curso · Capítulo 10 →

Siga para a próxima lição escrita.