Groupe de travail Réseau

N. Haller, Bell Communications Research

Request for Comments : 1704

R. Atkinson, Naval Research Laboratory

Catégorie : Information

 

October 1994

Traduction Claude Brière de L’Isle

L’authentification sur l’Internet

 

Statut du présent Mémo

Le présent document donne des informations pour la communauté de l’Internet. Ce mémo ne spécifie aucune norme Internet. Sa distribution n’est soumise à aucune restriction.

 

1 Introduction

Les exigences d’authentification des systèmes informatiques et des protocoles réseau varient beaucoup en fonction de leur destination, de leur accessibilité, et de la connectivité du réseau. Le présent document décrit une gamme de techniques d’authentification et fait des suggestions aux développeurs de protocoles sur les types d’authentification qui pourraient être convenables pour certains types de protocoles et d’applications utilisés sur l’Internet. On espère que ce document fournira des informations utiles aux membres intéressés de la communauté de l’Internet.

Les mots de passe, qui sont vulnérables aux attaques passives, ne sont pas assez forts pour être appropriés à l’Internet actuel [CERT94]. De plus, il est tout à fait évident que les attaques aussi bien passives qu’actives sont chose courante sur l’Internet actuel [Bellovin89, Bellovin92, Bellovin93, CB94, Stoll90]. Les auteurs du présent document pensent que nombre de protocoles utilisés sur l’Internet devraient avoir des mécanismes d’authentification plus forts, de sorte qu’ils soient au moins protégés contre les attaques passives. La prise en charge de mécanismes d’authentification sûrs contre les attaques actives est clairement souhaitable dans les protocoles d’inter réseautage.

Le problème de l’authentification inter réseau a plusieurs dimensions, et pour faire court et faciliter la lisibilité, le présent document n’en décrit que quelques unes. Cependant, les facteurs qu’un concepteur de protocole devrait prendre en compte incluent la question de savoir si l’authentification est entre des machines ou entre un homme et une machine, si l’authentification est seulement locale ou distribuée à travers un réseau, la force du mécanisme d’authentification, et comment les clés sont gérées.

 

2 Définition des termes

Cette section définit brièvement certains des termes utilisés dans le document pour aider le lecteur à comprendre nos suggestions. D’autres références sur le sujet peuvent utiliser des termes et définitions légèrement différents parce que la communauté de la sécurité n’a pas encore réalisé un plein consensus sur toutes les définitions. Les définitions fournies ici sont spécifiquement centrées sur les questions exposées dans le présent document.

Attaque active : Tentative illégitime pour modifier des donnéesr, obtenir l’authentification, ou obtenir une autorisation en insérant de faux paquets dans le flux de données ou en modifiant les paquets qui transitent par le flux de données. (Voir attaque passive et attaque en répétition.)

Cryptographie asymétrique : Système de chiffrement qui utilise des clés différentes pour le chiffrement et le déchiffrement. Les deux clés ont une relation mathématique intrinsèque l’une l’autre. Aussi appelée cryptographie à clés publiques. (Voir Cryptographie symétrique)

Authentification : Vérification de l’identité de la source des informations.

Autorisation : Allocation des droits d’accès sur la base d’une identité authentifiée.

Confidentialité : Protection des informations de telle sorte que quelqu’un qui n’est pas autorisé à accéder aux informations ne puisse pas lire les informations même si la personne non autorisée peut voir le contenant des informations (par exemple, un fichier informatique ou un paquet du réseau).

Chiffrement : Mécanisme souvent utilisé pour assurer la confidentialité.

Intégrité : Protection des informations contre les modifications non autorisées.

Certificat de clé : Structure de données consistant en une clé publique, l’identité de la personne, système, ou rôle associé à cette clé, et les informations qui authentifient à la fois la clé et l’association entre cette identité et cette clé publique. Les clés utilisées par PEM sont un exemple de certificat de clé [Kent93].

Attaque passive : Attaque contre un système d’authentification qui n’insère pas de données dans le flux, mais est capable de surveiller passivement les informations envoyées entre les autres parties. Ces informations peuvent être utilisées ultérieurement dans ce qui paraît être une session valide. (Voir à attaque active et à attaque en répétition.)

Texte en clair (Plain-text) : Texte non chiffré.

Attaque en répétition (Replay Attack) : Attaque contre un système d’authentification par l’enregistrement er la répétition de messages (ou parties de messages) valides précédemment envoyés. Toutes les informations constantes d’authentification, comme un mot de passe ou des données biométriques transmises de façon électronique, peuvent être enregistrées et utilisées ultérieurement pour falsifier des messages qui paraissent authentiques.

Cryptographie symétrique : Système de chiffrement qui utilise la même clé pour le chiffrement et le déchiffrement. Parfois appelée Cryptographie à clés secrètes.

 

3 Techniques d’authentification

Il y a un certain nombre de classes d’authentification différentes, qui vont de pas d’authentification du tout à la très forte authentification. Différents mécanismes d’authentification sont appropriés pour répondre à différentes sortes de problèmes d’authentification, de sorte qu’il n’y a pas un ordre hiérarchique strict.

 

