NTLM (NT LAN Manager) et Kerberos sont deux protocoles d’authentification utilisés pour vérifier l’identité d’un utilisateur dans un réseau informatique, en particulier dans les environnements Windows. Ces deux protocoles sont très liés à Active Directory.
Fonctionnement du protocole d’authentification NTLM
NTLM est un protocole d’authentification basé sur un « challenge-response ». Lorsqu’un utilisateur tente de se connecter à un système ou d’accéder à une ressource, le serveur lui envoie un challenge.
L’utilisateur répond alors avec un message contenant :
Le domaine ;
Le nom d’utilisateur du client ;
La réponse au « challenge », qui contient le hash du mot de passe de l’utilisateur.
C’est ce dernier message qui est le plus critique, puisqu’il contient un secret.
Kerberos vs NTLM : les avantages et inconvénients du protocole NTLM
Avantages de NTLM
Facilité de mise en œuvre et de gestion : NTLM est simple à configurer et ne nécessite pas d’infrastructure centrale complexe.
Compatibilité avec les systèmes anciens : NTLM est pris en charge par les versions plus anciennes de Windows.
Inconvénients de NTLM
Sécurité : NTLM est considéré comme moins sécurisé que Kerberos car il est vulnérable à certaines attaques, telles que l’interception de hash.
Performances : NTLM peut ralentir les contrôleurs de domaine, en particulier dans les réseaux de grande envergure.
Limitations : même s’il en est le précurseur, NTLM ne prend pas en charge le SSO (single sign-on) ni l’authentification déléguée.
Fonctionnement de Kerberos
Kerberos, quant à lui, est un protocole d’authentification basé sur des tickets. Il utilise un serveur d’authentification centralisé, appelé Key Distribution Center (KDC), qui comprend deux parties : l’Authentication Server (AS) et le Ticket Granting Server (TGS).
Le protocole se déroule alors comme suit :
Le client envoie une requête chiffrée au serveur d’authentification (AS). Lorsque l’AS reçoit la requête, il cherche dans la base de données Kerberos le mot-clé à l’aide de l’identifiant utilisateur. Si l’utilisateur a donné le bon mot-clé, l’AS déchiffre la requête.
Après la vérification de l’utilisateur, l’AS émet un Ticket Granting Ticket (TGT) qui est envoyé au client.
Le client envoie ensuite le TGT à un serveur d’émission de tickets. Avec le TGT, le client « explique » la raison de l’accès au serveur hôte. Le TGS déchiffre le ticket avec une clé secrète que l’AS et le TGS ont en commun.
Si le TGT est valide, le TGS émet un ticket de service pour le client.
Le client envoie le ticket de service au serveur hôte. Celui-ci déchiffre le ticket avec la clé secrète qu’il partage avec le TGS.
Si la clé secrète correspond, le serveur hôte autorise l’accès du service au client. Le ticket de service détermine combien de temps l’utilisateur peut utiliser le service. Dès que l’autorisation d’accès au service expire, il peut renouveler le processus d’authentification Kerberos grâce à une commande kinit.
Kerberos vs NTLM : les avantages et inconvénients de Kerberos
Avantages de Kerberos
Sécurité : Kerberos est considéré comme plus sécurisé que NTLM grâce à l’utilisation de tickets chiffrés, de l’authentification mutuelle et de l’authentification unique.
Performances : Kerberos est plus efficace que NTLM car il utilise des tickets légers et un cache efficace, réduisant ainsi le nombre de requêtes d’authentification.
Évolutivité : Kerberos est bien adapté aux environnements d’entreprise à grande échelle et prend en charge un grand nombre d’utilisateurs et de ressources.
Compatibilité : Kerberos est compatible avec les systèmes modernes et peut être intégré à différents environnements.
Inconvénients de Kerberos
Complexité : Kerberos est plus complexe à configurer et à gérer que NTLM, nécessitant une infrastructure centralisée et une gestion minutieuse des clés et des tickets.
Compatibilité avec les systèmes hérités : Kerberos peut ne pas être pris en charge par les systèmes hérités plus anciens.
NTLM vs Kerberos : les principales différences
Mécanisme de gestion de l’authentification
NTLM fait le choix d’un mécanisme simple en 3 messages. Tandis que Kerberos utilise en processus en deux parties bien distinctes faisant appel à un service de tickets et à un service d’authentification.
Hash face au chiffrement
NTLM repose sur le hachage de mots de passe, qui consiste en une fonction à sens unique produisant une chaîne de texte basée sur un fichier d’entrée, tandis que Kerberos a recours au chiffrement, qui implique le codage et décodage d’informations en utilisant respectivement une clé de chiffrement et une clé de déchiffrement. Kerberos propose un niveau de sécurité supérieur à NTLM en mettant en œuvre ces fonctions de chiffrement.
Complexité et performance
Le protocole Kerberos présente une architecture plus sophistiquée que NTLM, ce qui engendre une consommation de ressources CPU et mémoire supérieure. Néanmoins, cet aspect est compensé par une augmentation globale des performances grâce à la mise en cache des informations d’authentification, minimisant ainsi les demandes d’authentification ultérieures.
L’installation initiale de Kerberos peut se révéler ardue, notamment en cas de déploiement sur des architectures réseau complexes, contrairement à NTLM qui bénéficie d’une configuration relativement simple et directe. Par ailleurs, la maintenance évolutive de Kerberos exige davantage d’efforts et de connaissances spécialisées, principalement en termes de gestion des stratégies de sécurité et des autorisations associées.
NTLM vs Kerberos : quelles conclusions ?
NTLM et Kerberos sont deux protocoles d’authentification largement utilisés, chacun présentant ses propres avantages et inconvénients. NTLM est plus simple et plus facile à mettre en œuvre, mais il offre une sécurité et des performances inférieures à celles de Kerberos. Ce protocole est obsolète depuis le 9 juillet 2024.
Kerberos, d’autre part, est plus sécurisé, évolutif et compatible avec les systèmes modernes, mais il est également plus complexe à configurer et à gérer.