Resumo

  • O RFC 9529 publica entradas fixas, mensagens, hashes, PRKs, cifras, exportadores, parâmetros OSCORE e exemplos inválidos para comparar uma implementação byte a byte.
  • Uma correspondência total prova a reprodução daquele caminho de cálculo, não a qualidade da aleatoriedade, a custódia de chaves, a cobertura de validação, a autoridade da credencial ou o efeito de uma sessão real.
  • A garantia útil junta cinco recibos: vetor, entradas negativas, entropia e custódia, identidade e política, e resultado operacional.

O relatório de integração estava perfeito. message_1, TH_2, CIPHERTEXT_3, PRK_exporter e o segredo OSCORE coincidiam. Centenas de comparações viraram um selo: EDHOC verificado.

No equipamento, porém, a chave privada efêmera se repetia depois de cada reinicialização.

É uma situação ilustrativa, não um incidente atribuído. Ela mede o alcance do teste. O RFC 9529 apresenta trilhas anotadas de EDHOC com entradas, saídas e resultados intermediários verificados por duas implementações independentes. A equipe consegue encontrar o primeiro desvio, em vez de discutir apenas o resultado final.

O vetor não consegue certificar uma propriedade que permaneceu fixa.

A troca deixa de ser uma caixa-preta

EDHOC atende ambientes restritos, mas liga método, suíte, identificadores, Diffie-Hellman efêmero, credenciais, hashes de transcrição, MAC ou assinatura, cifra autenticada, exportadores e OSCORE.

A primeira trilha usa assinaturas, certificados X.509 identificados por x5t, X25519 e EdDSA. A segunda usa DH estático, CCS identificados por kid, P-256 e uma negociação com erro e segundo message_1.

O documento mostra TH_2, TH_3, TH_4, PRKs intermediárias, texto claro, cifra, dados associados, PRK_out, PRK_exporter, Master Secret e Master Salt do OSCORE, além do KeyUpdate. Uma diferença pode ser localizada em CBOR, credencial, suíte ou contexto KDF.

Essa é a autoridade da trilha: dadas estas entradas, o cálculo produz estes bytes.

Segredos publicados pertencem ao teste

A reprodução exige entradas fixas. O RFC publica chaves privadas quando necessário e proíbe tratá-las como secretas ou usá-las. O vetor precisa de segredos conhecidos; a implantação precisa de segredos imprevisíveis, gerados, guardados e apagados sob controle.

Passar no vetor não mede o gerador aleatório, independência entre boots, extração, limpeza de memória, isolamento de hardware ou separação de sessões simultâneas. Cada propriedade requer outro teste.

O registro adequado liga versão, plataforma e trilha a recibos separados de saúde da entropia, origem da chave, custódia, reinicialização, clonagem e concorrência. Um status agregado apaga essa distinção.

Transcrição igual não é identidade ao vivo

TH_2 une a chave efêmera do respondente ao hash de message_1; hashes posteriores acrescentam texto autenticado e credenciais. As derivações dependem dessa história, o que torna a transcrição excelente para diagnóstico.

Mas a trilha já fornece credencial e chave. Em produção, o sistema resolve x5t ou kid, aplica regras, associa a credencial a um principal e decide suas permissões. Autenticação válida pode coexistir com identidade local errada ou autorização excessiva.

O exportador também não é o desfecho. Derivar OSCORE não prova que a mensagem seguinte foi aceita, que replay foi bloqueado, que uma leitura era atual ou que um atuador funcionou. A aplicação deve registrar o próprio resultado.

Casos inválidos não cobrem a superfície inteira

A seção 4 inclui array onde se exige sequência CBOR, invólucros extras, quantidade ou tipo errado, chave efêmera como texto e formas não determinísticas. Os erros criptográficos incluem comprimento errado, coordenada fora do campo, ponto inválido, ponto Curve25519 de baixa ordem, MAC curto e ausência de zero inicial.

O RFC diz que é um conjunto pequeno. Rejeitá-lo não comprova segurança para toda profundidade, tamanho, transição ou consumo de recursos. Fuzzing, propriedades, testes diferenciais, limites e revisão continuam necessários.

“Rejeita os exemplos inválidos do RFC 9529” é uma afirmação auditável. “Resiste a entradas EDHOC malformadas” precisa de evidência muito mais ampla.

CBOR determinístico é estado criptográfico

O RFC distingue valores brutos e sua codificação CBOR. Inteiros longos sem necessidade e arrays indefinidos podem representar dados parecidos para uma ferramenta, mas alterar os bytes consumidos por hash, assinatura, MAC e KDF.

Por isso, o recibo deve guardar mensagem bruta, regra de codificação, primeiro intermediário divergente, suíte e forma da credencial. Reter apenas o objeto decodificado pode eliminar a causa do erro.

Interoperabilidade tem limite

Duas implementações independentes verificaram as trilhas. Isso reduz o risco de uma convenção privada parecer regra do protocolo.

Ainda é acordo sobre exemplos escolhidos. Não cobre toda suíte, método, credencial, EAD ou erro. O registro EDHOC da IANA atribui significados; não certifica suporte de um produto nem política de implantação.

O padrão e os vetores são um piso portátil. Escopo implementado, política habilitada, manutenção e falhas observáveis permanecem locais.

Cinco recibos, uma decisão

O primeiro registra vetor, build, plataforma, compilador, backend e primeira divergência. O segundo registra casos inválidos, ponto de rejeição, custo e estado posterior.

O terceiro cobre entropia e custódia: saúde, repetição, origem, isolamento e limpeza. O quarto cobre identidade: resolução de x5t ou kid, âncora, regra, principal e permissão. O quinto cobre a sessão real: par, replay, exportador, contexto OSCORE, mensagem e efeito.

A disciplina de camadas de Heng Lu impede que um símbolo ocupe o lugar de um estado. Especificação não é implementação; cálculo correto não é chave fresca; credencial válida não é autorização; segredo derivado não é resultado. A confiança nasce da junção.

O que as fontes não provam

As fontes não nomeiam fornecedor que repetiu chaves, nem trazem adoção, taxa de falha de frota ou conclusão universal sobre canal lateral. A abertura é uma hipótese de controle.

O limite reforça o RFC: ele torna o cálculo executável e verificável. O restante da operação precisa produzir seus próprios recibos.

Fontes