3.1 Pas d’authentification

Pour être complet, le plu s simple système d’authentification est de n’en avoir aucun. Un micro-ordinateur qui n’est pas relié à un réseau dans une localisation privée (sécurisée) est un exemple où l’absence d’authentification est acceptable. Un autre cas est celui d’une station de travail publique autonome, comme les postes de travail de "lecture de messagerie" fournies dans certaines conférences, sur lesquelles les données ne sont pas sensibles à la divulgation ou la modification.

 

3.2 Mécanismes d’authentification vulnérables aux attaques passives

La simple vérification de mot de passe est de loin la forme d’authentification la plus courante. Les vérifications simples d’authentification se font sous de nombreuses formes : la clé peut être un mot de passe mémorisé par l’utilisateur, elle peut être un élément physique ou électronique possédé par l’utilisateur, ou elle peut être une caractéristique biologique unique. Les systèmes d’authentification simples sont dits être "à divulgation" parce que si la clé est transmise sur un réseau, elle est divulguée aux espions. On a largement fait écho aux attaques passives réussies sur l’Internet actuel à l’aide de machine déjà compromises pour lancer des attaques passives contre de nouvelles machines [CERT94]. Les mécanismes d’authentification à divulgation sont vulnérables aux attaques en répétition. Les clés d’accès peuvent être mémorisées sur le système cible, auquel cas une seule brèche dans la sécurité du système donne accès à tous les mots de passe. Autrement, sur la plupart des systèmes, les données mémorisées sur le système sont suffisantes pour vérifier les mots de passe mais pas pour les générer.

 

3.3 Mécanismes d’authentification vulnérables aux attaques actives

Les systèmes à non divulgation du mot de passe ont été conçus pour empêcher les attaques en répétition. Plusieurs systèmes ont été inventés pour générer des mots de passe non divulgués. Par exemple, la carte SecurID de Security Dynamics utilise des horloges synchronisées pour les informations d’authentification. La carte génère un affichage visuel et doit donc être en possession de la personne qui recherche l’authentification. Le système d’authentification S/Key (TM) développé à Bellcore génère plusieurs mots de passe à utilisation unique à partir d’une seule clé secrète [Haller94]. Il n’utilise pas de jeton physique, ce qui fait qu’il convient aussi pour une authentification de machine à machine. Il y a aussi les systèmes à mise en question – réponse, dans lesquels un appareil ou programme informatique est utilisé pour générer une réponse vérifiable à partir d’une mise en question non répétitive. L’authentification S/Key n’exige pas la mémorisation de la clé secrète de l’utilisateur, ce qui est un avantage lorsque on a à faire avec les systèmes informatiques non fiables qui nous sont proposés aujourd’hui. Sous sa forme actuelle, le système S/Key est vulnérable à une attaque de dictionnaire sur le mot de passe secret (ou phrase de passe) qui peut avoir été choisie un peu trop rapidement. Le système de mise en question – réponse CHAP du protocole point à point est sans divulgation mais n’est utile qu’en local [LS92, Simpson93]. Ces systèmes varient dans la sensibilité des informations mémorisées dans l’hôte d’authentification, et varient donc dans les exigences de sécurité qui doivent peser sur cet hôte.

 

3.4 Mécanismes d’authentification non vulnérables aux attaques actives

L’utilisation croissante d’environnements informatiques en réseau a conduit au besoin d’une authentification plus forte. Dans les réseaux ouverts, de nombreux utilisateurs obtiennent l’accès à n’importe quelle information qui s’écoule sur le réseau, et avec un effort supplémentaire, un utilisateur peut envoyer des informations qui paraissent venir d’un autre.

Des systèmes d’authentification plus puissants utilisent les capacités de calcul des deux parties qui s’authentifient. L’authentification peut être unidirectionnelle, par exemple les utilisateurs qui s’authentifient auprès d’une système informatique hôte, ou elle peut être mutuelle auquel cas l’entité qui se connecte est assurée de l’identité de l’hôte. Certains systèmes d’authentification utilisent des techniques de chiffrement et établissent (au titre du processus d’authentification) un secret partagé (par exemple, une clé de session) qui peut être utilisée pour des échanges ultérieurs. Par exemple, un utilisateur, après achèvement du processus d’authentification, pourrait se voir attribuer un ticket d’autorisation qui peut être utilisé pour obtenir d’autres services sans autre authentification. Ces systèmes d’authentification peuvent aussi assurer la confidentialité (à l’aide du chiffrement) quand c’est nécessaire sur des réseaux non sécurisés.

 

4 Cryptographie

Les mécanismes cryptographiques sont largement utilisés pour assurer l’authentification, avec ou sans confidentialité, dans les réseaux informatiques et entre les réseaux. Il y a deux sortes de cryptographie de base et cette section les décrit. Un problème fondamental et récurant avec les mécanismes cryptographiques est celui de la sécurisation de la distribution des clés aux parties communicantes. La distribution des clés est traitée à la Section 6.

 

4.1 Chiffrement symétrique

