II. Présentation de la
norme LDAP
Cette section présentera la norme LDAP, en abordant
tout d'abord son historique, puis en décrivant la norme elle même
et les usage qui en sont faits.
A. Historique
1.
Simplification du protocole d'accès
La difficulté rencontrée lors de
l'implémentation du protocole DAP provient de sa modélisation
basée sur la pile OSI. Pour éviter d'avoir à écrire
toutes les couches OSI, d'autres protocoles ont été
définis pour accéder aux annuaires X500 en s'appuyant sur TCP/IP.
Il y a eu ainsi deux nouveaux protocoles de définis au début des
années 90 : Directory Assistance Service (DAS) et Directory Interface to
X.500 Implemented Efficiently (DIXIE). Ces deux protocoles ont malheureusement
été conçus pour s'interfacer à une
implémentation donnée d'un serveur X500.
C'est pour cela qu'un groupe de lIETF, le groupe Open Systems
Interconnection-Directory Services (OSI-DS) s'est réuni pour concevoir
une simplification du protocole DAP. Après deux premières RFC de
1993, le résultat final de ces travaux a été les RFC
[rfc1777], [rfc1778] et [rfc1779] publiées en mars 1995 et
définissant la version 2 du protocole DAP Allégé
(Lightweight), LDAP. À cette étape, le protocole LDAP est une
simplification avancée de DAP, fournissant quasiment les mêmes
fonctionnalités, mais représentant d'avantages d'informations
sous la forme de chaînes de caractères et utilisant un sous
ensemble de l'encodage de DAP. Et bien sûr LDAP utilise TCP comme couche
réseau.
2.
Simplification du serveur
Le protocole LDAP n'étant qu'une simplification du
protocole DAP, c'est à dire de la couche réseau, les
requêtes LDAP devaient être converties en DAP par des serveurs
intermédiaires avant d'être transmises à des serveur X500.
Début 1995, 99% des serveurs X500 sont accédés par LDAP.
Mais les implémentations des serveurs continuent à être
complexes.
Après avoir écrit la première
implémentation du protocole LDAP l'Université du Michigan
écrit un serveur natif LDAP, pour pouvoir se débarrasser des
serveurs intermédiaires passerelles entre les requêtes DAP LDAP.
Dès le départ ce serveur est fourni avec ses sources et un kit de
développement, ce qui a favorisé la propagation de la norme.
Début 1996 Netscape prend la tête d'une coalition
pour promouvoir l'usage de LDAP.
3.
Première évolution: vers la version 3
Après la version 2 de la norme, il était
nécessaire d'y apporter quelques modifications pour répondre
à quelques difficultés rencontrées. L'évolution de
la norme vers la version 3 a intégré :
L'utilisation de l'encodage UTF-8 pour pouvoir manipuler des
chaînes de n'importe quelle langue.
Les referrals ont été normalisés. Ils
n'étaient pas présents dans la version 2 de LDAP.
L'opération de connexion à un annuaire a
été modifiée pour accepter le protocole Simple
Authentication and Security Layer (SASL), et Transport Layer Security (TLS).
La norme inclut maintenant des mécanismes d'extension.
Il est possible de réaliser des opérations supplémentaires
à celles décrites dans la norme, tout en s'appuyant sur le
protocole existant. Il est aussi possible, par le biais de contrôle, de
modifier le comportement des opérations de base.
Un annuaire peut être interrogé pour
accéder à son schéma, et pour connaître les
extensions et les contrôles qu'il implémente.
Intégration dans la norme LDAP du schéma X500.
Certaines classes d'objets et attributs définis dans la norme X500
doivent être reconnus par les serveurs LDAP.
La norme LDAP version 3 est définie dans la [rfc3377]
qui est en réalité une méta RFC. En effet cette RFC
définit la norme LDAP version 3 comme une liste de RFC.
Cette liste de RFCs est la suivante :
[rfc2251]
|
Définition du protocole réseau LDAP, du
modèle LDAP et des différentes opérations.
|
[rfc2252]
|
Définition de la syntaxe des attributs.
|
[rfc2253]
|
Syntaxe des DN et leur représentation en UTF-8.
|
[rfc2254]
|
Définition des filtres de recherche.
|
[rfc2255]
|
Définition des urls.
|
[rfc2256]
|
Éléments des schémas de base LDAP.
|
[rfc2829]
|
Méthodes d'authentification.
|
[rfc2830]
|
Description d'une opération Start TLS, qui permet à
un client et à un serveur d'établir une connexion
sécurisée.
|
Tableau 4: RFCs
définissant la norme LDAP version 3
La version 3 de la norme est entièrement compatible avec
la version 2. Les clients se basant encore sur la version 2 peuvent se
connecter sur des serveurs implémentant la version 3. Dans le cas du
serveur d'Openldap à partir de la version 2.1 cela nécessite un
paramétrage particulier.
|