Resumo
- A revisão 01 de
draft-tiloca-lake-private-use-rangespropõe faixas de Uso Privado para três registros EDHOC, usando inteiros CBOR de cinco bytes no total. - Os extremos
4294967295e-4294967296são válidos nesse domínio, mas não cabem em um inteiro assinado de 32 bits. - Uso Privado coordena significado dentro de um escopo local; não prova unicidade global, acordo entre pares nem sucesso da aplicação.
Considere um código de erro privado recebido como 4294967295. O decodificador entrega o número correto. Um adaptador legado o converte para int32; o observador passa a ver -1. Se existe um handler para -1, a falha deixa de ser um overflow visível e vira uma decisão plausível, porém errada.
O Internet-Draft Additional Private Use Ranges in the IANA Registries of the Lightweight Authenticated Key Exchange Protocol, de 30 de setembro de 2026, transforma esse risco em requisito explícito. Ele preserva as faixas compactas existentes e coloca valores privados onde o argumento inteiro do CBOR ocupa quatro bytes. Com o byte inicial, são cinco bytes no fio.
O domínio matemático ultrapassa int32
No RFC 8949, o tipo maior 0 representa N; o tipo maior 1 representa -1-N. O maior argumento de quatro bytes, 4294967295, alcança o mesmo valor positivo e -4294967296 no lado negativo. Nenhum pertence ao intervalo assinado de 32 bits.
Por isso a revisão pede um tipo que preserve toda a faixa, como int64, ou uma representação separada de sinal e magnitude. Essa garantia precisa sobreviver ao parser, aos enums, às chaves de mapa, ao armazenamento e à telemetria. Aceitar bytes e depois estreitar silenciosamente não é suporte completo.
Em EAD, o sinal decide se é possível continuar
O RFC 9528 registra o valor absoluto de ead_label, mas usa o sinal: negativo significa item crítico; não negativo, item não crítico. 65536 e -65536 identificam a mesma extensão privada, porém mudam a obrigação do receptor que não a entende.
Há uma assimetria útil para testes. O positivo 65536 precisa de cinco bytes; o negativo -65536 codifica o argumento 65535 e ocupa três. Normalizar cedo demais apaga criticidade. Calcular valor absoluto depois de estreitar o extremo negativo pode ser impossível. O recibo deve manter o label assinado, a chave absoluta e a decisão crítica separadamente.
O número privado precisa carregar seu território
Segundo o RFC 8126, valores de Uso Privado não se destinam à interoperabilidade geral e podem ser reutilizados com significados diferentes. Isso permite experimentação, mas torna fusões, gateways e bibliotecas compartilhadas pontos de colisão.
Um número como 70000 só é interpretável junto com o domínio de alocação, a versão do perfil e o conjunto de compatibilidade. Dois fornecedores podem estar corretos dentro de seus ambientes e incompatíveis quando conectados. A resposta segura a um domínio desconhecido é um erro explicável, não a suposição de que o número é universal.
Método, erro e EAD não são o mesmo risco
Um Method Type escolhe uma construção de autenticação. Um Error Code orienta diagnóstico e recuperação. Um EAD label escolhe dados externos opacos e carrega criticidade. A mesma conversão estreita pode, portanto, selecionar método errado, explicar mal uma falha ou continuar quando deveria parar.
O rascunho não relata vulnerabilidade ou implantação. Ele afirma que as considerações de segurança do EDHOC permanecem. O ponto é anterior: segurança criptográfica não garante que a aplicação preservou o identificador que recebeu.
Testes e recibo
Os vetores devem incluir 65535/65536, 4294967295, -65536/-65537, -4294967296, valores fora da faixa e EAD positivo/negativo. Um caso adicional deve dar sentidos distintos ao mesmo número em dois perfis privados. Verifique bytes, inteiro matemático, conversão, faixa, handler, criticidade, log e rejeição de perfil.
O registro IANA EDHOC é a linha de base atual. O Datatracker mostra uma proposta individual, não ação concluída da IANA, consenso ou implantação. As faixas vizinhas do RFC 9668 não provam estes caminhos de implementação.
Um recibo operacional guarda registro, bytes CBOR, tipo maior, largura, inteiro antes do estreitamento, conversões verificadas, tripla EAD sinal/magnitude/criticidade, domínio e versão privados, perfis dos pares, handler, referência ao transcript e resultado da aplicação. Ele preserva explicação sem transformar semântica proprietária em norma pública.
Há ainda um problema de cadeia de custódia. Uma captura de pacote preserva os bytes, mas não mostra qual versão da tabela privada estava ativa. Um log de aplicação mostra o handler, mas pode já conter a cifra estreitada. Uma métrica agrega contagens, mas perde o caso individual. A investigação só fecha quando esses artefatos compartilham um identificador de sessão e um digest do perfil local. Caso contrário, cada camada conta uma história internamente coerente e o operador não consegue provar onde a divergência começou.
Por isso, compatibilidade deve ser uma propriedade bilateral e versionada. O emissor pode declarar a versão do domínio que utilizou; o receptor registra a versão que realmente aplicou. Igualdade de número sem igualdade de domínio não autoriza despacho. Igualdade de domínio sem igualdade de versão exige uma regra explícita de evolução, nunca uma conversão silenciosa.
Fontes
- Registro do rascunho no Datatracker
- Histórico do rascunho
- Revisão 01 em texto
- Revisão 01 em HTML
- Revisão 01 em XML
- Registro IANA EDHOC
- Registro IANA EDHOC em XML
- RFC 9528: EDHOC
- RFC 8949: CBOR
- RFC 8126: orientações para registros IANA
- RFC 9668: EDHOC com CoAP e OSCORE
- Lu Heng: Minimum Initial Specification
- Lu Heng: Running-Code Primacy
- Lu Heng: The Policy Mirror
- Lu Heng: Reality Layers
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