Le chiffrement symétrique inclut tous les systèmes qyui utilisent la même clé pour le chiffrement et le déchiffrement. Et donc si quelqu’un obtient la clé, il peut à la fois déchiffrer et lire les données chiffrées en utilisant cette clé et aussi chiffrer de fausses données et les faire paraître valides. Cela signifie que la connaissance de la clé â un tiers indésirable compromet entièrement la confidentialité du système. Donc les clés doivent être distribuées de façon sécurisée, soit par courrier soit peut- être en utilisant un protocole de distribution de clés, dont le plus connu est peut-être celui proposé par Needham et Schroeder [NS78, NS87]. L’algorithme largement utilisé de la norme de chiffrement des données (DES, Data Encryption Standard), qui a été normalisées pour la protection des informations civiles non secrètes du gouvernement des USA, est peut-être l’algorithme de chiffrement symétrique le plus connu [NBS77].

Un système bien connu qui s’adresse aux réseaux ouverts non sécurisés faisant parie d’un environnement informatique est le service d’authentification Kerberos (TM) qui a été développé au titre du projet Athena au MIT [SNS88, BM91, KN93]. Kerberos est fondé sur le chiffrement de clés symétriques de la norme DES et utilise un hôte tiers de confiance qui connaît les clés secrètes de tous les utilisateurs et services, et peut donc générer des accréditifs qui peuvent être utilisés par les utilisateurs et serveurs pour prouver leur identité aux autres systèmes. Comme avec n’importe quel schéma d’authentification distribué, ces accréditifs seront crus par tout ordinateur se trouvant dans le domaine administratif local. Et donc, si le mot de passe d’un utilisateur est divulgué, un attaquant sera capable de se faire passer pour cet utilisateur sut tout système qui fait confiance à Kerberos. Comme le serveur Kerberos connaît toutes les clés secrètes, il doit être physiquement sécurisé. Les clés de session Kerberos peuvent être utilisées pour assurer la confidentialité entre toutes entités qui font confiance au serveur de clés.

 

4.2 Chiffrement asymétrique

À la fin des années 1970, une avancée majeure de la cryptologie a rendue disponible la cryptographie (ou chiffrement) asymétrique. Il est différent du chiffrement symétrique parce que des clés différentes sont utilisées pour le chiffrement et le déchiffrement, ce qui simplifie considérablement le problème de la distribution des clés. Le système asymétrique le plus connu est fondé sur les travaux de Rivest, Shamir, et Adleman on s’y référe sous les initiales des auteurs "RSA" [RSA78].

SPX est un système expérimental qui surmonte les limitations du centre de distribution de clés de confiance de Kerberos en utilisant le chiffrement de clés publiques RSA [TA91]. SPX suppose une hiérarchie mondiale des autorités de certification dont au moins une est de confiance pour chaque partie. Il utilise des signatures numériques qui consistent en un jeton chiffré dans la clé privée de l’entité signataire et qui sont validées en utilisant la clé publique appropriée. Les clés publiques sont estimées correctes car elles sont obtenues sous la signature de l’autorité de certification de confiance. Les parties critiques de l’échange d’authentification sont chiffrées dans les clés publiques des receveurs, empêchant ainsi une attaque en répétition.

 

4.3 Sommes de contrôle chiffrées

Les sommes de contrôle chiffrées sont un des outils à court terme les plus utiles pour les concepteurs de protocoles. Une somme de contrôle chiffrée ou une somme de contrôle d’intégrité de message (MIC, message integrity checksum) assure l’intégrité des données et l’authentification mais pas la non répudiation. ¨Par exemple, SNMP sécurisé et SNMPv2 calculent tous deux une somme de contrôle chiffrée MD5 sur un élément de secret partagé et les informations à authentifier [Rivest92, GM93]. Cela sert à authentifier l’origine des données et on estime qu’il sera très difficile de la falsifier. Il n’authentifie pas que les données envoyées sont elles-mêmes valides, mais qu’elles ont réellement été envoyées par la partie qui dit qu’elle les a envoyées. Les sommes de contrôle chiffrées peuvent être utilisées pour fournir une authentification relativement forte et sont particulièrement utiles dans les communications d’hôte à hôte. La principale difficulté de mise en oeuvre avec les sommes de contrôle de chiffrement est la distribution des clés.

 

4.4 Signatures numériques

Une signature numérique est un mécanisme de chiffrement qui est l’équivalent électronique d’une signature écrite. Elle sert à authentifier une série de données comme appartenant à l’envoyeur. Une signature numérique utilisant le chiffrement asymétrique (une clé publique) peut aussi être utile en prouvant que les données émanent bien d’une partie, même si cette partie dénie les avoir envoyées ; cette propriété est appelée la non répudiation. Une signature numérique fournit l’authentification sans confidentialité et sans souffrir de certaines des difficultés du chiffrement total. Les signatures numériques sont utilisées avec des certificats de clé pour la messagerie à confidentialité améliorée [Linn93, Kent93, Balenson93, Kaliski93].

 

5 Authentification de l’utilisateur auprès de l’hôte

