Le Protocole d’authentification par mot de passe, ou PAP, et le Protocole d’authentification par prise de contact par défi, ou CHAP, sont tous deux utilisés pour authentifier les sessions PPP et peuvent être utilisés avec de nombreux VPN.
PAP fonctionne comme une procédure de connexion standard. Le système distant s’authentifie en utilisant une combinaison statique de nom d’utilisateur et de mot de passe. Le mot de passe peut passer par un tunnel crypté établi pour plus de sécurité, mais PAP est sujet à de nombreuses attaques. Comme les informations sont statiques, elles sont vulnérables aux devinettes de mot de passe et à l’espionnage.
CHAP adopte une approche plus sophistiquée et sécurisée de l’authentification. Il crée une phrase de défi unique pour chaque authentification en générant une chaîne aléatoire. Cette phrase de défi est combinée avec des noms d’hôte de périphérique utilisant des fonctions de hachage unidirectionnelles. Avec ce processus, CHAP peut s’authentifier de manière à ce que les informations secrètes statiques ne soient pas envoyées sur le fil.
Approfondissons les différences entre PAP et CHAP et comment ils peuvent travailler ensemble.
Qu’est-ce que le PAP ?
Des deux méthodes d’authentification PPP (Point-to-Point Protocol), PAP est plus ancienne. Il a été normalisé en 1992 par le biais de la demande de commentaires 1334 de l’IETF. PAP est un protocole d’authentification client-serveur basé sur un mot de passe. L’authentification ne se produit qu’une seule fois au début d’un processus d’établissement de session.
PAP utilise un processus de prise de contact bidirectionnel pour l’authentification en utilisant les étapes suivantes.
Étape 1. Le client envoie le nom d’utilisateur et le mot de passe au serveur.
Le client souhaitant établir une session PPP avec un serveur envoie une combinaison de nom d’utilisateur et de mot de passe au serveur. Ceci est effectué via un paquet de demande d’authentification.
Étape 2. Le serveur accepte les informations d’identification et vérifie.
Si le serveur écoute les demandes d’authentification, il acceptera les informations d’identification du nom d’utilisateur et du mot de passe et vérifiera qu’elles correspondent.
Si les informations d’identification sont envoyées correctement, le serveur enverra un paquet de réponse authentication-ack au client. Le serveur établira alors la session PPP entre le client et le serveur.
Si les informations d’identification sont envoyées de manière incorrecte, le serveur enverra un paquet de réponse authentication-nak au client. Le serveur n’établira pas de réponse basée sur l’accusé de réception négatif.
Le PAP est un mécanisme d’authentification simple et facile à mettre en œuvre, mais il présente de sérieux inconvénients à son utilisation dans des environnements réels. Le plus gros inconvénient est que PAP envoie des noms d’utilisateur et des mots de passe statiques des clients aux serveurs en texte brut. Si de mauvais acteurs interceptaient cette communication, à l’aide d’outils tels qu’un renifleur de paquets, ils pouvaient s’authentifier et établir une session PPP au nom du client.
Il est possible d’envoyer des demandes d’authentification PAP via des tunnels cryptés existants. Mais, si d’autres options d’authentification sont disponibles, telles que CHAP, les équipes doivent utiliser une méthode alternative.
Qu’est-ce que CHAP?
CHAP utilise un processus de prise de contact à trois voies pour protéger le mot de passe d’authentification des mauvais acteurs. Cela fonctionne comme suit.
Étape 1. Une fois le lien établi, l’authentificateur envoie un défi d’authentification.
Le serveur d’accès réseau effectue une recherche de nom d’hôte sur le client et lance l’authentification CHAP en envoyant un » défi ask » à l’utilisateur distant. Ce défi comprend une chaîne de défis générée aléatoirement.
Étape 2. Le client effectue la recherche de nom d’hôte.
Le client utilise le mot de passe que le client et le serveur connaissent pour créer un hachage unidirectionnel crypté basé sur la chaîne de défi.
Étape 3. Le serveur décrypte le hachage et vérifie.
Le serveur décrypte le hachage et vérifie qu’il correspond à la chaîne de défi initiale. Si les chaînes correspondent, le serveur répond par un paquet de réussite d’authentification. Si les chaînes ne correspondent pas, le serveur envoie une réponse de message d’échec d’authentification et la session est terminée.
Quelles sont les différences entre PAP et CHAP?
CHAP est apparu en 1996 en grande partie en réponse aux faiblesses d’authentification inhérentes au PAP. Au lieu d’une poignée de main bidirectionnelle, CHAP utilise une poignée de main à trois voies et n’envoie pas le mot de passe sur le réseau. CHAP utilise un hachage chiffré pour lequel le client et le serveur connaissent la clé secrète partagée. Cette étape supplémentaire permet d’éliminer les faiblesses de sécurité trouvées dans PAP.
Une autre différence est que CHAP peut être configuré pour effectuer des authentifications répétées en milieu de session. Ceci est utile pour certaines sessions PPP qui laissent un port ouvert même si le périphérique distant s’est déconnecté. Dans ce cas, quelqu’un d’autre pourrait récupérer la connexion en milieu de session en établissant une connectivité physique.
Comment PAP et CHAP peuvent-ils travailler ensemble ?
PAP et CHAP ne peuvent pas fonctionner ensemble en soi. Mais les protocoles qui utilisent PAP ou CHAP peuvent interagir avec les deux méthodes d’authentification, si vous le souhaitez.
Par exemple, PPP peut utiliser PAP ou CHAP pour l’authentification. Ainsi, les administrateurs peuvent configurer le protocole de communication pour essayer de s’authentifier d’abord via la poignée de main sécurisée à trois voies de CHAP, puis revenir au processus d’authentification bidirectionnelle moins sécurisé trouvé dans PAP.