Académique Documents
Professionnel Documents
Culture Documents
REPUBLIQUE DU SENEGAL
***** * * ********
Dédicaces
Aucune dédicace ne saurait exprimer mon respect, mon amour éternel et ma considération pour
les sacrifices que vous avez consenti pour mon instruction et mon bien être.
Je vous remercie pour tout le soutient et l’amour que vous me portez depuis mon enfance et j’espère
votre bénédiction m’accompagne toujours.
Que ce modeste travail soit l’exaucement de vos vœux tant formulés, que Dieu, le Très Haut, vous
accorder santé, bonheur et longue vie.
Rien au monde ne vaut les efforts fournis jour et nuit pour mon éducation et mon bien être. Ce
travail est le fruit de tes sacrifices que tu as consenti pour mon éducation et ma formation.
Vous êtes l’exemple de dévouement qui n’a pas cessé de m’encourager et de prier pour moi.
Puisse ALLAH, le tout puissant, vous préserve et vous accorde santé, longue vie et bonheur.
i
Mémoire de fin de cycle
NIANG Pape Saer
Remerciements
Je ne saurais commencer ce mémoire sans remercier ALLAH le tout puissant, qui a toujours
guidé mes pas vers le chemin de la connaissance, par sa protection et sa bénédiction.
A mon père Cheikh Mor Niang et ma tante Bousso Kassé et toute la famille.
A mes frère Aly Niang et El hadji Mamadou Niang pour tout leur soutient
A tous les membres du laboratoire TICE du groupe RTN : Mouhamadou Yaya Sow, Achiraf
Amoussa, Alkhali Saleh, Yvan Kalia, Yanness Allabi, Gilchrist Ayeboua, Cherif
Tchagbele
A toutes les personnes qui de près ou de loin, ont contribué à la réalisation de ce document.
Conception et implémentation d'une plateforme de fédération d’identité pour l’uvs
ii
Mémoire de fin de cycle
NIANG Pape Saer
AVANT PROPOS
L’école Centrale des Logiciels Libres et des Télécommunications (EC2LT) est une école privée
d’enseignement supérieur universitaire et professionnelle qui offre une palette de formations axée sur
l'informatique, les réseaux et télécommunications en partenariat avec le groupe RTN (Réseaux et
Techniques Numériques).
La formation en master est sanctionnée par deux années d’études théoriques et pratiques suivi
d'un stage dans une entreprise.
Le stage en entreprise est un moment important de mise en pratique des enseignements reçus. Il
permet tout d’abord à l’étudiant de faire une application réelle des connaissances théoriques, ensuite,
mène l’étudiant à exprimer les acquis pédagogiques en savoir-faire et savoir être, lui permettant de se
positionner dans le monde du travail. En outre, il permet à l’étudiant de travailler sur un projet de fin
d’études et de mener à bien l’élaboration de celui-ci depuis l’étude préalable jusqu’à sa mise en œuvre.
Durant son stage l’étudiant exprime son niveau de maturité d‘autonomie, et de sa capacité à évoluer en
dehors du milieu scolaire, dans le strict respect des règles du monde du travail.
Les étudiants issus de cette formation vont capitaliser des compétences professionnelles
diverses leur permettant d’intégrer le monde professionnel pour répondre aux besoins et exigences des
entreprises dans les domaines des technologies de l'information et de la communication et le
développement des applications autour des logiciels propriétaires et libres.
C’est dans cette optique que nous avons effectué un stage de quatre (4) mois à la R.T.N. Durant
cette période, notre travail consistait à concevoir et d’implémenter un système de fédération d'identité
qui entre dans le cadre du projet de l'Université Virtuelle du Sénégal.
Ce document tient lieu de mémoire de fin de formation et a pour objectif de présenter le travail
effectué sur le thème proposé dont, la soutenance est publique et sera soumis à l’appréciation d'un jury.
iii
Mémoire de fin de cycle
NIANG Pape Saer
RESUME/ABSTRACT
RESUME
De ce fait chaque opération à réaliser peut nécessiter un contrôle d’accès et des droits associés,
pouvant entrainer une confusion pour l’utilisateur qui, par exemple perd, ou oublie ses mots de passe.
Le présent mémoire consiste à concevoir et à mettre en place une fédération d’indenté via
l’application Shibboleth pour répondre aux besoins d’interconnexion des systèmes d’authentification
d’organismes hétérogènes en proposant deux services : la délégation de l’authentification et la
propagation d’attributs utilisateur afin d'ouvrir l’accès à des ressources partagées.
Les technologies de l’information et de la communication mis en œuvre ont alors pour objectif
de mettre en relation les membres de la fédération et les systèmes d’informations des organisations
physiques d’origine impliquées dans le partenariat. La difficulté réside alors dans les différences au
niveau des infrastructures et des politiques de sécurités implémentées par chacun des partenaires.
Chacun d’entre eux doit s’interconnecter avec les autres et permettre le partage des ressources tout en
préservant la sécurité de sa propre organisation.
Mots clefs : Fédération d’identités, propagation d’attributs, organisation virtuelle, SAML, Shibboleth.
iv
Mémoire de fin de cycle
NIANG Pape Saer
RESUME/ABSTRACT
ABSTRACT
Thus each operation to be performed may require access control and related rights, that could
cause confusion for the user, for example lost or forgotten passwords.
Herein is to design and implement an indented federation via Shibboleth software to meet the
interconnection needs of heterogeneous organizations authentication systems by offering two services:
authentication delegation and propagation of user attributes to provide access to shared resources.
The information technology and communication implemented then aim to bring together
members of the federation and the information of the physical origin of organizations involved in the
partnership systems. The difficulty lies in the differences in infrastructure and security policies
implemented by each partner. Each must interconnect with each other and enable the sharing of
resources while preserving the security of its own organization.
v
Mémoire de fin de cycle
NIANG Pape Saer
DEDICACES .................................................................................................................................... i
REMERCIEMENTS .........................................................................................................................ii
AVANT-PROPOS ............................................................................................................................iii
INTRODUCTION
1.8.2 Problématique.................................................................................................................... 11
vi
Mémoire de fin de cycle
NIANG Pape Saer
1.8.3 Objectifs attendus .............................................................................................................. 12
vii
Mémoire de fin de cycle
NIANG Pape Saer
3.7.1 Sécurité LDAP .................................................................................................................. 28
4.3.1 Métadonnées...................................................................................................................... 45
viii
Mémoire de fin de cycle
NIANG Pape Saer
5.3 Installation du SP .................................................................................................................. 55
Conclusion ............................................................................................................................................... 67
REFERENCES ........................................................................................................................................ 69
Bibliographie ........................................................................................................................................... 69
Webographie ........................................................................................................................................... 69
ANNEXES .............................................................................................................................................. 70
ix
Mémoire de fin de cycle
NIANG Pape Saer
x
Mémoire de fin de cycle
NIANG Pape Saer
Figure 4.9- Point de vue utilisateur dans un contexte SSO et WAYF ....................................................52
xi
Mémoire de fin de cycle
NIANG Pape Saer
xii
Mémoire de fin de cycle
NIANG Pape Saer
Sigles et Abréviations
Nous présentons ici quelques sigles et abréviations que nous utiliserons dans le document.
xiii
Mémoire de fin de cycle
NIANG Pape Saer
Introduction
Cette multiplication des applications web est une réalité dans les établissements, entraînant
nécessairement une authentification des utilisateurs. Ces derniers sont amenés à fournir de nombreuse
fois auprès de chacune de ces applications, en multipliant les couples identifiant/mot de passe à retenir.
Le déploiement des annuaires LDAP, outre leur apport fonctionnel pour la gestion des groupes, a
permis de simplifier la situation en utilisant un référentiel d'authentification commun à la majorité des
applications. Ainsi pour les applications utilisant ce référentiel d’authentification, l’utilisateur peut
utiliser un mot de passe unique.
La mise en place d'un système de Single Sign On (SSO) doit permettre à l'utilisateur de saisir un
mot de passe une seule fois pour accéder à toutes les applications web de l’établissement, améliorant
ainsi à la fois l'ergonomie d'accès aux applications et la sécurité du système d'information en limitant la
circulation des mots de passe.
Elle permet également aux utilisateurs ayant droit sur les ressources de réduire le nombre de
mots de passe à retenir, et aussi une meilleure maîtrise de la diffusion de données à caractère personnel
1
Mémoire de fin de cycle
NIANG Pape Saer
Le deuxième chapitre mettra l’accent sur l’état de l’art et les concepts de fédération d’identité
afin de mieux s’imprégner du sujet à traiter.
Dans le troisième chapitre nous parlerons des systèmes d’authentifications qui sont
indispensable dans une fédération d’identité.
Dans le quatrième chapitre une étude détaillée de la technologie Shibboleth sera effectuée
Enfin dans le cinquième chapitre une phase d’implémentation des différents composants de
Shibboleth et a réalisé pour obtenir une fédération d’identité digne de ce nom.
2
Mémoire de fin de cycle
NIANG Pape Saer
Chapitre 1: Présentation Générale
Ce chapitre présente la structure d’accueil du stage ainsi que le cadre général du projet à travers
la problématique, les objectifs visés, et la présentation de l’Université Virtuelle du Sénégal.
3
Mémoire de fin de cycle
NIANG Pape Saer
Conseil
d'Orientation
Scientifique
DG
Commissions
Bureau des
permanentes
étudiants
ou adhoc
RTN met également un accent sur le développement des services à valeurs ajoutées, et
l’interconnexion des réseaux Linux et Windows, participant ainsi à la cohabitation et l’harmonisation
des réseaux hétérogènes Linux-Windows.
Depuis septembre 2013 la RTN a mis en place trois laboratoires de recherche dans les domaines
suivants :
4
Mémoire de fin de cycle
NIANG Pape Saer
le laboratoire de Cloud Computing
le laboratoire des technologies de l’information et de la communication pour
l’enseignement(TICE) est chargé d’implémenter des technologies et outils pour l’efficacité de
l’enseignement avec des plateformes variées comme Moodle, BigBlueButton Wims Shibboleth,
EsupPortal.
le laboratoire de Virtualisation
La RTN dispense aussi un éventail de formations dont la liste non exhaustive est la suivante
5
Mémoire de fin de cycle
NIANG Pape Saer
travers le Ministère de l’Enseignement Supérieur et de la Recherche s’engage dans un extraordinaire
pari sur l’avenir qui peut changer à jamais le visage de l’enseignement supérieur en particulier et de la
formation en général au Sénégal. L’UVS [W01] est la sixième université publique sénégalaise, elle est
de ce point de vue une université comme les autres.
Toutefois la spécificité de l’UVS tient au fait que le modèle de livraison des enseignements fait
essentiellement appel aux Technologies de l’Information et de la Communication (TIC) alors que dans
le modèle traditionnel la livraison des enseignements se fait en présentiel, face à face.
Pour ce qui est du modèle d’évaluation des étudiants, l’UVS se retrouve dans le même modèle que les
universités traditionnelles en ce sens que les évaluations se feront en présentiel et sous surveillance.
L’UVS s’inscrit naturellement dans la mouvance du système LMD (Licence – Master – Doctorat). Les
étudiants de l’UVS sont tenus d’effectuer les différents parcours de formation qui leur sont proposés
dans les mêmes délais et avec les mêmes contraintes académiques que leurs homologues du système
traditionnel.
Le dispositif ci-dessus décrit est celui de la formation initiale qui est proposées aux bacheliers
nouvellement orientés à l’UVS. Toutefois, l’UVS a l’ambition de toucher très rapidement d’autres
segments demandeurs en formations, et pour ces derniers les formats d’apprentissage adéquats seront
proposés.
Pour mener à bien sa mission l’UVS, s’appuie sur un réseau d’Espaces Numériques Ouverts
(ENO). Les ENO sont les terminaisons physiques de l’UVS, ce sont de véritables synapses à partir
desquelles l’université interagit avec ses apprenants et son environnement. Le réseau des ENO ira en se
densifiant au cours des années à venir permettant ainsi à l’UVS de procéder à un maillage optimal du
territoire sénégalais. L’UVS apparaît de ce fait comme étant un élément majeur de l’aménagement
numérique du territoire national. Cependant, l’UVS sera partout où le réseau la portera, c’est donc dire
que l’ambition de l’UVS à terme ne se limite pas seulement au territoire physique du pays.
Anglais
6
Mémoire de fin de cycle
NIANG Pape Saer
- Marketing et Communication
- Mathématique
- Informatique
Sociologie
- Intervention sociale
Une filière est composée de modules qui apportent aux étudiants des compétences et savoir-faire utiles
à la maitrise de leur environnement de travail, à leur développement personnel et qui seront capitalisés
comme des éléments d’enrichissement de leur profil au terme de leur formation.
- L’anglais et bien d’autres modules qui seront délivrés tout au long du parcours de l’étudiant
7
Mémoire de fin de cycle
NIANG Pape Saer
Les études à l’UVS démarrent par certains modules jugés fondamentaux pour une mise à niveau
des étudiants et le partage d’un minimum de compétences communes.
Mettre en place l’Université virtuelle sénégalaise (UVS) et des Espaces numériques ouverts
(ENO) dans chacune des régions du Sénégal et au sein des universités publiques.
Créer une bibliothèque nationale virtuelle pour partager les ressources numériques.
Le but principal de l'UVS est de contribuer au développement du capital humain à travers une
formation qualifiante et efficiente par les TIC pour un développement économique inclusif du pays.
Pour avoir une université qui s’intègre au tissu social, délivrer des formations en adéquation
avec la demande du marché (emploi & auto emploi).
Pour être le vecteur de concepts liés : à l’usage des TIC à des fins pédagogiques, aux capacités
liées à l’apprentissage tout au long de la vie, à l’autonomie, aux capacités liées au travail
collaboratif.
8
Mémoire de fin de cycle
NIANG Pape Saer
Pour faire du concept une formation pour tous une réalité, accélérer l'aménagement numérique
du territoire.
Les personnes à mobilité réduite ou dans l’impossibilité de suivre des enseignements dans les
universités traditionnelles ;
Les femmes qui trouveront à travers l’UVS un modèle capable de les accueillir et de les
maintenir dans l’enseignement supérieur ;
Les cibles des partenaires tels que les ministères, entreprises, universités nationales et
étrangères, organismes internationaux.
Dans le cadre de l’UVS, le réseau des ENO ira en se densifiant au fil des ans. Les étudiants de
l’UVS trouveront toutefois dans leur ENO de rattachement des équipements, des ressources et des
outils informatiques nécessaires au bon déroulement des activités pédagogiques. Espaces de
socialisation par excellence, les étudiants trouveront dans leur ENO les appuis en cas de difficulté mais
aussi les conditions et les activités propices à l’affermissement d’un sentiment d’appartenance.
Pour faciliter à tous, et en particulier aux étudiants, l’accès aux ressources numériques et aux
équipements informatiques, l’UVS mettra en place sur l’ensemble du territoire national des ENO. Ces
ENO permettront aux étudiants d’accéder à des équipements, à des ressources et à des outils
Conception et implémentation d'une plateforme de fédération d’identité pour l’uvs
9
Mémoire de fin de cycle
NIANG Pape Saer
informatiques nécessaires au bon déroulement des activités pédagogiques. Ils permettront également de
disposer de relais physiques pour un bon déploiement de l’UVS, et en ce sens, ils permettront à la fois
de disposer d’espaces pour les enseignements présentiels ou pour les travaux collaboratifs.
Dans le cadre des réformes universitaires lancées au Sénégal en vue d’améliorer la qualité de
l’enseignement comme de la recherche, de faciliter l’accès aux ressources numériques, d’appuyer le
développement de l’enseignement à distance, et surtout de mieux armer les étudiants en vue d’une
insertion réussie dans le monde du travail, l' État du Sénégal a décidé d’investir massivement dans les
TIC. Pour ce faire, le gouvernement du Sénégal a organisé une Concertation nationale sur l’avenir de
l’enseignement supérieur, en désignant un comité de pilotage dont les membres proviennent de toutes
les composantes de la société (universitaires, chercheurs, entrepreneurs, parlementaires, membres de la
société civile).
En outre, le Contrat de performance, signé entre l’État et les universités public du Sénégal avec
l’appui technique et financière de la Banque mondiale, va mettre à la disposition des universités, des
crédits additionnels pour une perspective d’excellence.
Toutes les universités ont formulés leurs besoins pour atteindre le pari de la performance,
cependant elles ont tous un point commun : disposer d'une plate-forme d'enseignement à distance.
10
Mémoire de fin de cycle
NIANG Pape Saer
numérique(ENT) et une plateforme d’e-Learning afin d’offrir un accès partagé à des ressources
numériques.
L’UVS qui repose sur la formation à distance, préconise de mettre en place une solution d’e-
Learning basée sur MOODLE pour mettre à la disposition des universités des ressources numériques
dont les cours seront rédigés et postés par des professeurs issus des différents établissements afin de
fournir des contenus de qualités.
1.8.2 Problématique
Les entreprises comme les établissements supérieurs connaissent un réel besoin de coopérer en
extériorisant leurs ressources ; particulièrement web qui ont l'apanage d’être plus rapide et moins
coûteuses à mettre en œuvre, délivrant souvent les entreprises de la complexité d'administration de
l'infrastructure. Les applications Web permettent aussi de simplifier, d'accélérer et d'amplifier les
échanges entre l'entreprise et ses partenaires, cependant à chaque connexion sur une application,
l'utilisateur doit fournir un identifiant et un mot de passe spécifiques à la plate-forme Web visitée.
Chaque utilisateur doit donc retenir plus d'une dizaine d'identifiants et de mots de passe, plus ou
moins complexes selon les exigences de sécurité de l'application.
Soucieux des pertes ou d’oublis des paramètres des connexions chez les usagers, alors il s’avère
nécessaire de mettre en place une solution palliative pour contourner le problème d’authentification
multiple.
Pour résoudre les problèmes énumérés ci-dessus en toute sécurité tout en réduisant les coûts et
en améliorant la productivité, alors on a recours à la fédération d’identité qui met à la disposition de
nos utilisateurs un passeport unique pour accéder aux différentes applications via un mécanisme de
propagation d’identités.
11
Mémoire de fin de cycle
NIANG Pape Saer
12
Mémoire de fin de cycle
NIANG Pape Saer
Chapitre 2: État de l’art de la fédération d'identité
Ce chapitre présente l’état de l’art de la fédération d'identité, dont l’objectif est d’identifier et
cerner les concepts liés aux organisations virtuelles et leurs modes de fonctionnement.
Eva Fueher (1997) dans [B01] définit l'organisation virtuelle(OV) comme un réseau temporaire
d'institutions indépendantes, entreprises ou individus, qui à travers l'utilisation des technologies de
l'information et de la communication s'unissent spontanément pour atteindre leurs objectifs qui sont
généralement orientés sur la mobilisation des ressources et des compétences distinctives placées
dans différents lieux géographiques.
Contrairement aux organisations traditionnelles, les frontières de l’organisation virtuelle restent
ambiguës. Ces frontières sont définies par la stratégie de chacune des organisations pour réaliser les
tâches qui lui sont confiées.
13
Mémoire de fin de cycle
NIANG Pape Saer
Figure2.1-Organisation virtuelle
Émission, validation et transmissions des informations relatives aux utilisateurs, des demandes
de justification, des attributs et des assertions relatives à la sécurité;
Application des politiques qui utilisent les informations relatives à la sécurité, afin de valider
l’autorisation pour une demande ou une action sur une ressource ou un service
14
Mémoire de fin de cycle
NIANG Pape Saer
Les solutions de fédération d’identités permettent à une application, dans un organisme, d’interagir
avec un système d’authentification d’une autre entité. L’application, appelée fournisseur de service(ou
SP, Service Provider), délègue la phase d’authentification d’un utilisateur à l’organisme auquel il est
rattaché, appelé fournisseur d’identité(ou IdP, Identity Provider). Le SP conserve la prérogative du
contrôle d’accès, mais peut pour cela utiliser des attributs de l’utilisateur fournis par l’IdP. Un SP peut
être sollicité par des utilisateurs issus de différents IdP. Inversement, les utilisateurs rattachés à un IdP
peuvent accéder à différents SP.
La définition des relations de confiance entre les IdP et les SP à un plus haut niveau est cruciale.
Un SP se repose sur les IdP pour assurer une authentification sûre de ses utilisateurs et la qualité de ses
attributs. Réciproquement un IdP fait confiance aux SP quant à la bonne utilisation des attributs
nominatifs. La formalisation de ces relations de confiance peut se faire de gré à gré entre chaque paire
d’IdP/SP. Cependant, il est naturel de vouloir formaliser la définition de ces relations de confiance pour
[B08] un ensemble de fournisseurs qui forment alors un cercle de confiance. L’inscription à un tel
cercle impose de respecter des règles communes. Au sein d’un cercle de confiance, des règles existent
pour assurer la protection des données personnelles des utilisateurs qui peuvent être communiquées
entre fournisseurs.
15
Mémoire de fin de cycle
NIANG Pape Saer
Figure2.2 – Fonctionnement d’un cercle de confiance
Les utilisateurs finaux sont les personnes qui vont effectivement se connecter à des sites web
via une fédération d'identités. En général elles ne savent pas et ne voient pas que leur connexion
a lieu vers une fédération d'identités, c'est transparent pour elles
les fournisseurs d'identités sont les organismes auxquels sont rattachés les utilisateurs finaux.
Un fournisseur d'identités a pour rôle d'authentifier ses utilisateurs quand ceux-ci accèdent un
site web via la fédération d'identité.
les ressources sont les sites web auxquels peuvent accéder les utilisateurs finaux via une
fédération d'identités. Il peut s'agir par exemple de sites d'enseignement à distance, d'outils
collaboratifs en ligne, de portail de documentations numérisées.
l'opérateur de la fédération est l'entité qui gère la fédération, a défini ses règles de
fonctionnement et prend en charge l'inscription des fournisseurs d'identités et des ressources
dans la fédération.
l'utilisateur est renvoyé sur la ressource où il est alors automatiquement authentifié et peut alors
l'utiliser.
16
Mémoire de fin de cycle
NIANG Pape Saer
17
Mémoire de fin de cycle
NIANG Pape Saer
Chapitre 3 : Système d’authentification centralisé
Dans ce chapitre, nous examinons en premier lieu le mécanisme du Single Sign-On (SSO), pour
centraliser l'authentification afin de permettre à l'utilisateur d'accéder à toutes les ressources
auxquelles il est autorisé d'accéder, en s’identifiant une seule fois sur le réseau, ensuite faire une étude
générale sur les annuaires, et enfin terminer par une étude comparative des différentes technologies
pour l’authentification unique. Dans le projet l'objectif du SSO est de propager l'information
d'authentification aux différents services du réseau, et d'éviter ainsi à l'utilisateur la saisie de multiples
identifications par mot de passe.
Les organisations actuelles possèdent un réseau complexe composé de ressources diverses telles
que des applications internes, des applications web ou différents systèmes d’exploitations. L’utilisateur
se voit obligé de saisir à chaque fois un identifiant et un mot de passe. Dans certains cas, on a plusieurs
applications différentes, toutes ayant une authentification propre. Une telle situation n’est pas sans
créer des problèmes: non seulement la saisie manuelle coûte un temps précieux, mais il est
extrêmement difficile de se souvenir de plusieurs mots de passe. Ainsi, les utilisateurs utilisent toutes
sortes de méthodes, peu sûres, pour faire face à cette multiplication des identifiants. Le plus souvent, ils
notent leurs mots de passe sur un post-it, le glissent sous le clavier ou choisissent un mot de passe très
simple. Par ailleurs, il est très fréquent que les utilisateurs appellent le support informatique à cause
d’un mot de passe oublié.
Les avantages de l'authentification unique sont :
La centralisation des informations de contrôles d'accès pour les tests de conformités aux
différentes normes
18
Mémoire de fin de cycle
NIANG Pape Saer
Les technologies fournissant des SSO utilisent des serveurs centralisés d'authentification que toutes les
autres applications et systèmes utilisent pour l'authentification, combinant ceux-ci avec des techniques
logicielles pour s'assurer que les utilisateurs n'aient pas à entrer leurs identifiants plus d'une fois
des redirections HTTP transparentes du navigateur client, depuis les applications vers le serveur
d’authentification, puis du serveur vers les applications
19
Mémoire de fin de cycle
NIANG Pape Saer
Dans ce mécanisme, dont le système Liberty Alliance est le principal exemple, chaque service
gère une partie des données d'un utilisateur (l'utilisateur peut donc disposer de plusieurs comptes),
mais partage les informations dont il dispose sur l'utilisateur avec les services partenaires. Ce
mécanisme a été développé pour répondre à un besoin de gestion décentralisée des utilisateurs, où
chaque service partenaire désire conserver la maîtrise de sa propre politique de sécurité.
Le principe de base est ici de disposer d'une base de données globale et centralisée de tous les
utilisateurs ou d'un annuaire. Cela permet également de centraliser la gestion de la politique de sécurité
Le mécanisme coopératif, dont les systèmes Shibboleth et CAS sont les principaux
représentants, part du principe que chaque utilisateur dépend d'une des entités partenaires. Ainsi,
lorsqu'il cherche à accéder à un service du réseau, l'utilisateur est authentifié par le partenaire dont il
20
Mémoire de fin de cycle
NIANG Pape Saer
dépend. Comme dans l'approche fédérative, cependant, chaque service du réseau gère indépendamment
sa propre politique de sécurité.
21
Mémoire de fin de cycle
NIANG Pape Saer
Formulaire CAS
Ainsi la base d'information étant beaucoup plus sollicitée en lecture, nous avons porte notre choix
sur les annuaires LDAP qui sont réputés être performants pour les accès en lecture.
Pour une homogénéité de la représentation des données dans un annuaire LDAP concernant
l'enseignement supérieur, une norme a été définie : c'est la norme Supann2009
3.6.1 Présentation
Un annuaire électronique peut être vu comme une base de données spécialisée, dont la fonction
première est de retourner un ou plusieurs attributs d'un objet grâce à des fonctions de recherche
multicritères.
Conception et implémentation d'une plateforme de fédération d’identité pour l’uvs
22
Mémoire de fin de cycle
NIANG Pape Saer
Les objets peuvent être de nature très diverse. Par exemple, un objet de l’annuaire peut
représenter une personne et les attributs de cet objet seront alors son nom, son prénom, son numéro de
téléphone, etc. Un annuaire électronique va centraliser des informations et les rendre disponibles, via le
réseau, à des applications, des systèmes d’exploitation ou des utilisateurs.
Bien qu’un annuaire soit comparable à une base de données pour un grand nombre de
fonctionnalités, il en diffère en de nombreux points.
LDAP (Lightweight Directory Access Protocol, ou Protocole d'accès aux annuaires léger) est un
protocole standard permettant de gérer des annuaires, c'est-à-dire d'accéder à des bases d'informations
sur les utilisateurs d’un réseau par l’intermédiaire du protocole TCP/IP.
Les bases d'informations sont généralement relatives à des utilisateurs, mais elles sont parfois utilisées
à d’autres fins comme pour gérer du matériel dans une entreprise. Il est normalisé par l’IETF (Internet
Engineering Task Force) dans sa version 3 en 1997, LDAP est un protocole client-serveur et offre
quatre modèles prédéfinis. L’objectif de cette modélisation est de favoriser le partage et de simplifier la
gestion des informations concernant des personnes, et plus généralement toutes les ressources de
l’entreprise, ainsi que des droits d’accès des utilisateurs sur ces ressources.
23
Mémoire de fin de cycle
NIANG Pape Saer
Les modèles LDAP :
Modèle d’information : Il définit la nature des données stockées dans l’annuaire. Celles-ci sont
constituées d’un ensemble d’enregistrements dans lequel chaque enregistrement est l’instance
d’une classe d’objet comportant une série d’attributs. Chaque attribut est défini par un type
(entier, chaine de caractère etc.) et contient un ou plusieurs valeurs, qui peuvent être obligatoire
ou non.
Modèle de désignation : Il définit la façon d’organiser et de designer les entrées dans
l’annuaire. Les données sont classées de façon hiérarchique dans un arbre, reflétant en général
l’organisation de l’entreprise. Le nom d’une entrée contient le nom des différents nœuds de
l’arbre puis l’identifiant de celle-ci.
Modèle des services : Il décrit les fonctions offertes par un annuaire LDAP. Ces fonctions
comprennent la recherche et la consultation des entrées de l’annuaire, la mise a jour de celui-ci,
et l’authentification des utilisateurs auprès de ces services.
Modèle de sécurité : Il définit la manière de s’identifier de façon sécurisée à un annuaire
LDAP et le concept des droits d’accès aux différents objets de l’annuaire. La gestion de la
sécurité est pointue car elle permet de définir des droits d’accès non seulement au niveau d’un
objet, mais aussi au niveau d’un attribut de cet objet.
La classe d’objet d’un annuaire LDAP permet de spécifier les attributs possibles pour une entrée
représentant un objet particulier du monde réel. Cette liste d'attributs est subdivisée en deux parties :
la première liste définit quels sont les attributs obligatoires que doit posséder une entrée,
la seconde liste définit les attributs optionnels que peut posséder cette entrée.
En effet, les classes d'objet d’un annuaire LDAP sont définies par plusieurs caractéristiques. En
premier lieu, une classe d'objet possède au moins un nom de façon à l'identifier facilement.
En second lieu, indiquer si la classe est structurelle ou auxiliaire. Les classes structurelles sont les
seules qui permettent de construire des entrées. Ce qui signifie que toute entrée doit posséder au moins
24
Mémoire de fin de cycle
NIANG Pape Saer
une classe structurelle. Les classes auxiliaires permettent de rajouter facilement un certain nombre
d'attributs à une entrée existante.
Les classes d'objets ont une autre particularité très intéressante. On peut construire de nouvelles
classes à partir de classes existantes. Autrement dit, la notion d'héritage existe également pour les
classes d'objets.
L’ensemble des types d’objets possible dans l’annuaire, et pour chaque objet l’ensemble des
attributs utilisables est défini dans l’annuaire. Le schéma contient la syntaxe et la liste des attributs
connus de l'annuaire.
Extension de schéma
Parfois il arrive qu’on veuille stocker dans l’annuaire des informations de nature particulières pour
les besoins propres à ses applications. Si le schéma d’origine ne le permet pas, on peut réaliser une
extension de schéma. L’extension de schéma [B06] consiste à définir pour un annuaire de nouveaux
types d’objets, ou de nouveaux attributs pour un type d’objet existant.
Attributs LDAP
Un attribut est une valeur contenue dans une entrée. Une entrée peut contenir plusieurs attributs.
Format d’échange de données LDIF
LDIF (LDAP Data Interchange Format ou Format d’échange des données LDAP) permet
l’exportation ou l’importation des donnes depuis ou vers un annuaire LDAP. Il décrit le format de
fichier de texte qui contient tout ou partie des donnes d’un annuaire.
25
Mémoire de fin de cycle
NIANG Pape Saer
international (IETF et Internet2) et satisfaisant les spécificités relatives aux établissements
d'enseignement supérieur.
Schéma Internet 2
Internet2 est conçus pour inclure des personnes largement utilisé et les caractéristiques
organisationnelles de l'enseignement supérieur.
26
Mémoire de fin de cycle
NIANG Pape Saer
Le problème majeur d’Internet2 est qu’il n'existe pas de modèles établis pour la construction de
répertoires institutionnels à usage général. Chaque institution doit commencer à partir de zéro, et il n'ya
pas deux répertoires d'enseignement supérieur qui se ressemblent.
La classe d'objet eduPerson donnerait une liste d'attributs communs et des définitions. Le
groupe de travail prévoit de s'appuyer sur les travaux des normes en vigueur dans l'enseignement
supérieur, sélectionnez les éléments qui sont d'une grande utilité, et définir une représentation LDAP
commun pour chacun d'eux. L'usage du schéma Internet2 nous permet d'avoir l’attribut statut des
acteurs de notre annuaire
27
Mémoire de fin de cycle
NIANG Pape Saer
la première appelée « people » désigne le conteneur de l'ensemble des informations concernant
les personnes présentes dans l'établissement. Il s'agit d'informations décrites à l'aide des classes
InetOrgPerson, eduPerson, supannPerson ;
la seconde appelée « groups » désigne le conteneur des informations concernant la mise en
cohorte d'individus. Ces informations sont décrites à l'aide des classes GroupOfNames et
supannGroupe.
la troisième appelée « structures » est le conteneur des structures matérielles (services, etc.) et
des structures immatérielles (instances électives, modules d'enseignement, etc.). Ces
informations sont décrites par les classes OrganizationalUnit et SupannEntite.
Pour implémenter l’annuaire on a nommé notre racine dc=uvs, dc=sn.
Nous avons aussi créé une branche people pour les divers acteurs. Quant aux départements et filières
ils ont été intégrés dans des structures organisationnelles. Il faut noter que nous avons fait une
distinction significative entre les départements et filières. En effet, les filières sont reliées à une branche
filière et les départements placés dans la branche direction générale DG).
Figure3.3-Structure du DIT
28
Mémoire de fin de cycle
NIANG Pape Saer
L'authentification simple, le binding
L'annuaire met en place un mécanisme d'authentification pour avoir accès aux données qu'il
contient. L'une des opérations préalables à l'interrogation de l'annuaire est cette opération dite de
"binding" (dans le cas d'une authentification simple). Le client envoie alors le DN d'un compte
contenu dans l'annuaire lui-même, ainsi que le mot de passe associé. On pourra par la suite appliquer
des droits particuliers sur ce compte en utilisant les ACLs.
Les ACL
Les ACLs (Access Control Lists) interviennent après la notion de binding. Il sera possible de
donner des droits de lecture, d'écriture (ou d'autres droits divers) sur des branches particulières de
l'annuaire au compte connecté. Ceci permet de gérer finement les droits d'accès aux données.
Le chiffrement des communications (SSL/TLS)
Le chiffrement des communications, via SSL (Secure Socket Layer, ou TLS - Transport Layer
Security) est également une méthode de protection de l'information. Il est possible, avec la plupart des
annuaires existants, de chiffrer le canal de communication entre l'application cliente et l'annuaire. Ceci
permet de garantir (un minimum) la confidentialité des données et d'éviter qu'un tiers n'écoute les
communications sur le réseau.
La réplication
OpenLDAP, permet de manière native, de mettre en place un annuaire répliqué. Un annuaire dit
maître envoie alors, par le biais du format LDIF, toutes les modifications effectuées sur un annuaire
esclave.
L'avantage d'une telle opération est double :
permettre une meilleure montée en charge pour de gros annuaires : il est possible de rediriger le
client vers l'un ou l'autre des annuaires répliqués
disposer d'une copie conforme du premier annuaire, utile en cas de panne
Deux types de réplication existent :
le mode "maître-esclave", le plus courant : la réplication est unidirectionnelle, un annuaire
maître envoie toutes les modifications à un annuaire esclave. Ceci n'autorise bien évidemment
l'écriture que sur l'annuaire maître ; l'esclave est alors disponible uniquement en lecture.
29
Mémoire de fin de cycle
NIANG Pape Saer
le mode "maître-maître" : la réplication est bidirectionnelle, chaque annuaire peut être maître
de l'autre. Ceci permet d'écrire indifféremment sur l'un ou l'autre des annuaires.
30
Mémoire de fin de cycle
NIANG Pape Saer
dc=uvs,dc=sn
uid=papis.niang,ou=people, dc=uvs,dc=sn
uid=amoussa.achiraf,ou=people,dc=uvs,dc=sn
Annuaire 2: ldap2.uvs.sn
En effet, la phase d’authentification avant l’accès à une application sera assuré par les services
d’authentification de l’établissement de rattachement de l’utilisateur. Ce service enverra une assertion à
l’application indiquant si l’utilisateur s’est bien authentifié. Par contre, le contrôle d’accès est toujours
effectué au niveau de l’application.
31
Mémoire de fin de cycle
NIANG Pape Saer
3.8.1 Les solutions propriétaires
d'autre part il contribue à obtenir certains attributs (données annuaire) de l'utilisateur, afin de
gérer le contrôle d'accès ou personnaliser les contenus.
Shibboleth s'appuie en général sur un système CAS et offre donc également les fonctionnalités de
SSO standards (fenêtre d'authentification unique, plus besoin de retaper son mot de passe lorsque
l'utilisateur passe d'un service à l'autre).
32
Mémoire de fin de cycle
NIANG Pape Saer
Tableau 3.1. Comparaison des produits de fédération d'identité
33
Mémoire de fin de cycle
NIANG Pape Saer
IBM Tivoli FIM Microsoft Ping Identity
ADFS PingFederate
Facilité de déploiement Difficile Moyen Facile
et de configuration
Approche adoptée pour Intégrée à Tivoli Intégrée à Autonome
gérer la fédération Access Manager Windows Server
2003
Conformité aux langages SAML 2.0 et WS-Federation SAML 2.0 et
d’échanges de WS-Federation WS-Federation
l’information de sécurité
Possibilité de fédérer Oui Oui Non
des identités entre des
Web Services
Coût 8200 € pour une 3000€ + prix de 8000€ pour 1
licence en plus de licences annuelles connexion par an
licences pour les
logiciels requis
Support pour différents Les mécanismes Microsoft Active Mots de passe, cartes
systèmes et supportés par Tivoli Directory (Kérberos, à puce, techniques
technologies Access Manager cartes à puce et biométriques, clésUSB,
d’authentification (cartes à puce, certificats d’identité certificats X.509,
technique biométriques, X.509) et LDAP
Kerberos, etc.)
Niveau de sécurité -cluster pour - Possibilité de -cluster pour une
offert une haute déploiement de serveurs haute disponibilité et
performance et de fédération récupération
additionnels pour
disponibilité
load balancing et
évolutivité
Respect de la vie privée Protégée Protégée Protégée
34
Mémoire de fin de cycle
NIANG Pape Saer
Ping Identity RSA Federated Internet2
PingTrust Identity ManagerRSA Shibboleth
Federated Identity
Manager
Facilitéde déploiement Facile Moyen Moyen
et de configuration
Approche adoptée pour Autonome Autonome Intégré à un WAM
gérer la fédération
Conformité aux SAML 2.0 et SAML 2.0 SAML 2.0 et
languages d’échange de WS-Federation WS-Federation
l’information de
sécurité
Possibilité de fédérer Oui Oui Non
des identités entre des
Web Services
Coût 8000€ pour 1 37000 € pour Logiciel libre
connexion par an 3 connexions
74000 € pour
10 connexions
Support pour différents mots de passe, cartes à Authentification à Active Directory,
systèmes et puce, techniques 2 facteurs basés LDAP, Kerberos
technologies biométriques, clés sur RSA
d’authentification USB, certificats X.509,
Niveau de sécurité -cluster, haute -cluster, haute -haute disponibilité
offert disponibilité disponibilité - load balancing
35
Mémoire de fin de cycle
NIANG Pape Saer
3.9 Le choix de Shibboleth
De cette étude, il ressort que les produits de fédération étudiés présentent un fort potentiel en termes
d’interopérabilité, de niveau de sécurité offert, de support de standards d’échange d’information de
sécurité, etc. Cependant, tous ces produits bien qu’efficaces en termes de gestion d’identité, présentent
des insuffisances en termes de gestion d’accès.
Après l’étude des différentes solutions, nous avons porté notre choix sur Shibboleth pour plusieurs
raisons :
Les fonctionnalités offertes par Shibboleth sont moins étendues, mais correspondent aux
principaux cas d’usages de notre communauté. Surtout la topologie d’une fédération de type
Shibboleth correspond bien à la structuration d’un ensemble d’établissements
d’enseignement supérieur.
De plus c’est un produit open source, soutenue par une communauté active et ouverte, et qui
s’interface bien avec les briques préexistantes d’un système d’information.
Le Comité Réseau des Universités a retenu Shibboleth pour construire une infrastructure de
fédération d’identités pour l’enseignement supérieur français.
36
Mémoire de fin de cycle
NIANG Pape Saer
Chapitre 4: Le système Shibboleth
L’objectif de ce chapitre est de montrer les interactions entre les acteurs du système qui
permettent la délégation de l’authentification et la propagation des attributs utilisateurs.
Afin de mieux appréhender un fonctionnement globalement complexe, nous présentons d’abord
les acteurs du système, puis détailler les interactions entre les acteurs du système lors de l’accès
par un navigateur à une ressource web.
37
Mémoire de fin de cycle
NIANG Pape Saer
C’est lui qui demande à l’utilisateur les paramètres de connexions puis valide auprès du service
d’authentification. Les implémentations du service d’authentifications peuvent être très variées,
depuis un module Apache authentifiant les utilisateurs auprès d’un annuaire LDAP, jusqu’au
client de Single Sign On.
Le service d’authentification n’est pas une partie intégrante de l’IdP, on ne peut néanmoins pas
concevoir d’IdP sans service d’authentification. N’importe quel système d’authentification web
(formulaire applicatif, certificat x509, SSO) peut être utilisé.
Le service d’authentification est chargé de transmettre à l’autorité d’authentification
l’identifiants unique de l’utilisateur au sein du système d’information.
l’autorité d’authentification (Authentication Authority) fait une association du nameIdentier à
l’identifiant de l’utilisateur.
l’autorité d’attributs (Attribute Authority) délivre, en réponse à une demande d’un SP, les
attributs de l’utilisateur correspondant à un nameIdentifier, l’association entre l’identifiant de
l’utilisateur et le nameIdentifier étant maintenue par l’autorité d’authentification. Les attributs
de l’utilisateur sont récupérées dans le système d’information de l’établissement, plusieurs
sources pouvant être envisagées (annuaire ldap, base de données).
38
Mémoire de fin de cycle
NIANG Pape Saer
seul établissement. Lorsque l’utilisateur veut accéder à une ressource, il renseigne son url dans un
navigateur web. Ce dernier effectue une requête http vers le SP pour accéder à la ressource. Sans
information d’authentification il est redirigé par le SP vers l’IdP de son établissement de rattachement.
Le fournisseur d’attributs affiche un formulaire à l’utilisateur pour qu’il soumette ses paramètres de
connexions.
Une fois l’authentification réussie, l’IdP redirige l’utilisateur vers le SP avec une assertion
SAML. Cette assertion est signée par l’IdP et permettra au SP de lui faire confiance. Elle contient un
nameIdentifier. C’est un identifiant opaque utilisé dans le cadre des échanges entre les différentes
briques de Shibboleth. C’est grâce à cet identifiant que le SP va récupérer les attributs de l’utilisateur
souhaitant accéder à la ressource auprès de l’IdP.
39
Mémoire de fin de cycle
NIANG Pape Saer
Une fois les attributs reçu, le SP peut alors effectuer le contrôle d’accès pour retourner une
réponse à l’utilisateur (une autorisation ou non à la ressource).
40
Mémoire de fin de cycle
NIANG Pape Saer
41
Mémoire de fin de cycle
NIANG Pape Saer
L’utilisateur remplit les champs du formulaire et effectue une nouvelle requête vers le serveur
CAS, qui le redirige vers l’IdP. Le service d’authentification de l’IdP qui est un client SSO, effectue
une nouvelle redirection vers le fournisseur de service. C’est la principale différence de fonctionnement
sans SSO, la suite du processus est identique à celui vu précédemment.
42
Mémoire de fin de cycle
NIANG Pape Saer
Du point de vu utilisateur on a le scenario suivant :
Pour de nouvelles requêtes vers ce même SP, une session est mise en place entre ce dernier et le
navigateur, afin d’empêcher l’utilisateur de s’authentifier à nouveau. Par contre dans le cas des requêtes
vers un autre SP l’authentification est complètement transparente.
43
Mémoire de fin de cycle
NIANG Pape Saer
Un formulaire d’authentification est présenté à l’utilisateur qui renseigne les différents champs.
Apres validation des ses paramètres la suite du processus est identique à celui du mode de
fonctionnement avec SSO.
44
Mémoire de fin de cycle
NIANG Pape Saer
4.3.1 Métadonnées
Les métadonnées listent tous les membres d’une fédération d’identité. Pour qu'un fournisseur de
services soit reconnu dans une fédération par les fournisseurs d'identités, il doit être listé dans ce
fichier. Inversement, pour qu'un fournisseur d'identités soit reconnu dans la fédération par des
45
Mémoire de fin de cycle
NIANG Pape Saer
fournisseurs de services, il doit être listé dans les métadonnées. Le fichier de métadonnées inclut
également les certificats de chaque entité.
Les métadonnées constituent donc le socle de confiance d'une fédération. Pour assurer leur
intégrité le fichier des métadonnées est signé électroniquement. Dans une fédération en production,
l'enregistrement d'un nouveau fournisseur ou la mise à jour des informations d'un fournisseur existant
est soumis à un processus permettant de vérifier la validité et la légitimité de la demande.
Pour chaque fournisseur, les métadonnées indiquent son identifiant unique (attribut entityID),
des adresses de contact organisationnel et technique, le certificat utilisé par ce fournisseur, l'adresse du
SSO pour un fournisseur d'identités et l'adresse de réception des attributs pour un fournisseur de
services.
Les métadonnées sont gérées de façon centralisée pour la fédération et partagées par tous les
sites participants qui doivent mettre en place une tâche périodique de synchronisation. Chaque site peut
enrichir ses métadonnées s’il participe à plusieurs fédérations ou pour les besoins de relations
bilatérales. Ces méta données n'obligent pas un site à avoir des relations avec tous les autres sites qui y
sont listés : chaque site est libre de définir avec quels partenaires il travaille
Par contre l’IdP délivre des attributs sur ses utilisateurs aux services providers alors il leur fait aussi
confiance. Pour une fédération il doit y avoir un acteur définissant des engagements et centralisant leur
gestion. Ceci permet d’éviter la multiplication des relations entre les différents fournisseurs dans la
fédération. Cet acteur donne aussi les services centraux : tels que le service de découverte, la
distribution des métadonnées. Le fournisseur d’identités utilise une ARP (Attribute Release Policy) qui
contient un ensemble de règles. Chaque règle définit un contexte d’application et des attributs avec des
valeurs autorisées pour chaque attribut. Une ARP peut être définie pour un fournisseur de service à fin
de filtrage des données.
46
Mémoire de fin de cycle
NIANG Pape Saer
Un mécanisme équivalent aux ARP est défini dans un fournisseur de service, permettant de filtrer
les attributs reçus
47
Mémoire de fin de cycle
NIANG Pape Saer
4.4.2 Web Services-Federation (WS-Federation)
WS-Federation est une spécification définie par IBM, Microsoft et d’autres sociétés, propose
aux organisations un moyen pour l’échange d’identités et d’attributs entre systèmes d’authentification
et d’autorisation distribués. WS-Federation définit des mécanismes de fédération d'espaces de
confiance hétérogènes. Elle offre la possibilité de fédérer des domaines de sécurité et permet d'établir
des contextes de sécurité entre des applications utilisant des spécifications de sécurité distinctes.
48
Mémoire de fin de cycle
NIANG Pape Saer
Chapitre 5: Implémentation de Shibboleth
49
Mémoire de fin de cycle
NIANG Pape Saer
50
Mémoire de fin de cycle
NIANG Pape Saer
5.2 Installation de l’IdP
Les différentes composantes de Shibboleth, ont été installées sur une machine Centos 6
est une servlet JAVA et utilise n’importe quel Java Servlet 2.4 Container comme serveur d’application.
Dans notre cas nous avons choisi Tomcat comme conteneur de servlet.
Installation de JAVA
Apache Tomcat est un serveur d’applications JAVA; c’est lui qui exécutera la brique Shibboleth
IdP. Nous avons installé sa version 6.36
# wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
Il faudra ensuite positionner la variable d’environnement CATALINA _HOME qui doit indiquer
le chemin d’accès au répertoire d’installation du serveur Tomcat.
Il faut ensuite créer un fichier XML qui permettra à Tomcat de déployer automatiquement la brique IdP
sans avoir à recopier l’archive (.war) dans son répertoire webapps/. Cette méthode de déploiement
permet aussi d’éviter des problèmes de mise en cache. Pour cela, il faut créer l’arborescence suivante
# mkdir -p /usr/local/tomcat/conf/Catalina/localhost/
#vim /usr/local/tomcat/conf/Catalina/localhost/idp.xml
antiResourceLocking="false"
antiJARLocking="false"
unpackWAR="false" />
Conception et implémentation d'une plateforme de fédération d’identité pour l’uvs
51
Mémoire de fin de cycle
NIANG Pape Saer
Il faut à présent créer un répertoire qui va servir à stocker les bibliothèques utilisées par la servlet IdP.
# mkdir /usr/local/tomcat/endorsed/
# /etc/init.d/tomcat start
Après avoir démarré Tomcat, il faut vérifier les logs pour voir si le serveur s’est bien lancé avec la
commande suivante
#tail -f /usr/local/tomcat/log/catalina.out
# cd /usr/local/src
# unzip shibboleth-identityprovider-2.3.8-bin.zip
52
Mémoire de fin de cycle
NIANG Pape Saer
On copie les bibliothèques dont a besoin la servlet IdP pour fonctionner dans le sous répertoire de
Tomcat crée précédemment
# cd /usr/local/src/shibboleth-identityprovider-2.3.8/
# cp endorsed/*.jar /usr/local/tomcat/endorsed/
Nous passons à présent à l'installation de l'IdP
# chmod +x install.sh
# ./install.sh
Where should the Shibboleth Identity Provider software be installed? [/opt/shibboleth-idp]
taper entrer
What is the fully qualified hostname of the Shibboleth Identity Provider server? [idp.example.org]
idp.uvs.sn
A keystore is about to be generated for you. Please enter a password that will be used to protect it.
taper 'password'
…
BUILD SUCCESSFUL
Total time: 44 seconds
L'arborescence de l'IdP :
bin/ : contient les outils en ligne de commandes permettant un test rapide des attributs de l'IdP et
connaitre son numéro de version
conf/ : contient les fichiers de configuration de l'IdP
credentials/ : les clés, certificats qui ont été générés lors de l'installation de votre IdP. Ces
éléments sont exclusivement utilisés pour sécuriser les échanges SAML ; ils ne sont pas vus par
les utilisateurs et ne nécessitent pas de signature par une autorité de confiance.
lib/ : les librairies (jar) sur lesquelles s'appuie l'IdP. Ces librairies sont par ailleurs contenues dans
le fichier idp.war ; elles ne sont utilisées que par les outils en ligne de commandes.
logs/ : là où se trouvent tous les fichiers de logs (créés au démarrage de l'IdP)
o idp-process.log : fichier de log principal de l'IdP
53
Mémoire de fin de cycle
NIANG Pape Saer
o idp-access.log : journalisation des accès à l'IdP
# vim /usr/local/tomcat/conf/tomcat-users.xml
<tomcat-users>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
</tomcat-users>
On peut accéder à l’interface de Tomcat après redémarrage pour vérifier si notre servlet IdP est bien
démarrée.
Les fichiers de configuration du fournisseur d'identités sont installés par défaut dans
/opt/shibboleth-idp/conf/
54
Mémoire de fin de cycle
NIANG Pape Saer
Il est conseillé de garder une copie des principaux fichiers de configuration de l'IdP Shibboleth.
En production, il est fortement recommandé de « versionner » ces fichiers de configuration, avec SVN.
#vim /opt/shibboleth-idp/conf/relying-party.xml
<metadata:MetadataProviderid="ShibbolethMetadata"
xsi:type="metadata:ChainingMetadataProvider>"
<!-- Load the IdP's own metadata. This is necessary for artifact support. -->
metadataFile="/opt/shibboleth-idp/metadata/idp-metadata.xml"
maxRefreshDelay="P1D" />
metadataURL="https://servpro.sn/Shibboleth.sso/Metadata"
backingFile="/opt/shibboleth-idp/metadata/localsp.xml">
</MetadataProvider>
</metadata:MetadataProvider>
5.3 Installation du SP
Configuration du serveur Apache
Il faut éditer le fichier de configuration de votre serveur Apache pour spécifier les éléments
suivants :
Conception et implémentation d'une plateforme de fédération d’identité pour l’uvs
55
Mémoire de fin de cycle
NIANG Pape Saer
la directive UseCanonicalName doit être positionnée à On. Cette directive est requise pour
permettre le routage des requêtes via la fonctionnalité RequestMap détaillée plus loin
# vim /etc/httpd/conf/httpd.conf
ServerName servpro.sn:80
...
UseCanonicalName On
# wget -O /etc/yum.repos.d/security_shibboleth.repo
http://download.opensuse.org/repositories/security://shibboleth/CentOS_CentOS-
6/security:shibboleth.repo
# echo "protect=1" >> /etc/yum.repos.d/security_shibboleth.repo
# wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-shibboleth-security
http://download.opensuse.org/repositories/security:/shibboleth/CentOS_CentOS-
6/repodata/repomd.xml.key
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-shibboleth-security
Le processus shibd a besoin d’un certificat pour signer et/ou chiffrer les requêtes SAML transmises aux
fournisseurs d’identités (IdP).
56
Mémoire de fin de cycle
NIANG Pape Saer
# openssl req -new -x509 -nodes -sha1 -days 365 -key -key /tmp/servpro
Il faudrait ensuite déplacer ces deux clés associées (privée et publique) dans /etc/shibboleth :
# mv /tmp/servpro.sn.crt /etc/shibboleth/
# mv /tmp/servpro.sn.key /etc/shibboleth/
# vim /etc/shibboleth/shibboleth2.xml
<SPConfig .>
...
<ApplicationDefaults entityID="https://servpro.sn"
REMOTE_USER="mail eppn persistent-id targeted-id">
<!—Activation du wayf-->
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://servpro.sn/wayf/WAYF">
SAML2 SAML1
</SSO>
<!-- Charger les métadonnées de l’IdP : dans notre cas idp.uvs.sn-->
<MetadataProvider type="XML" uri="https://idp.uvs.sn/idp/profile/Metadata/SAML"
backingFilePath="idp-metadata.xml" reloadInterval="7200">
</MetadataProvider>
...
</SPconfig>
entityID: est l'identifiant unique qui permet de distinguer l'application au sein de la fédération.
SSO : décrit comment Shibboleth réagit à une requête de session pour une application c'est-à-
dire de quelle manière il va demander une authentification de l'utilisateur (interrogation directe
57
Mémoire de fin de cycle
NIANG Pape Saer
d'un IdP donné, passage par un DS/WAYF, etc.). Dans notre exemple, le SP va utiliser de
préférence le protocole SAML2. Si l'IdP avec lequel le SP communique ne connait que le
protocole SAML1, le SP se rabattra sur cette version du protocole.
Handler: type=“Status “ Location=”/Status” est une URL qui renvoie un rapport du statut
opérationnel du SP au format xml
L'avantage d'installer un service de découverte au plus près de vos applications est de pouvoir le
mettre en conformité avec la charte graphique de l'application. De plus, il est possible de filtrer à ce
niveau les fournisseurs d'identités acceptés pour votre application. Cela évite de lister des fournisseurs
d'identités qui ne sont pas acceptés et laisser leurs utilisateurs s'authentifier pour se voir refuser l'accès
par la suite.
# cd /usr/local/src
# mkdir SWITCHwayf_1.17.1
# wget –no-check-certificate
https://forge.switch.ch/redmine/attachments/download/647/SWITCHwayf_1.17.1_20120613.zip
# unzip -d SWITCHwayf_1.17.1 SWITCHwayf_1.17.1_20120613.zip
# cp -pR SWITCHwayf_1.17.1/ /usr/local/SWITCHwayf
# chown -R apache.apache /usr/local/SWITCHwayf
#vim/etc/httpd/conf.d/wayf.conf
58
Mémoire de fin de cycle
NIANG Pape Saer
<Files WAYF>
ForceType application/x-httpd-php
</Files>
Alias /wayf /usr/local/SWITCHwayf
#vim / usr/local/SWITCHwayf/IDProvider.conf.php
59
Mémoire de fin de cycle
NIANG Pape Saer
$IDProviders['university'] = array (
,);
5.4 Shibbolisation de quelques ressources
Pour la mise en œuvre des fonctionnalités de notre plateforme de fédération d’identité on a utilisé
Moodle et Esup comme ressources.
5.4.1 Moodle
En signant le contrat de performance, les différentes universités publiques du Sénégal ont jugé
nécessaire de disposer d’une plateforme d’enseignement à distance pour atteindre les objectifs de la
clause du CDP. Le choix de moodle est motivé par sa notoriété, et son utilisation par la majorité des
établissements pour proposer des cours à distance.
MOODLE [W08] est une plateforme d'apprentissage en ligne servant à créer des communautés
d'apprenants autour de contenus et d'activités pédagogiques.
Dotée d'un système de gestion de contenu (SGC), MOODLE a aussi des fonctions
pédagogiques ou communicatives lui permettant de créer un environnement d'apprentissage en ligne.
Ces fonctionnalités permettent de créer des interactions entre pédagogues, apprenants et ressources
pédagogiques formant ainsi un réseau et parfois même une véritable communauté autour d'un thème
choisi par les membres de la plateforme.
60
Mémoire de fin de cycle
NIANG Pape Saer
Ensuite dans Apache, il faut renseigner les directives :
AuthType shibboleth
ShibRequestSetting RequireSession 1
require valid-user
</Location>
L’utilisateur est redirigé vers le service de découverte (wayf) ou il choisit son établissement de
provenance.
61
Mémoire de fin de cycle
NIANG Pape Saer
Suite au choix de l’utilisateur dans la liste qui lui est affichée, il sera redirigé vers une page
d’authentification(le système d’authentification de son établissement) pour se connecter. Deux choix
s’offrent à nous : une connexion via le SSO natif de Shibboleth ou le CAS.
62
Mémoire de fin de cycle
NIANG Pape Saer
Une fois les paramètres de connexions validés, l’utilisateur peut accéder à la ressource demandée qui
est dans notre cas moodle.
63
Mémoire de fin de cycle
NIANG Pape Saer
ESUP-PORTAIL [W07] est un projet en code source libre parmi d’autres solutions, basé sur le
produit libre Uportal et sur l'intégration de logiciels libres. Il intègre un bureau virtuel offrant des espaces
de stockages partageable, des outils de communication, agenda, listes d'échanges... L'organisation des
services est assurée suivant le profil des usagers, ce qui permet d'offrir à chaque usager un espace de travail
adapté à son activité. Il utilise les technologies suivantes :
Le langage JAVA
Un socle uPortal
ESUP-PORTAIL est une plate-forme structurée et sécurisée, respectant les principaux standards et
normes d'interopérabilité. Tous les services (en version open-source), ressources et informations
nécessaires à un établissement sont accessibles à chaque utilisateur, ce dernier peut personnaliser son
environnement de travail et l'ouvrir, de manière sécurisé qu’à des personnes choisies, grâce à une
authentification unique (l'authentification CAS, annuaires LDAP et systèmes de certificats).
64
Mémoire de fin de cycle
NIANG Pape Saer
5.5.2 Authentification Shibboleth pour Esup
1. L’utilisateur veut accéder à l’ENT, protégé par Shibboleth. La requête est interceptée par le SP
5. L’IdP interroge par exemple un annuaire LDAP pour vérifier les informations fournis par
l’utilisateur.
6. Le référentiel utilisateur confirme ou infirme les paramétrés fournis avant de transmettre à l’IdP
les informations de l’utilisateur.
65
Mémoire de fin de cycle
NIANG Pape Saer
5.5.3 Shibbolisation d’Esup
Le serveur d’application Tomcat doit être branché sur un serveur Apache en frontal. Il convient de
disposer des briques de Shibboleth déjà fonctionnels.
Configuration d’Apache
Pour mettre en place le SP sur le serveur Apache il faut activer le module mod_shib, fourni
avec le SP. Il conviendra d’ajouter le chargement du module à la configuration du serveur httpd.
Une fois le module chargé, il faut le configurer.
Configuration du SP
L’identification s’effectue à partir des attributs de l’annuaire LDAP relié à l’IdP. Il faut alors
s’assurer que le fournisseur de service a été bien configuré pour transmettre le bon attribut dans la
variable remote_user. Par défaut c’est l’attribut uid qui est utilisé pour l’authentification. Il
convient donc de modifier la configuration du SP.
Configuration d’Esup
Après la configuration du serveur Apache en frontal avec le SP, il faut à présent passer à la
configuration du portail pour l’authentification via Shibboleth. Cette authentification se fait par la
variable REMOTE_USER : l’utilisateur est identifié par Shibboleth, et est transmis au portail.
66
Mémoire de fin de cycle
NIANG Pape Saer
Conclusion
L’usage des Technologies de l’Information et de la Communication constitue un tournant
décisif dans le milieu de l’enseignement et de la recherche en donnant naissance aujourd’hui à une
nouvelle forme d’organisations que l’on nomme Organisation virtuelle, qui regroupe des entités
géographiquement dispersées.
Le contexte actuel de l’enseignement supérieur au Sénégal est caractérisé par la diversification
et l'accroissement de l'offre de formation, s’y ajoute l’université virtuelle du Sénégal qui va constituer
une révolution cruciale dans la carte universitaire par la mutualisation au niveau national sous forme
de fédération des contenus numériques pédagogiques pour chaque domaine disciplinaire.
Les ressources numériques mise à la disposition de la fédération sont privées, donc nécessitent
une authentification au préalable des utilisateurs, et contrôler l’accès à ces applications sans multiplier
les référentiels utilisateurs.
Dans le cadre du projet de l’Université Virtuelle du Sénégal, il nous a été confié la tâche de
mettre en place une fédération d’identité qui a fait l’objet du thème de notre mémoire pour répondre
au besoin d’interconnecter des systèmes d’authentifications distribués pour offrir un cadre technique et
de confiance permettant à ses participants de sécuriser et de simplifier l'accès à des ressources Web.
Durant notre stage nous avons traité le contrôle d’accès aux ressources web en adoptant les
concepts de fédération d’identité basée sur Shibboleth. Cette expérience nous a permis de mieux
appréhender la collaboration entre les organismes pour le partage et l’exploitation des applications en
toute sécurité. Notre solution s’intègre parfaitement dans le système d’information existant dans les
établissements en toute transparence. En effet, il se base sur le système d’authentification et le
référentiel utilisateur en vigueur dans l’université pour assurer ses fonctions de propagation d’attributs
et de délégation d’authentification.
Compte tenue de l’évolution des besoins en matière de modernisation du système de
l’enseignement supérieur au Sénégal, la constitution des établissements supérieurs à des espaces
virtuels de collaboration sous forme de fédération constitue une perspective pour :
permettre l’échange des connaissances sur les bonnes pratiques dans le champ d’expertise.
contribuer au développement des compétences et la formation des acteurs universitaires
développer des projets communs et ainsi bénéficier d’une synergie novatrice sur le plan des
savoir faire.
Conception et implémentation d'une plateforme de fédération d’identité pour l’uvs
67
Mémoire de fin de cycle
NIANG Pape Saer
Créer un partenariat entre les universités pour favoriser la mobilité des universitaires.
travail collaboratif.
e-Learning.
accès nomade à la documentation électronique.
L’enseignement supérieur du Sénégal avec l’appuie de l’UVS peut s’engager dans la voie d’une
identité numérique fédérée pour une meilleure cohérence entre les établissements supérieurs afin de
résoudre plusieurs problématiques d’ordres économique, infrastructurel et social.
68
Mémoire de fin de cycle
NIANG Pape Saer
REFERENCES
Bibliographie
[B02] : Olivier Salaün, Introduction aux architectures web de Single Sign-on, octobre 2003
[B03] : Julien Marchal Vincent Mathieu, Pascal Aubry. Single Sign-On open-source avec
CAS(Central Authentication Service), Octobre 2003.
[B04] : Florent Guilleux Olivier Salaün, Pascal Aubry. Fédération d’identités et propagation d’attributs
avec Shibboleth, Décembre 2005.
[B05] : Le groupe supann tech. Recommandations pour les annuaires de l’enseignement supérieur :
SUPANN 2009, Décembre 2009.
Webographie
[W01] : http ://www.uvs.sn. Consulté en Novembre 2013
69
Mémoire de fin de cycle
NIANG Pape Saer
[W09] :http://www.connexions-normandie.fr/2009/03/11/environnementnumerique-travail-
enseignement-universite-normandie/1620/.Consulté en Octobre 2013.
[W10] :http://www.egilia.com/fr/articles/20976-la-federation-identites-single-sign-on-le-serpent-mer-
la-decennie.html Consulté en Octobre 2013.
ANNEXES
A. ANNEXES : Installation du serveur LDAP
70
Mémoire de fin de cycle
NIANG Pape Saer
71
Mémoire de fin de cycle
NIANG Pape Saer
72