A- Le client radius
Un client RADIUS est un équipement ou bien une
solution logicielle qui est capable d'envoyer des demandes de connexion
(requêtes) et des messages à un serveur RADIUS. Il peut
interpréter les réponses du serveur RADIUS et, de ce fait,
valider ou non une authentification et/ou obtenir des autorisations. Par la
suite, ces informations sont transmises au poste de travail souhaitant
accéder à la ressource informatique.
Voici quelques exemples de client RADIUS :
· Serveur de connexion VPN, donne l'accès
à distance aux ressources informatiques d'une organisation ;
· Points d'accès sans fil utilisant la
technologie Wi-Fi, fournit un accès au réseau local d'une
entreprise ;
· Commutateurs, fournit également l'accès
au réseau local ;
«Déploiement de FreeRadius, un serveur
d'authentification forte pour ALCASAR»
· Proxy RADIUS, transfère les
requêtes/réponses d'un client RADIUS vers un serveur RADIUS
distant.
Rédigé par Carle Fabien HOUECANDE &
Franck E. NOUDEGBESSI 18
Figure 2 : Principe des échanges du protocole
RADIUS (source : mémoire de
fin d'étude de HOUSSENBAY Olivier)
B- Format de paquet Radius
Radius utilise quatre types de paquets pour assurer les
transactions d'authentification. Il existe aussi trois autres types de paquets
(Accounting Request, AccountingResponse, Accounting-Status) pour la
comptabilité. Le protocole RADIUS utilise un format de paquet bien
défini pour réaliser les transactions d'authentification,
d'autorisation et de comptabilité indiqué par la figure 3 :
Figure 3 : Format des paquets Radius (source :
ouvrage « authentification
freeradius » de Bordères)
Rédigé par Carle Fabien HOUECANDE &
Franck E. NOUDEGBESSI 19
«Déploiement de FreeRadius, un serveur
d'authentification forte pour ALCASAR»
Ces champs accueillent des types de données
décrites dans la RFC du protocole RADIUS.
Code
Ce champ d'un seul octet contient une valeur qui identifie le
type du paquet. La RFC 3575 définit 255 types de paquets. Par chance,
six d'entre eux seront suffisants pour les problèmes qui nous
préoccupent ici. Il s'agit de :
· Access-Request;
· Access-Accept;
· Access-Reject;
· Access-Challenge;
· Accounting-Request;
· Accounting-Response;
ID
Ce champ, d'un seul octet, contient une valeur permettant au
client Radius d'associer les requêtes et les réponses.
Longueur
Champ de seize octets contient la longueur totale du paquet.
Authentificateur
Ce champ de seize octets a pour but de vérifier
l'intégrité des paquets. On distingue l'authentificateur de
requête et l'authentificateur de réponse. Le premier est inclus
dans les paquets de type Access-Request ou Accounting-Request envoyés
par les NAS. Sa valeur est calculée de façon aléatoire.
L'authentificateur de réponse est présent dans
les paquets de réponse de type AccessAccept, Access-Challenge ou
Access-Reject. Sa valeur est calculée par le serveur à partir
d'une formule de hachage MD5 sur une chaîne de caractères
Rédigé par Carle Fabien HOUECANDE &
Franck E. NOUDEGBESSI 20
«Déploiement de FreeRadius, un serveur
d'authentification forte pour ALCASAR»
composée de la concaténation des champs code,
ID, longueur, authentificateur de requête et attributs ainsi que d'un
secret partagé. Il s'agit d'un mot de passe connu à la fois par
le serveur et le NAS. Ce dernier peut alors exécuter le même
calcul que le serveur sur cette chaîne pour s'assurer qu'il obtient bien
la valeur de l'authentificateur de réponse. Si c'est bien le cas, il
peut considérer que la réponse lui vient bien du serveur auquel
il a soumis la requête et qu'elle n'a pas été
modifiée pendant la transmission.
Attributs et valeurs
Ce champ contient la charge utile du protocole RADIUS. Il est
de longueur variable en fonction des couples d'attributs/valeurs envoyés
par le client RADIUS en requête ou par le serveur RADIUS en
réponse.
Après cette description générale du
protocole RADIUS, nous allons exposer l'utilité du champ «
attributs et valeurs ».
|