Il y a un certain nombre d’approches différentes pour authentifier des utilisateurs auprès d’hôtes distants ou en réseau. Deux types de risques sont créés par l’accès distant ou en réseau : d’abord un intrus peut espionner sur le réseau et obtenir les identifiants et mots de passe de l’utilisateur pour des attaques en répétition ultérieures. Même la forme des mots de passe existants donne à un intrus potentiel une tête de pont pour en deviner de nouveaux.

Actuellement, la plupart des systèmes utilisent la divulgation de mots de passe en clair sur le réseau (normalement en utilisant telnet ou rlogin) de l’utilisateur vers l’hôte distant [Anderson84, Kantor91]. Ce système ne fournit pas une protection adéquat contre les attaques en répétition lorsqu’un espion obtient les identifiants et mots de passe de l’utilisateur distant.

 

5.1 La protection contre les attaques passives est nécessaire

L’échec à l’utilisation d’au moins un système à non divulgation de mot de passe signifie qu’un accès illimité est involontairement accordé à quiconque a un accès physique au réseau. Par exemple, quiconque a un accès physique au câble Ethernet peut se faire passer pour n’importe quel usager sur cette portion du réseau. Et donc, quand on a une divulgation de mots de passe en clair sur un Ethernet, le principal système de sécurité est le garde à la porte (s’il y en a un). Le même problème existe dans d’autres technologies de LAN comme l’anneau à jetons (Token-Ring) ou FDDI. Dans certains petits réseaux de zone locale (LAN, Local Area Network) internes, ce risque peut être acceptable, mais il ne l’est pas sur un Internet [CERT94].

La défense minimale contre les attaques passives, comme l’espionnage, est d’utiliser un système de mot de passe à non divulgation. Un tel système peut fonctionner à partir d’un terminal sourd ou d’un simple programme de communications (par exemple, Crosstalk ou PROCOMM) qui émule un terminal sourd sur un micro ordinateur. Utiliser un système d’authentification plus fort défendrait certainement des attaques passives contre les systèmes à accès à distance, mais au prix de l’incapacité d’utilisation de terminaux simples. On peut raisonnablement s’attendre à ce que les vendeurs de programmes de communications et de terminaux non programmables par l’usager (comme les terminaux X) vont incorporer des mots de passe à non divulgation ou des systèmes d’authentification plus forts s’ils sont normalisés ou si un grand marché est offert. Un des avantages de Kerberos est que, s’il est bien utilisé, le mot de passe de l’usager ne quitte jamais sa station de travail. IL est utilisé pour déchiffrer les tickets Kerberos de l’usager, tickets qui sont eux-mêmes des informations chiffrées envoyées sur le réseau aux serveurs d’application.

 

5.2 Périmètre de défense comme outil à court terme

Les périmètres de défense deviennent plus courants. Dans ces systèmes, l’utilisateur s’authentifie d’abord auprès d’une entité sur une portion du réseau accessible de l’extérieur, qui peut être un hôte "pare-feu" sur l’Internet, en utilisant système de mot de passe à non divulgation. L’utilisateur utilise alors un second système pour s’authentifier auprès de chaque hôte, ou groupe d’hôtes, desquels le service est souhaité. Ceci découple le problème en deux situations plus facilement gérables.

Il y a plusieurs inconvénients au périmètre de défense, aussi devrait il être envisagé comme une solution e court terme. La passerelle n’est pas transparente au niveau IP, de sorte qu’il doit traiter séparément chaque service. L’utilisation de la double authentification est, en général, difficile ou impossible pour les communications d’ordinateur à ordinateur. Les protocoles de bout en bout, qui sont courants dans l’Internet sans connexion, peuvent facilement avoir des défaillances. Le périmètre de défense doit être séré et complet, parce que si il est rompu, les défenses internes tendent à être trop faibles pour arrêter un intrus potentiel. Par exemple, si des mots de passe à divulgation sont utilisés en interne, ces mots de passe peuvent être lus par un intrus externe (espionnage). Si cet intrus est capable de pénétrer le périmètre, le système interne sera complètement exposé. Finalement, un périmètre de défense peut être ouvert à la compromission par des utilisateurs internes qui cherchent des raccourcis.

Une forme fréquente de périmètre de défense est le relais d’application. Comme ces relais sont spécifiques du protocole, la connectivité IP des hôtes à l’intérieur du périmètre avec le monde extérieur est rompue et une partie du pouvoir de l’Internet est perdue.

Un avantage administratif du périmètre de défense est que le nombre de machines qui sont sur le périmètre et donc vulnérables aux attaques est faible. Ces machines peuvent être vérifiées attentivement par rapport aux risques pour la sécurité, mais il est difficile (ou impossible) de garantir que le périmètre est imperméable. La sécurité d’un périmètre de défense est compliquée par le fait que les machines de passerelles doivent passer certains types de trafic comme la messagerie électronique. D’autres services réseau tels que le protocole de l’heure du réseau (NTP, Network Time Protocol) et le protocole de transfert de fichiers (FTP, File Transfer Protocol) peuvent aussi être désirables [Mills92, PR85, Bishop]. De plus, le système de passerelles du périmètre doit être capable de passer toute la charge de trafic sans pour son domaine de sécurité sans goulot d’étranglement.

 

5.3 Protection très souhaitable contre les attaques actives

