◇ OpenCyber Academy
Graduação · Capítulo 30 · Português

Capítulo 30 — Laboratório II

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 II

Mapa da aula

Aula 30 publicada. Mapa, exemplo, EX059.

flowchart TD
  N0["30.1 Por que os bytes importam para a autenticação"]
  N1["30.2 Atividade prática — Laboratório B"]
  N2["30.3 Efeitos na rede"]
  N3["30.4 Relato"]
  N4["30.7 Enxugando a cadeia"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX059"]

Desenho lógico

flowchart LR
  N0["30.1 Por que os bytes importam para a autenticação"]
  N1["30.2 Atividade prática — Laboratório B"]
  N2["30.3 Efeitos na rede"]
  N3["30.4 Relato"]
  N4["30.7 Enxugando a cadeia"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX059"]
[30.1 Por que os bytes importam para a autenticação]
    |
    v
[30.2 Atividade prática — Laboratório B]
    |
    v
[30.3 Efeitos na rede]
    |
    v
[30.4 Relato]
    |
    v
[30.7 Enxugando a cadeia]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX059]

Objetivos de aprendizagem

Você vai (1) estimar os bytes do handshake para cadeias de certificados pós-quânticos; (2) comparar quantitativamente as opções de assinatura; (3) relacionar a contagem de bytes com o comportamento da rede; e (4) relatar os resultados com as hipóteses.

30.1 Por que os bytes importam para a autenticação

A troca de chaves híbrida acrescenta cerca de 2,3 kB por handshake TLS. A autenticação pós-quântica acrescenta mais: cada certificado contém uma chave pública e uma assinatura, e o handshake inclui uma assinatura CertificateVerify e, muitas vezes, carimbos de tempo de certificado assinados (SCTs). Com o ML-DSA, cada um desses elementos cresce.

Como uma cadeia leva vários desses elementos, o crescimento se multiplica, em vez de se somar. Um servidor pode enviar dois certificados, cada um com uma chave e uma assinatura ML-DSA, mais o CertificateVerify e duas assinaturas de SCT, então os bytes de autenticação podem superar várias vezes os bytes da troca de chaves. É por isso que a HCU trata os certificados como uma decisão de migração separada da troca de chaves.

30.2 Atividade prática — Laboratório B

# Lab B (ch 30): 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

O modelo supõe uma cadeia de dois certificados, ~400 bytes de outros campos por certificado e dois SCTs; as cadeias reais variam. O ML-DSA-44 aumenta os bytes de autenticação cerca de doze vezes em relação ao ECDSA; o SLH-DSA-128s, mais de trinta vezes.

A contagem é deliberadamente simples: cada certificado leva a sua própria chave pública e uma assinatura do emissor, e o handshake acrescenta uma assinatura CertificateVerify mais uma assinatura por SCT. O SLH-DSA tem uma chave pública minúscula, mas assinaturas muito grandes, então é o mais atingido pelo número de assinaturas na cadeia. Mudar a profundidade ou a quantidade de SCTs no laboratório mostra qual alavanca importa mais para cada esquema.

30.3 Efeitos na rede

A janela de congestionamento inicial do TCP costuma permitir cerca de dez segmentos (~14 kB) antes de esperar uma confirmação. Um voo do servidor que a exceda custa uma ida e volta extra — pequena num enlace de data center, perceptível num caminho móvel ou de satélite de 150 ms. A compressão de certificados (RFC 8879) ajuda pouco com chaves e assinaturas de alta entropia. As respostas de engenharia incluem cadeias mais curtas, menos SCTs e uma escolha cuidadosa dos conjuntos de parâmetros.

Para os usuários móveis da HCU, essa ida e volta extra nos enlaces celulares é a principal preocupação.

30.4 Relato

Relate os resultados com as hipóteses: profundidade da cadeia, tamanhos dos campos, número de SCTs, janela inicial. Declare que o modelo estima bytes, e não latência, e que a latência precisa ser medida.

As comparações só são válidas quando todos os esquemas rodam com as mesmas hipóteses. A HCU anexa os parâmetros do Laboratório B ao seu relatório sobre as opções de certificados, para que um revisor possa mudar uma hipótese, como o número de SCTs, e ver o efeito. A latência medida nos enlaces emulados é relatada separadamente da estimativa de bytes.

30.5 Exemplo resolvido

O aplicativo móvel da HCU fala com o gateway por enlaces celulares com idas e voltas de 80 ms. O Laboratório B sugere ~15,5 kB de autenticação com o ML-DSA-44, um pouco acima de uma janela inicial típica. O plano da HCU: manter os certificados ECDSA enquanto monitora o suporte no ecossistema, testar cadeias ML-DSA-44 no laboratório com um SCT e medir a latência em enlaces celulares emulados antes de qualquer mudança.

A decisão será revista quando os navegadores e as bibliotecas cliente suportarem amplamente os certificados ML-DSA. Os associados em enlaces lentos notariam o atraso primeiro, então os testes emulados usam as piores condições de agência e móveis que a HCU registrou, e não a média.

30.6 Erros comuns e limites

Cada um desses faz o custo da autenticação pós-quântica parecer diferente do que os usuários de fato vivenciam.

30.7 Enxugando a cadeia

Quando os bytes importam, os engenheiros têm várias alavancas antes de escolher outro algoritmo: remover intermediários desnecessários, reduzir o número de SCTs embutidos onde a política permitir, evitar enviar um certificado raiz em que o cliente já confia e preferir o ML-DSA-44 aos conjuntos de parâmetros maiores onde a categoria 2 atender à política. Cada alavanca tem um custo de política ou de compatibilidade, então registre quais foram usadas e por quê. Rode de novo o Laboratório B com a configuração enxugada e guarde os dois resultados no registro de laboratório.

Anote qualquer cliente que falhe com a cadeia enxugada.

Exercícios

Síntese

A autenticação pós-quântica multiplica os bytes do handshake; modelos simples com hipóteses declaradas orientam onde medir a latência e como enxugar as cadeias.

Continue estudando — capítulo 30 de 40

← Capítulo 29 · Índice de capítulos do curso · Capítulo 31 →

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