概述
EAP 总是由另一个协议承载。请求者(验证用户的设备)和 NAS(网络访问服务器)之间最常见的传输是 IEEE-802.1X EAPOL(EAP Over Lan)、PPP(点对点协议)和 IKEv2。
对于 NAS(在 802.1X 术语中也称为身份验证器)和 RADIUS 服务器之间的链接,EAP 数据包在 253 字节边界上被分段并拆分为多个 EAP 消息属性。 EAP 如何通过 RADIUS 传输由 RFC3579 定义。
NAS 通常不会窥探 EAP 对话。对于提供隐私的 EAP 方法(例如 EAP-TLS、EAP-PEAP 和 EAP-TTLS),窥探无论如何都不会有效,因为将在请求者和 RADIUS 服务器之间建立 TLS 隧道。
身份验证
当 NAS 接收到来自请求者的 EAP 数据包时,它将剥离封装(EAPOL/PPP/IKEv2)并将 EAP 数据分成 253 字节的块。然后它将 EAP 数据块作为多个 EAP 消息属性插入 RADIUS 访问请求数据包。然后 NAS 会将 RADIUS Access-Request 数据包发送到 RADIUS 服务器。
RADIUS 服务器使用 EAP-Message 属性的存在作为它应该执行 EAP 身份验证的指示,就像它使用 User-Password 作为它应该执行 PAP 的提示和 CHAP-password 作为它应该执行的提示一样第一章。
RADIUS 服务器将按照接收到的顺序连接 EAP-Message 属性(这就是为什么代理不重新排序 EAP-Message 属性很重要的原因)并将连接的数据传递给初始化 EAP 的代码状态机。
然后,EAP 代码将制定其响应并将其编码为 EAP 数据包,将该数据包拆分为 EAP-Message 属性,并将这些属性在 RADIUS Access-Challenge 数据包中发送回 NAS。
状态属性也将在挑战中发送。该状态属性将包含在 NAS 的下一个访问请求中。 state 属性允许 RADIUS 服务器在多轮访问请求/访问挑战之间恢复 EAP 身份验证状态。它通常用作存储正在进行的 EAP 会话的密钥。
当 NAS 收到 Access-Challenge 时,它会重新组装 EAP-Message 属性,将 EAP 数据封装在 EAPOL/PPP/IKEv2 中,并将封装后的数据发送回请求方。
多轮访问请求/访问挑战交换发生在 NAS 充当翻译器的情况下。
当 RADIUS 服务器有足够的信息来决定接受或拒绝用户时,它会发回包含 EAP-Success/EAP-Failure 的 EAP-Message。 RADIUS 服务器将在 Access-Accept 或 Accept-Reject 数据包中将此 EAP-Message 发送回 NAS。 RFC3579 要求 EAP-Successes 在 Access-Accept 数据包中返回,EAP-Failures 在 Access-Reject 数据包中返回。
当需要向 NAS 和请求者分发密钥材料时,NAS 的密钥材料在 Access-Accept 中包含的 MS-MPPE-Recv-Key 和 MS-MPPE-Send-Key RADIUS 属性中提供.在 EAP 方法的进展过程中,请求者将收到(或导出)相同的密钥材料。这种密钥材料的派生方式因 EAP 方法而异。
当一个 Access-Accept 数据包被发送时,通常会包含告诉 NAS 如何配置会话的属性。对于 802.1X/无线环境,返回给 NAS 的常见属性是 Session-Timeout,它设置会话时间的最大限制,以及 Tunnel-Private-Group-ID 等 (RFC3580),它指定会话的未标记 VLAN .
总之,RADIUS 可以看作是一种传输和控制(用于 NAS)协议,而 EAP 可以看作是在 RADIUS 之上运行的实际身份验证/授权协议。
希望这会有所帮助!