Phase d'évaluation de l'invite d'autorisation d'accès au réseau privé: méthode permettant de migrer des sites Web avec HTTPS

Yifan Luo
Yifan Luo

Contexte

Chrome 94 a introduit un blocage concernant l'accès au réseau privé depuis les sites Web publics non sécurisés. L'évaluation de l'abandon de l'accès au réseau privé depuis des contextes non sécurisés en cours a révélé des difficultés pour migrer les sites Web concernés vers HTTPS. Il est courant de rencontrer des difficultés à migrer des appareils privés vers HTTPS, ce qui entraîne des cas de non-respect de la vérification du contenu mixte.

Pour résoudre le problème mentionné précédemment, une nouvelle invite d'autorisation est disponible dans une phase d'évaluation de l'origine à partir de Chrome 120.

Nouvelle option : requête d'autorisation

En ajoutant le nouvel attribut targetAddressSpace en tant qu'option de récupération, la requête pourra ignorer la vérification du contenu mixte.

Exemple :

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

Conformément à Accès au réseau privé: présentation des requêtes préliminaires, toute requête de réseau privé sera précédée d'une requête préliminaire. Cette requête préliminaire inclura un nouvel en-tête, Access-Control-Request-Private-Network: true, et la réponse correspondante doit inclure l'en-tête Access-Control-Allow-Private-Network: true.

Pour prendre en charge la nouvelle invite d'autorisation, nous avons demandé aux appareils d'intégrer deux nouveaux en-têtes de réponse: Private-Network-Access-Name et Private-Network-Access-ID.

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

Exemple :

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

Private-Network-Access-ID: valeur de 48 bits présentée sous la forme de six octets hexadécimaux séparés par des deux-points. Private-Network-Access-Name: nom valide sous forme de chaîne correspondant à l'expression régulière ECMAScript /^[a-z0-9_-.]+$/. La longueur maximale du nom est de 248 unités de code UTF-8.

Démo

Vous pouvez regarder la démonstration sur https://private-network-access-permission-test.glitch.me/.

S'inscrire à un essai de création

Pour nous assurer que l'invite d'autorisation d'accès au réseau privé aide les développeurs à adopter des restrictions de contexte sécurisées pour l'accès au réseau privé, nous les rendons disponibles dans Chrome de la version 120 à la version 122 en tant que test d'origine.

Inscrivez-vous à la phase d'évaluation de l'origine pour permettre à votre site Web d'utiliser l'invite d'autorisation:

  1. Demandez un jeton pour votre origine.
  2. Utilisez le jeton de l'une des manières suivantes :
    • Dans votre code HTML : html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
    • Dans votre code JavaScript : js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
    • Dans les en-têtes HTTP : text Origin-Trial: TOKEN_GOES_HERE

Pour toute question ou suggestion concernant cette fonctionnalité, veuillez signaler un problème dans le dépôt GitHub.

Ressources