Hotspots WIFI
Authentification RADIUS
Contexte
L'identification effectuée par un serveur RADIUS est une vérification de nom d'utilisateur (attribut 1 User-Name) et de mot de passe (attribut 2 User-Password ou 3 Chap-Password).
Le protocole RADIUS permet de faire la liaison entre des besoins d’identification et une base d’utilisateurs en assurant le transport des données d’authentification de façon normalisée. Enfin, le client final qui se connecte au réseau envoie tout simplement sa demande au point d'accès. Il n'échange aucune donnée avec le serveur radius. Il envoie juste son identifiant et son mot de passe sur le réseau qui est relayé jusqu'au serveur.
Le client RADIUS, appelé NAS (Network Access Server), fait office d'intermédiaire entre l'utilisateur final et le serveur. L'ensemble des transactions entre le client RADIUS et le serveur RADIUS est chiffrée et authentifiée grâce à un secret partagé. Le client recueille des informations sur l'utilisateur (nom, mot de passe) en utilisant un protocole d'authentification (PAP/CHAP par exemple). Il passe ces informations au serveur RADIUS, et agit en fonction de la réponse qu'il lui retourne. Tout point d'accès ou switch doit pouvoir supporter le protocole d'encryptage. C'est cet appareil qui va effectuer le dialogue avec le radius. Le NAS fonctionne de manière bloquante. Tant que le serveur n'a pas renvoyé de requête d'acquittement d'accès, l'utilisateur est verrouillé. C'est lui qui va lui attribuer l'adresse IP et donc effectuer la connexion.
Les clients radius (NAS) peuvent être intégrés à différents types de périphériques :
- Bornes wifi (EAP)
- Routeurs
- Daemon hotspot
- autre ...
La communication entre le client et le serveur RADIUS est authentifiée au moyen d'un secret qui n'est "jamais" envoyé sur le réseau. Il est en fait chiffré avec l'algorithme MD5, puis un OU exclusif (XOR) avec le mot de passe de l'utilisateur est appliqué (transaction dans le sens client-->serveur). Dans l'autre sens, le serveur chiffre le secret en le concatenant avec un ensemble de paramètres, le tout étant "haché" avec MD5.
Etapes d'authentification
Le service RADIUS jouera donc un rôle prépondérant dans la gestion de l’authentification des utilisateurs du hotspot wifi. Afin de détailler ce principe de fonctionnement, un schéma simplifié détaille les principales opérations effectuées :
![]() |
Ce schéma montre les différentes étapes (1 à 5) du mécanisme d'authentification sur le serveur RADIUS.
Voici le détail du déroulement du scénario :
- Un utilisateur envoie une requête au NAS afin d’autoriser une connexion à distance.
- Le NAS achemine la demande au serveur RADIUS.
- Le serveur RADIUS consulte la base de données d’identification
- afin de connaître le type de scénario d’identification demandé pour l’utilisateur.
Soit le scénario actuel convient, soit une autre méthode d’identification est demandée à l’utilisateur. Le serveur RADIUS retourne ainsi une des quatre réponses suivantes :
- ACCEPT : l’identification a réussi.
- REJECT : l’identification a échoué.
- CHALLENGE : le serveur RADIUS souhaite des informations supplémentaires de la part de l’utilisateur et propose un « défi ».
Freeradius, logiciel opensource, permet d'interagir avec un nombre important de sources externes. En voici un exemple :
- PAP
- CHAP/MS-CHAP/MS-CHAPv2
- Authentification sur un contrôleur de domaine
- Proxy vers un autre serveur RADIUS (Exemple portail neuf tel)
- PAM (Pluggable Authentication Modules)
- LDAP (Seulement PAP)
- Programme perl/Programme python/Programme java
- SIP Digest (Cisco VoIP boxes)
- Authentification kerberos
- Wifi EAP
- EAP-MD5/Cisco LEAP/EAP-MSCHAPV2/EAP-GTC/EAP-SIM
- EAP-TLS/EAP-TTLS/EAP-PEAP (with tunnelled EAP)