Les quatre formes de l'authentification

13 août 2006

Un serveur web prend en charge 4 types d'authentification : BASIC, FORM, DIGEST et CLIENT-CERT. En image, voici quatre applications vous en montrant le fonctionnement.

L'authentification consiste à reconnaître un système ou une personne en fonction d'un secret qu'il détient. Bien sûr, de son côté le serveur maintient une base données dans laquelle il garde les secrets de tout le monde, qu'il pourra comparer aux informations fournies par le client.

L'authentification basique. Le navigateur ouvre une fenêtre pour vous demander la saisie de vos informations. Le nom et le mot de passe sont envoyés en clair sur la connexion. Si vous n'utilisez pas https, ces informations peuvent être exploitées par l'homme du milieu. Cette authentification est la plus répandue et également la moins fiable.

tester BasicAuthentication
téléchargez l'application BasicAuthentication ( ? ).

L'authentification formulaire. Même chose que la basique, mais ici c'est un formulaire qui remplit le rôle de la saisie. Vous pouvez donc l'inclure dans une page html.

tester FormAuthentication

téléchargez l'application FormAuthentication ( ? ).

L'authentification digeste. Le mot de passe n'est pas envoyé sur la connexion. A la place le serveur envoie un challenge (chiffre aléatoire) que le client crypte avec son mot de passe et renvoie au serveur. Le serveur connaissant le mot de passe tente de faire la même opération, si les deux réponses concordent, le client est authentifié. Cette authentification est plus sûre que la basique, mais moins bien supportée par les navigateurs.

tester DigestAuthentication
téléchargez l'application DigestAuthentication ( ? ).

L'authentification par certificat. Cette authentification est la plus sûre des quatres. Elle s'appuie sur le protocol ssl v3 (https). Dans cette version du protocol, le serveur envoie son certificat pour s'authentifier auprès du client, ainsi qu'un texte chiffré avec sa clé privée. Le client, s'il fait confiance au certificat, peut prouver que le texte à bien été crypté par le serveur avec la clé privée correspondante à la clé publique du certificat. Le client fait de même. Si le serveur reconnait le certificat, la connexion est établie. Le serveur récupère le certificat et le compare à sa base de données (realm). L'authentification est complète.

tester ClientCertAuthentication
téléchargez l'application ClientCertAuthentication ( ? ).

Les commentaires sont clos.