Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

NTLM : protocole d'identification/authentification NT Lan Manager des réseaux Microsoft

Windows Challenge / Response (NTLM) est le protocole d'authentification utilisé sur les réseaux comprenant des systèmes exécutant le système d'exploitation Windows et des systèmes autonomes.

Le package de sécurité Microsoft Kerberos ajoute une sécurité supérieure à NTLM aux systèmes sur un réseau. Bien que Microsoft Kerberos soit le protocole de choix, NTLM est toujours pris en charge.

NTLM doit également être utilisé pour l'authentification d'ouverture de session sur les systèmes autonomes. Pour plus d'informations sur Kerberos, voir Microsoft Kerberos.

Les informations d'identification NTLM sont basées sur les données obtenues lors du processus d'ouverture de session interactive et comprennent :

  • un nom de domaine
  • un nom d'utilisateur
  • un hachage unidirectionnel du mot de passe de l'utilisateur

NTLM utilise un protocole de Challenge / Response chiffré pour authentifier un utilisateur sans envoyer le mot de passe de l'utilisateur sur la connexion réseau. Au lieu de cela, le système demandant une authentification doit effectuer un calcul qui prouve qu'il a accès aux informations d'identification NTLM sécurisées.

L'authentification interactive NTLM sur un réseau implique généralement deux systèmes :

  • un système client, où l'utilisateur demande une authentification
  • un contrôleur de domaine, où les informations relatives au mot de passe de l'utilisateur sont conservées

L'authentification non interactive, qui peut être requise pour permettre à un utilisateur déjà connecté d'accéder à une ressource telle qu'une application serveur, implique généralement trois systèmes :

  • un client
  • un serveur
  • un contrôleur de domaine effectuant les calculs d'authentification pour le serveur

Les étapes suivantes présentent un aperçu de l'authentification NTLM non interactive. La première étape fournit les informations d'identification NTLM de l'utilisateur et intervient uniquement dans le cadre du processus d'authentification interactive (ouverture de session).

  1. (Authentification interactive uniquement) Un utilisateur accède à un ordinateur client et fournit un nom de domaine, un nom d'utilisateur et un mot de passe. Le client calcule un hachage cryptographique du mot de passe et supprime le mot de passe réel.
  2. Le client envoie le nom d'utilisateur au serveur (en texte brut).
  3. Le serveur génère un nombre aléatoire de 16 octets, appelé challenge ou nonce, et l'envoie au client.
  4. Le client chiffre ce défi avec le hachage du mot de passe de l'utilisateur et renvoie le résultat au serveur. Ceci s'appelle la réponse.
  5. Le serveur envoie les trois éléments suivants au contrôleur de domaine:
    • Nom d'utilisateur
    • Challenge envoyé au client
    • Réponse reçue du client
  6. Le contrôleur de domaine utilise le nom d'utilisateur pour extraire le hachage du mot de passe de l'utilisateur de la base de données Security Account Manager. Il utilise ce mot de passe pour chiffrer le défi.
  7. Le contrôleur de domaine compare le défi chiffré qu'il a calculé (à l'étape 6) à la réponse calculée par le client (à l'étape 4). S'ils sont identiques, l'authentification est réussie.

Votre application ne doit pas accéder directement au package de sécurité NTLM. à la place, il doit utiliser le package de sécurité Negotiate. Négocier permet à votre application de tirer parti de protocoles de sécurité plus avancés s'ils sont pris en charge par les systèmes impliqués dans l'authentification. Actuellement, le package de sécurité Negotiate sélectionne entre Kerberos et NTLM. Négocier sélectionne Kerberos sauf s'il ne peut pas être utilisé par l'un des systèmes impliqués dans l'authentification.