2.3 Les protocoles triple-A
2.3.1 Les généralités
Les protocoles implémentant le concept triple-A sont
essentiellement utilisés par des opérateurs offrant des services
de télécommunications à des utilisateurs. Ces protocoles
leur permettent, notamment, de :
- contrôler l'accès à leurs
réseaux;
- administrer et configurer leurs ressources;
- assurer la traçabilité des actions;
- facturer l'utilisation des leurs ressources selon le temps de
connexion ou selon la quantité d'informations
téléchargées.
En effet, dans le cas de l'administration et de la
configuration des ressources, si l'on effectue une administration
individuelle sur chaque ressource, le changement d'un simple mot de passe
peut devenir, à lui seul, un travail chronophage et monumental; sans
parler
des risques d'erreur de configuration liés à la
répétition des procédures.
Ainsi, l'intérêt des protocoles triple-A est-il
de permettre un fonctionnement sur un modèle client/serveur, lequel
résout par construction même les problématiques de
répétition de configuration sur chaque équipement.
En pratique, une architecture client-serveur triple-A permet de
rendre l'ensemble de ces services, comme il est établi ci-dessous et
illustré en la figure 2.2 :
- les serveurs triple-A, dans les domaines mère et
visité, sont en charge de la gestion des utilisateurs et du traitement
de la problématique triple-A pour tous les équipements du
réseau;
- les clients triple-A, hébergés sur des
équipements (routeurs ou serveurs d'accès au réseau), sont
en charge de la récupération des informations de connexion et de
leur transmission3 par l'intermédiaire de protocoles triple-A
au serveur.
FIGURE 2.2 Architecture triple-A
3. Voir l'annexe E à la page 74 pour un exemple de flux de
messages de protocole triple-A
2.3.2 Les exemples de protocoles triple-A
Les deux protocoles plébiscités pour la
communication entre un client et un serveur triple-A sont RADIUS et TACACS+.
Toutefois nous pouvons mentionner d'autres, notamment DIAMETER et TACACS.
2.3.2.1 Le protocole RADIUS
Protocole d'authentification à distance mis au point
par la société Livingston Enterprises, RADIUS est conçu
pour gérer les connexions d'utilisateurs à des services distants
par combinaison de services d'authentification et d'autorisation. Ce processus
d'authentification, entièrement chiffré et relié à
une source d'informations, souvent un annuaire LDAP4, est
basé sur un système client/serveur chargé de
définir l'accès au réseau notamment via PPP ou VPN.
Protocole de prédilection des fournisseurs
d'accès à Internet car il apparait comme un standard et propose
des fonctionnalités de « comptabilité » permettant aux
FAI de facturer précisément leurs clients. Le protocole RADIUS
s'appuie sur le protocole UDP pour transmettre les données sur le
réseau. Il a été normalisé par l'IETF5
et trouve sa définition complète dans deux RFC6 : la
RFC 2865 (RADIUS authentication) et la RFC 2866 (RADIUS
accounting) de juin 2000.
Dans les faits un paquet RADIUS est encapsulé dans un
paquet UDP, et chaque paquet
4. LDAP (Lighweight Directory Access Protocol) est
un annuaire permettant de simplifier la gestion des utilisateurs en ne leur
demandant qu'une seule authentification (SSO : Single-Sign-On) pour
accéder à l'ensemble des applications, services et système
de l'entreprise.
5. IETF (Internet Engineering Task Force) : Groupe
international informel, ouvert à tout individu, qui participe à
l'élaboration de standards pour Internet.
6. Les Request For Comments (RFC) littéralement «
demande de commentaires », sont une série numérotée
de documents officiels décrivant les aspects techniques d'Internet. Peu
de RFC sont des standards, mais tous les standards d'Internet publiés
par l'IETF sont des RFC
RADIUS contient les informations illustrées à la
figure 2.3 et explicitées ci-dessous.
FIGURE 2.3 Format d'un paquet RADIUS
Source: (PFEIFFER et al, ESIAL); Protocole AAA,
Principes et implantations; Figure 2, page 4
Les informations contenues dans un paquet RADIUS sont les
suivantes :
- Code: Octet contenant la requête/réponse
RADIUS 7 ;
- Identifier: Octet utilisé pour comparer la
requête et la réponse;
- Length: Longueur du paquet tenant sur 2 octets;
- Authenticator: Valeur utilisée pour
authentifier la réponse du serveur RADIUS, et utilisée dans
l'algorithme de masquage du mot de passe;
- Attributes: Données appartenant à la
requête ou à la réponse.
Le protocole RADIUS présente néanmoins quelques
limites notamment :
- une limitation du nombre d'équipements pris en charge,
donc du nombre d'utilisateur supporté;
- une limitation du chiffrement des mots de passe à 16
bits;
- un manque de prise en charge explicite des communications
inter-domaines (utilisateurs venant d'opérateurs différents);
- un manque de mécanisme d'identification du serveur,
favorisant l'usurpation de l'identité de ce dernier dans le but d'une
collecte de couples nom utilisateur, mot de passe; - une insuffisance de
sécurité car la sécurité relative du protocole
repose sur le seul secret
partagé (shared secret), qui impose la
sécurisation des échanges entre client et serveur par
sécurité physique ou VPN;
- des problèmes de disponibilité ou de timeout sur
les périphériques, lorsqu'ils tentent de contacter le serveur.
|