Dans un avenir prévisible, l’utilisation de techniques plus fortes sera nécessaire pour se protéger contre les attaques actives. De nombreux réseaux d’entreprises fondés sur des techniques de diffusion telles que Ethernet auront probablement besoin de telles techniques. Pour se défendre contre les attaques actives, ou pour assurer la confidentialité, il est nécessaire d’utiliser un protocole avec le chiffrement de session, par exemple Kerberos, ou d’utiliser un mécanisme d’authentification qui protège contre les attaques en répétition, peut-être en utilisant des horodatages. Dans Kerberos, les utilisateurs obtiennent les accréditifs du serveur Kerberos et les utilisent pour l’authentification afin d’obtenir des services d’autres ordinateurs sur le réseau. La puissance de calcul de la station de travail peut être utilisée pour déchiffrer les accréditifs (en utilisant une clé déduite du mot de passe fourni par l’utilisateur) et les mémoriser jusqu’à ce qu’ils soient nécessaires. Si le protocole de sécurité s’appuie sur des horloges synchronisées, NTPv3 peut alors être utile parce qu’il distribue l’heure à un grand nombre d’ordinateurs et qu’il est un des rares protocoles Internet existants qui comporte des mécanismes d’authentification [Bishop, Mills92].

Une autre approche des réseaux d’ordinateurs accessibles à distance est que toutes les machines accessibles de l’extérieur de partager un secret avec le KDC Kerberos. Dans un sens, cela rend ces machines "serveurs" au lieu de stations de travail d’utilisation générale. Ce secret partagé peut alors être utilisé pour chiffrer toutes les communications entre les deux machines, permettant à la station de travail accessible de relayer en toute sécurité les informations d’authentification au KDC.

Finalement, les stations de travail qui sont accessibles à distance pourraient utiliser une technique de chiffrement asymétrique pour crypter les communications. La clé publique de la station de travail serait publiée et bien connue de tous les clients. Un utilisateur pourrait utiliser la clé publique pour chiffrer un simple mot de passe et le système distant déchiffre le mot de passe pour authentifier l’utilisateur sans risquer de divulguer le mot de passe pendant son transit. Une limite de cette sécurité orientée station de travail est qu’elle n’authentifie pas les utilisateurs individuels mais seulement les stations de travail individuelles. Dans certains environnements, par exemple, de postes de travail en mode sécurisé à plusieurs niveaux ou compartimentés du gouvernement, l’authentification et la confidentialité d’utilisateur à utilisateur est aussi nécessaire.

 

6 Distribution et gestion des clés

L’exposé a jusqu’ici mentionné périodiquement les clés, pour le chiffrement ou pour l’authentification (par exemple, comme entrée d’une fonction de signature numérique). La gestion de clés est peut-être le problème le plus difficile auquel on ait à faire face lorsqu’on cherche à assurer l’authentification dans des relations entre grands réseaux. Et donc, cette section donne un très bref aperçu des techniques de gestion de clé qui peuvent être utilisées.

Le protocole Needham & Schroeder, qui est utilisé par Kerberos, s’appuie sur un serveur de clés central. Dans des relations entre grands réseaux, il est nécessaire d’avoir un nombre significatif de ces serveurs de clés, au moins un serveur de clés par domaine administratif. Il faut aussi avoir des mécanismes pour faire coopérer les serveurs de clés administrés séparément pour générer une clé de session pour des parties dans des domaines administratifs différents. Ce ne sont pas des problèmes impossibles à résoudre, mais cette approche implique clairement des changements d’infrastructure significatifs.

La plupart des algorithmes de chiffrement à clé publique sont coûteux en capacité de calcul et ne sont donc pas l’idéal pour le chiffrement des paquets dans un réseau. Cependant, la propriété d’asymétrie les rend très utiles pour l’établissement et l’échange de clés de session symétriques. En pratique, le secteur commercial utilise probablement des algorithmes asymétriques principalement pour des signatures numériques et des échanges de clés, mais pas pour le chiffrement de données brutes. Les techniques RSA et Diffie-Hellman peuvent toutes deux être utilisées pour cela [DH76]. Un avantage de l’utilisation de techniques asymétriques est que le serveur de clés central peut être éliminé. La différence des techniques de gestion des clés est peut-être la principale différence entre Kerberos et SPX. La messagerie à confidentialité améliorée a des autorités de clé de confiance qui utilisent les signatures numériques pour signer et authentifier les clés publiques des utilisateurs [Kent93]. Le résultat de cette opération est un certificat de clé qui contient la clé publique d’une partie et authentifie que la clé publique appartient en fait à cette partie. Les certificats de clés peuvent être distribués de nombreuses façons. Une façon de distribuer les certificats de clés pourrait être de les ajouter à des services de répertoires existants, par exemple en étendant le système de noms de domaines existant afin qu’il détienne le certificat de clé de chaque hôte dans un nouveau type d’enregistrement.

Pour les sessions en diffusion groupée, la gestion des clés est plus difficile parce que le nombre d’échanges requis par ces techniques largement utilisées est proportionnel au nombre des parties participantes. Et donc il y a un sérieux problème d’échelle avec les techniques actuelles connues de gestion de clé de diffusion groupée.

