Retour d’expérience : les portails captifs.

Antoine Boisjibault, Systems Engineer chez UCOPIA, société française spécialisée dans les portails captifs, nous fait part de son retour d’expérience sur ce sujet. Cela s’applique aux nombreux projets menés par UCOPIA mais aussi à toute technologie de portail captif. C’est un sujet récurrent chez nos clients et déjà abordé sur notre blog, dans l’article suivant.

Quelles sont les problématiques utilisateurs vis à vis du portail captif.

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.

De façon vulgarisée :

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 UCOPIA (ou tout autre portails captifs) tente d’accéder à un site sécurisé (https://www.google.fr, ou https://www.mabanque.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).

Certificat d'erreur authentification portails captifs

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.

Cela apparaît sous forme de notification pour les appareils Android (requête vers http://connectivitycheck.gstatic.com/generate_204 sous Marshmallow et http://clients3.google.com/generate_204 pour Kitkat).

Le Consistent Connection Handling pour Microsoft,
– 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

Ainsi le problème de la première page en HTTPS ne se pose pas lorsque l’on utilise ces mécanismes : cela est pris en charge par le système d’exploitation.

Vous pourrez vérifier alors qu’une notification invitant l’utilisateur à ouvrir son navigateur est envoyée sur les smartphones et tablettes concernées.

Pour les équipements sous Windows 8 et 10 : vous pouvez passer par l’assistant Wi-Fi.
Une fois authentifié sur UCOPIA, l’utilisateur ne verra plus cette alerte sécurité.
Autre alternative possible : modifier la page d’accueil par défaut du navigateur sur une page HTTP permettra la non apparition du message d’alerte de certificat.

Si l’utilisateur ne passe pas par ces mécanismes, (soit parce qu’il clique volontairement sur leur fermeture, soit parce que son système n’en n’est pas équipé), et que sa première requête est en HTTPs voire HSTS :
• Il aura une erreur dans son navigateur lui indiquant qu’il a demandé https://www.google.com et que c’est https://controller.access.network/ (par défaut dans le cas d’UCOPIA) qui lui répond.
• Cette erreur pourra être ignorée pour des sites en HTTPs.
• Si le site initialement demandé supporte le HSTS, alors l’erreur ne pourra être ignorée et l’utilisateur ne pourra pas aller plus loin.

Pour obtenir la redirection vers le portail captif, l’utilisateur peut simplement solliciter une page en HTTP afin que la redirection puisse être réalisée.

Enfin, sachez que les nouvelles moutures des navigateurs web les plus courant commencent à bénéficier d’un Assistant dédié aux notions de portail captif, un exemple du rendu sur Firefox 52 :
Un exemple du rendu de l’alerte obtenue (plus de blocage HSTS) ainsi qu’une ouverture du portail captif dans un nouvel onglet avec un appel à http://detectportail.firefox.com/success.txt qui permet la redirection vers le portail :

Exemple d'alerte portails captifs

L’alerte obtenue en premier onglet :

Onglet connexion réseau

En second onglet (ouvert par défaut) l’utilisateur verra apparaître le portail captif UCOPIA.

Cela devrait arriver prochainement chez les autres éditeur tels que Chrome ou IE, étant déjà disponible sous Chromium.

Un groupe de travail IETF à été ouvert afin de suivre les avancées et mettre en place des normes en réponse à ces problématiques liées aux portails captif : plus d’informations sur ce sujet à cette adresse.