1 OPAL un système d'authentification par mots de passe non réutilisables Nadia
1 OPAL un système d'authentification par mots de passe non réutilisables Nadia Nouali-Taboudjemat, Mounir Benzaid, Bachir Mihoubi Laboratoire Réseaux et Systèmes Répartis Rue des trois frères Aissiou, Ben Aknoun, E-mail : nnouali@wissal.cerist.dz 1. Introduction La définition la plus large de l’authentification dans les systèmes informatiques englobe la vérification de l’identité, l’authentification de l’origine des messages et l’authentification du contenu des messages [BRO94]. Le concept de la vérification de l’identité est appliqué spécifiquement aux entités participant au traitement de l’information et ayant les capacités de la prise de décision, incluant les utilisateurs humains, les systèmes informatiques et les processus qui s’exécutent sur ces systèmes. D’un point de vue d’authentification, le terme "utilisateur" s’applique à toutes ces entités. La méthode traditionnelle d'authentification des utilisateurs est basée sur des mots de passe secrets, qu’ils doivent soumettre quand ils demandent accès à un système particulier. La majorité des systèmes informatiques en utilisation de nos jours reposent sur les mots de passe pour l’authentification. L’avantage fondamental d’authentification basée seulement sur les mots de passe est qu’elle peut être implémentée entièrement par logiciel, évitant donc un coût de Hardware supplémentaire. Cependant, les responsables de la sécurité savent bien que la principale forme d'attaque contre les systèmes informatiques connectés à un réseaux tel que Internet, est l'espionnage des connexions réseaux dans le but de recueillir des identités et mots de passe d'utilisateurs légitimes. Ces identités et mots de passe usurpés système(par des méthodes de reniflage et de captage…) sont ultérieurement utilisés pour accéder au système. Des techniques d'authentification avancées, telles que les cartes intelligentes, les jetons d’authentification, les méthodes biometriques et les méthodes logicielles, sont conçues pour palier aux faiblesses du système classique[BRO94]. Malgré la diversité de ces nouvelles techniques, leur similitude réside dans le fait que les mots de passe qu'elles génèrent ne peuvent pas être réutilisés par un attaquant qui aurait espionné la connexion [WAC94]. En effet, le mot de passe n'est valable que pendant une seule session, et cela suppose la génération d'un nouveau mot de passe à chaque établissement de la connexion entre l'utilisateur et le système. L'authentification basée sur les mots de passe à usage unique(OTP) a été conçue dans ce contexte, son but est d'obliger l'utilisateur à s'identifier par un mot de passe différent à chaque ouverture de session. Ceci permet d'éviter que les mots de passe ne soient rejoués lors d'une attaque . Ce papier présente la mise en œuvre du logiciel OPAL(One-time Password at Login) qui est un système de mots se passe à usage unique protégeant le système sécurisé des attaques externes dirigées vers son sous-système d'authentification. 2. Description du système OPAL [BEN 98)] 2 Le système OPAL et (OTP en général) permet de générer de multiples mots de passe à usage unique (les OTPs) à partir d'une seule phrase secrète appelée "phrase de passe secrète"(secret pass-phrase) et d'itérations récursives. Avec OPAL, la phrase de passe, connue de l'utilisateur seulement, ne traverse jamais le réseau, seuls les OTPs le traversent. Le système OPAL fonctionne sur la base d'un challenge(défi) lancé à l'utilisateur. Le challenge est une chaîne de texte, à laquelle il ne peut correspondre qu'une seule réponse possible. Pour cela, l'idée d'utiliser des fonctions de hachage ou fonctions à sens unique(hash function ou One-Way function) pour générer des mots de passe à usage uniques est nécessaire. En effet, cette idée a été proposée pour la première fois par Leslie Lamport au début des années 80 puis mise en œuvre par le laboratoire Bellcore (Bell Communication Laboratory) sous la désignation de S/KEY One Time Password en 1991[HAL94, RFC1704, RFC1760]. OTP a également été mis en œuvre par le laboratoire United States Naval Research et désigné par OPIE(OTP In Everything) [SIY96]. Il y a deux côtés participant dans l'opération du système OPAL. Du côté client(utilisateur), le OTP approprié doit être généré à partir de la phrase de passe secrète et de l'information fournie dans le défi du serveur. Du côté hôte, le serveur doit lancer le défi, qui inclut les paramètres de génération appropriés, au client; vérifier le OTP reçu; sauvegarder l'ancien OTP valide reçu et son numéro de séquence; et permettre aussi le changement sécurisé de la phrase de passe secrète de l'utilisateur. Afin de générer un OTP, le client utilise une fonction de hachage à sens unique et itère cette fonction un nombre de fois précis en commençant par la valeur initiale (constituée de la phrase de passe secrète, et un germe reçu du serveur qui fait partie du défi) pour générer le OTP. Après chaque authentification réussie le nombre d'itérations diminue par un. Ainsi, une séquence unique des OTPs est générée. Le serveur vérifie le OTP reçu du client en lui appliquant une fois la même fonction et comparant le résultat obtenu avec l'ancien OTP valide. Chaque OTP peut être vérifié grâce à sa relation avec le OTP précédent, qui a lui- même été déjà vérifié. 2.1. Fonction de Hachage à Sens unique: « Secure Hash Function ou One-Way Function » Une fonction de hachage à sens unique, H(C ), opère sur une chaîne de texte C de longueur arbitraire. Elle fournit une valeur de hachage h de longueur fixe beaucoup plus petite et vérifie les propriétés suivantes [SCH97, CHA96, HAL94 ]: – Etant donné C , il est facile de calculer h = H ( C ) . – Etant donné h , il est difficile de calculer C. C’est-à-dire l'entrée ne peut être regénérée à partir de la sortie; ce n'est donc pas un simple algorithme de compression ou de chiffrement – Etant donné C, il est difficile de trouver une autre chaîne C' tel que H ( C ) = H ( C ' ). C'est-à-dire la probabilité que deux entrées différentes (surtout de la même taille) produisent la même sortie est extraordinairement faible. L'essence même des fonctions de hachage est de fournir une « empreinte » de C qui soit unique. Pour h donné, trouver un C ' tel que h = H (C ' ) est extrêmement difficile. Idéalement, il ne devrait y avoir aucun moyen pour déterminer un tel C ' autre que par essayer un nombre infaisable de valeurs et voire celle qui donne le bon résultat h. Si le nombre de valeurs 3 possibles de C ' qui doivent être essayées est assez grand, alors pour tout objectif pratique la fonction ne peut être inversée. Le système OPAL permet d'utiliser MD4 et MD5 ( Message Digest Algorithm # 4 et # 5 : Algorithme du message abrégé). Conçu par Ronald Rivest de RSA Data Security INC [RFC1320], MD4 accepte un nombre arbitraire de bits comme entrée et produit 16 octets (128 bits) de sortie. MD4 est rapide, et il est connu pour sa sûreté [HAL94], c’est-à-dire il n'y a pas une méthode connue pour trouver l'entrée d'une sotie donnée qui est plus efficace que par les essais exhaustifs des entrées possibles. MD5 qui est une version améliorée de MD4 est similaire mais assure un niveau de sécurité plus élevé grâce à une étape de calcul supplémentaire [SIY96, RFC1321]. 2.2. Déroulement de l'authentification OPAL Le processus d'authentification ou d'ouverture de session des systèmes Unix standard (ou tout autre système multi–utilisateurs, par exemple : VMS) affichent une invite de login non sécurisée à laquelle l'utilisateur répond par son mot de passe. Si l'UID (USER ID) et le mot de passe correspondent, l'utilisateur est accepté et sera autorisé à accéder au système. Avec OPAL, l'utilisateur doit répondre à un défi : il est sensé répondre à une question dont il est le seul à connaître la réponse. A la différence avec l'authentification Unix qui se réalise en une seule étape (entrée d'un password secret au prompt password : ), OPAL suppose qu'une opération de génération (avec une calculette logicielle opalkey, winkey, voir figure 2) aura été lancée auparavant à partir d'un terminal sécurisé, ou bien que l'utilisateur aura accès à un calculateur sur sa machine en local. On peut envisager une simplification de la séquence au moment de la connexion en ayant générée à l'avance l'OTP correspondant à la séquence. Comme le montre la figure 1, le processus d'authentification est le suivant : (1) darkstar : ~ connexion $ opalclient darkstar Trying 127.0.0.1… (2) darkstar login : mounir (3) OTP-md5 493 tr1998 (4) Response: KING APS HAM BY WOLF FOGY Authentication successful. Figure 1. Le schéma d'authentification OPAL . (1) Quand le client se connecte au serveur "darkstar", ce dernier lui demande son nom de login. (2) Le client fournit son nom de login " mounir ". (3) Le serveur recherche le nom de login dans sa base de données /etc/opalkeys et lance le défi approprié qui se compose du nombre d'itération " 493 " du OTP attendu et la valeur de germe "tr1998" extraits de la base de données. Cette dernière est la base dans laquelle sont stockées les informations du système OPAL, contenant essentiellement pour chaque utilisateur : le nom de login, le nombre d'itération, le germe et le dernier OTP valide dans la séquence. La forme standard du uploads/Industriel/ un-systeme-d-x27-authentification-avance-base-sur-la-technique-otp.pdf
Documents similaires










-
45
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 14, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.0850MB