Finalement, les mécanismes de gestion de clés décrits dans la littérature publique ont une longue histoire de défauts subtils. C’est tout à fait évident, même pour des techniques bien connues comme le protocole Needham & Schroeder [NS78, NS87]. Dans certains cas, des défauts subtils n’ont été découverts qu’avec des techniques de méthode formelle utilisées pour essayer de vérifier le protocole. Et donc, il est très souhaitable que les mécanismes de gestion de clés restent séparés autant que possible des mécanismes d’authentification ou de chiffrement. Par exemple, il est probablement mieux d’avoir un protocole de gestion de clés distinct et ne dépendant pas d’un autre protocole de sécurité.

 

7 Authentification des services de réseau

En plus de la nécessité d’authentifier les utilisateurs et les hôtes les uns aux autres, de nombreux service de réseau ont besoin ou pourraient bénéficier de l’authentification. La présente section décrit certaines approches de l’authentification dans des protocoles qui sont principalement orientés d’hôte à hôte. Comme dans le cas de l’authentification d’utilisateur à hôte, il y a plusieurs techniques qui peuvent être prises en considération.

Le cas le plus courant à présent est de n’avoir aucune prise en charge de l’authentification dans le protocole. Bellovin et d’autres ont rapporté un certain nombre de cas où les protocoles existants peuvent être utilisés pour attaquer une machine distante parce qu’il n’y a pas d’authentification dans les protocoles [Bellovin89].

Certains protocoles prévoient des mots de passe à divulgation qui sont passés avec les informations du protocole. Le protocole SNMP d’origine utilisait cette méthode et un certain nombre de protocoles d’acheminement continuent d’utiliser cette méthode [Moy91, LR91, CFSD88]. Elle est utile comme aide transitoire pour accroître légèrement la sécurité et pourrait être appropriée lorsqu’il y a peu de risques à avoir un protocole dépourvu de toute sécurisation.

De nombreux protocoles ont besoin de prendre en charge des mécanismes d’authentification plus forts. Par exemple, il était largement reconnu que SNMP avait besoin d’une authentification plus forte que celle d’origine. Cela a conduit à la publication des protocoles SNMP sécurisé qui prennent en charge l’authentification facultative, en utilisant un mécanisme de signature numérique, et une confidentialité facultative, en utilisant le chiffrement DES. Les signatures numériques utilisées dans SNMP sécurisé se fondent sur l’ajout d’une somme de contrôle cryptographique aux informations SNMP. La somme de contrôle cryptographique est calculée en utilisant l’algorithme MD5 et un secret partagé entre les parties communicantes de sorte qu’on pense qu’il est difficile à falsifier ou à intervertir.

La technique de la signature numérique a évolué ces dernières années et devrait être prise en considération pour les applications qui requièrent l’authentification mais pas la confidentialité. Les signatures numériques peuvent utiliser un seul secret partagé entre deux ou plus parties communicantes ou elles peuvent être fondées sur une technique de chiffrement asymétrique. Le premier cas exigerait l’utilisation de clés prédéterminées ou l’utilisation d’un protocole de distribution de clés sécurisé, tel que celui exposé par Needham et Schroeder. Dans le second cas, les clés publiques devraient être distribuées selon un moyen authentifié. Si un mécanisme général de distribution de clés était disponible, la prise en charge de signatures numériques facultative pourrait être ajoutée à la plupart des protocoles à peu de frais supplémentaires. Chaque protocole pourrait envisager l’échange de clés et le problème de l’établissement, mais cema peut rendre l’ajout de la prise en charge des signatures numériques plus compliquée et détourner effectivement les concepteurs de protocoles d’ajouter la prise en charge de la signature numérique.

Pour les cas où à la fois l’authentification et la confidentialité sont requises hôte par hôte, le chiffrement de session pourrait être employé en utilisant la cryptographie symétrique, la cryptographie asymétrique, ou une combinaison des deux. L’utilisation de la cryptographie asymétrique simplifie la gestion des clés. Chaque hôte chiffre les informations en transit entre les hôtes et les mécanismes existants du système d’exploitation vont fournir la protection au sein de chaque hôte.

Dans certains cas, incluant éventuellement la messagerie électronique, il pourrait être souhaitable de fournir les propriétés de la sécurité au sein de l’application elle-même d’une façon vraiment d’usager à usager plutôt de d’hôte à hôte. Le travail du groupe de messagerie à confidentialité améliorée (PEM, Privacy Enhanced Mail) utilise cette approche [Linn93, Kent93, Balenson93, Kaliski93]. Les récents travaux de l’IETF sur la technique commune d’authentification pourraient rendre plus facile de mettre en oeuvre une application sécurisée distribuée ou en réseau par l’utilisation d’interfaces standard de programmation de la sécurité [Linn93a].

 

8 Travaux futurs

