IIS propose de nombreuses technologies d’authentification différentes. L’un d’eux est l’intégration de l’authentification Windows. L’authentification intégrée de Windows utilise la négociation Kerberos ou NTLM pour authentifier les utilisateurs à partir de messages de tickets chiffrés transmis entre le navigateur et le serveur.
Le scénario d’application le plus courant de l’authentification NTLM est probablement l’authentification utilisée dans les navigateurs (protocole http). Mais en réalité, NTLM ne précise que le processus d’authentification et le format du message d’authentification. Cela n’est pas lié à des accords spécifiques. Il n’y a donc pas forcément de connexion avec http. Le navigateur ne transporte que le message NTLM sur l’en-tête du protocole http et passe l’authentification. Nous savons que http est généralement en texte clair, donc si la transmission directe des mots de passe est très peu sécurisée, NTLM évite effectivement ce problème.
Processus de certification
L’authentification NTLM nécessite trois étapes pour être complétée, et vous pouvez consulter le processus de requête détaillé via la boîte à outils Fiddler.
Étape 1
L’utilisateur se connecte à l’hôte client en saisissant le numéro de compte Windows et le mot de passe. Avant de se connecter, le client met en cache le hachage du mot de passe saisi, et le mot de passe original est supprimé (« le mot de passe original ne peut être mis en cache sous aucun prétexte, c’est une directive de sécurité de base). Un utilisateur qui réussit à se connecter au client Windows doit envoyer une requête à l’autre partie s’il tente d’accéder aux ressources du serveur. La requête contient un nom d’utilisateur en texte clair.
Étape 2
Lorsque le serveur reçoit la requête, il génère un nombre aléatoire de 16 bits. Ce nombre aléatoire s’appelle un défi ou nonce. Le défi est sauvegardé avant que le serveur ne l’envoie au client. Les contestations sont envoyées en texte clair.
Étape 3
Après avoir reçu le défi renvoyé par le serveur, le client le chiffre avec le mot de passe enregistré à l’étape 1, puis envoie le défi chiffré au serveur.
Étape 4
Après avoir reçu le défi chiffré renvoyé par le client, le serveur envoie une requête d’authentification au client vers le DC (Domaine). La demande comprend principalement les trois contenus suivants : nom d’utilisateur client ; Défi et défi original avec le hachage du mot de passe client chiffré.
Étapes 5 et 6
DC chiffre le défi initial en obtenant le hachage du mot de passe du compte en fonction du nom d’utilisateur. Si le défi chiffré est le même que celui envoyé par le serveur, cela signifie que l’utilisateur a le bon mot de passe et que la vérification passe, sinon la vérification échoue. Le DC envoie les résultats de vérification au serveur puis envoie le retour au client.
Articles de référence :
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.
|