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.
|