Les systèmes évoluent vers les mécanismes d’authentification cryptographiquement plus forts décrits plus haut. Cette évolution a deux implications sur les systèmes futurs . On peut s’attendre à voir l’introduction à court terme de systèmes d’authentification à non divulgation et finalement à voir un usage largement répandu de systèmes de chiffrement à clés publiques. Les questions d’authentification de session, d’intégrité, et de confidentialité croissent en importance. Alors qu les communications d’ordinateur à ordinateur deviennent plus importantes, les protocoles qui fournissent de simples interfaces humaines vont devenir moins importantes. Ceci ne veut pas dire que les interfaces humaines sont sans importance ; elles sont très importantes. Cela signifie que ces interfaces sont de la responsabilité des applications, non du protocole sous-jacent. La conception de l’interface humaine va au delà du domaine d’application du présent mémo.

L’utilisation de systèmes de chiffrement à clés publiques pour l’authentification d’utilisateur à hôte simplifie de nombreuses questions de sécurité, mais à la différence des simples mots de passe, une clé publique ne peut pas être mémorisée. Au moment de la rédaction du présent mémo, des clés publiques d’une taille d’au moins 500 bits sont couramment utilisées dans le monde commercial. Il est vraisemblable que des clés de plus grande taille seront utilisées à l’avenir. Et donc, les utilisateurs pourraient avoir à transporter leurs clés privés sous une forme électronique. L’utilisation de mémoires en lecture seule, comme une disquette ou une carte à bande magnétique fournit un tel moyen de mémorisation, mais cela peut exiger que l’utilisateur ait confiance dans les clés privées des appareils de lecture. L’utilisation d’une carte à puce, appareil portatif qui contient à la fois la mémoire et le programme, serait préférable. Ces appareils ont la capacité d’effectuer les opérations d’authentification sans divulguer la clé privée qu’ils contiennent. Ils peuvent aussi interagir avec l’utilisateur en exigeant une forme plus simple d’authentification pour "débloquer" la carte.

L’utilisation de systèmes de chiffrement à clés publiques pour l’authentification d’hôte à hôte ne parraît pas avoir le même problème de mémorisation de clé que le cas d’utilisateur à hôte. Un hôte multi utilisateurs peu mémorise sa ou ses clés dans un espace protégé des utilisateurs et éviter ce problème. Les systèmes individuels non sécurisés de façon inhérente, comme les micro ordinateurs, restent difficiles à traiter mais l’approche de la carte à puce devrait aussi fonctionner pour eux.

Si on considère les algorithmes symétriques existants comme des techniques à une clé, et les algorithmes asymétriques existants comme RSA, comme des techniques à deux clés, on peut se demander si des techniques à N clés seront développés à l’avenir (c’est à dire, pour des valeurs de N supérieures à 2). Si une telle technologie à N clés existait, il pourrait être utile de créer des protocoles modulables de distribution de clés en diffusion groupée. Un travail est actuellement en cours sur les utilisations possibles des technologies d’acheminement en diffusion groupée d’arborescence fondée sur le coeur CBT, Core Based Tree) pour fournir une distribution de clé modulable en diffusion groupée[BFC93].

Les implications de cette taxonomie sont claires. Une authentification cryptographique forte est nécessaire dans un futur proche pour de nombreux protocoles. Le technique des clés publiques devrait être utilisée quand elle est praticable et économiquement justifiée. À court terme, les mécanismes d’authentification vulnérables aux attaques passives devraient être abandonnés au profit de mécanismes d’authentification plus forts. Des recherches supplémentaires sont nécessaires pour développer une technologie améliorée de gestion des clés et des mécanismes modulables de sécurité en duffusion groupée.

Considérations sur la sécurité

Ce mémo tout entier est consacré à la sécurité en ce qu’il expose les techniques et les besoins d’authentification.

Remerciements

Le présent mémo a bénéficié de la relecture et des suggestions du groupe de travail Common Authentication Technology (CAT) de l’IETF, présidé par John Linn, et de Marcus J. Ranum.

Références

[Anderson84] Anderson, B., "TACACS User Identification Telnet Option", RFC 927, BBN, décembre 1984.

[Balenson93] Balenson, D., "Privacy Enhancement for Internet Electronic Mail: Part III: Algorithms, Modes, and Identifiers", RFC 1423, TIS, IAB IRTF PSRG, IETF PEM WG, février 1993.

[BFC93] Ballardie A., Francis P., and J. Crowcroft, "Core Based Trees (CBT) An Architecture for Scalable Inter-Domain Multicast Routing", Proceedings of ACM SIGCOMM93, ACM, San Franciso, CA, septembre 1993, pp. 85-95.

[Bellovin89] Bellovin, S., "Security Problems in the TCP/IP Protocol Suite", ACM Computer Communications Review, Vol. 19, No. 2, mars 1989.

[Bellovin92] Bellovin, S., "There Be Dragons", Proceedings of the 3rd Usenix UNIX Security Symposium, Baltimore, MD, septembre 1992.

[Bellovin93] Bellovin, S., "Packets Found on an Internet", ACM Computer Communications Review, Vol. 23, No. 3, Juillet 1993, pp. 26-31.

[BM91] Bellovin S., and M. Merritt, "Limitations of the Kerberos Authentication System", ACM Computer Communications Review, octobre 1990.

