2.2 Interoperation with PAP and CHAP
2.2. Interoperation with PAP and CHAP (Interopération avec PAP et CHAP)
Pour PAP, le NAS prend l'ID PAP et le mot de passe et les envoie dans un paquet Access-Request en tant que User-Name et User-Password. Le NAS PEUT inclure les attributs Service-Type = Framed-User et Framed-Protocol = PPP comme indication au serveur RADIUS qu'un service PPP est attendu.
Pour CHAP, le NAS génère un défi aléatoire (de préférence 16 octets) et l'envoie à l'utilisateur, qui renvoie une réponse CHAP avec un ID CHAP et un nom d'utilisateur CHAP. Le NAS envoie ensuite un paquet Access-Request au serveur RADIUS avec le nom d'utilisateur CHAP comme User-Name et avec l'ID CHAP et la réponse CHAP comme CHAP-Password (Attribut 3). Le défi aléatoire peut soit être inclus dans l'attribut CHAP-Challenge, soit, s'il fait 16 octets de long, il peut être placé dans le champ Request Authenticator du paquet Access-Request. Le NAS PEUT inclure les attributs Service-Type = Framed-User et Framed-Protocol = PPP comme indication au serveur RADIUS qu'un service PPP est attendu.
Le serveur RADIUS recherche un mot de passe basé sur le User-Name, chiffre le défi en utilisant MD5 sur l'octet ID CHAP, ce mot de passe et le défi CHAP (de l'attribut CHAP-Challenge s'il est présent, sinon du Request Authenticator), et compare ce résultat au CHAP-Password. S'ils correspondent, le serveur renvoie un Access-Accept, sinon il renvoie un Access-Reject.
Si le serveur RADIUS est incapable d'effectuer l'authentification demandée, il DOIT retourner un Access-Reject. Par exemple, CHAP nécessite que le mot de passe de l'utilisateur soit disponible en clair pour le serveur afin qu'il puisse chiffrer le défi CHAP et comparer cela à la réponse CHAP. Si le mot de passe n'est pas disponible en clair pour le serveur RADIUS, alors le serveur DOIT envoyer un Access-Reject au client.