2.2 Interoperation with PAP and CHAP (与PAP和CHAP的互操作)
2.2 Interoperation with PAP and CHAP (与PAP和CHAP的互操作)
对于 PAP, NAS 获取 PAP ID 和密码, 并将它们作为 User-Name 和 User-Password 发送到 Access-Request 数据包中。NAS 可以包含属性 Service-Type = Framed-User 和 Framed-Protocol = PPP 作为对 RADIUS 服务器的提示, 表示预期提供 PPP 服务。
对于 CHAP, NAS 生成一个随机质询 (最好是 16 个八位字节) 并将其发送给用户, 用户返回 CHAP 响应以及 CHAP ID 和 CHAP 用户名。然后 NAS 向 RADIUS 服务器发送一个 Access-Request 数据包, 其中 CHAP 用户名作为 User-Name, CHAP ID 和 CHAP 响应作为 CHAP-Password (属性 3)。随机质询可以包含在 CHAP-Challenge 属性中, 或者, 如果它是 16 个八位字节长, 可以放置在 Access-Request 数据包的 Request Authenticator 字段中。NAS 可以包含属性 Service-Type = Framed-User 和 Framed-Protocol = PPP 作为对 RADIUS 服务器的提示, 表示预期提供 PPP 服务。
RADIUS 服务器根据 User-Name 查找密码, 使用 MD5 对 CHAP ID 八位字节、该密码和 CHAP 质询 (如果存在则来自 CHAP-Challenge 属性, 否则来自 Request Authenticator) 加密质询, 并将该结果与 CHAP-Password 进行比较。如果它们匹配, 服务器发回 Access-Accept, 否则发回 Access-Reject。
如果 RADIUS 服务器无法执行请求的认证, 它必须返回 Access-Reject。例如, CHAP 要求用户的密码以明文形式可用于服务器, 以便它可以加密 CHAP 质询并将其与 CHAP 响应进行比较。如果密码不以明文形式可用于 RADIUS 服务器, 则服务器必须向客户端发送 Access-Reject。