CNA - Captive Network Assistance

De Assistance WiFi
Aller à : navigation, rechercher

De nombreux utilisateurs rencontre ce problème lié au protocole HTTPs

L’évolution des tendances de navigation évolue rapidement au quotidiens. De plus en plus de site internet sont hébergés avec comme support le protocle HTTPs (protocole indéchiffrable) Les utilisateurs mobiles sont ainsi aujourd’hui confrontés à l’incompatibilité de principe de deux technologies : l’HTTPs en lien avec un portail d'authentification appelé portails captifs.

Pour l’expliquer en des termes accessibles, le principe est le suivant :

  • Le protocole HTTPs garantit que lorsque un utilisateur demande le site https://www.monsite.com c’est bien ce site, celui du site demande qui lui répond (et non un site pirate)
  • Les portails captifs ont le fonctionnement suivant : lorsque un utilisateur demande le site https://www.monsite.com, le portail captif intercepte cette demande et répond à l’utilisateur avec le portail d'authentification https://portail, afin de demander à l’utilisateur de s’authentifier, ou afin de lui présenter les informations relatives à l’accès au wi-fi, réseau …

Il n’est bien sûr pas envisageable de modifier/casser le protocole HTTPs pour cela, pour de nombreuses raisons relatives à la sécurité de la navigation ou même de l’expérience utilisateur.

Pour pallier aux problématiques d’erreur « HSTS » remontées par les utilisateurs, les éditeurs d’OS/Hardware ont implémenté un assistant dit « CNA ». (Le « Captive Network Assistant » est propre aux produits Apple.). Cet assistant permet d’éviter à l’utilisateur de lancer un navigateur web afin de faire apparaître le portail captif.

Pour faire simple :

Les portails captifs sont un mécanisme qui intercepte le flux utilisateur et lui présente du contenu qu’il n’a pas sollicité par lui-même, pour le forcer à s’authentifier. Le protocole HTTPs (et la surcouche HSTS qui l’utilise), ont pour but de garantir que le contenu reçu par un client est bien celui qu’il demande.

Il y a ici incompatibilité entre les deux technologies. Voici le détail de ce qu’il se passe :

  • Lorsqu’un utilisateur non authentifié sur notre réseau tente d’accéder à un site sécurisé (https://www.google.fr, ou https://www.monsite.com ), le portail captif (lui aussi sécurisé, en HTTPS) est présenté.
  • Le navigateur utilisé récupère alors le certificat du portail captif et non celui du site demandé initialement, d’où cette alerte sécurité qui peut être simplement acceptée en HTTPS standard (et qui est bloquante en HSTS).


Cna chrome erreur ssl.png

Légende : Sur un PC Windows 7 avec Chrome

Android-ssl-error.png

Légende : Sur un Android


C’est pour cela que la plupart des éditeurs de systèmes d’exploitation (pour ordinateurs ou mobiles) implémentent depuis récemment des assistants de connexion aux portails captifs :

  • Apple CNA pour les appareils mobiles (et MAC) Apple : la fameuse page qui s’ouvre toute seule lorsque vous vous connectez au wifi.
  • Android (requête vers http://connectivitycheck.gstatic.com/generate_204 et affiche une info bulle à cliquer pour ouvrir manuellement le portail d'authentification
  • Microsoft avec le Consistent Connection Handling,
    • qui fonctionne comme pour les appareils de marque Apple sur mobile
    • qui propose l’ouverture d’un navigateur sur Windows 8.1
    • qui affiche une notification dans le système tray sur Windows 7
    • qui ouvre le navigateur sous Windows 10
  • Firefox supérieur à la version 52 ou Google Chrome intègre aussi ses mécanismes sur les systèmes d'exploitation qui ne prennent pas en compte ce procédé.

Vous risquez donc d'avoir ses erreurs sur les sytèmes d'exploitation suivants :

  • Windows XP, 7, 8 et 8.1 vous risquez
  • Android d'anciennes générations
  • Apple d'ancienne génération < iOS 5

Comment résoudre le problème ?

Cet avertissement est malheureusement tout à fait normal.

Pour pouvoir vous connectez, vous devez impérativement cliquez sur poursuivre ou accepter le certificat ou tout simplement taper dans votre barre d'adresse un autre site en HTTP ex : http://www.free.fr, http://www.orange.fr, ou l'adresse du portail de connexion http://portail