Mis au point à l'université de Cambridge (GB) [23], ce protocole mériterait à notre avis d'être largement utilisé.
Colmater les brèches ouvertes dans la sécurité par la faiblesse quasi-inévitable des mots_de_passe choisis par les utilisateurs. Le principe est qu'une clef choisie parmi un espace limité ne doit pas servir à chiffrer un message contenant du texte vérifiable. Un intrus qui voudrait essayer les uns à la suite des autres les quelques dix mille mots_de_passe les plus fréquents ne pourra donc pas le faire "chez lui" et sera vraisemblablement repéré s'il les essaye directement auprès de la centrale d'identification.
A clef publique (RSA) vis à vis de la centrale d'identification et à clef secrète (DES) dans les autres cas.
N'impose qu'un seul calcul RSA par connexion, ce qui n'alourdit pas trop la tâche d'un terminal limité. Suppose une horloge répartie pas trop fantaisiste. Ne suppose pas un circuit-DES, mais celui-ci sera bienvenu pour la suite du protocole.
La Table 10 donne la liste des messages de ce protocole.
Supposant au départ
, et une forme affaiblie de
et
, on arrive à une
connexion entre P et Q, protégée par la clef forte k et par un numérotage
en séquence des messages à partir du message (8). Voyons comment.
Or celle-ci est utilisée ici comme heuristique et non comme preuve de fraîcheur : l'utilisation d'un mauvais mot_de_passe produira un résultat totalement aberrant, et donc immédiatement détectable. D'autre part, il ne pose aucun problème qu'un intrus rejoue ce message.
Le point essentiel est que le cryptogramme (1) ne peut pas être utilisé
par un intrus pour une attaque à texte vérifiable sur Wp, car d'un
côté seul S possède la clef forte Ks-1 qui permet d'accéder directement
à
et d'autre part la présence du brouilleur
cp empêche de vérifier Wp par la simple refabrication du message (1).
Concernant le message (4), il y a par contre la certitude de ce qu'il
émane récemment de S. En effet, np1 est récent et était protégé par
la clef forte de S. La sémantique de ce message est :
.
Or S peut être construit pour que
.
On a donc bien obtenu une distribution d'une clef forte entre P et
Q.
Mais cette sémantique se réalise de façon à ce que (4) ne contienne aucun texte vérifiable (sauf par P et par S). Même Q est empêché de "tenter sa chance", car sa connaissance de k est contrebalancée par son ignorance de np2, qui était protégé par la clef forte Ks de S.
A ce stade du protocole, il est maintenant possible de procéder aux questions-réponses des couples de messages (6)/(7) et (7)/(8). Étant protégés par une clef forte, il n'est plus gênant désormais qu'ils contiennent du texte vérifiable.
Il est clair que ce protocole est coûteux en messages. Il l'est d'autant plus qu'il a été écrit pour être clair et servir de modèle de référence dans l'évaluation des compromis inévitables aux implémentations effectives.
Lors d'une implémentation, ce coût pourra être très largement diminué si l'une des deux entités P ou Q dispose d'une clef bien choisie. La Table 11 montre une solution possible si Q est par exemple un serveur de fichier physiquement protégé, avec un mot de passe résidant en ROM et réellement choisi aléatoirement parmi les 256 clefs DES. Non seulement le nombre global de message a diminué, mais de plus l'échange (1)-(2) avec S peut n'avoir lieu qu'une fois par login, même si le serveur Q n'a pas de mémoire d'état (réplication par fork) : le ticket peut être confié au client puisqu'il ne lui permet pas de se livrer à une attaque à texte vérifiable sur le mot de passe de Q, celui-ci étant supposé être une clef forte.
Le protocole M.L.G.S. est clair et solide. Il est une bonne illustration des problèmes de l'identification et est une référence pour évaluer les compromis effort-efficacité inévitables dans les implémentations effectives.