S'identifier auprès d'un tiers


  La sécurité informatique est souvent liée au contrôle d'accès. Lorsque vous vous connectez à votre fournisseur d'accès Internet, celui-ci vous demande votre nom d'utilisateur, et aussi votre mot de passe pour être sûr que personne ne tente d'usurper votre identité. C'est la même chose pour les cartes bleues (code secret), pour les systèmes d'exploitation multi-utilisateurs.   Voyons comment cela est géré par l'ordinateur auquel on veut accéder. Chaque utilisateur autorisé possède un nom d'utilisateur, et un mot de passe. Ce nom et ce mot de passe sont stockés dans un fichier, et quand Alice tente de se connecter, l'ordinateur vérifie que le mot de passe qu'elle donne vaut le mot de passe du fichier. En fait, le mot de passe n'est pas stocké en clair. Il suffirait alors à un utilisateur mal intentionné de pouvoir télécharger le fichier Nom d'utilisateur / Mot de passe pour usurper l'identité de quiconque.

  Les mots de passe sont donc stockés sous forme cryptée. L'odinateur possède une fonction à sens unique F (typiquement, une cryptographie par clé DES) : pour une entrée x, il est très facile de calculer F(x), mais connaissant F(x), il est impossible de retrouver x. Les mots de passe sont stockés sous la forme F(mot de passe). Quand Alice s'identifie, l'ordinateur compare F(mot de passe rentré) avec la valeur stockée dans le fichier : si elles sont égales, il a bien affaire à Alice.

  Cette méthode n'est pourtant pas vraiment fiable, notamment lorsqu'il s'agit de contrôler l'accès à distance. Une tierce personne peut se placer entre Alice et l'ordinateur (ex : écoute de ligne téléphonique) et récupérer ainsi le mot de passe. La bonne solution serait que le mot de passe soit à usage unique, donc change à chaque fois. Mais comment faire?
  Les sytèmes de question/réponse résolvent ce problème. L'utilisateur Alice se voit remettre une clé secrète S connue d'elle seule. Dans le fichier mot de passe est inscrit la clé publique P correspondante, fonction inverse de S, et qui peut être connue de tous. Chaque fois qu'Alice se connecte, l'ordinateur lui envoie un nombre x choisi au hasard. Alice calcule S(x)=y, et répond y à l'ordinateur. Celui-ci calcule P(y), et compare avec x : si x=P(y), il a bien affaire à ALice.

  Ce nouveau type de protection résiste à l'interception des messages : si Bob intercepte y, et même s'il connait P, cela ne lui est d'aucune utilité. S'il essayait de se connecter, l'ordinateur lui enverrait un autre nombre x', et la connaissance de y et de P ne le renseigne pas pour le calcul de S(x').

Et encore, dans la cryptographie expliquée...


Sommaire de la Cryptographie Expliquée - Plan du site - Retour à la BibM@th - Tous droits réservés - Frédéric Bayart -