Nous avons discuté six protocoles : Unix (login/passwords), Secure RPC (Birrell), AndrewFS, Kerberos, M.L.G.S., Smart-Card. Leur objectif commun est l'identification entre des entités intervenant dans un système réparti.
On établit l'identité du créateur d'un message en joignant une connaissance secrète à ce message, ou en tout cas en présentant une preuve de la possession de celle-ci. Tous ces protocoles utilisent des algorithmes de chiffrement, avec plus ou moins de bonheur, afin qu'un intrus ne puisse accumuler, par de simples écoutes, les connaissances qui lui permettraient par la suite de contrefaire son identité.
On prouve alors l'identité de l'émetteur d'un message en apportant en outre la preuve de ce que ce message est récent. Les moyens en sont variés : une horloge répartie fortement synchronisée est un raccourci élégant, mais un échange de nonces donne une qualité de preuve supérieure.
Un système de tickets à durée de vie limitée s'est généralisé. Il permet de n'utiliser qu'une seule fois par login le mot de passe à longue durée de vie. Dans ces conditions, ce n'est plus ce mot de passe qui est stocké en mémoire vive pour le reste de la session, mais une clef temporaire, dont la compromission est moins grave.
Le principal point faible des protocoles d'identification est le stockage des mots de passe. Stocker le mot de passe d'un serveur en mémoire morte l'expose à être volé, et c'est encore pire sur disque. Ne pas le stocker interdit au serveur de rebooter automatiquement en cas de panne. Quant aux personnes physiques, la volatilité proverbiale de leur mémoire conduit à ce que les mots de passe soient choisis dans un espace très restreint.
Le fait que les principales implémentations ne tiennent pas réellement compte de ce problème, se limitant à l'incantation célèbre : "veuillez choisir un mot de passe raisonnable", nous paraît pittoresque, d'autant que l'algorithme M.L.G.S. répond de façon claire et concluante à cette question.
Les quatre premiers protocoles étudiés forment une série chronologique, et aussi une série pour l'efficacité. Mais ils sont surtout destinés à identifier les utilisateurs, plutôt qu'à permettre à ceux-ci d'identifier à leur tour le processus qui leur répond. Cette possibilité de contre-interrogatoire suppose que la personne physique concernée dispose de la puissance de calcul et de chiffrement nécessaire. Celle-ci ne peut être obtenue que par un dispositif matériel portatif à la façon d'une calculette.
Ce dispositif, ainsi que les circuits-DES et d'autres dispositions matérielles encore, sont les seuls moyens d'obtenir un niveau de sécurité élevée. En effet, si le processus de vérification est trop lent, il sera refusé par les utilisateurs. Malheureusement, les matériels ont un coût, qui les amènent à être refusés, par les ordonnateurs des dépenses cette fois.
Les principales erreurs qui ont été relevées concernent l'emploi des dispositifs cryptographiques. Ceci peut s'expliquer entre autres par le fait que ces dispositifs étaient souvent "en instance d'achat prolongée" lors des implémentations, ne permettant pas la vérification/infirmation des propriétés cherchées.
Quoiqu'il en soit, des protocoles comme AndrewFS ou Kerberos constituent des filtres difficiles à traverser par un intrus, en tout cas d'une difficulté incomparablement supérieure à celle du filtre Unix usuel. En leur incorporant des dispositifs comme Smart- Card, ainsi que des mécanismes d'audit, on devrait atteindre des niveaux de sécurité très élevés.
Annexes