UNIVERSITÉ DE YAOUNDÉ I
FACULTÉ DES SCIENCES
DEPARTEMENT D'INFORMATIQUE
MÉMOIRE présenté par:
MOUTE NYOKON Charles Emmanuel
Matricule : 03X202
En vue de l'obtention du diplôme de Master 2 en
Réseaux & Applications Multimédias
Sujet :
AUTHENTIFICATION & PROTOCOLE PPPOE
Le cas de l'accessibilité à l'Internet via «
RingoDialer »
Dirigé par:
Dr. Basile LOUKA
Sous l' encadrement professionnel de :
M.
Joël Daniel BAYIHA
M. Patrick AZOGNI
À mon père, MOUTE Guillaume
Paul
Pour tous les efforts consentis à
l'éducation de ses enfants.
À ma mère, Mme
MOUTE née GUIMBANG A DANG Henriette
Pour son amour
inconditionnel et indéfectible.
À mes frères Marcel Brice, Pierre
Aimé, Paul Henri MOUTE,
Et
Mes soeurs Christelle et Marcelle
MOUTET,
Pour l'ardeur, le goût à l'effort et à
l'endurance au travail,
Car l'on n'atteint pas le ciel d'un simple
saut,
Mais par construction commune et graduelle des escaliers pour
y
accéder.
ii
REMERCIEMENTS
À Dieu le Père OMNISCIENT,
à qui je rends grâce notamment pour la santé et
l'engouement au travail qu'il a daigné m'accorder tout au long de mon
cursus académique et tout particulièrement au moment de la
rédaction de ce mémoire.
À mon directeur académique le Docteur Basile
LOUKA, pour sa disponibilité, ses critiques et ses conseils qui ont
donné à ce mémoire une dimension scientifique.
À Monsieur MOUTE Guillaume Paul, pour sa lecture
minutieuse et ses suggestions qui ont facilité la rédaction de ce
document et en ont amélioré la lisibilité.
À mes camarades de promotion, pour l'esprit d'entraide
et de solidarité qui a prévalu dans nos rapports tout au long de
notre formation. Qu'il me soit permis de citer EKANE Brice,
KEUTCHANKEU TCHONNANG Steve Patrick et NGA NTI Jean
Vincent.
À tous mes collègues du Département
technique de l'entreprise Ringo S.A. notamment à mes encadreurs
professionnels Joël Daniel BAYIHA et Patrick AZOGNI,
trouvez ici l'expression de ma profonde reconnaissance de l'esprit
d'équipe qui n'a cessé de régner autour de nous, et des
précieux conseils que vous avez bien voulu m'apporter
particulièrement sur la rédaction de mon mémoire et mon
insertion en milieu professionnel.
À l'ensemble du corps enseignant du
Département Informatique de l'Université de Yaoundé
I, qui m'a inculqué, tout au long de mon cursus académique,
rigueur et esprit d'initiative. Ce n'est que justice de vous réaffirmer
ici tout mon estime et ma reconnaissance.
À ma famille : frères, soeurs, cousins, oncles,
tantes et à tous mes amis, pour leur affection, leur patience et leur
soutien multiforme. Trouvez, ici l'expression de ma profonde gratitude.
À tous ceux qui de près ou de loin m'ont
été d'une aide dans la réalisation de ce document, tant
dans l'écriture que dans la relecture. Que le Seigneur Dieu le
père, vous rende le centuple de vos actes.
iii
GLOSSAIRE
A
Adresse IP
Numéro qui identifie chaque ordinateur connecté
à Internet, ou plus généralement et
précisément, l'interface avec le réseau de tout
matériel informatique (routeur, imprimante) connecté à un
réseau informatique utilisant l'Internet Protocol.
Adresse MAC (Medium Access Control)
Numéro unique qui identifie une carte réseau. C'est
une adresse de 6 octets de long. Les 3 premiers octets définissent le
constructeur. Les 3 derniers sont le numéro de série. On
l'appelle aussi adresse physique, adresse Ethernet ou adresse
matérielle. Application-cliente
Application requérant des services fournis par un tiers
appelé serveur.
Attaque
Offensive, agression, action contre des personnes ou des biens
leur portant atteinte. Ils existent différents types d'attaques
informatiques.
Attaque active
Attaque qui modifie les ressources ciblées par l'attaque
(atteinte aux critères d'intégrité, de
disponibilité et de confidentialité).
Attaque passive
Attaque qui n'altère pas sa cible (écoute passive,
atteinte à la confidentialité).
Authentification
Processus mis en oeuvre notamment pour vérifier
l'identité d'une entité et s'assurer que l'identité
fournie correspond à l'identité de cette entité
préalablement enregistrée.
C
Confidentialité
Maintien du secret des informations et des transactions.
Caractères de ce qui est secret.
Objectifs de sécurité
à réaliser afin de prévenir la divulgation non
autorisée d'informations
à des tiers qui doit permettre leur protection contre
des lectures, écoutes, copies illicites d'origines intentionnelle ou
accidentelle durant leur stockage, traitement et transfert (notion de
confidentialité de données).
Contrôle d'accès
Mécanisme permettant de prévenir de l'utilisation
non appropriée ou non autorisée d'une ressource (services,
systèmes, données, programmes).
D
Dialeur
Application-cliente d'authentification de Ringo S.A.
Disponibilité
Critère de sécurité permettant de
s'assurer que les ressources sont accessibles et utilisables selon les besoins
(pas de refus d'accès autorisé aux systèmes, services,
données, infrastructures, etc. . .).
E
Ethernet
Technologie de réseau local permettant que toutes les
machines d'un réseau soient connectées entre elles. Il est un
protocole de réseau local développé conjointement par
différentes firmes dans les années 1970 et dont la vitesse de
transfert atteint 10 Mb/s. C'est aujourd'hui le type, le plus courant des
réseaux locaux.
Entité
Ensemble des propriétés constitutives d'un
être ou de l'essence d'une chose; ce que dénote un symbole; une
chose considérée comme un être ayant son
individualité.
H
Hackeur
Personne qui, quelle que soit sa motivation,
pénètre sans autorisation et de manière illégale
dans un système appartenant à un tiers afin de réaliser
des attaques passives ou actives.
Horodatage
Processus d'inclusion dans un document, de sa date
d'établissement. Ainsi parler d'un ticket horodaté, revient-il
à parler d'un ticket mentionnant la date de son établissement.
I
Identification
Processus qui permet de reconnaître une entité
préalablement identifiée.
Identité
Information qui permet de désigner et de distinguer, si
possible de manière unique et non ambiguë, une entité
à l'intérieur d'un domaine de nommage.
Intégrité
Etat d'une chose qui est demeurée intacte.
Critère de sécurité, qui s'il est réalisé,
permet d'assurer qu'une ressource n'a pas été
altérée (modifiée ou détruire) d'une façon
non autorisée.
K
Kerberos
Protocole d'authentification réseau qui repose sur un
mécanisme de clés secrètes (chiffrement symétrique)
et l'utilisation de tickets, et non de mots de passe en clair, évitant
ainsi le risque d'interception frauduleuse des mots de passe des utilisateurs.
Créé au Massachusetts Institute of Technology (MIT), il porte le
nom grec de Cerbère, gardien des enfers.
M
Mot de passe
Information confidentielle que doit produire un ayant droit
afin de prouver son identité lors
d'une procédure
d'authentification dans le cadre d'une demande d'accès à une
ressource.
vi
N
Non-répudiation
La capacité de prévenir le fait qu'un
expéditeur dément plus tard avoir envoyé un message ou
effectué une action. Assure la disponibilité des preuves qui
peuvent être présentées à un tiers et
utilisées pour prouver quel type d'événement ou d'action a
eu lieu. Sans la non-répudiation, des émetteurs et des
récepteurs d'informations pourraient nier les avoir reçues ou
envoyées.
P
Politique de sécurité
Plan d'actions définies pour préserver
l'intégrité et la pérennité d'un groupe social.
Elle reflète la vision stratégique de la direction de
l'organisme. C'est un document écrit qui décrit clairement les
moyens par lesquels l'organisme peut se protéger efficacement contre
diverses menaces, y compris une liste de mesures à prendre si certains
problèmes de sécurité se produisent.
Portail captif
Technique consistant à forcer un client http sur un
réseau à afficher une page web spéciale (le plus souvent
dans un but d'authentification) avant d'accéder à Internet
normalement. Un client http est un logiciel conçu pour se connecter
à un serveur http, à l'instar de Google Chrome, Mozilla Firefox
et Internet Explorer.
R
Rejeu
Retransmission par un intrus, dans le but d'usurper
l'identité du demandeur, d'une réponse qui a déjà
été utilisée entre deux entités légitimes
comme réponse à une nouvelle question.
Répudiation
Fait de nier d'avoir participé à des
échanges, totalement ou en partie.
Réseau ubiquitaire
Réseau qui se trouve ou semble se trouver partout en
même temps.
RingoDialer
Dialeur de l'entreprise Ringo S.A.
S
Serveur
Système informatique chargé de fournir des
services.
Standalone
Littéralement « se tenir seul », désigne
une application à part entière qui se différencie donc
d'une extension (ou add-on) ou d'un plugin (ou greffon).
Système d'authentification
Méthode, technique, algorithme, protocole, programme ou
matériel visant à fournir la preuve, ou des
éléments de preuve, qu'une entité (personnes, services, ou
machine) est bien celle qu'elle prétend être.
U
Utilisateur-client
Personne qui requiert des services moyennant une
rétribution.
W
Wifi (Wireless Fidelity/Ethernet sans
fil)
Technologie qui permet de relier sans fil plusieurs appareils
informatiques. Il est un réseau local de type Ethernet à
accès sans fil qui permet d'obtenir des débits pouvant atteindre
11 MB/S théorique dans une bande de fréquence de 2,4 GHz.
ACRONYMES & ABRÉVIATIONS
AAA ou Triple-A (Authentification,
Autorization, Accounting)
Modèle de sécurité réalisant les
fonctions d'authentification, d'autorisation et de
traçabilité.
BRAS (Broadband Remote Access
Server)
Serveur d'accès à distance.
CHAP (Challenge-Handshake Authentification
Protocol)
Méthode d'authentification pour les réseaux PPP,
utilisant un système de question-réponse. Sa définition
est faite dans la RFC 1334.
DHCP (Dynamic Host Configuration
Protocol)
Présenté pour la première fois en octobre
1993, et défini par la RFC 1531, modifié et
complété par les RFC 1534, 2131 et 2132, DHCP est un protocole
réseau dont le rôle est d'assurer la configuration automatique des
paramètres IP d'une station, notamment en lui affectant automatiquement
une adresse IP et un masque de sous-réseau.
CISCO
Entreprise informatique américaine qui vendait, à
l'origine, uniquement du matériel réseau (routeur et commutateur
Ethernet).
EAP (Extensible Authentification
Protocol)
Protocole d'authentification par mot de passe. Il est une
extension du protocole PPP. FAI (ISP)
Fournisseur d'accès Internet (Internet Service
Provider).
HTTP (HyperText Transfer Protocol)
Littéralement « protocole de transfert hypertexte
», est un protocole de communication client-serveur
développé pour le WWW (World Wide Web).
IP (Internet Protocol)
Famille de protocoles de communication de réseau
informatique conçus pour et utilisés par Internet.
IPCP (IP Control Protocol)
Protocole de contrôle de réseau de PPP (NCP) pour
l'IP. Il est responsable de la configuration, de l'autorisation, et de
l'invalidation des modules de protocole d'IP sur les deux
extrémités de la liaison point à point. Sa
définition complète est faite dans la RFC 1332. ISO
(International Standard Organization)
Organisme de normalisation international composé de
représentants d'organisations nationales de normalisation de 158
pays.
KDC (Key Distribution Center)
Serveur de distribution de clés.
LCP (Link Control Protocol)
Composante du protocole PPP, il a pour rôle
d'établir, de configurer, de tester et d'interrompre la liaison PPP.
NAS (Network Authentification
System)
Serveur avec lequel l'utilisateur établit sa connexion
afin d'être relié à son réseau personnel,
d'entreprise ou à son fournisseur d'accès Internet.
NCPs (Network Control Protocols)
Famille de protocoles de contrôle, qui a pour rôle de
lancer et de configurer différents protocoles de la couche
réseau.
PAP (Password Authentication
Protocol)
Méthode d'authentification sur un réseau PPP
utilisant un système de mot de passe. PPP
(Point-to-Point)
Protocole de liaison de données assurant
l'échange de données fiable sur une liaison point à point.
Sa principale caractéristique est, une fois la liaison établie et
configurée, de permettre à plusieurs protocoles de
transférer des données simultanément.
PPPoE (PPP over Ethernet)
Protocole d'encapsulation de PPP sur Ethernet, mis au point
à l'origine par la société RedBack et décrit par le
RFC (Request For Comment) 2516.
RADIUS (Remote Authentication Dial-In User
Service)
Protocole AAA permettant de répondre à une
problématique de gestion de connexion d'utilisateurs à des
services réseaux. Développé par Livingston Enterprises
Inc., il est utilisé comme protocole d'authentification et de gestion de
serveur d'accès.
RFC (Request For Comments)
Littéralement « demande de commentaires », les
RFC sont une série numérotée de documents officiels
décrivant les aspects techniques d'Internet ou de différent
matériel informatique (routeurs, serveur DHCP, etc.). Ils sont
accessibles depuis l'adresse : http ://
www.rfceditor.org/rfcsearch.html.
TACACS (Terminal Access Controller
Access-Control System)
Protocole d'authentification distant, généralement
utilisé dans les réseaux UNIX. TACACS+
(Terminal Access Controller Access-Control System Plus)
Protocole AAA recommandé pour l'accès aux
équipements réseaux.
TCP (Transmission Control Protocol)
Protocole de transmission de données fiables et avec
connexion.
UDP (User Datagram Protocol)
Protocole de transport de données sans connexion et sans
mécanismes de fiabilité de transmission, qui s'appuie sur le
protocole IP.
UNIX
Système d'exploitation multitâche et
multiutilisateur développé en 1970 à Berkeley en
Californie.
VPN (Virtual Private Network)
Ensemble de ressources de communication et de
sécurisation organisées et mises, par un
opérateur de
réseau, à disposition d'un client pour qui il apparaît
comme son réseau privé.
xi
RÉSUMÉ
Dans l'optique de la sécurisation de son réseau
et de l'amélioration à l'accessibilité de celui-ci, un
fournisseur d'accès Internet (FAI/ISP) est amené à mettre
en uvre une solution informatique lui permettant, notamment, de garantir d'une
part, l'authentification de ses clients réseaux et la
confidentialité de leurs échanges avec le serveur d'accès
distant (NAS), et d'autre part la stabilité du lien de connexion. Aussi,
l'implémentation d'une telle solution nécessite-t-elle la
connaissance préalable :
- des techniques d'authentification, particulièrement
celles traitant de la problématique d'identification, d'autorisation et
de comptage, à l'instar du protocole RADIUS (Remote Authentication
Dial-In User Service);
- des techniques de confidentialité, notamment celles
permettant d'assurer la protection des ressources contre une divulgation non
autorisée des échanges entre clients du réseau et serveur
d'accès distant du FAI (NAS-ISP), à l'instar du protocole PPPoE
(Point-toPoint over Ethernet);
- de l'état des lieux du système d'authentification
du FAI.
Une fois ces prérequis établis, la mise en uvre de
la solution s'effectue comme suit:
1. L'intégration dans l'architecture réseau du
FAI des différents équipements nécessaires au bon
fonctionnement d'une application-cliente d'authentification via protocole PPPoE
sur de l'Ethernet commuté;
2. L'analyse, la conception et la mise en uvre de ladite
application-cliente, laquelle est en mesure d'assurer la confidentialité
de la communication client réseau/NASISP par l'établissement d'un
tunnel PPPoE.
Mots dles : authentification,
confidentialité, RADIUS, PPPoE, NAS, FAI.
ABSTRACT
In view of its network security and improved accessibility of
this network, an Internet service provider (ISP) must implement a software
solution enabling him, in particular, to ensure the authentication of network
clients and the confidentiality of their exchanges with the remote access
server (NAS), on the one hand and the stability of the connection link on the
other hand. Also, the implementation of such a solution requires prior
knowledge on :
- Authentication techniques, particularly those dealing with
the problem of identification, authorization and accounting, as the RADIUS
(Remote Authentication Dial-In User Service) protocol;
- Techniques for confidentiality, including measures to protect
resources against unau-
thorized disclosure of trade between network clients and remote
access server of the
ISP (ISP-NAS), like the PPPoE (Protocol Point-to-Point over
Ethernet); - The state of the ISP's authentication system.
Once these prerequisites have been established, the
implementation of the solution is as follows:
1. The integration into the ISP's network architecture of the
various equipment needed for the proper functioning of a client application
authentication through PPPoE on the switched Ethernet;
2. The analysis, design and implementation of the said
client- application, which is intended to maintain the confidentiality of the
communication network client/NASISP by the establishment of a PPPoE tunnel.
Keywords : authentication, confidentiality,
RADIUS, PPPoE, NAS, ISP.
TABLE DES MATIÈRES
DÉDICACE ................................... i
REMERCIEMENTS ..............................
ii
GLOSSAIRE .................................. iii
ACRONYMES & ABRÉVIATIONS
.......................viii
RÉSUMÉ
.................................... xi
ABSTRACT
.................................. xii
TABLE DES MATIÈRES ............................
xiii
LISTE DES FIGURES ............................. xvii
LISTE
DES ANNEXES ............................. xviii
INTRODUCTION ................................ 1
CHAPITRE 1 L'ENTREPRISE RINGO S.A 4
1.1 La présentation générale 4
1.2 La mission et les objectifs 4
1.3 La structure et le fonctionnement 5
1.3.1 Le département des opérations 5
1.3.2 Le département communication 6
1.3.3 Le département administratif et financier 6
1.3.4 Le département technique 6
1.3.4.1 Le service design 6
1.3.4.2 Le service installation 7
1.3.4.3 Le service production 7
1.3.4.4 Le service après-vente (SAV) 8
1.4 L'état des lieux du système d'authentification
8
CHAPITRE 2 L'ÉTAT DE L'ART DES SYSTÈMES
D'AUTHENTIFICATION 11
2.1 2.2
|
La problématique triple-A
2.1.1 L'authentification (Authentification)
2.1.2 L'autorisation (Authorization)
2.1.3 La traçabilité (Accounting/Auditing)
Les techniques d'authentification
|
12
12
13
13 13
|
|
2.2.1
|
Les techniques d'authentification faible
|
14
|
|
2.2.2
|
Les techniques d'authentification forte
|
15
|
|
|
2.2.2.1 Les protocoles avec secret partagé
|
15
|
|
|
2.2.2.2 Les protocoles à base de clés publiques
|
16
|
|
|
2.2.2.3 Les protocoles utilisant un serveur d'authentification
. .
|
16
|
2.3
|
Les protocoles triple-A
|
18
|
|
2.3.1
|
Les généralités
|
18
|
|
2.3.2
|
Les exemples de protocoles triple-A
|
20
|
|
|
2.3.2.1 Le protocole RADIUS
|
20
|
|
|
2.3.2.2 Le protocole DIAMETER
|
22
|
|
|
2.3.2.3 Le protocole TACACS
|
22
|
|
|
2.3.2.4 Le protocole TACACS+
|
22
|
2.4
|
Les protocoles complémentaires au protocoles triple-A :
le cas de PPPoE .
|
23
|
|
2.4.1
|
Le principe de fonctionnement du protocole PPP
|
24
|
|
|
2.4.1.1 Les composants du protocole PPP
|
25
|
|
|
2.4.1.2 Les étapes de fonctionnement du protocole PPP .
. . .
|
25
|
|
2.4.2
|
Le principe de fonctionnement d'Ethernet
|
27
|
|
|
2.4.2.1 L'Ethernet partagé
|
28
|
2.4.2.2 L'Ethernet commuté 29
2.4.3 Le principe de fonctionnement du protocole PPP sur Ethernet
. 29
2.4.3.1 La phase d'apprentissage 31
2.4.3.2 La phase d'établissement de la session PPP 32
2.4.4 L'authentification via le protocole PPPoE 33
2.4.4.1 Le protocole d'authentification PAP 34
2.4.4.2 Le protocole d'authentification CHAP 34
CHAPITRE 3 L'ANALYSE CRITIQUE DE L'ÉTAT DES LIEUX 36
3.1 Les insuffisances liées à la codification des
applications web 36
3.2 L'exposition aux risques d'attaques de l'infrastructure
37
3.3 La possibilité de répudiation des actions
effectuées 37
3.4 L'instabilité de la connexion Internet 37
3.5 L'absence de confidentialité des échanges
38
3.6 L'usurpation d'identité 39
CHAPITRE 4 «RINGODIALER» : LE CLIENT D'AUTHENTIFICATION
VIA
PROTOCOLE PPPOE DE RINGO S.A. 42
4.1 L'intégration du protocole PPPoE dans l'architecture
réseau 42
4.2 L'analyse et la conception de l'application «
RingoDialer » 44
4.2.1 Le schéma de communication «RingoDialer
»/Système d'authen-
tification 45
4.2.2 Les pré-requis de la mise en
oeuvre de l'application « RingoDialer » 47
4.2.2.1 L'architecture logicielle 48
4.2.2.2 Le Framework de développement 50
4.2.2.3 L'interface de communication RingoDialer/NAS-ISP 53
4.2.3 Le dialeur de Ringo S.A. 55
4.3 L'exécution de « RingoDialer » : les
scénarii de tests de l'application . . 57
4.3.1 Le scénario de connexion au serveur d'accès
distant 58
4.3.2 Le scénario de déconnexion au serveur
d'accès distant 59
CONCLUSION 60
BIBLIOGRAPHIE 62
ANNEXES 65
LISTE DES FIGURES
FIGURE 1.1 Structure du Département Technique de Ringo
S.A. 7
FIGURE 1.2 Architecture Réseau de Ringo S.A. 8
FIGURE 1.3 Procédure d'authentification par portail captif
10
FIGURE 2.1 Protocole de Nedham/Schroeder 17
FIGURE 2.2 Architecture triple-A 19
FIGURE 2.3 Format d'un paquet RADIUS 21
FIGURE 2.4 Disposition des composants du protocole PPP 26
FIGURE 2.5 Les étapes de fonctionnement du protocole PPP
27
FIGURE 2.6 Pile protocolaire PPPoE 30
FIGURE 2.7 Processus d'authentification du protocole PPPoE au
protocole RA-
DIUS 33
FIGURE 3.1 Isolement d'un hôte par corruption de cache ARP
40
FIGURE 3.2 Cohabitation hackeur/hôte par corruption de
cache ARP 40
FIGURE 4.1 Déploiement de RingoDialer 43
FIGURE 4.2 Schéma de communication
RingoDialer/Système d'authentification 46
FIGURE 4.3 Organisation des composantes logicielles du
RingoDialer . . . . 48
FIGURE 4.4 Diagramme de conception du Framework MVCFramework . .
. 52
FIGURE 4.5 Interface de communication dialeur/NAS-ISP 54
FIGURE 4.6 Diagramme de conception du composant connexion 56
FIGURE 4.7 Transitions nominales du diagramme d'états du
composant Connexion 58
FIGURE B.1 Organigramme Ringo S.A. 70
FIGURE C.1 Principe général de fonctionnement d'un
protocole question/réponse 71
FIGURE E.1 Flux de messages RADIUS 76
FIGURE F.1 Mise en oeuvre du roque AP 77
LISTE DES ANNEXES
ANNEXE A LE CAHIER DES CHARGES DU STAGE 65
A.1 La Mise en oeuvre d'un client d'authentification PPPoE
66
A.1.1 Le contexte 66
A.1.2 Le « Dialeur PPPoE » 66
A.1.3 Le cahier des charges 66
A.2 La Proposition d'une politique de sécurité des
serveurs 67
A.2.1 Le Contexte 67
A.2.2 Le cahier des charges 67
ANNEXE B L'ORGANIGRAMME DE L'ENTREPRISE RINGO S.A.... 69
ANNEXE C LE PRINCIPE DES PROTOCOLES QUESTION/RÉPONSE .
71
ANNEXE D L'EXEMPLE D'UN PROTOCOLE AVEC SECRET PARTAGÉ
72
ANNEXE E L'AUTHENTIFICATION VIA LE PROTOCOLE RADIUS . . 74
E.1 Les généralités 74
E.2 Le processus de connexion au réseau 74
E.3 Le processus de déconnexion au réseau 75
E.4 Le schéma récapitulatif des flux de messages
RADIUS 75
ANNEXE F LE ROQUE AP 77
INTRODUCTION
Dans le cadre de sa politique d'expansion, de
sécurisation et d'amélioration de l'accessibilité de son
réseau par ses différents clients-utilisateurs, l'entreprise
Ringo S.A. a entrepris de migrer son système d'authentification par
portail captif vers un système assurant :
- d'une part, l'authentification de l'utilisateur avant
accès au réseau;
- et d'autre part, la confidentialité des échanges
de données de ce dernier.
En effet, l'authentification par portail captif, qui est une
technique d'authentification consistant à forcer un client
HTTP1 à afficher une page web spéciale dans le but
d'une authentification avant accès à l'Internet, présente
une faille majeure : un utilisateur est identifié sur la base de son
adresse MAC2 et de son adresse IP 3, deux
paramètres facilement falsifiables. Ainsi, en scannant les adresses IP
et MAC transitant par le réseau, puis en clonant l'adresse MAC d'un
abonné entrain de surfer, est-il aisé pour un hackeur d'usurper
l'identité de l'abonné et de se faire attribuer le trafic
Internet de l'adresse MAC clonée.
De plus, le médium utilisé comme support des
échanges est de type Ethernet qui assure peu la confidentialité
tout en étant vulnérable aux attaques de la couche de niveau 2 du
modèle ISO, à la corruption de la mémoire cache du
système donné et à l'usurpation d'adresse IP.
Dans l'optique de pallier ce type de failles, le
Département technique de Ringo S.A. opte
pour l'implémentation
du protocole PPP au-dessus du protocole Ethernet afin de garantir :
1. Un client HTTP est une application interagissant avec un
serveur HTTP (HyperText Transfer Protocol). Le cas peut être donné
des navigateurs Web suivants : Internet Explorer, Safari, Mozilla Firefox et
Google Chrome.
2. Une adresse MAC (Medium Access Control) est un numéro
unique qui identifie une carte réseau. Elle porte aussi les noms
d'adresse physique, d'adresse Ethernet et d'adresse matérielle.
3. Une adresse IP (Internet Protocol) est un numéro qui
identifie chaque ordinateur connecté à l'Internet.
- à l'usager, le respect de son identité et la
confidentialité de ses échanges; - à l'entreprise, un
coût de migration relativement peu onéreux.
Ce choix, bien que stratégique, pose un
problème de migration. En effet, comment mettre en oeuvre une interface
d'authentification pour les clients, au couleur de Ringo S.A., prenant en
compte le protocole PPPoE (Point-to-Point over Ethernet); mettant à
disposition les services phares de l'entreprise (connexion à l'Internet,
consultation de droits d'accès...) et conservant en partie l '
architecture réseau déjà
implémentée?
Ainsi, l'objectif principal du stage est-il de mettre en
oeuvre une « application-cliente » d'authentification via protocole
PPPoE au couleur de Ringo S.A., qui permet, à «
l'utilisateur-client », d'accéder à un ensemble de services,
notamment ceux de la connexion et de la déconnexion rapide d' Internet,
dans un environnement doté d'une infrastructure sécurisée,
assurant l'authentification des utilisateurs et la confidentialité des
échanges de données. Dans cette optique, l'application-client
d'authentification intègre les fonctionnalités suivantes :
- une interface de connexion conviviale, «
customisée » aux couleurs de l'entreprise, permettant à un
client utilisateur de se connecter par simple validation de son nom
d'utilisateur et de son mot de passe;
- une procédure de déconnexion, tout aussi simple
que celle de connexion;
- une interface bilingue, Anglais et Français, s'adaptant
automatiquement à la langue d'usage de l'utilisateur, avec l'Anglais
comme langue par défaut;
- une procédure de mémorisation des
paramètres de connexion de l'utilisateur;
- une procédure de visualisation de l'état de la
connexion, en termes de temps écoulé
depuis l'établissement de la connexion, du taux de
transfert effectif, d'octets transmis
et reçus;
- un ensemble de menu assurant l'accessibilité à
certains services phares de l'entreprise.
Toutefois, il est à noter que les aspects tels que la
non répudiation, la disponibilité et l'intégrité
des ressources ne sont pas abordés dans le cadre de cette étude
et pourraient faire l'objet d'une étude approfondie
ultérieurement. La présente étude s'est bornée
à l'analyse des aspects d'authentification et de
confidentialité.
Aussi, le reste de ce mémoire est-il organisé comme
suit:
- Le chapitre 1 est consacré à l'entreprise
d'accueil. Nous y abordons d'une part, sa raison sociale en spécifiant
ses missions, sa structure et son fonctionnement, tout en nous appesantissant
sur notre département d'accueil, et d'autre part, l'état de lieux
de son système d'authentification.
- Le chapitre 2 est consacré au point sur l'état
de l'art des systèmes d'authentification. Nous y abordons, d'abord la
problématique triple-A à laquelle les systèmes
d'authentification sont soumis; ensuite les techniques d'authentification; puis
les protocoles triple-A et enfin les protocoles complémentaires aux
protocoles triple-A.
- Le chapitre 3 est consacré à l'analyse critique
du système d'authentification de Ringo S.A.
- Le chapitre 4 est consacré au processus de conception
et de mise en oeuvre de l'applicationcliente d'authentification.
- Et enfin, le dernnier chapitre qui est consacré
à la conclusion du mémoire; tout en introduisant les perspectives
d'amélioration de l'application développée; notamment en
abordant sommairement, les aspects liés à la
non-répudiation, à l'intégrité des données
et à la disponibilité des ressources.
CHAPITRE 1
L'ENTREPRISE RINGO S.A.
1.1 La présentation générale
Créée en Août 2008, Ringo S.A.
1 est une Société Anonyme opérant dans le
domaine de la télécommunication, notamment dans celui de la
fourniture de service Internet aux personnes morales comme physiques. Elle est
une société au capital de deux cents millions (200.000.000) de
francs CFA, qui compte en son sein une centaine d' employés,
répartis, spécifiquement, entre ses agences de Yaoundé et
Douala.
Forte d'un réseau composé d'une centaine de
distributeurs répartis sur huit villes du territoire Camerounais, que
sont : Bafoussam, Buea, Douala, Edéa, Kribi, Limbe,
N'Gaoundéré et Yaoundé; cette start-up séduit les
grandes firmes américaines, par sa forte croissance. C'est ainsi que
l'année 2009 a été marquée pour Ringo par des
partenariats inédits : l'un avec Motorola et l'autre avec Microsoft et
un dernier avec IBM en fin d'année 2009.2
1.2 La mission et les objectifs
La mission que s'est donnée l'entreprise Ringo S.A. est
de rendre l'Internet accessible au plus grand nombre de camerounais. Et pour y
parvenir, elle s'est fixé les objectifs suivants :
1. Le siège social de l'entreprise Ringo S.A. est sis
à Yaoundé (Cameroun), Immeuble LA LEKIE, Avenue Winston Churchill
et répond à la boîte postale 15283.
2. À la date de la présentation de ce
mémoire, l'entreprise Ringo S.A compte parmi ses partenaires : CISCO,
AXIS et WAVION
- Construire et développer un réseau de
télécommunications aux normes et standards internationaux;
- Assurer la fourniture d'une connexion Internet haut
débit à des prix accessibles à toutes les couches
sociales;
- Assurer la fourniture de services à valeur
ajoutée innovants, à l'instar de : l'Internet haut débit,
la vidéo surveillance, la géo localisation, l'hébergement
de sites web, la voix sur réseau IP (Voice On IP,VoIP), les
réseaux privées virtuels (VPN) pour les organisations et les
institutions.
1.3 La structure et le fonctionnement
Afin de réaliser ses objectifs, l'entreprise Ringo S.A.
a opté pour un organigramme3 en départements
subdivisés en services, chacun d'eux regroupant, éventuellement,
des bureaux. Nous distinguons principalement quatre départements
à la tête desquels se trouve un Administrateur
Général.
1.3.1 Le département des opérations
Il 4 a à sa tête un Directeur
assisté d'un coordonateur Marketing. Sa mission principale est de
coordonner les différentes opérations de l'entreprise Ringo. En
son sein, nous distinguons trois services:
- Le service Corporate, chargé de la gestion des
relations avec les entreprises clientes; - Le service Distribution,
chargé du grand public et de la gestion des points de vente; - Le
service Manager Solutions.
3. Un organigramme complet et détaillé de
l'entreprise se trouve à l'annexe B.1.
4. À la date de la présentation de ce
mémoire, le Département des opérations a été
renommé en Département Ringo Services Professionnels
(RSP) qui a désormais la charge des services offerts
aux gros porte-feuils (entreprise et autres).
1.3.2 Le département communication
Chargé de la communication interne et externe de
l'entreprise, il5 a à sa tête un Directeur
assisté d'un communicateur externe et d'un communicateur interne, qui
travaillent en étroite collaboration avec le service Marketing.
1.3.3 Le département administratif et financier
Dirigé par un Directeur, il est subdivisé en
services comme suit:
- Le service Administratif est en charge de la gestion
personnelle;
- Le service Financier est en charge de la comptabilité et
des finances de l'entreprise; - Le service Control est chargé de l'audit
interne.
1.3.4 Le département technique
Le Département Technique est notre département
d'accueil. Il est la pierre angulaire de la réalisation des objectifs de
l'entreprise, et est structuré ainsi qu'il est illustré à
la figure 1.1 page 7.
1.3.4.1 Le service design
Il est en charge de la conception, de la maintenance et de
l'évolution du réseau. Ce service regroupe en son sein les
bureaux suivants :
5. À la date de la présentation de ce
mémoire, le département Communication a été
renommé en département commercial et Marketing, en charge
notamment de la vente, du marketing et de la distribution des produits Ringo
S.A.
- Le bureau Serveur Applicatif s'occupe de la gestion des
serveurs et du développement des applications et des services;
- Le bureau Network/Radio s'occupe entre autres de la
planification radio; - Le bureau MC Will s'occupe entre autre de la maintenance
des modems; - Le bureau Project, qui gère tout ce qui est sous forme de
projet technique.
1.3.4.2 Le service installation
Il est en charge de l'installation des équipements au
niveau du client. Et ce après que ces équipements ont
été configuré au niveau du service Design.
1.3.4.3 Le service production
Il est en charge de l'administration et de la supervision du
réseau. Il groupe en son sein le service monitoring qui alerte et
informe les différents administrateurs, notamment les administrateurs
réseaux, les administrateurs MC Will et les administrateurs
Système applicatif de tous les problèmes qui surviennent dans le
réseau.
FIGURE 1.1 Structure du Département Technique de Ringo
S.A.
1.3.4.4 Le service après-vente (SAV)
Il est la vitrine de l'entreprise auprès des clients.
En effet, le S.A.V, regroupe en son sein des Ringo-Tech grand public, qui se
définissent comme des techniciens mandatés par la
société Ringo S.A., qui sont à la disposition des clients,
pour assistance après acquisition d'un modem et d'un accord de
service.
1.4 L'état des lieux du système
d'authentification
FIGURE 1.2 Architecture Réseau de Ringo S.A.
Tel qu'illustré par la figure 1.2 ci-dessus, le
système d'authentification de Ringo S.A. met en jeu cinq grands
composants. Du client au Fournisseur d'Accès Internet (FAI)
Ringo, nous avons :
- un point de présence, chargé de relayer les
informations entre CPE et FAI;
- un Switch d'agrégation, permettant de manager les
différents points de présence;
- un serveur en charge de l'adressage automatique des machines,
de la distribution des
paramètres du réseau, du control d'accès aux
services offerts par l'entreprise et de la
gestion du temps d'accès aux ressources (client
radius);
- un serveur web, jouant notamment le rôle du portail
captif permettant d'authentifier les clients ;
- un serveur Radius, gérant les autorisations
d'accès distants aux ressources et services offerts, ceci en se
référant à une base de données associée.
Lorsqu'un utilisateur souhaite accéder à
l'Internet, il doit accéder d'une part au réseau de l'entreprise
et, d'autre part s'authentifier via un portail captif, en utilisant un client
d'authentification http (Internet Explorer, Mozilla Firefox, Google Chrome,
etc.). La procédure d'authentification par usage du portail captif,
illustrée à la figure 1.3 page 10, est explicitée
ci-dessous.
Pour accéder au réseau, l'utilisateur-client se
connecte à son modem et reçoit du NAS : une adresse IP et les
paramètres de configuration du réseau. Dès cet instant,
l'utilisateurclient a juste accès au réseau existant entre lui et
le NAS. Ce dernier lui interdisant, pour l'instant l'accès au reste du
réseau. Le NAS stocke dans sa table ARP l'adresse MAC du client et
l'adresse IP qu'il lui a été dynamiquement attribuée, et
ce dans l'optique de prochains contrôles liés, entre autres,
à l'identité de l'utilisateur-client.
Lorsque le client veut accéder à Internet ou du
moins effectuer sa première requête de type web, le NAS
contrôle sa demande d'accès, et si il n'a pas encore
été authentifié, il le redirige vers une page
d'authentification, l'invitant à entrer ses paramètres de
connexion. Lorsqu'il a saisi ses paramètres d'authentification (login et
mot de passe) le NAS relaye les informations au serveur RADIUS, qui va
vérifier que le client est connu du système et à droit
à la ressource sollicitée. Une fois la vérification
effectuée, le serveur d'authen-
tification renvoie la réponse au NAS qui, selon que le
client a droit à la ressource ou non, l'autorise ou non à aller
sur Internet.
FIGURE 1.3 Procédure d'authentification par portail
captif
CHAPITRE 2
L'ÉTAT DE L'ART DES
SYSTÈMES D'AUTHENTIFICATION
De nos jours, un nombre de plus en plus grand de personnes
disposant d'appareils nomades (portable, PDA,...) souhaitent accéder
à l'Internet par le biais de ces derniers, et ce, dans la
majorité des lieux publics qu'ils fréquentent. L'expansion
très rapide des réseaux ubiquitaires, par le déploiement
de points d'accès, permet de telles connexions à Internet.
Toutefois, chaque réseau est déployé par
rapport à des règles d'accès, qui n'autorise
l'accès aux ressources qu'à une catégorie de personnes.
Ainsi, pour certaines entreprises spécialisées, telles que les
Fournisseurs d'Accès Internet (FAI), est-il devenu primordial de mettre
en place un système d'authentification qui cumule les avantages suivants
:
- Traçabilité aussi bien lors de la phase
d'authentification que lors de l'utilisation du réseau par un
utilisateur;
- Sécurisation des échanges sur le réseau
entre application-cliente et serveur; - Compatibilité avec la
majorité des appareils nomades du marché;
- Réduction de l'impact au niveau des ressources
matériels et de la bande passante.
De tels enjeux nécessitent une connaissance des usages
en matière de système d'authentification. Dans l'optique de
consolider cette connaissance, nous abordons dans les pages suivantes :
- la problématique triple-A;
- les techniques d'authentification; - les protocoles
triple-A;
- les protocoles complémentaires aux protocoles triple-A,
notamment le cas du protocole PPPoE.
2.1 La problématique triple-A
Les fournisseurs d'accès à Internet sont pour la
plupart du temps confrontés à 3 grands types de problème :
le problème d'authentification (Authentication), le
problème d'autorisation (Authorization) et le problème
de traçabilité (Accounting). Cet ensemble de
problèmes est résumé sous la terminologie «
problématique triple-A ».
Triple-A ou AAA est un modèle de sécurité
informatique réalisant les fonctions d'authentification, d'autorisation
et de traçabilité. Il est implémenté dans certains
routeurs Cisco et peut également être implémenté sur
toute machine qui peut être utilisée comme serveur d'accès
distant (NAS).
2.1.1 L'authentification (Authentification)
L'authentification consiste à vérifier qu'une
personne/équipement est bien celle qu'elle/il prétend être.
Différentes méthodes peuvent être utilisées pour
assurer cette fonction, comme par exemple :
- l'utilisation du couple login/mot de passe;
- l'utilisation du challenge-réponse;
- l'utilisation de certificats électroniques;
- l'utilisation de mots de passe à usage unique (One Time
Password).
2.1.2 L'autorisation (Authorization)
L'autorisation consiste à contrôler
l'accès à certains services ou ressources. Un utilisateur
authentifié peut demander à avoir l'accès à une
certaine ressource. Le serveur triple-A lui autorisera ou non cette demande.
2.1.3 La traçabilité
(Accounting/Auditing)
Le serveur triple-A a la possibilité de collecter des
informations sur l'utilisation des ressources. Ce qui permet à un
opérateur d'établir une facturation idoine de ladite utilisation,
pour un utilisateur-client donné.
2.2 Les techniques d'authentification
Toute démarche d'authentification suppose au moins deux
parties : un demandeur, qui présente une identité, et un
vérificateur, qui s'assure de sa validité. Cette démarche
per-met la validation de l'identité du demandeur en présence
d'attaques possibles, à l'instar de l'usurpation d'identité. Afin
de parer d'éventuelles attaques, le processus d'authentification a
à fournir des garanties de sécurité permettant une
vérification de l'identité affichée par le demandeur.
La classification des techniques d'authentification permet de
dégager quatre grandes catégories basées sur la nature de
la sécurité qu'elles mettent en oeuvre :
- technique d'authentification faible exploitant des informations
de taille limitée et/ou non aléatoires;
- technique d'authentification forte basée sur des
méthodes cryptographiques; - technique d'authentification forte
basée sur des dispositifs matériels;
- technique d'authentification biométrique, directement
liées aux caractéristiques physiologiques ou aux traits
comportementaux d'un individu.
Pour le cas d'espèce, nous nous limitons qu'à
l'étude des techniques d'authentification faible et forte basée
sur des méthodes cryptographiques. Dans la suite de notre étude,
en utilisant le terme authentification forte, l'on fait référence
à l'authentification forte basée sur des méthodes
cryptographiques.
2.2.1 Les techniques d'authentification faible
Une authentification faible est une authentification «
rejouable » c'est-à-dire récupérable par un tiers.
Elle est basée sur un élément statique à l'instar
d'une date de naissance, d'un code non aléatoire ou d'une question
secrète utilisable pour les paiements sur Internet.
Les mots de passe constituent une technique d'authentification
unidirectionnelle très répandue. Un utilisateur fournit son
identité et un mot de passe pour accéder à une ressource.
Le mot de passe constitue donc le secret partagé entre l'utilisateur et
le système auprès duquel il s'authentifie : prouver qu'il
connaît ce secret donne l'assurance que son identité est
correcte. La principale faiblesse de cette technique provient justement de
ce que les mots de passe peuvent facilement être dévoilés
ou découverts. Les systèmes d'authentification par mot de passe
sont sujets à plusieurs types d'attaques, en particulier :
- la recherche exhaustive de mots de passe à partir de
leur texte chiffré; - et le rejeu de mots de passe.
2.2.2 Les techniques d'authentification forte
Une authentification forte, qu'elle soit basée sur des
méthodes cryptographiques ou sur un dispositif matériel, est une
authentification à usage unique, dynamique et aléatoire. Elle se
différencie de l'authentification faible, par l'association de plusieurs
éléments en vue d'assurer son inviolabilité. L'agencement
de ces éléments associé à des techniques telles que
les fonctions de hachage, de cryptographie symétrique ou
asymétrique, dans le but de l'établissement de la connaissance
d'un secret associé à une identité, porte le nom de
protocole cryptographique question/réponse1 .
Le but principal des protocoles cryptographiques
question-réponse est d'empêcher une famille d'attaques connue sous
le nom de rejeu de se dérouler. Afin d'assurer la protection contre ce
type d'attaque, la réponse calculée par le demandeur A doit
être différente à chaque session du protocole
d'authentification. Plusieurs variantes de calcul existent en fonction de la
méthode cryptographique utilisée. Nous présentons les
protocoles correspondants aux cas les plus significatifs.
2.2.2.1 Les protocoles avec secret partagé
Dans ce type de protocoles le secret partagé
2, entre deux entités, demandeur et vérificateur, est
au coeur des opérations cryptographiques intervenant dans le processus
d'authentification. Ainsi une entité B, pour attester de
l'authenticité de l'identité d'une entité A, va-t-elle
appliquer une opération cryptographique basée sur un secret
qu'elle partage avec A. L'authenticité, de A, est prouvée par
comparaison du résultat obtenu par B avec une donnée donc la
connaissance est antérieure au calcul effectué.
1. Voir l'annexe C à la page 71 pour le principe de
fonctionnement des protocoles question/réponse
2. Voir l'annexe D à la page 72 pour un exemple
détaillé d'un protocole avec secret partagé
2.2.2.2 Les protocoles à base de clés
publiques
Grâce au développement des infrastructures de
certification, qui permettent une utilisation sécurisée des
clés publiques en raison, notamment, de l'absence de distribution de
secret partagé, les protocoles d'authentification à base de
clés publiques sont répandus dans la mise en oeuvre des nouveaux
protocoles de communication. Deux méthodes, basées sur les
algorithmes à clés publiques, se distinguent dans la
définition de ces protocoles. Elles sont les suivantes :
- le demandeur chiffre une question avec sa clé
privée, et la réponse, chiffrée avec sa clé
publique, est faite par le vérificateur à son intention;
- le demandeur déchiffre avec sa clé privée
une question posée par le vérificateur, et chiffrée avec
la clé publique de ce premier.
2.2.2.3 Les protocoles utilisant un serveur
d'authentification
Le concept de serveur d'authentification a pour vocation
d'introduire un gestionnaire de processus d'authentification dans les
différents protocoles cryptographique questionréponse. Ce concept
pallie un problème de distribution du secret qui subsiste dans le cas
des protocoles avec secret partagé.
Le premier protocole utilisant un serveur d'authentification a
été introduit par Nedham et Schroeder. Son principe de
fonctionnement, tel qu'illustré dans la figure 2.1, veut qu'une
entité (A) voulant s'authentifier auprès d'une entité (B),
demande au préalable à un centre de distribution de clé
(KDC) de lui générer un secret à partager avec B. Une fois
le secret généré pour la durée de cette session du
protocole, le centre de distribution de clé le fait parvenir à A,
avec un ticket qui est une enveloppe à l'intention de B, chiffré
par sa clé Kb et contenant, en plus de l'identité de A, la
nouvelle clé partagée Kab. L'entité B après
avoir pris connaissance du ticket, par déchiffrage de ce
dernier, envoie une question à A qui devra prouver sa connaissance de
Kab pour être authentifié par B.
FIGURE 2.1 Protocole de Nedham/Schroeder
Dans le cas du protocole de Nedham-Schroeder, il est à
noter que :
- chaque entité, à la place d'un secret
différent avec chacun de ses correspondants poten-
tiels, partage seulement un seul secret avec le serveur
d'authentification KDC;
- les messages 7 et 8 constituent un protocole utilisant le
secret partagé pour l'authenti-
fication unidirectionnelle de A vers B;
- il est un protocole avec secret partagé utilisant un
serveur d'authentification.
Le protocole de Nedham/Schroeder présente cependant une
faiblesse : aucun élément de ce protocole ne permet de garantir
que la clé Kab est nouvelle. Ainsi, dans le cas où la valeur de
la clé Kab, correspondant à une exécution
antérieure du protocole, aurait été interceptée par
un hackeur, celui-ci peut parfaitement réussir à passer pour A
auprès de B en effectuant un rejeu du message 5 et en exécutant
le reste du protocole en utilisant la valeur de Kab. Cette faiblesse a
été corrigée par les auteurs du protocole en mettant en
oeuvre le système Kerberos. La principale amélioration du
protocole de Kerberos consiste à inclure un cachet d'horodatage dans le
ticket afin de limiter la durée de vie de la clé Kab. Plusieurs
variantes de protocoles d'authentification avec un serveur ont
été proposées, à l'instar des protocoles AAA qui
sont une réponse à la problématique triple-A.
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.
2.3.2.2 Le protocole DIAMETER
Jeu de mot signifiant diamètre en français, qui
est le double du rayon. Il apparaît comme une amélioration du
protocole RADIUS, permettant aux domaines administratifs différents de
collaborer pour réaliser les fonctionnalités triple-A.
Déployé sur TCP, il utilise des attributs de grande
taille et est destiné aux échanges entre serveurs sur des
liaisons sûres. Sa définition complète est faite dans la
RFC 3588.
2.3.2.3 Le protocole TACACS
Protocole d'authentification distant utilisé pour
communiquer avec un serveur d'authentification, généralement
utilisé dans des réseaux UNIX. TACACS permet à un serveur
d'accès distant de communiquer avec un serveur d'authentification dont
l'objectif est de déterminer si l'utilisateur a le droit
d'accéder au réseau. Sa définition complète est
faite dans la RFC 1492.
2.3.2.4 Le protocole TACACS+
Mis au point par CISCO, TACACS+ est une amélioration
des protocoles TACACS et Ehanced TACACS, qui chiffre
l'intégralité des informations avant leur transmission sur le
réseau et combine les fonctions d'authentification, d'autorisation et de
traçabilité.
Protocole incompatible avec TACACS, le protocole TACACS+ permet
de fournir le contrôle d'accès aux routeurs et aux autres
équipements réseaux, en s'appuyant sur TCP, pour véhiculer
les données sur un ou plusieurs serveurs centralisés. Il est le
protocole AAA recommandé pour l'accès aux équipements
réseaux.
2.4 Les protocoles complémentaires au protocoles
triple-A : le cas de PPPoE
La présentation de la figure 2.2, relative à
l'architecture triple-A, nous a permis de commenter l'utilisation des
protocoles triple-A, sur la liaison NAS/Serveur, comme méthode de
gestion des problématiques d'authentification, d'autorisation et de
comptage/traçabilité, avec comme possible protocole
complémentaire, sur la liaison Serveur-Base de données, le
protocole LDAP pour la gestion simplifiée des accès
utilisateurs.
Sur la liaison Abonné-NAS, divers protocoles peuvent
être utilisés en complément aux protocoles AAA. Ainsi, dans
une énumération non exhaustive, peut-on distinguer :
- le protocole EAP (Extensible Authentication
Protocol), qui est un mécanisme d'identification universel,
fréquemment utilisé pour communiquer avec le NAS dans les
réseaux sans fil, à l'instar du Wifi, et les liaisons point
à point;
- le protocole 802.1X8 qui fournit une couche de
sécurité pour l'utilisation des réseaux
câblés et sans fil en s'appuyant sur le protocole EAP pour le
transport des informations d'identification en mode client/serveur, et sur un
serveur d'identification (tel que RADIUS, TACACS, etc.);
- les protocoles de définition des tunnels
réseaux, à l'instar de PPTP9 (Point-to-point
Tunneling Protocol) pour la définition des VPN, qui sont
utilisé dans l'authentification
8. Standard lié à la sécurité des
réseaux informatiques, mis au point en 2001 par l'IEEE (Institute of
Electrical and Electronics Engineers). Il permet de contrôler
l'accès aux équipements d'infrastructures réseaux et par
ce biais, de relayer les informations liées aux dispositifs
d'identification.
9. PPPTP : protocole d'encapsulation de PPP sur IP conçu
par Microsoft, permettant la mise en place de réseaux privés
virtuels (VPN) au-dessus d'un réseau public.
d'un groupe d'utilisateurs, et les protocoles de
définition des tunnels point à point, à l'instar des
protocoles PPPoX10 qui ajoutent une couche de sécurité
en renforçant la confidentialité des échanges entre
serveur et client et servent particulièrement dans l'authentification
d'un utilisateur.
Par la suite, nous nous appesantissons sur le protocole point
à point qui est déployé audessus du protocole Ethernet. De
ce fait, nous abordons successivement :
- le principe de fonctionnement du protocole PPP; - le principe
de fonctionnement d'Ethernet;
- le principe de fonctionnement du protocole PPPoE; -
l'authentification via protocole PPPoE.
2.4.1 Le principe de fonctionnement du protocole PPP
Le protocole PPP11 est destiné à des
liaisons point à point, comme dans le cas de deux machines
reliées par une ligne téléphonique (liaison RTCP-
Réseau Téléphonique Commuté Publique).
Comprendre le protocole PPP nécessite d'une part, la
compréhension de ses différents composants, ainsi que celui de
leur rôle respectif, et d'autre part, la connaissance de ses
différentes phases de fonctionnement.
10. PPPoX : terme générique utilisé pour
désigner l'ensemble des protocoles définis à parti d'une
encapsulation du protocole PPP sur un réseau de type X. Nous pouvons
notamment distinguer : PPPoE (encapsulation de PPP au dessus d'Ethernet), et
PPPoA (encapsulation de PPP au-dessus de l'ATM Adaptation Layer 5 - AAL5)
11. Pour de plus amples informations sur le protocole PPP se
référer à la RFC 1661
2.4.1.1 Les composants du protocole PPP
Le protocole PPP est composé de trois
éléments :
- un protocole de contrôle de liaison, LCP
(Link Control Protocol), qui a pour rôle
d'établir, de configurer, de tester et d'interrompre la liaison;
- une famille de protocoles de contrôle, NCPs
(Network Control Protocols), qui a pour rôle de lancer
et de configurer différents protocoles de la couche réseau,
NPs (Network Protocols);
- une méthode d'encapsulation permettant de transporter
sur la même liaison les données en provenance de plusieurs
protocoles de la couche réseau en même temps.
La figure 2.4 indique la place respective des différents
composants du protocole PPP (dans le modèle OSI 12) et leur
répartition temporelle (le temps s'écoulant de gauche à
droite).
2.4.1.2 Les étapes de fonctionnement du
protocole PPP
Lors d'une tentative de connexion, il est nécessaire de
franchir un certain nombre d'étapes avant d'envoyer des données.
L'on s'assure ainsi que la communication est bien possible entre les deux
intervenants et qu'ils sont bien d'accord sur la façon d'échanger
les informations. Ces étapes illustrées par la figure 2.5, sont
les suivantes :
- Phase liaison morte (Dead),
état correspondant à un moment où la liaison n'est pas
prête à recevoir des données. Toute connexion commence par
cette étape. Le protocole PPP passe à l'étape suivante
(événement "UP") lorsqu'un événement
extérieur se produit, notamment une détection d'une porteuse;
12. Le modèle OSI (Open Systems
Interconnections) est un modèle de référence pour les
protocoles. Il est définit sur 7 couches qui sont de la couche la plus
basse à celle la plus haute: Physique, Liaison, Réseau,
Transport, Session, Présentation et Application.
FIGURE 2.4 Disposition des composants du protocole PPP
Source: D'après le schéma de (Labouret et
Lator, 1998)
- Phase d'établissement de liaison
(Establish), phase au cours de laquelle la liaison est
établie et configurée, notamment au travers du protocole LCP;
- Phase d'identification
(Authenticate), phase nécessaire si l'utilisation d'un
protocole d'authentification a été demandée pendant les
négociations du LCP. Ce protocole est lancé avant tout autre
échange de données. Si cette phase échoue la liaison est
coupée (événement "DOWN");
- Phase de configuration et d'utilisation des
différents protocoles de la couche réseau
(Network), une fois la liaison établie par le LCP, un
ou plusieurs NCPs doivent être configurés pour permettre aux
protocoles correspondants de transférer des données par
encapsulage dans les trames PPP. Dés qu'un NCP a atteint l'état
ouvert, le NP correspondant peut transporter des données jusqu'à
la fermeture de son NCP;
- Phase de terminaison (Terminate),
la fermeture de la liaison nécessite l'utilisation de LCP par
échange de paquets de type Terminate. Le LCP informe alors les
protocoles de la couche réseau (NPs) que la liaison va être
coupée. Si la terminaison est provoquée
de manière délibérée par envoi
d'un paquet de type Terminate-Request, il faut attendre
l'arrivée d'un paquet de type Terminate-Ack avant de fermer
effectivement la liaison par l'événement Down.
FIGURE 2.5 Les étapes de fonctionnement du protocole
PPP
2.4.2 Le principe de fonctionnement d'Ethernet
Ethernet, aussi connu sous le nom de norme IEEE
802.3, est un standard de transmission de données pour
réseau local. C'est une technologie de réseau très
usitée, car le prix de revient d'un tel réseau n'est pas
très élevé.
Nous distinguons principalement, selon leur mode de
fonctionnement, deux topologies Ethernet:
- l'Ethernet partagé (topologie en bus);
- l'Ethernet commuté (topologie en
étoile).
2.4.2.1 L'Ethernet partagé
Dans cette topologie, tous les ordinateurs du réseau
Ethernet sont reliés à une même ligne de transmission, et
la communication se fait à l'aide du protocole
CSMA/CD13.
Avec ce protocole toute machine est autorisée à
émettre sur la ligne à n'importe quel moment et sans notion de
priorité entre les machines. Cette communication se fait sur les
principes suivants :
- Chaque machine désireuse d'émettre
vérifie qu'il n'y a aucune communication sur la ligne avant
d'émettre.
- Si au moins deux machines émettent
simultanément, alors il y'a collision.
- Lors d'une détection de collision, les machines
protagonistes, tirent chacune un délai de temps aléatoire, puis
la première ayant passé ce délai peut
réémettre.
En pratique la communication dans un réseau
Ethernet partagé fonctionne comme une discussion ordinaire,
où les intervenants utilisent tous le médium commun, l'air, pour
s'adresser à un tiers. Avant de parler, chaque personne attend,
poliment, qu'il n'y ait plus personne en train de parler. Si deux personnes
commencent à parler en même temps, les deux s'arrêtent et
attendent un court temps aléatoire. Dans ces conditions, il existe de
bonnes chances que les deux personnes attendent un délai
différent, évitant donc une autre collision. Lorsque plusieurs
collisions surviennent consécutivement, des temps d'attente
élevés sont observés.
Ce principe de communication est basé sur plusieurs
contraintes, notamment : - les paquets de données doivent avoir une
taille maximale;
13. CSMA/CD (Carrier Sense Multiple Access with Collision
Detect) : protocole d'écoute de porteuse à accès multiple
et avec détection de collision, qui régit la façon dont
les postes accèdent au média. Il est à noter que l'on
parle de collision lorsque plusieurs trames de données se trouvent sur
la ligne de communication au même moment.
- il doit exister un temps d'attente entre deux transmissions,
temps devant varier selon la fréquence des collisions.
Il est à noter que, dans un réseau en topologie
Ethernet partagé, tout message émis est entendu par l'ensemble
des machines raccordées au réseau et que la bande passante
disponible est partagée entre elles.
2.4.2.2 L'Ethernet commuté
Dans l'Ethernet partagé, toute information
envoyée par un poste est reçue par tous les autres, même si
cette information était destinée à une seule personne. Ce
type de communication « quelqu'un parle, tous les autres entendent
» pose un problème de confidentialité, que
résout partiellement l'Ethernet commuté.
L'Ethernet commuté est un réseau Ethernet en
étoile centré sur un commutateur14 . Lorsque ce
dernier reçoit une trame, il compare son adresse MAC de destination avec
sa table de correspondance, et ne la diffuse qu'uniquement sur le port physique
concerné. Comme le trafic émis et reçu n'est plus transmis
sur tous les ports, il devient beaucoup plus difficile d'écouter
(passivement/activement) ce qui se passe; ce qui contribue à augmenter
la sécurité générale du réseau.
2.4.3 Le principe de fonctionnement du protocole PPP sur
Ethernet
Les Point-to-Point over X ont été
développés pour offrir des fonctionnalités
supérieures à celles qu'offre PPP, tout en conservant les
caractéristiques principales de PPP, principalement l'identification
nominative des clients.
Pour ce qui est de PPPoE15 , les nouvelles
possibilités mises à disposition concernent essentiellement les
relations multipoints disponibles pour des environnements multi-accès
comme Ethernet. Ainsi, plusieurs machines connectées sur un même
brin Ethernet peuventelles alors utiliser PPPoE pour ouvrir des sessions PPP
via un modem. Avec ce modèle, chaque machine utilise sa propre pile PPP,
ce qui facilite, entre autres, une facturation par utilisateur. La figure 2.6
en est une illustration.
FIGURE 2.6 Pile protocolaire PPPoE
Source: D'après le schéma relatif
à la présentation du protcole PPPoE de
(Langlois,
Polycopié sur ADSL)
C'est ainsi que pour établir une connexion point
à point sur Ethernet, chaque client doit apprendre l'adresse MAC de la
machine distante pour permettre l'établissement d'un identifiant unique
et d'une session PPP. La mise en place d'une liaison PPPoE s'effectue alors en
deux étapes : une première phase d'apprentissage dite
étape de découverte et une seconde proprement dite
d'établissement de la session PPP, comme décrite ci-dessous.
15. La description complète de PPPoE, qui est une
méthode de transmission de PPP au dessus d'Ethernet (PPP over Ethernet)
est faite dans la RF516.
2.4.3.1 La phase d'apprentissage
La phase d'apprentissage qui se déroule en quatre
étapes, s'achève lorsque chaque poste client connaît
l'identifiant de session PPPoE (PPPoE SESSION_ID) ainsi que l'adresse
Ethernet de son vis à vis; ce qui suffit à définir une
session PPPoE. Les étapes de cette phase sont :
- Émission d'un paquet broadcast
(PADI,PPPoE Active Discovery Initiation) par le poste
désireux d'établir une communication, afin d'identifier son
interlocuteur sur le réseau (NAS-ISP);
- Émission d'un paquet d'offres (PADO,
PPPoE Active Discovery Offer) par un concentrateur d'accès ou
plus. En effet, étant sur un réseau Ethernet, plusieurs
concentrateurs sont présents sur ce réseau et parmi eux, il y'a
celui avec lequel l'on veut établir le lien PPP. Quand ce dernier
reçoit le PADI, il répond en envoyant un paquet PADO en unicast
à l'adresse de l'hôte contenu dans le PADI;
- Émission d'un paquet de demande de session unicast
(PADR, PPPoE Active Discovery Request) par
l'hôte. Puisque le PADI est envoyé en broadcast, l'hôte peut
recevoir plusieurs PADO. Après examen des différents PADO
reçus, l'hôte effectué un choix qui peut être
basé sur le nom du concentrateur d'accès ou sur les services
offerts, et envoie un paquet PADR au concentrateur d'accès
sélectionné;
- Émission d'un paquet de confirmation
(PADS, PPPoE Active Discovery Session Confirmation)
par le concentrateur d'accès sélectionné. Quand le
concentrateur d'accès reçoit un paquet PADR, il se prépare
à commencer une session PPP. Pour cela, Il produit une SESSION_ID unique
pour la session PPPoE et répond à l'hôte avec un PADS
contenant notamment l'identifiant de session produit et l'adresse MAC du
concentrateur d'accès.
Après avoir envoyé le paquet de confirmation et
dès sa réception par l'hôte, la connexion passe à la
phase d'établissement de la session PPP.
2.4.3.2 La phase d'établissement de la session
PPP
Cette phase, consiste d'une part, en l'authentification du
client par le serveur d'accès distant via le composant LCP du protocole
PPP et d'autre part, en l'obtention d'une configuration valide pour
l'utilisateur-client (Adresse IP, Adresses de DNS et passerelle, la passerelle
étant bien entendu le serveur d'accès lui-même), exactement
comme s'il s'agissait d'une connexion « classique » par modem RTC.
Conclusion
En résumé, un poste sur lequel le protocole
PPPoE a été implanté, désireux de communiquer avec
un serveur d'accès distants (Broadband Remote Access Server,
BRAS), suit le principe de communication ci-après :
1. l'établissement d'une connexion PPPoE avec obtention
d'un identifiant de session;
2. l'identification du client via le protocole de gestion et de
maintenance d'une connexion PPP (LCP);
3. l'obtention des paramètres de connexion IP par ce
même protocole LCP;
4. le transport des datagrammes IP par PPP, lui-même
transporté par Ethernet.
A contrario du protocole PPP qui établit une liaison
point à point, le protocole PPPoE établit quant à lui une
relation client-serveur, via une phase d'apprentissage, où un hôte
peut choisir entre plusieurs BRAS pour l'établissement de la session.
Une fois que la phase d'apprentissage est terminée,
l'hôte et le BRAS possèdent les éléments
nécessaires pour créer une connexion point à point
au-dessus d'Ethernet.
2.4.4 L'authentification via le protocole PPPoE
L'authentification via le protocole PPPoE, illustrée en
la figure 2.7, se fait, d'une part sur la liaison utilisateur/NAS, notamment,
au travers des protocoles d'authentification PAP (Password Authentification
Protocol) ou CHAP (Challenge Handshake Authentification
Protocol), qui sont chargés de transférer les
paramètres de connexion (login et password) au serveur d'accès
distant; et d'autre part, sur la liaison NAS/ Serveur RADIUS, où le NAS,
dès réception des paramètres de connexion, les fait suivre
au client RADIUS, lequel demande au serveur RADIUS d'effectuer un
contrôle d'identité sur ces derniers.
FIGURE 2.7 Processus d'authentification du protocole PPPoE au
protocole RADIUS
Source: (Langlois, Polycopié sur
ADSL)
Il est à noter que dans le processus
d'authentification, ci-dessus illustré, le serveur Radius client est un
équipement réseau qui joue à la fois les rôles de
serveur et de client Radius. D'autres configurations sont possibles, notamment,
celle où le NAS joue à la fois le rôle de serveur
d'accès distant PPPoE et celui de client RADIUS, tandis que le serveur
d'authentification, ne joue que le rôle de serveur RADIUS. Dans les
lignes qui suivent, l'on
n'aborde que les protocoles d'authentification PPP sur la
liaison utilisateur/NAS. Pour ce qui est de la communication client et serveur
RADIUS (bien vouloir vous référer à l'annexe E).
2.4.4.1 Le protocole d'authentification PAP
Le protocole PAP qui est un protocole de contrôle de
lien PPP, fournit une méthode de contrôle de l'identité des
utilisateurs sur une liaison point à point et ce, uniquement lors de la
phase d'établissement de la session PPP. En effet, après
l'établissement du lien de connexion PPPoE, le couple login et mot de
passe est envoyé à plusieurs reprises par l'utilisateur au
serveur d'authentification jusqu'à ce qu'il soit authentifié ou
que la connexion soit rompue.
Le protocole PAP, n'est pas une méthode
d'authentification forte. Les mots de passe sont envoyés en clair dans
le tunnel PPPoE, et il n'existe aucune méthode de protection contre les
attaques passives ou le << rejeu >>. Cette méthode
d'authentification est particulièrement appropriée dans les cas
où un mot de passe en texte claire doit être disponible pour
simuler une connexion à un hôte distant.
2.4.4.2 Le protocole d'authentification CHAP
Le protocole CHAP qui est un protocole d'authentification pour
PPP, est utilisé pour la vérification périodique de
l'identité d'un utilisateur. L'on fait usage de ce dernier, lors de la
phase d'établissement de la session PPP, comme dans le cas de
l'utilisation du protocole PAP, mais aussi à chaque fois que cela est
nécessaire après l'établissement du lien.
à l'utilisateur, lequel répond avec une valeur
calculée en utilisant une fonction de hachage. L'authentificateur
vérifie la réponse avec son propre calcul de la valeur attendue.
Si les valeurs correspondent, l'utilisateur est authentifié, sinon la
connexion est interrompue. Ultérieurement, à des intervalles
aléatoires, l'authentificateur envoie un nouveau challenge aux
utilisateurs, et répète les étapes
précédentes.
Enfin, le protocole CHAP assure la protection contre les
attaques de << rejeu >>, en utilisant, notamment, une valeur de
challenge variable, et un <<secret>> connu seulement de
l'authentificateur et de l'utilisateur. Ce dernier, qui n'est pas envoyé
sur le lien, doit être stocké dans une base de données de
mots de passe chiffrés de manière réversible.
CHAPITRE 3
L'ANALYSE CRITIQUE DE L'ÉTAT DES
LIEUX
Au regard de l'état de l'art présenté
ci-dessus et s'agissant particulièrement de l'utilisation du protocole
PPPoE, sur la branche utilisateur-client/ serveur d'accès distant
(NAS-ISP), pour assurer l'authentification et la
confidentialité des échanges utilisateur-client NASISP, l'on a
observé que l'entreprise Ringo S.A. fait usage du portail captif pour
assurer l'authentification des utilisateur-clients. Cet usage pose un certain
nombre de problèmes tant pour le gestionnaire de l'infrastructure, que
pour les clients du réseau. Ainsi donc, pour mettre en exergue ces
problèmes, notre analyse se borne-t-elle à faire ressortir
exclusivement les insuffisances engendrées par l'usage du portail
captif.
3.1 Les insuffisances liées à la
codification des applications web
Le portail captif, comme la plupart des applications web, est
sujet aux injections SQL 1. En effet, si l'on ne s'est pas
assuré, lors de la programmation, des formats du login et/ou du mot de
passe en paramètres, il est possible pour un hacker d'insérer une
requête SQL dans l'un des champs dédiés à l'une des
variables précitées, particulièrement à celui
dédié au login, qui une fois exécutée, permet
d'obtenir des informations confidentielles de la base de données.
1. SQL(Simple Query Language) est un langage
informatique normalisé et utilisé notamment pour des
opérations d'accès sur des bases de données.
3.2 L'exposition aux risques d'attaques de
l'infrastructure
Le fait que d'une part, l'utilisateur-client accède aux
adresses MAC et IP avant authentification; et que d'autre part le réseau
Wifi soit un réseau de type Ethernet, ouvert à toutes les
indiscrétions, expose certains éléments de
l'infrastructure, que sont notamment les serveurs et les postes clients,
à des attaques de couche 2 et à la corruption du cache
ARP2.
3.3 La possibilité de répudiation des
actions effectuées
Le volet pris en considération est relatif à
l'identification de l'utilisateur par le gestionnaire. En effet, le
gestionnaire ne sait pas qui fait quoi, car le couple utilisé pour
identifier l'utilisateur, notamment les adresses MAC et IP, identifie en
réalité la machine de l'utilisateur sur le réseau, et non
l'utilisateur authentifié. De plus, une machine peut être
utilisée par une ou plusieurs personnes pour accéder à une
ressource, du fait que ce soit la machine que l'on identifie pose le
problème de la traçabilité des actions des utilisateurs.
Ainsi, le gestionnaire d'infrastructure se retrouve-t-il dans
l'impossibilité d'associer une action à un utilisateur
précis.
3.4 L'instabilité de la connexion Internet
L'usage du portail captif fait avec l'usage en parallèle
du protocole HTTP (Hypertext
Transfer Protocol) n'assure pas la
stabilité du lien de connexion et sa sécurité.
Ainsi,
l'utilisateur-client, peut-il se retrouver en train de perdre sa
connexion internet, sans pré-
2. ARP (Address Resolution Protocol) est un protocole
effectuant la traduction d'une adresse de protocole de couche réseau
(typiquement une adresse IP) en une adresse MAC (typiquement une adresse
Ethernet), ou même de tout matériel de couche liaison.
avis. Cette perte n'empêchant pas le NAS de continuer le
décompte des droits d'autorisation aux ressources de
l'utilisateur-client. En effet ni le NAS, ni le client n'est informé de
la rupture du lien, ce dernier ne se rendra compte que lors de sa prochaine
requête web, avec possibilité de perte de tous ses droits.
3.5 L'absence de confidentialité des
échanges
Tout individu disposant des compétences
nécessaires et voulant remettre en question la confidentialité
des échanges, a à sa disposition différents outils,
notamment snort, wire-shark, et dsniff, lui permettant d'écouter le
réseau, de repérer des requêtes intéressantes et
d'insérer des réponses adaptées et malicieuses, pour
accéder aux ressources du système.
En effet, une attaque telle que celle de l'homme du milieu (Man
In the Middle Attack) par
détournement de session par DNS
spoofing3 est réalisable. Le pirate procède de la
sorte :
1. Il exécute l'outil dnsspoof inclus dans dsniff sur sa
machine, pour écouter les requêtes DNS sur le réseau;
2. L'utilisateur-client A envoie une requête DNS, afin de
communiquer avec l'hôte B; par exemple le NAS qui est la passerelle par
défaut;
3. L'outil dnsspoof intercepte cette requête est
répond rapidement avec une fausse correspondance (adresse IP du site
pirate);
4. L'utilisateur-client A se connecte au site pirate, pensant se
trouver sur le site de l'hôte B;
5. A ce stade, tout le trafic peut être
interprété par le pirate.
3. Le DNS spoofing consiste à corrompre un serveur DNS
(Domain Name Server) de manière à rediriger l'appel à un
site légitime vers un autre site (site pirate). L'outil dnsspoof inclus
dans dsniff permet de réaliser une telle attaque.
3.6 L'usurpation d'identité
La confidentialité d'identité d'utilisateur est
menacée du fait de l'usage du portail captif. En effet, son usage passe
par l'utilisation d'un serveur d'accès distant identifiant un
utilisateur par le couple adresse MAC et adresse IP, deux paramètres qui
sont facilement usurpables. Ainsi, le support de communication étant un
médium ouvert (Wifi), une attaque telle que la corruption de cache ARP
est possible.
Les conversations du type « who-is », en mode
diffusion, génèrent du trafic réseau et un système
de cache ARP est utilisé pour ne pas demander à chaque fois qui
est qui. Ainsi, exécuter une requête ARP en unicast pour demander
une conversion revient à usurper une adresse IP de l'hôte et
à bâtir une trame avec l'adresse MAC de l'usurpateur, pour se
faire passer pour l'hôte et se voir attribuer son trafic.
Aussi, cette opération occasionne-t-elle une mise
à jour du cache ARP du destinataire (NAS) avec de fausses
données. Plus tard le destinataire enverra à l'adresse IP de
l'attaquant toutes les trames destinées à l'hôte dont
l'identité réseau aura été usurpée. Deux cas
de figures sont envisageables.
D'une part, l'hôte est isolé et le pirate
bénéficie de tous ses droits, avec pour conséquence
notable, pour le cas d'espèce, l'épuisement des droits
d'autorisation du client légitime, et pour le cas général
la fuite d'informations critiques. La figure 3.1 sur l'isolement d'un
hôte par corruption de cache illustre ce propos.
D'autre part, le pirate et l'hôte cohabite en se
partageant le trafic de ce dernier, avec pour conséquence notable une
perte pécuniaire pour le FAI, car pour ce dernier, le trafic n'est
à l'usage que par l'hôte. La figure 3.2 sur la cohabitation
hôte/hackeur par corruption de cache illustre ce propos.
FIGURE 3.1 Isolement d'un hôte par corruption de cache
ARP
Source: D'après le document Wifi et Portails
captifs, Principes et limitations.
(Blancher, 2007)
FIGURE 3.2 Cohabitation hackeur/hôte par corruption de
cache ARP
Source: D'après le document Wifi et Portails
captifs, Principes et limitations.
(Blancher, 2007)
Conclusion partielle
Au terme de cette analyse, il est à noter que les
insuffisances précitées ne constituent pas une liste exhaustive
des attaques réalisables sur une infrastructure d'authentification via
portail captif, utilisant particulièrement le couple adresse MAC et
adresse IP pour identifier un utilisateur-client. Ainsi, existe-t-il mille et
une façons de mettre en difficulté la confidentialité d'un
utilisateur-client faisant usage d'un portail captif pour s'authentifier.
Dans le cas de l'entreprise Ringo S.A., le problème se
pose particulièrement en termes : d'instabilité de la connexion
Internet; d'absence de confidentialité des échanges et
d'usurpation d'identité avec cohabitation hackeur/hôte par
corruption de cache. Aussi, de l'état de l'art ci-avant
mentionné, nous pouvons dire que l'utilisation du protocole PPPoE
per-met, entre autres, de :
- faciliter la gestion de la facturation de l'usage des
ressources par les utilisateur-clients, de par l'utilisation de pile
protocolaire PPP individuel;
- assurer la confidentialité des échanges
utilisateur-clients/NAS-ISP, par la mise en place d'un tunnel d'échange
entre eux;
- assurer la stabilité et la fiabilité du lien de
connexion, de part respectivement l'utilisation du composant LCP et la
création d'un tunnel PPPoE;
- permettre une meilleure traçabilité des clients
du réseau, par l'utilisation du couple login/mot de passe et du
protocole RADIUS.
CHAPITRE 4
« RINGODIALER » : LE CLIENT
D'AUTHENTIFICATION VIA PROTOCOLE
PPPOE DE RINGO S.A.
De l'analyse critique susmentionnée, et au contraire de
l'utilisation du portail captif, qui se révèle
désavantageux pour le gestionnaire de l'infrastructure et les clients du
réseau, l'utilisation de PPPoE s'avère être la solution de
mise en oeuvre idéale pour pallier, notamment, l'absence de
confidentialité d'identité de l'utilisateur et
l'instabilité du lien de connexion.
Nonobstant le fait précédemment
mentionné, des zones d'ombre notables existent par rapport à
l'intégration du protocole PPPoE dans l'architecture réseau et la
manière dont les obligations du cahier de charges sont remplies. Ainsi,
dans cette partie, abordons-nous successivement :
- l'intégration du protocole PPPoE dans l'architecture
réseau;
- l'analyse et la conception du « dialeur » de
l'entreprise Ringo S.A.; - l'exécution de « RingoDialer », par
présentation de scénarii de tests.
4.1 L'intégration du protocole PPPoE dans
l'architecture réseau
L'objet de cette section est d'une part, de présenter
le déploiement du RingoDialer conformément aux
spécifications énoncées dans le cahier de charges, et
d'autre part de mettre en relief les différents équipements
devant être intégrer dans l'architecture, en spécifiant le
rôle de chacun d'eux. Ainsi, la figure 4.1 portant sur le
déploiement et l'incorporation à l'architecture réseau du
dialeur de Ringo S.A., illustre-t-elle ses aspects.
FIGURE 4.1 Déploiement de RingoDialer
De l'état des lieux, nous avons connaissance de la
présence d'un serveur d'accès distant, qui joue
simultanément les rôles de portail captif, de serveur DHCP et de
client radius (compteur des droits d'accès à Internet). Dans la
proposition de déploiement faite cidessus, l'on se propose de scinder le
NAS en deux grands composants, que sont :
- d'une part un serveur web, permettant à
l'utilisateur-client d'avoir connaissance de l'ensemble des informations mise
à disposition par le département Marketing. Ce serveur est en
charge des informations mises à disposition via le site web de Ringo et
accessibles à l'utilisateur par son Navigateur web qu'il soit
authentifié ou non;
- d'autre part un serveur PPPoE, qui en plus du rôle de
serveur de session PPPoE joue entre autres, les rôles de serveur DHCP, de
NAS, et de client Radius (compteur des droits d'accès).
L'utilisateur-client, via RingoDialer, l'utilise pour s'authentifier et se
faire attribuer l'autorisation d'accès à Internet.
coût de migration des moins onéreux, se fait-elle
par la substitution du serveur Mikrotik qui a assuré, notamment, les
rôles de NAS, de Portail captif, de serveur DHCP et de client Radius par
un serveur PPPoE jouant désormais les mêmes rôles à
l'exception de celui de portail captif.
En ce qui concerne l'accessibilité à un espace
publicitaire depuis le dialeur, exigence émise par le département
Marketing, deux modes de fonctionnement sont proposés : le mode à
accès libre et le mode à accès authentifié. Dans le
mode à accès libre l'utilisateurclient peut avoir accès
à certains services que sont, notamment, la recharge et la consultation
des droits d'accès au travers d'un navigateur web ou du dialeur, et dans
le mode à accès authentifié, l'utilisateur-client à
accès à Internet et aux autres services proposés en mode
à accès libre.
L'intérêt de la solution proposée est
d'une part de conserver le site web en extranet pour l'espace publicitaire et
l'information des utilisateur-clients, et d'autre part de garantir la
confidentialité des échanges des utilisateurs avec le NAS-ISP par
la mise en place d'une application-client d'authentification via protocole
PPPoE dit « RingoDialer ».
Pour des raisons d'éventuelles congestions du
réseau, du fait de la fréquente vérification de
l'identité des utilisateurs, l'on a préféré faire
usage du protocole d'authentification PAP au lieu du protocole CHAP, dans
l'utilisation du protocole PPPoE.
4.2 L'analyse et la conception de l'application «
RingoDialer »
Pour mettre en uvre une application appelante (dialeur) pour
une structure telle que la société Ringo S.A., il est
nécessaire d'une part, de connaître le schéma de
communication dialeur/NAS-ISP et d'autre part, de s'assurer de la
disponibilité de certaines ressources estimées primordiales pour
le lancement de sa mise en uvre. Ainsi allons-nous aborder
successivement :
- le schéma de communication RingoDialer/NAS-ISP;
- les pré-requis de la mise en oeuvre du client
RingoDialer; - l'application-client d'authentification « RingoDialer
».
4.2.1 Le schéma de communication « RingoDialer
»/Système d'authentification
L'interaction entre l'application-cliente RingoDialer et le
système d'authentification du fournisseur d'accès internet,
illustrée par la figure 4.2, fait appel à deux grands composants,
que sont :
- un serveur web : celui-ci est accessible par des
requêtes dites basiques, notamment par la création d'un nouveau
compte et consultation du solde, et ce, indépendamment du mode
d'accès (accès libre ou accès authentifié);
- un système central qui est le système
d'authentification mis en place par le FAI, tel que présenté en
4.1.
Lorsque l'utilisateur-client connecte son modem, une
première configuration réseau lui est attribuée. Cette
dernière place le dialeur en mode à accès libre et permet
ainsi à l'utilisateur de solliciter des services basiques du FAI. Cette
configuration réseau, attribuée en DHCP sans établissement
d'une session PPPoE, confine l'utilisateur dans l'extranet du FAI. Aussi, les
requêtes dites basiques se limitent-elles à l'extranet du FAI.
Lorsque l'utilisateur-client veut avoir accès à
Internet, il sollicite le système d'authentification, par une
requête transportant ses paramètres d'identification (login et mot
de passe). Ses paramètres transitent par une liaison PPPoE
établie par le RingoDialer, comme énoncé dans la
sous-partie portant sur le principe de fonctionnement de PPPoE.
Dès lors, deux cas sont envisageables :
FIGURE 4.2 Schéma de communication
RingoDialer/Système d'authentification
- d'une part; si l'identification de l'utilisateur-client, via
le sous-protocole LCP (Link Control Protocol) du serveur PPPoE
réussit, alors ce dernier se voit attribuer une nouvelle configuration
réseau lui permettant d'accéder à l'Internet, après
vérification de ses droits d'accès via les services offerts par
le serveur RADIUS;
- d'autre part, si l'identification de l'utilisateur-client
n'aboutit pas, soit pour insuffisance de droits d'accès, soit pour
instabilité de la connexion, alors par analogie avec un modem RTC la
ligne est « raccrochée », et le client réseau, dans le
dernier cas, peut reprendre la tentative de connexion à son
début.
L'attribution de la nouvelle configuration réseau, lors
du passage du mode à accès libre au mode à accès
authentifié, se justifie surtout par le souci de pallier une
éventuelle usurpation d'identité qui se serait produite lorsque
l'utilisateur-client se trouvait en mode à accès libre.
passer automatiquement du mode à accès
authentifié au mode à accès libre.
Lorsque le client souhaite avoir accès à
certains services web, notamment, la consultation de son espace client et
l'accréditation de son compte pour l'accès à Internet,
deux cas sont envisageables :
- soit sa requête de service n'est pas
implémentée dans le dialeur, auquel cas ce dernier
délègue le traitement de la requête au navigateur web de
l'utilisateur, qui le positionne sur le site web de l'entreprise disponible en
extranet, tel est le cas pour la demande de service de consultation de l'espace
client;
- soit sa requête de service est prise en compte par le
dialeur, qui se charge de faire parvenir la requête web de l'utilisateur
au serveur web, en lui demandant au préalable un certain nombre
d'informations, tel est le cas pour le service d'accréditation de compte
pour accès à Internet.
En somme, selon le type de requête, le dialeur interroge
soit le serveur web, directement ou indirectement par l'intermédiaire du
navigateur web, soit le serveur PPPoE.
4.2.2 Les pré-requis de la mise en oeuvre de
l'application « RingoDialer »
Les réflexions précédentes laissent
entrevoir la nécessité de mettre en place un certain nombre de
préalables à la mise en uvre et au fonctionnement du RingoDialer.
Afin de les mettre en exergue, nous présentons dans les lignes qui
suivent :
- l'architecture logicielle adoptée pour la mise en uvre
du dialeur;
- le composant de gestion de la communication dialeur/NAS-ISP
depuis le système d'exploitation hôte;
- le framework technique des principaux concepts utilisés
par le dialeur.
4.2.2.1 L'architecture logicielle
Inspirée du style architecturale Model-View-Controller
(MVC), l'organisation spatiale des composantes du RingoDialer a pour objectifs
de :
- permettre une maintenance corrective et évolutive
aisée;
- faciliter le développement d'une application polymorphe
et modulaire; - faciliter le transfert de l'application vers une plate-forme
différente.
Cette organisation est celle retenue et illustrée par la
figure 4.3.
FIGURE 4.3 Organisation des composantes logicielles du
RingoDialer
Au sommet de l'arborescence de l'architecture, nous avons le
paquetage software, qui regroupe tous les programmes et fichiers constitutifs
du logiciel. Ce paquetage est subdivisé en huit (8) sous-paquetages que
sont :
- le paquetage startup regroupe l'ensemble des
programmes ou codes nécessaires au lancement de l'application;
- le paquetage lib regroupe l'ensemble des librairies
externes nécessaires à la mise en oeuvre de l'application ;
- le paquetage resource représente l'ensemble des
ressources statiques et internes del'application. Notamment les images, les
fichiers de configuration et autres ressources utiles
au bon fonctionnement de l'application;
- le paquetage interface regroupe les
différents « fichiers colles » développées pour
adapter le comportement d'un composant externe à celui de l'application.
Nous faisons notamment référence d'une part aux fichiers
d'adaptation d'une implémentation du protocole PPPoE et d'autre part
à ceux permettant de manipuler aisément les composants autonomes
propres à l'application;
- le paquetage component regroupe un ensemble de
composants autonomes développés
pour des besoins fonctionnels spécifiques. Nous y
reviendrons ultérieurement;
- le paquetage util regroupe les différents bouts
de code ou programmes nécessaires à la
réalisation et à la manipulation de l'interface
homme-machine de l'application;
- le paquetage helper regroupe l'ensemble des
traitements utiles à la réalisation et à la
manipulation de certaines ressources de l'application à
mettre en oeuvre;
- le paquetage exception regroupe l'ensemble des
programmes de gestion des erreurs; - le paquetage test regroupe
l'ensemble des tests fonctionnels effectués.
Il est à noter que les composants sous le paquetage
component, sont des mini-applications, prenant eux-mêmes en
charge leurs ressources, leurs utilitaires, leurs entrées
(contrôleurs), leurs sorties (vues) et surtout leurs traitements
(modèles). En d'autres termes, chaque composant peut avoir la même
architecture que celle proposée pour l'application finale. C'est donc
ainsi, que le paquetage d'un composant, sous le paquetage component,
est-il fractionné de la sorte :
- le paquetage resource, regroupe l'ensemble des
ressources nécessaires au fonctionnement en « standalone » du
composant;
- le paquetage controller regroupe l'ensemble des
programmes de contrôle des entrées du composant;
- le paquetage view regroupe l'ensemble des interfaces
homme-machine mis à disposition par le composant;
- le paquetage model regroupe l'ensemble des
traitements du composant et est segmenté
en trois sous paquetages que sont :
- le paquetage base qui représente l'ensemble
des traitements de base du composant; - le paquetage event qui
représente les différents événements émis
par le composant; - le paquetage listener qui représente
l'ensemble des traitements des événements émis
par le composant.
- le paquetage helper regroupe tous les traitements
utiles à la réalisation du composant.
L'on reviendra ultérieurement sur les composants connexion
et webservice dans la partie portant sur l'application-client
d'authentification « RingoDialer ».
4.2.2.2 Le Framework de développement
Afin d'atteindre les objectifs fixés, par l'adoption de
l'architecture logicielle précédemment présentée,
nous avons opté pour le développement d'un framework, dit
MVCFramework, qui a pour objectif d'uniformiser et de
réutiliser les mêmes mécanismes pour l'ensemble des
segments de code du dialeur. Aussi, pour ce faire, le framework,
illustré à la figure 4.4, met-il à disposition les
concepts suivants :
- le modèle : concept qui permet de
faire une distinction claire entre la couche métier et tout autre couche
de l'application en développement. Il est implémenté au
travers des classes et interfaces d'implémentations suivantes :
Event, Listener, Model et SuperModel. L'on
peut, ainsi obtenir des modèles simples par la combinaison
d'Event, Listener et Model, ou des modèles
composés (SuperModel) à partir de modèles simples
et/ou d'autres modèles composés;
- la vue : concept par lequel une application
ou un composant peut avoir une interface homme-machine. L'on peut ainsi
définir une vue simple par la classe d'implémentation View
ou une vue composée par la classe d'implémentation
SuperView. L'on entend par vue composée : une vue obtenue par
combinaison de vues simples et/ou d'autres vues
composées;
- le contrôleur : concept qui permet
l'encapsulation de la logique de communication entre la couche métier,
représenté par le concept modèle, et la couche
utilisateur, représenté par le concept vue. L'on a ainsi deux
types de contrôleur : d'une part le contrôleur de modèle et
de vue simples implémenté par la classe Controller et
d'autre part le contrôleur de modèles et de vues composés,
implémenté par la classe SuperController ;
- la resource: concept qui fournit à
une application ou à un composant, entre autres : la possibilité
de mettre à disposition des paramètres de configuration
(Parameter et Resource); des paramètres et/ou des ressources
multilingues (MultilingualParameter, MultilingualResource); des
ressources ou des paramètres constitués à partir de
ressources ou paramètres existants déjà
(SuperMultilingualResource) et des méthodes localisées
dans la classe d'implémentation Helper, qui permettent
d'accéder à des ressources physiques que sont notamment des
images et des fichiers de configuration;
- le module: concept qui permet d'une part de
déployer un composant comme une application autonome par la classe
d'implémentation Module et d'autre par de constituer une
application par greffe de plusieurs modules existants, par l'utilisation de la
classe d'implémentation SuperModule.
L'ensemble des concepts de MVCFramework permet de mettre en
oeuvre notamment quatre types de composants, que sont :
- les composants basiques sont des composants
dont la manipulation se fait au travers d'un contrôleur ou d'un super
contrôleur. Ils sont uniquement constitués de modèle(s), de
vue(s) et de contrôleur(s);
- les composants ressources sont des
ressources qui peuvent être utilisées par d'autres composants,
notamment des paramètres de configuration. Ce type de composant n'offre
que des services et n'ont pas de traitements particuliers à
exécuter, du moins pas de traitement directement en rapport avec la
logique métier de l'application en cours de développement;
- les composants réutilisables sont
des composants basiques auxquels l'on a associé des composants
ressources, le tout étant manipulable depuis un module ou un super
module;
- le composant Application au contraire des
autres composants, est un composant directement implémenté dans
MVCFramework. Il est la représentation abstraite de l'application en
cours de développement. C'est sur lui que l'on greffe les autres
composants, à l'instar d'une plate-forme sur laquelle l'on greffe de
nouveaux plugins.
FIGURE 4.4 Diagramme de conception du Framework MVCFramework
En somme, MVCFramework est un framework de
développement qui a été conçu et
implémenté dans le but de permettre un développement
modulaire et multilingue du dialeur; ceci en s'inspirant du style architectural
interactif Model-View-Controller.
4.2.2.3 L'interface de communication
RingoDialer/NAS-ISP
Pour permettre une communication entre le dialeur et le
serveur d'accès distant du FAT (NAS-ISP), l'on a mis en place
une interface de communication capable de prendre en charge les échanges
entre le dialeur et les différentes implémentations de PPPoE,
lesquelles, dépendantes du système d'exploitation hôte,
nous permettent d'établir un lien de connexion avec le NAS-TSP.
En effet, pour chaque système d'exploitation il existe
au moins une implémentation gratuite du protocole PPPoE. Certaines
d'entre-elles sont déjà fournies par le système
d'exploitation, le cas de la librairie de développement RAS (Remote
Access Service) de Microsoft, et d'autres, indépendantes et
intégrables au système d'exploitation, sont fournies par des
tiers, le cas de l'implémentation disponible dans le client rp-ppoe de
« Roaring Penguin Software Inc. » pour Linux. Aussi,
l'interface de communication doit-elle être en mesure de pouvoir faire
appel à chacune de ses implémentations, selon que l'application
est hébergée sur une distribution Linux ou sur une distribution
Windows.
L'interface de communication, illustrée en la figure
4.5, est une partie intégrante du composant interne connexion du dialeur
qui fait appel à l'implémentation du protocole PPPoE du
système hôte pour:
- créer et configurer une entrée de connexion
internet sur le système hôte addEntry à partir
d'une entrée dont les paramètres de configuration, contenus dans
l'objet Entry-Model, sont, notamment, le nom de l'entrée, le
protocole à utiliser pour la connexion, la sécurisation ou non du
mot de passe lors des échanges client/NAS, le rappel ou non de la ligne
lors d'un échec d'établissement de connexion et l'activation des
extensions LCP;
- renommer et effacer une entrée de connexion existante
respectivement par les méthodes rename et remove;
- vérifier l'existence et l'activité d'une
entrée de connexion internet, d'une part par la méthode
entryExists et d'autre part par les méthodes entryIsActive
et entryIsDialing qui permettent respectivement de savoir si
l'entrée en paramètre est active ou est entrain d'être
appelée;
- établir ou interrompre un lien de connexion avec le
serveur d'accès distant respectivement par les méthodes dial
et hangup;
- obtenir certaines informations jugées importantes de
l'entrée en paramètre, notamment par les méthodes
getBytesReceived et getBytesTransmitted qui renseigne
respectivement sur le nombre d'octets reçus et le nombre d'octet
transmis par l'entrée de connexion en paramètre.
FIGURE 4.5 Interface de communication dialeur/NAS-ISP
En somme, l'interface de communication illustrée en la
figure 4.5, a pour objectif unique d'intégrer certaines
fonctionnalités du système d'exploitation hôte au dialeur,
ce dans le but d'une part, de généraliser à l'ensemble des
applications hôtes la communication dialeur/NAS-ISP et d'autre part de
déléguer la prise en charge de cette communication audit
système d'exploitation.
4.2.3 Le dialeur de Ringo S.A.
L'application-cliente d'authentification « RingoDialer
», est une pure production de MVCFramework. En ce sens que, pour la
réalisation du dialeur de Ringo S.A., seuls les concepts mis en oeuvre
dans MVCFramework ont été utilisés. C'est ainsi que le
diagramme de classe du dialeur, illustré à la figure 4.4, est
à l'image de celui du MVCFramework. Toutefois, de part l'architecture
logicielle mise en exergue à la figure 4.3, l'on a fait mention de deux
composants internes au dialeur, notamment, les composants connexion et
web-service, qui permettent de satisfaire les besoins et exigences de
l'utilisateur en matière d'accessibilité à Internet, d'une
part, et d'autre part à certains services web proposés par le
FAI. Le composant webservice n'intervenant pas dans le processus
d'authentification via PPPoE l'on n'en fait pas cas. Aussi, seul le composant
connexion, en charge de l'établissement de la connexion
internet via PPPoE, fait l'objet de notre attention.
Dans un souci de réutilisation du composant connexion,
et ce, de manière indépendante du dialeur pour lequel il est
créé, l'on opte pour faire de ce composant un module, au sens de
MVCFramework, pour le « RingoDialer ». Pour y parvenir, l'on
considère qu'une connexion se définit comme le passage des
paramètres nom utilisateur et mot de passe à une entrée de
connexion internet. Cette dernière étant
considérée, quant à elle, comme étant une
configuration système d'accès au NAS. Dans le but de limiter
notre développement aux besoins de l'entreprise, l'on a restreint ce
module à une entrée de connexion déjà
paramétrée. Toutefois, la conception du module, telle
qu'illustrée en la figure 4.6, est faite de sorte que le module
connexion puisse gérer simultanément différentes
entrées de connexion.
Il est à noter que, dans l'optique de permettre une
meilleure lisibilité du diagramme de conception du composant connexion,
ci-dessus illustré, seuls les concepts et relations directement
liés à la conception du module sont mis en évidence. Aussi
pour les relations ayant trait d'une part aux concepts
implémentés dans MVCFramework, et d'autre part
FIGURE 4.6 Diagramme de conception du composant connexion
au concept d'interface de communication, est-il demander de bien
vouloir se référer aux diagrammes de conception illustrés
respectivement aux figures 4.4 et 4.5.
Le composant connexion, construit sur la base d'un composant
basique nommé entrée de connexion en charge de la gestion des
configurations, est décrit de la sorte :
- la classe statique « ModuleConnection
>> fournit une instance unique du module de connexion, laquelle
instance est intégrée au dialeur par le biais du composant
Application de MVCFramework. Cette classe constitue l'interface de
communication du composant connexion à partir de laquelle l'on peut
notamment : changer la langue du module; avoir accès à l'ensemble
de ses ressources; assigner des valeurs ou s'informer des configurations du
module; lancer, interrompre, ou prendre connaissance de l'état
d'activité d'une entrée de connexion;
- le module « Connection>> est le
composant connexion, il se compose d'une part, d'un super contrôleur
« ConnectionController >>, construit depuis le
contrôleur d'une entrée de connexion «
EntryController >>; et d'autre part d'un ensemble de
ressources que sont : « ConnectionConstants >>, qui
est l'ensemble des constantes utilisées dans le
composant; « EntryMultilingualResource
» et « ConnectionMultilingualResource
», qui représentent respectivement les paramètres
multilingues des composants entrée de connexion et connexion;
- le super contrôleur «
ConnectionController » joue le rôle de courroie de
transmission entre les super vues du composant connexion (les classes filles de
« ConnectionView ») et son super modèle
(« ConnectionModel ») obtenu depuis une composition
avec le modèle d'une entrée de connexion
(«EntryModel »);
- le super modèle « ConnectionModel
» possède une instance du système d'exploitation
sur lequel le composant est implanté. Cette instance a pour vocation de
permettre la manipulation des composantes systèmes ayant notamment trait
à l'établissement et à l'interruption d'une connexion via
protocole PPPoE.
4.3 L'exécution de « RingoDialer » :
les scénarii de tests de l'application
La mise en exécution de RingoDialer se fait par
présentation de deux (2) des principaux cas d'utilisation de
l'application, notamment, les cas d'utilisation de connexion et de
déconnexion au serveur d'accès distant du fournisseur
d'accès Internet Ringo S.A. (NAS-ISP). Le diagramme d'état,
illustré en la figure 4.7, met en exergue ces deux cas d'utilisation.
Il existe trois états dans lesquels le composant connexion
peut se trouver :
- l'état déconnecté, qui
représente le moment où la connexion est inactive; -
l'état en cours, qui représente le moment de la création
du tunnel PPPoE; - l'état connecté, qui représente le
moment où la connexion est active.
FIGURE 4.7 Transitions nominales du diagramme d'états du
composant Connexion
4.3.1 Le scénario de connexion au serveur
d'accès distant
Initialement le composant connexion est dans l'état
déconnecté. Lorsque l'utilisateurclient appuie sur le bouton de
connexion, le composant se met en attente d'établissement du lien de
connexion par le système d'exploitation hôte. Si deux
échecs d'établissement de liens surviennent, le composant se
remet dans l'état déconnecté. A contrario, si le
système réussit à joindre le NAS, le dialeur lui envoie
les paramètres de connexions du utilisateur-client et attend que le NAS
lui confirme que l'utilisateur a été authentifié et peut
accéder à Internet, laquelle confirmation est
opérée, auprès du dialeur, dès réception par
le système d'exploitation hôte de configuration réseau
valide. Dès lors, le composant, passe de l'état en cours à
l'état connecté, faisant ainsi migrer le dialeur du mode à
accès libre au mode à accès authentifié.
4.3.2 Le scénario de déconnexion au serveur
d'accès distant
Comme illustrée en la figure 4.7, seule une rupture de
connexion fait passer le composant
connexion de l'état
connecté à l'état déconnecté, faisant ainsi,
migrer le dialeur du mode à
accès authentifié au mode
à accès libre. Trois cas de ruptures de connexion sont
envisagés:
- la rupture de liaison est déclenchée part le NAS,
qui a constaté l'épuisement des droits d'accès de
l'utilisateur;
- la rupture de liaison est due à une instabilité
du lien de connexion;
- la rupture de liaison est enclenchée par l'utilisateur,
sur appui d'un bouton de déconnexion, qui émet un signal au NAS
lui informant de l'intention de rupture de connexion.
Quel que soit le cas de figure de ruptures du lien de
connexion, le composant connexion ne s'occupe que de la rupture au niveau du
système hôte, tandis que le NAS se charge de la rupture au niveau
du FAI. Ainsi, via le composant LCP du protocole PPPoE, lorsque la rupture est
consumée, et ce qu'importe la cause de rupture, le RingoDialer se charge
de le signaler à l'utilisateur, tandis que le NAS se charge, notamment,
de dés allouer les ressources qui ont été affectées
à l'utilisateur et de mettre un terme au décrément de ses
droits d'accès.
CONCLUSION
Au terme du travail qui a été le nôtre, il
y'a lieu de faire remarquer que pour développer un client
d'authentification au bénéfice d'un FAI, il est nécessaire
de :
- mettre en place un système d'authentification
établi conformément aux normes et standards actuellement en
vigueur, à l'instar de l'utilisation du protocole triple-A RADIUS,
utiliser pour la gestion du contrôle d'accès au réseau, par
autorisation et authentification;
- utiliser un protocole complémentaire aux protocoles
triple-A, du type PPPoE, pour assurer la confidentialité des
échanges entre client et FAI, afin de fiabiliser la facturation à
l'usage des ressources.
Ainsi, la mise en uvre d'un client d'authentification via PPPoE,
permettant à un utilisateurclient de préserver son
identité d'une usurpation, tout en assurant la confidentialité de
ses échanges, passe par les points suivants :
1. la définition de l'architecture logicielle : en
choisissant le style architecturale permettant d'assurer, entre autres, la
réutilisabilité et l'extensibilité de l'application;
2. le choix ou la mise en uvre d'un Framework définissant
les concepts clés du style architecturale défini à
l'étape précédente;
3. la définition et la mise en uvre d'une interface de
communication entre le serveur d'accès distant et le système
d'exploitation hôte. Ladite interface devant faire usage du protocole
PPPoE;
4. la conception et la mise en uvre du client
d'authentification, en prenant en compte les points précités.
Perspectives d'améliorations
Il est annoté que dans la solution proposée,
l'on fait usage du protocole PAP1 pour l'authentification, ce qui ne
joue pas en faveur du renforcement de la sécurité lors du
transfert des paramètres d'authentification (login/password). En effet,
avec le protocole PAP les mots de passe sont véhiculés en texte
clair dans le tunnel PPPoE, ce qui ouvre la voie à une
possibilité d'attaque par « rejeu ». Ainsi, pense-t-on qu'il
est préférable, dans une version ultérieure du dialeur, de
faire usage du protocole CHAP pour améliorer la sécurité
lors du transfert des paramètres de connexion via le tunnel PPPoE.
De plus, bien que le protocole PPPoE permette d'éviter
certaines attaques, du fait de la création du tunnel entre
utilisateur-client et NAS, il n'en demeure pas moins vrai que, du fait de
l'usage du médium wifi sur de l'Ethernet, une attaque, certes
coûteuse par sa mise en oeuvre, tel que le Roque AP2 reste
possible. Toutefois, en raison de sa capacité à transporter des
trames d'autres protocoles, le protocole PPPoE offre des possibilités
énormes que le portail captif ne peut mettre à disposition.
En effet, avec le transport des trames d'autres protocoles,
l'on peut envisager que le client d'authentification RingoDialer puisse, dans
le temps, s'étendre à un certain nombre de modules au rang
desquels : la voix sur IP, la vidéoconférence et la messagerie
instantanée. Pour y parvenir, il y'a lieu de procéder, entre
autres, aux contrôles d'intégrité, de
confidentialité et de disponibilité. Cette étude
n'étant pas consacrée à conduire une telle approche, elle
pourrait faire l'objet d'une étude approfondie ultérieure.
1. À la date de la présentation de ce
mémoire, il est bon de noter que :
- l'entreprise Ringo S.A. fait désormais usage du
protocole HTTPS (HTTP Secure) pour ses transactions en intranet et extranet;
- le protocole utilisée par le « RingoDialer »,
pour authentifier les client-utilisateurs via PPPoE, est désormais le
protocole CHAP;
- l'usage du « RingoDialer » est désormais
prépondérant à celui fait avec le portail captif.
2. Voir l'annexe F à la page 77 pour de plus amples
informations
BIBLIOGRAPHIE
[1] AUDIBERT L., UML 2.0. Villetaneuse, Consulté le 10
décembre 2010. URL : http: //
www-lipn.univ-paris13.fr/~audibert/pages/enseignement/cours.htm.
[2] AUGUSTIN B., LE GUEN R., Usurpation d'identité sur
Ethernet. Université paris XII-IUT de Créteil Vitry
[3] BAILLET C., La sécurisation des points d'accès
au réseau. Hakin9, 2008, Hors série 2, Consulté le 17
octobre 2010. URL :
http://www.hakin9.org
[4] BAUVIN G., MICHAUD M., ROFES-VERNIS P.-Y.,
Sécurité SI : Authentification radius.2006. Consulté le 17
octobre 2010. URL :
http://www.rofes.fr/files/Install_
RADIUS.pdf
[5] BLANCHER C., Wifi traffic injection based attacks.
Melbourne, 2006 February 8- 10.Consulté le 25 octobre 2010. URL :
http://sid.rstack.org/pres/0602_Securecon_
WirelessInjection.pdf
[6] BLANCHER C., Wifi captive portal bypass. London, 2006
February 20-21. Consulté le 25 novembre 2010. URL :
http://eusecwest.com/esw06/esw06-blancher.pdf
[7] BLANCHER C., Wifi et Portails captifs, Principes et
limitations. Paris, 2007. Consulté le 02 novembre 2010. URL :
http://sid.rstack.org/pres/0705_Rectorat_
Hotspots.pdf
[8] BORDERES S., Authentification sur réseau sans-fil:
Utilisation d'un serveur radius. RAISIN, 2005. Consulté le 01 octobre
2010. URL :
http://raisin.u-bordeaux.fr/IMG/
pdf/radius.pdf
[9] CHEIKHROUHOU O., MAKNAVICIUS M.L., MAHER BEN JEMAA.
Nouvelle méthode d'authentification EAP-EHash. Consulté
le 27 septembre 2010. URL : http: //
www-public.it-sudparis.eu/~lauren_m/articles/mlaurent-cfip06.pdf
[10] Cisco à la problématique AAA. Consulté
le 17 novembre 2010. URL : http: //
ebookbrowse.com/cisco-a-la-problematique-aaa-doc-d96347913
[11] Cisco. Configuring and Troubleshooting PPP Password
Authentication Protocol (PAP). Consulté le 17 avril 2011. URL :
http://ccna.dastroy.be/ccna4/materiel_
cisco_ccna_4/ccna_4-configuring_and_troubleshooting_ppp_pap.pdf
[12] COLLIN C., Talweg, Solution de portail captif.
Université Metz, Mars 2005. Consulté le 27 septembre 2010. URL :
http://www.cume.fr/documents/
Presentation-Univ-Metz-WiFi.pdf
[13] Configurer PPPoE. Consulté le 27 septembre 2010, URL
:
http://www.stielec.
ac-aix-marseille.fr/cours/caleca/pppoe/
[14] FRÉMAUX, V.G., Le Protocole Point-à-Point
(PPP). EISTI, 1998. Traduction de l'édition originale de Wallen Simpson,
1994. Consulté le 27 septembre 2010. URL :
http://abcdrfc.free.fr/rfc-vf/pdf/rfc1661.pdf
[15] GAULTIER B., Authentification RADIUS sous GNU/Linux.
Rapport de stage, Université de Caen, 2007, P.51
[16] GRANDCHAMP E., Sécurité. Université
des Antilles et de la Guyane. Consulté le 17 octobre 2010. URL :
http://calamar.univ-ag.fr/uag/ufrsen/coursenligne/
egrandch/documents/Sl'curitl'.pdf
[17] LABOURET G., LATOR J.C., Le protocole de liaison de
données PPP. ENST, 1998. Consulté le 21 novembre 2010. URL :
http://www.labouret.net/ppp/
[18] LANGLOIS J.L., Polycopié sur ADSL. Consulté
le 30 janvier 2011. URL : http: //
www.licm.fr/IMG/pdf/chapitreADSLprotocoles.pdf
[19] LEE Y.-C. , HSIEH Y.-C , YOU P.-S., A secure password
authentication protocol for wireless networks. Consulté le 17 avril
2011. URL :
http://www.naun.org/journals/
computers/ijcomputers-19.pdf
[20] MOLVA R., ROUDIER Y., Protocoles d'authentification.
Institut EURECOM. Consulté le 26 octobre 2010. URL :
http://www.eurecom.fr/util/publidownload.en.
htm?id=836
[21] PFEIFFER C., GUERIN C., LASOWY F., BLUM G., Protocole
AAA, Principes et implantations. ESIAL. Consulté le 27 septembre 2010.
URL : http://www.scribd.com/ doc/57227578/A-a-A
[22] ROGIER B., BARBEREAU S., Principe et déploiement
de solution d'authentification 802.1X. Securalis, 2005. Consulté le 17
octobre 2010. URL :
http://www.securalis.
com/doc/SB-I-042005-Ppe_deploiemt_solut_auth_802-1x-v1.0.pdf
[23] SACCAVINI L., 802.1X et la sécurisation de
l'accès au réseau local. INRIA, 2003
[24] SAILLARD C., 802.1X : Solution d'authentification
sécurisée pour le futur réseau sans fil de
l'Université Louis Pasteur. Centre Réseau Communication,
Université Louis Pasteur, Strasbourg. Consulté le 2 novembre
2010. URL :
http://2003.jres.org/actes/
paper.143.pdf
[25] TANNIER E., DUMAS J.-G., ROCH J.L., VARETTE S.,
Théorie des codes : Compression, cryptage, correction. Paris : Dunod,
2007, P.352
[26] UNION INTERNATIONALE DES TÉLÉCOMMUNICATIONS
(UIT). Guide de la cybersécurité pour les pays en
développement. UIT, 2006, P.156
[27] VALLÉE F., ROQUES P., UML 2 en action : De l'analyse
des besoins à la conception. Paris : Eyrolles, 4e édition, 2007,
P.381
[28] VEILLON G., Cryptage et confidentialité des
données médicales. Paris, Volume 4, 1991. Consulté le 10
novembre 2010. URL : http://www.cybermed.jussieu.fr/
Broussais/InforMed/InforSante/Volume4/pdf4/4-23.pdf
[29] YAMKOUDOUGOU C., Protocoles d'accès réseau
à distance - Quelle sécurité? 2005. Consulté le 25
octobre 2010. URL :
http://freesecure.info/doc/
securite-acces-reseau.pdf
ANNEXE A
LE CAHIER DES CHARGES DU STAGE
MISE EN OEUVRE D'UN CLIENT D'AUTHENTIFICATION
PPPoE
ET
PROPOSITION D'UNE POLITIQUE DE SÉCURITÉ POUR LA
FERME DES
SERVEURS
Encadreur : Joël Daniel
BAHIYA1,
Responsable Département Design,
d.bahiya@ringo-group.com
Superviseur : Patrick AZOGNI 2,
Responsable section Design serveur,
p.azogni@ringo-group.com
Concerné : Charles MOUTE,
Stagiaire Design Serveur,
charlesmoute@gmail.com
1. À la date de la présentation de ce
mémoire M. Joël Daniel BAHIYA est désormais Directeur
Technique Adjoint.
2. À la date de la présentation de ce
mémoire M. Patrick AZOGNI est désormais Responsable du
Département Design
A.1 La Mise en oeuvre d'un client d'authentification PPPoE
A.1.1 Le contexte
Dans le cadre d'une politique d'expansion et
d'amélioration de l'accessibilité de son réseau par ses
différents clients utilisateurs, l'équipe de développement
de Ringo a entrepris le développement d'un « dialeur », client
d'authentification PPPoE.
A.1.2 Le « Dialeur PPPoE »
L'application cliente PPPoE à développer, dite
« dialeur », est un client au sens du modèle client/serveur.
Elle communiquera, entre autres, avec le routeur Juniper modèle ERX 310
qui fait office de B-RAS permettant ainsi l'accès au réseau
Internet en implémentant le protocole AAA (Authentication,
Authorization, Accounting). Il offrira ainsi à l'utilisateur la
possibilité de se connecter au réseau Internet de Ringo, et de
recevoir certaines informations jugées primordial, par le
Département Marketing.
A.1.3 Le cahier des charges
L'utilisateur type du logiciel, est une personne n'ayant pas
grande expérience des usages informatiques. Tout sera donc mis en oeuvre
pour l'aider à se connecter età se déconnecter rapidement
d'Internet. Pour atteindre ce but, le dialeur devra intégrer les
fonctionnalités suivantes :
1. une interface de connexion conviviale, customisée aux
couleurs del'entreprise RINGO S.A. permettant au client de se connecter
à internet par simple saisi de nom utilisateur, de mot de passe et de
validation;
2. une procédure de déconnexion, par simple
clic;
3. pendant la connexion, le client pourra connaître
l'état de la connexion, particulièrement en termes de temps
écoulé depuis le lancement de la connexion, de vitesse de
connexion, d'octets transmis et reçus;
4. une interface bilingue : Français et Anglais;
5. la possibilité de se connecter automatiquement au
démarrage de l'ordinateur.
Pour les utilisateurs expérimentées, le dialeur
devrait leur permettre de configurer leur connexion, en terme d'adresse IP,
passerelle par défaut, adresse serveur DNS 1 et 2, et autres
paramètres nécessaires à l'établissement du
protocole PPPoE, tel que explicités dans les RFC 2516 et 1661.
A.2 La Proposition d'une politique de sécurité des
serveurs
A.2.1 Le Contexte
Avec les risques de virus et la pénétration des
réseaux par des utilisateurs non
autori-
sés, il est fondamental de maîtriser les
problématiques de sécurité pour pallier à
diverses
vulnérabilités des systèmes et ainsi assurer
un bon fonctionnement global de l'entreprise.
A.2.2 Le cahier des charges
Dans l'optique d'un bon fonctionnement de l'entreprise, tant
pour les clients Ringo, au niveau de la vitrine qu'est le site web Ringo, que
pour le corps administratif et technique, il vous est demandé de
réaliser une batterie de test d'infiltration, de
vulnérabilités et de détection de failles au niveau de la
ferme des serveurs.
Pour cela, suite à un audit de sécurité,
vous ferez une proposition d'une batterie d'actions
à effectuer avec
leurs dates de réalisation. Pour chacune des actions effectuées,
vous direz
comment vous avez procédé, les résultats
obtenus et ferez un rapport, entre autres, de ce qui doit être
entrepris.
ANNEXE B
L'ORGANIGRAMME DE L'ENTREPRISE RINGO S.A.
La figure B.1 est une illustration de l'organigramme de
l'entreprise Ringo S.A.
FIGURE B.1 Organigramme Ringo S.A.
Source: Entreprise Ringo S.A
ANNEXE C
LE PRINCIPE DES PROTOCOLES
QUESTION/RÉPONSE
Un protocole question/réponse fonctionne d'après le
principe illustré en la figure C.1 et selon le schéma suivant
:
1. l'entité B qui joue le rôle de
vérificateur choisit de manière aléatoire une
donnée, appelée question, qui est envoyée à
l'entité A qui doit prouver son identité;
2. l'entité A applique à son tour à la
question une opération cryptographique basée sur un secret
qu'elle détient;
3. le résultat de cette opération, appelé
réponse, est renvoyé à B pour fournir la preuve de
l'identité de A;
4. B atteste de l'identité de A, si sa réponse
vérifie celle attendue par ce premier. FIGURE C.1 Principe
général de fonctionnement d'un protocole
question/réponse
ANNEXE D
L'EXEMPLE D'UN PROTOCOLE AVEC SECRET
PARTAGÉ
Considérons les notations suivantes :
A Entité souhaitant se faire authentifié
B Entité jouant le rôle du vérificateur
d'identité
Idx Représentation binaire de l'identité
de l'entité X
nx Nombre aléatoire émis par
l'entité X
EK(m1, m2, . . . , mn)Chiffrement obtenu
par un algorithme symétrique basé sur la clé K et sur la
chaîne binaire constituée par la concaténation des messages
m1, m2, . . . , mn
hK(m1, m2, ... , mn) Résultat du hachage avec
la clé K de la chaîne binaire constituée par la
concaténation des messages m1, m2, . . . , mn
Kxy Clé secrète partagée par les
entités X et Y
Soit le protocole suivant :
1. A envoie à B : Ida et na ;
2. B envoie à A : Idb,nb, EKab(na,
Ida) ou hKab(na, Ida) ;
3. A atteste l'identité de B en comparant son calcul
de EKab(na, Ida) ou hKab(na, Ida) avec celui envoyé par B
à l'étape 2. Si B est bien celui qui prétend être A
envoie à B : EKab(na, nb, Idb) ou hKab(na, nb,
Idb) ;
4. B prouve l'authenticité de A en comparant son calcul
de EKab(na,nb, Idb) ou hKab(na, nb, Idb) avec celui que
l'entité A lui a envoyé à l'étape 3.
Nota Benne
La présence des deux nombres aléatoires
ma et mb dans le troisième message de ce protocole est
nécessaire pour éviter des attaques basées sur une session
parallèle du même protocole. En effet, si le troisième
message de ce protocole avait le même format que le second message, i.e.
que ma n'était pas pris en compte pour le calcul du
résultat, l'attaquant X pourrait mettre en oeuvre le scénario
suivant pour passer pour A auprès de B :
1. session 1 X envoie à B : Ida,
mx
2. (session 1) B envoie à X : Idb , mb ,
EKab(mx, Ida) ou hKab(mx, Ida);
3. (session 2) X envoie à A : Idb,mb ;
4. (session 2) A envoie à X : Ida ,
ma , EKab(mb, Idb) ou hKab(mb, Idb);
5. (session 1) X envoie à B : EKab(mb, Idb) ou
hKab(mb, Idb).
6. B authentifiera X comme étant A car la preuve de
l'authenticité de l'identité se fera par la comparaison de
EKab(mb, Idb) ou de hKab(mb, Idb) envoyé par X à l'étape 5
avec celui calculé par B.
Dans ce scénario, A comme B peuvent jouer aussi bien le
rôle du demandeur que du vérificateur, ceci dépendant de
celui ayant initié le processus d'authentification. Ainsi, la
deuxième session permet elle à l'entité X d'utiliser
l'entité A comme oracle pour prédire les réponses aux
questions de l'entité B. Pour cela, X se fait passé pour le
demandeur B auprès du vérificateur A.
Cette attaque réussit parce que le second message de la
deuxième session peut parfaitement être utilisé en tant que
troisième message de la première session. Autrement dit le
vérificateur B accepte d'authentifier n'importe quel utilisateur, du
moment que ce dernier peut prouver la connaissance d'un secret partagé
entre le vérificateur B et un demandeur connu par ce dernier. Dans notre
cas, à cause du manque de considération de ma dans le
calcul du résultat, la preuve est faite à l'étape 5.
ANNEXE E
L'AUTHENTIFICATION VIA LE PROTOCOLE RADIUS
E.1 Les généralités
La communication RADIUS utilise le paradigme de
requête/réponse, les requêtes étant envoyées
par le client à destination du serveur et les réponses par le
serveur à destination du client. Les paires
requêtes-réponses possibles sont les suivantes :
- access-request: requête d'accès par un
utilisateur pour certains services. Les réponses possibles à
cette commande sont :
- access-accept: réponse positive à une
requête d'accès d'un client.
- access-reject : réponse négative
à une requête d'accès d'un client.
- access-challenge : réponse à une
requête d'accès, où le serveur attend une réponse du
client encapsulé dans une access-request.
- accounting-request : requête pour enregistrer
les données de traçabilité sur le serveur. L'unique
réponse à cette question accounting-response n'est
valable que lorsque les données ont bien été
stockée sur le serveur.
E.2 Le processus de connexion au réseau
Il suit le schéma suivant :
1. Lorsqu'un utilisateur lance la procédure de
connexion, le NAS récupère le couple nom utilisateur
(login) et mot de passe (password) de l' utilisateur distant,
crypte ces informations avec une clé partagée et envoie cela avec
un message «access-request» à un serveur. C'est la phase
d'authentification;
2. Lorsque la combinaison login/password est valide, le
serveur RADIUS envoie un message <<access-accept>> au NAS avec des
informations supplémentaires, à l'instar d'une adresse IP, d'un
masque réseau, etc. C'est la phase d'autorisation;
3. Le NAS envoie un message <<accounting-request
(start)>> pour indiquer que l'utilisateur est connecté sur le
réseau et que la comptabilité de ses droits d'accès peut
être initiée. C'est la phase de
comptabilité/traçabilité ;
4. Le serveur RADIUS répond avec un message
<<accounting-response>> lorsque l'information de
comptage/traçabilité (accounting) est stockée.
E.3 Le processus de déconnexion au réseau
Il suit le schéma suivant :
1. Lorsqu'un utilisateur lance la procédure de
déconnexion, le NAS envoie un message <<accounting-request
(stop)>> avec les informations suivantes :
- Delay time : le temps d'essai d'envoi de ce message;
- Input octet : le nombre d'octets reçus par le
client;
- Output octet: le nombre d'octets envoyés par le
client;
- Session time : le nombre de secondes que le client s'est
connecté;
- Input packets : le nombre de paquets reçus par le
client;
- Output packets : le nombre de paquets envoyés par le
client;
- Reason: la raison pour laquelle le client s'est
déconnecté.
2. Le serveur RADIUS répond avec un message
<<accounting-response>> lorsque l'information de
comptage/traçabilité est stockée.
E.4 Le schéma récapitulatif des flux de messages
RADIUS
FIGURE E.1 Flux de messages RADIUS
ANNEXE F
LE ROQUE AP
Le roque AP1 , par hommage à la technique du
roque2 utilisée aux jeux d'échecs, est une attaque
réalisable sur un réseau Wifi. Il consiste à monter un
point d'accès factice pour le réseau cible. Ce point
d'accès devra avoir, entre autres, les caractéristiques et
capacités suivantes :
- un même SSID3 que le réseau cible;
- une meilleure qualité de signal que le point
d'accès légitime; - une interception des communications.
Cette technique, qui est illustrée par la figure F.1
ci-dessous, permet de contourner l'infrastructure en usurpant les
paramètres d'authentification que sont le login et le mot de passe de
l'utilisateur agréé et par la suite de faire valider ces
identifiants sur le réseau.
FIGURE F.1 Mise en oeuvre du roque AP
1. AP (Access Point), est l'abréviation utilisée
pour désigner le point d'accès.
2. Le roque, dans le jeu des échecs, est une manoeuvre
défensive qui implique le déplacement de deux pièces, le
roi et la tour, à la fois. Cette manoeuvre n'est possible que si, entre
autres, aucune pièce ne bloque la manoeuvre.
3. SSID : est l'acronyme de Service Set Identifier. C'est un nom
identifiant un réseau sans fil selon la norme IEEE 802.11. Ce nom peut
être composé jusqu'à 32 caractères