Teste de origem da solicitação da permissão de acesso à rede privada: um caminho para migrar sites com HTTPS

Yifan Luo
Yifan Luo

Contexto

O Chrome 94 introduziu um bloqueio no acesso de redes privadas por sites públicos não seguros. O teste de descontinuação do Acesso à rede privada de contextos não seguros (em inglês) revelou desafios na migração de sites afetados para HTTPS. Uma preocupação comum é a dificuldade de migrar dispositivos privados para HTTPS, levando a violações da verificação de conteúdo misto.

Para enfrentar o desafio mencionado anteriormente, uma nova solicitação de permissão está disponível em um teste de origem do Chrome 120.

Solicitação de permissão como a nova opção

Ao adicionar o novo atributo targetAddressSpace como uma opção de busca, a solicitação poderá ignorar a verificação de conteúdo misto.

Exemplo:

fetch("http://router.local/ping", {
  targetAddressSpace: "private",
});

De acordo com o Acesso à rede privada: introdução de simulações, qualquer solicitação de rede privada será precedida por uma simulação de solicitação. Essa solicitação de simulação vai incluir um novo cabeçalho, Access-Control-Request-Private-Network: true, e a resposta correspondente precisa incluir o cabeçalho Access-Control-Allow-Private-Network: true.

Para acomodar a nova solicitação de permissão, os dispositivos precisavam incorporar dois novos cabeçalhos de resposta: Private-Network-Access-Name e Private-Network-Access-ID.

Private-Network-Access-Name: <some human-readable device name>
Private-Network-Access-ID: <the MAC address of the device>

Exemplo:

Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"

Private-Network-Access-ID: um valor de 48 bits apresentado como 6 bytes hexadecimais separados por dois pontos. Private-Network-Access-Name: um nome válido como uma string que corresponde à expressão regular ECMAScript /^[a-z0-9_-.]+$/. O tamanho máximo do nome é de 248 unidades de código UTF-8.

Demonstração

Confira a demonstração em: https://private-network-access-permission-test.glitch.me/.

Registrar-se em um teste de origem

Para garantir que a solicitação de permissão de acesso à rede privada ajude os desenvolvedores a adotar restrições de contexto seguras para acesso à rede privada, estamos disponibilizando essa solicitação no Chrome da versão 120 para a 122 como um teste de origem.

Inscreva-se no teste de origem para permitir que seu site use a solicitação de permissão:

  1. Solicite um token para sua origem.
  2. Use o token de uma das seguintes maneiras:
    • No seu HTML: html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
    • No JavaScript: js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
    • Nos cabeçalhos HTTP: text Origin-Trial: TOKEN_GOES_HERE

Para enviar feedback ou sugestões sobre este recurso, registre um problema no repositório do GitHub (link em inglês).

Recursos