Comment fonctionne NTLM ?
Les réseaux informatiques sont vulnérables aux attaques lorsqu’ils ne sont pas suffisamment protégés. Après tout, personne ne souhaite que n’importe quel utilisateur ait accès aux données et services partagés. Afin que les participants puissent se connecter les uns aux autres, il doit exister des points d’accès sécurisés à un réseau autrement fermé. Pour cela, il est nécessaire d’avoir recours à des procédures de sécurité concrètes. Avec NT LAN Manager (NTLM), Windows a introduit très tôt une procédure d’authentification, mais celle-ci est aujourd’hui considérée comme obsolète. Comment fonctionne ce protocole ?
Qu’est-ce que le NTLM ?
NTLM est une compilation de protocoles d’authentification du développeur de logiciels Windows. Lancé en tant que protocole propriétaire, NTLM a vite été utilisé pour des systèmes autres que Windows. Le NT LAN Manager permet à différents ordinateurs et serveurs de s’identifier mutuellement. La plupart des réseaux souhaitent éviter l’accès d’utilisateurs non autorisés. C’est pourquoi un procédé de vérification doit être implémenté : ce n’est que si le client est autorisé qu’il peut avoir accès au réseau ou utiliser les services du réseau.
Le protocole prévoit qu’un client s’identifie avec un nom d’utilisateur et un mot de passe associé. Pour cela, un échange a lieu entre l’appareil de l’utilisateur et un serveur. Le serveur dispose des données de connexion ce qui lui permet de vérifier et ensuite d’autoriser l’accès.
Comment fonctionne l’authentification NTLM ?
NTLM utilise un procédé de défi-réponse afin de vérifier l’authenticité du membre du réseau. Pour cela, le client et l’hôte suivent plusieurs étapes :
- Le client envoie un nom d’utilisateur à l’hôte.
- L’hôte répond avec un nombre aléatoire, c’est le défi.
- À partir de ce nombre et du mot de passe de l’utilisateur, le client génère une fonction de hachage et envoie celle-ci en réponse.
- L’hôte qui connait également le mot de passe crée également une fonction de hachage et peut comparer celle-ci avec la réponse du client.
- Lorsque ces deux valeurs correspondent, l’authentification du client est confirmée et l’accès est autorisé. Si les valeurs ne correspondent pas, le client est bloqué.
Une fonction de hachage est utilisée pour empêcher des tiers non autorisés de simplement lire le mot de passe lors de la transmission via le réseau. Une fonction mathématique est utilisée pour convertir le mot de passe en une chaîne de caractères incompréhensible. Comme cette conversion ne peut être simplement inversée, les fonctions de hachage jouent un rôle majeur en cryptologie.
Lors de l’échange entre le client et l’hôte, les informations sont en partie transmises sous forme de drapeaux NTLM. Il s’agit d’un code d’une longueur de 4 bits. Les NegotiationFlags (drapeaux de négociation) qui se différencient des autres par seulement un bit fournissent des informations sur le statut du processus de connexion.
Domaines d’application du protocole NTLM
Le protocole NTLM a été conçu pour connecter plusieurs machines Windows entre elles ou avec un serveur. Ce procédé assure la sécurité en vérifiant les droits d’accès des clients. Windows utilise NTLM comme procédé d’authentification unique (SSO en anglais) : l’utilisateur doit donc s’identifier une seule fois pour avoir accès à différentes applications du domaine.
Aujourd’hui NTLM est considéré comme obsolète et Microsoft utilise Kerberos à la place. Ce nouveau protocole d’authentification est plus sûr. NTLM est cependant encore utilisé notamment pour des services plus anciens. En tant qu’administrateur d’un grand réseau, il peut être judicieux de désactiver le protocole NTLM lorsqu’il n’est pas nécessaire. Ainsi il est possible d’assurer qu’aucun client ne se connecte accidentellement et ne créé une faille de sécurité.
Le protocole NTLM : avantages et inconvénients
L’un des avantages de ce protocole, c’est que l’authentification par NTLM ne nécessite pas de transmission non sécurisée de mot de passe sur le réseau. La transmission entre client et serveur se fait uniquement sous la forme d’une fonction de hachage. Cela permet d’augmenter considérablement le niveau de sécurité. La fonction de hachage présente également l’inconvénient d’être relativement similaire à un mot de passe. Si la transmission est interceptée, la sécurité promise par le système peut être compromise. Le chiffrement du mot de passe est sécurisé par MD4. Ces procédés sont considérés comme peu sûrs. Ces valeurs de hachage peuvent être décryptées assez facilement.
Un autre inconvénient réside dans le fait que le NTLM ne prend pas en charge l’authentification multifacteur (MFA). En outre pour les données sensibles, il est judicieux d’implémenter plusieurs mécanismes de sécurité. Le procédé défi-réponse du NTLM ne prend lui en charge qu’une méthode d’authentification à savoir par identifiant et mot de passe.