[Bishop] Bishop, M., "A Security Analysis of Version 2 of the Network Time Protocol NTP: A report to the Privacy & Security Research Group", Technical Report PCS-TR91-154, Department of Mathematics & Computer Science, Dartmouth College, Hanover, New Hampshire.

[CB94] Cheswick W., and S. Bellovin, "Chapter 10: An Evening with Berferd", Firewalls & Internet Security, Addison-Wesley, Reading, Massachusetts, 1994. ISBN 0-201-63357-4.

[CERT94] Computer Emergency Response Team, "Ongoing Network Monitoring Attacks", CERT Advisory CA-94:01, available by anonymous ftp from cert.sei.cmu.edu, 3 février 1994.

[CFSD88] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1067, University of Tennessee at Knoxville, NYSERNet, Inc., Rensselaer Polytechnic Institute, Proteon, Inc., août 1988.

[DH76] Diffie W., and M. Hellman, "New Directions in Cryptography", IEEE Transactions on Information Theory, Volume IT-11, novembre 1976, pp. 644-654.

[GM93] Galvin, J., and K. McCloghrie, "Security Protocols for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1446, Trusted Information Systems, Hughes LAN Systems, vril 1993.

[Haller94] Haller, N., "The S/Key One-time Password System", Proceedings of the Symposium on Network & Distributed Systems Security, Internet Society, San Diego, CA, février 1994.

[Kaufman93] Kaufman, C., "Distributed Authentication Security Service (DASS)", RFC 1507, Digital Equipment Corporation, septembre 1993.

[Kaliski93] Kaliski, B., "Privacy Enhancement for Internet Electronic Mail: Part IV: Key Certification and Related Services", RFC 1424, RSA Laboratories, février 1993.

[Kantor91] Kantor, B., "BSD Rlogin", RFC 1258, Univ. of Calif San Diego, septembre 1991.

[Kent93] Kent, S., "Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management", RFC 1422, BBN, IAB IRTF PSRG, IETF PEM, février 1993.

[KN93] Kohl, J., and C. Neuman, "The Kerberos Network Authentication Service (V5)", RFC 1510, Digital Equipment Corporation, USC/Information Sciences Institute, septembre 1993.

[Linn93] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures", RFC 1421, IAB IRTF PSRG, IETF PEM WG, février 1993.

[Linn93a] Linn, J., "Common Authentication Technology Overview", RFC 1511, Geer Zolot Associate, septembre 1993.

[LS92] Lloyd B., and W. Simpson, "PPP Authentication Protocols", RFC 1334, L&A, Daydreamer, octobre 1992.

[LR91] Lougheed K., and Y. Rekhter, "A Border Gateway protocol 3 (BGP-3)", RFC 1267, cisco Systems, T.J. Watson Research Center, IBM Corp., octobre 1991.

[Mills92] Mills, D., "Network Time Protocol (Version 3) - Specification, Implementation, and Analysis", RFC 1305, UDEL, mars 1992.

[NBS77] National Bureau of Standards, "Data Encryption Standard", Federal Information Processing Standards Publication 46, Government Printing Office, Washington, DC, 1977.

[NS78] Needham, R., and M. Schroeder, "Using Encryption for Authentication in Large Networks of Computers", Communications of the ACM, Vol. 21, No. 12, décembre 1978.

[NS87] Needham, R., and M. Schroeder, "Authentication Revisited", ACM Operating Systems Review, Vol. 21, No. 1, 1987.

[PR85] Postel J., and J. Reynolds, "File Transfer Protocol", STD 9, RFC 959, USC/Information Sciences Institute, octobre 1985.

[Moy91] Moy, J., "OSPF Routing Protocol, Version 2", RFC 1247, Proteon, Inc., juillet 1991.

[RSA78] Rivest, R., Shamir, A., and L. Adleman, "A Method for Obtaining Digital Signatures and Public Key Crypto-systems", Communications of the ACM, Vol. 21, No. 2, février 1978.

[Rivest92] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT Laboratory for Computer Science and RSA Data Security, Inc., avril 1992.

[Simpson93] Simpson, W., "The Point to Point Protocol", RFC 1548, Daydreamer, décembre 1993.

[SNS88] Steiner, J., Neuman, C., and J. Schiller, "Kerberos: "An Authentication Service for Open Network Systems", USENIX Conference Proceedings, Dallas, Texas, février 1988.

[Stoll90] Stoll, C., "The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage", Pocket Books, New York, NY, 1990.

[TA91] Tardo J., and K. Alagappan, "SPX: Global Authentication Using Public Key Certificates", Proceedings of the 1991 Symposium on Research in Security & Privacy, IEEE Computer Society, Los Amitos, California, 1991. pp.232-244.

 

Adresse des auteurs

Neil Haller

Randall Atkinson

Bell Communications Research

Information Technology Division

445 South Street -- MRE 2Q-280

Naval Research Laboratory

Morristown, NJ 07962-1910

Washington, DC 20375-5320

Phone: (201) 829-4478

Phone: (DSN) 354-8590

EMail: nmh@thumper.bellcore.com

EMail: atkinson@itd.nrl.navy.mil