Resumo
- A revisão 12 é um Internet-Draft Experimental ativo, não um RFC nem prova de implementação ou publicação.
- O JSON HTTPS expressa o estado desejado por uma origem; cadastro do operador e política da zone factory continuam controlando qualquer escrita no DNS.
- Validação, geração do RRset, atualização autoritativa, convergência de cache, escolha do cliente, ECH e resultado da aplicação são etapas distintas.
- Clientes comuns não devem usar o well-known no lugar do DNS, pois o bootstrap expõe o nome e pode receber configuração identificadora.
Uma ponte de operação não é uma API do navegador
Registros SVCB e HTTPS distribuem parâmetros de conexão pelo DNS. Como configurações públicas de ECH podem girar com frequência, o projeto propõe uma ponte entre uma origem que conhece seu TLS e uma zone factory com acesso de escrita à zona autoritativa.
A origem publica JSON por HTTPS; a zone factory busca, valida, converte e, se a política permitir, publica. O consumidor normal continua sendo o cliente DNS. A semelhança do conteúdo não torna os dois caminhos intercambiáveis.
Ao buscar diretamente o arquivo, o cliente precisa primeiro abrir HTTPS sem a configuração ECH que procura. Esse bootstrap revela o nome e os dados de ClientHello que ECH pretende proteger. A origem também pode responder com uma configuração única para aquele cliente, criando vetor de rastreamento.
Um fetch autenticado é só o primeiro recibo
HTTPS confirma que certa origem serviu um documento sob um certificado aceito. Não confirma que a zone factory cadastrou a origem, aceitou o owner name, entendeu os parâmetros, testou os endpoints, alterou a zona ou que caches receberam a nova geração.
O JSON é estado desejado. O resultado de validação é decisão de controle. O fragmento produzido é estado planejado. Serial e RRset autoritativos são estado aplicado. Consultas externas e clientes mostram estado distribuído.
Cada etapa precisa de identidade, tempo e hash. Um painel que mostra apenas “última coleta 200” mistura documento recusado, mudança ainda não aplicada e publicação já convergida.
Síntese desligada por padrão preserva autoridade
O rascunho diz que a configuração padrão não deveria sintetizar registros a partir de documentos encontrados. Ativar a síntese deve exigir mudança do operador. A existência de um arquivo público não é delegação DNS.
O cadastro deve fixar origem, porta, owner name, tipo de registro, política e responsável. Para nomes SVCB arbitrários, não existe em geral uma origem HTTP naturalmente autorizada; é preciso mapear nome e tipo a uma URL completa ou fonte local.
A origem fala por si. Um documento em 443 não descobre automaticamente um serviço em 8443 só porque compartilham host. Aliases, CDN e split-mode não ampliam essa autoridade sem recibos próprios.
JSON válido ainda pode ser impróprio
O objeto contém regeninterval e endpoints; chaves superiores desconhecidas são ignoradas e uma lista vazia é erro. Entradas podem representar ServiceMode ou AliasMode, mas o RRset resultante continua sujeito às regras SVCB/HTTPS.
Se a conversão falhar, um SvcParamKey não puder ser tratado ou o fragmento não passar nas verificações, o DNS não deve ser atualizado. Essa recusa pode não chegar à origem. Logo, o monitor precisa de parse, normalização, campos rejeitados, RRset gerado, versão de política e decisão.
“Sem mudança”, “mudou mas é inválido” e “válido porém negado” são estados diferentes. Comparar apenas texto bruto também é frágil: espaços podem mudar sem alterar DNS, enquanto transformação local pode alterar semântica.
ECH exige cobertura, não uma conexão exemplar
A zone factory deveria testar ECH nos endpoints apresentados antes de publicar. Talvez precise de cliente TLS capaz de usar ECHConfigList ainda ausente do DNS e observar sucesso real de ECH.
Um sucesso não aprova a lista inteira. Alguns ECHConfig podem falhar de propósito por GREASE. Multi-CDN pode oferecer vários endereços, mas o teste alcançar apenas um. Hints divergentes de A/AAAA precisam de autenticação webPKI nos endereços relevantes.
O recibo conserva endpoint, família, item ECHConfig, expectativa GREASE, certificado, ALPN, porta e resultado. Sem denominador, “ECH passou” não autoriza todos os caminhos.
Frequência não é expiração
regeninterval indica quando uma substituição pode ser gerada. Não é notAfter. A zone factory deveria usar TTL menor e tentar atualizar antes, mas origem, poll, commit, autoridades, resolvers e clientes seguem relógios distintos.
O projeto aceita alguma extensão de vida porque retry_configs tolera diferença de versão e remoções abruptas podem causar falha pior. Portanto, declarar rotação completa no momento da geração é incorreto.
Múltiplas zone factories podem divergir: uma entende um parâmetro, outra recusa; uma ajusta TTL por política. É preciso comparar RRsets semânticos, seriais e sondas autoritativas, não apenas o hash do JSON.
Saída precisa de contrato próprio
O documento não define como uma origem entra ou sai da lista de polling, nem como um servidor pede remoção de todos os HTTPS RRs. Uma origem que deixa o programa pode manter JSON antigo e continuar sendo publicada.
404 não é ordem segura de exclusão: pode ser falha temporária. Reter para sempre também é perigoso. Withdrawal precisa de autoridade, horário, substituição, serial e observação de drenagem de cache.
ECH, hints e aliases podem merecer estados de falha diferentes. Essa decisão pertence à governança, não a um cron job.
Compromisso curto pode produzir controle longo
Valores errados podem vazar privacidade ou degradar serviço com excesso de retry_configs. Como webPKI às vezes depende de DNS ou HTTP para provar controle, um invasor temporário que edita JSON pode influenciar hints e, numa cadeia fraca, obter efeito mais duradouro.
Isso é análise de risco, não relato de ataque. Hints divergentes devem ser comparados com A/AAAA e autenticados em todos os endereços. CAA pode fornecer contexto adicional. A mesma entrada comprometida não deve fechar roteamento e identidade.
Servir o recurso a partir de filesystem também exige impedir traversal e enumeração. O JSON carrega material público; nunca deve abrir caminho para a chave privada de ECH.
Fontes e limites
O pacote congelado reúne a revisão 12, registro, histórico e referências; TLS WG; SVCB/HTTPS; bootstrap DNS de ECH; ECH; well-known URI; TLS 1.3; ACME; CAA; registros IANA e key-share prediction.
As fontes estabelecem texto de protocolo e risco. Não provam zone factory, publicação DNS, ECH, convergência, emissão de certificado, tracking, comprometimento ou resultado real. A abertura é um caso construído.
Fontes
- https://datatracker.ietf.org/doc/draft-ietf-tls-wkech/
- https://datatracker.ietf.org/doc/draft-ietf-tls-wkech/history/
- https://www.ietf.org/archive/id/draft-ietf-tls-wkech-12.html
- https://www.ietf.org/archive/id/draft-ietf-tls-wkech-12.txt
- https://datatracker.ietf.org/wg/tls/about/
- https://datatracker.ietf.org/doc/draft-ietf-tls-wkech/referencedby/
- https://www.rfc-editor.org/rfc/rfc9460.html
- https://www.rfc-editor.org/rfc/rfc9848.html
- https://www.rfc-editor.org/rfc/rfc9849.html
- https://www.rfc-editor.org/rfc/rfc8615.html
- https://www.rfc-editor.org/rfc/rfc8446.html
- https://www.rfc-editor.org/rfc/rfc8555.html
- https://www.rfc-editor.org/rfc/rfc8659.html
- https://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml
- https://www.iana.org/assignments/dns-svcb/dns-svcb.xhtml
- https://datatracker.ietf.org/doc/draft-ietf-tls-key-share-prediction/
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
