概述
EAP总是由另一协议承载。请求者(认证用户设备)和NAS(网络访问服务器)之间最常见的传输是IEEE-802.1X EAPOL(EAP Over LAN),PPP(点对点协议)和IKEv2。
对于NAS与RADIUS服务器之间的链接,EAP数据包在253字节的边界上被分段并分成多个EAP-Message属性。如何通过RADIUS传输EAP由RFC3579定义。
NAS通常不会在EAP对话上窥探。对于提供隐私的EAP方法(例如EAP-TLS,EAP-PEAP和EAP-TTLS),无论如何snooping都不会有效,因为在请求方和RADIUS服务器之间将建立TLS隧道。
认证
当NAS从请求者接收到EAP分组时,它将剥离封装(EAPOL/PPP/IKEv2协议)和片段的EAP数据转换成253字节的块。然后它会将EAP数据块作为多个EAP-Message属性插入到RADIUS Access-Request数据包中。 NAS然后将RADIUS Access-Request数据包发送到RADIUS服务器。
RADIUS服务器使用EAP-Message属性作为它应该执行EAP验证的指示,就像它使用用户密码作为它应该执行PAP和CHAP密码的提示一样,它应该提示它应该执行CHAP。
RADIUS服务器将按照它们收到的顺序连接EAP-Message属性(这就是为什么代理不重新排序EAP-Message属性很重要)并将连接数据传递给初始化EAP状态机。
然后,EAP代码将制定其响应并将其编码为EAP数据包,将该数据包拆分为EAP-Message属性,然后将这些属性通过RADIUS Access-Challenge数据包发送回NAS。
状态属性也将在挑战中发送。该状态属性将被NAS包括在下一个访问请求中。状态属性允许RADIUS服务器在多轮访问请求/访问挑战之间恢复EAP身份验证状态。它通常用作正在进行的EAP会话存储的关键。
当NAS接收到Access-Challenge时,它将重新组装EAP-Message属性,将EAP数据封装在EAPOL/PPP/IKEv2中,并将封装的数据发送回请求者。
访问 - 请求/访问 - 挑战交换的多轮与作为翻译者的NAS发生。
当RADIUS服务器有足够的信息做出接受或拒绝用户的决定时,它将发回一个包含EAP-Success/EAP-Failure的EAP-Message,RADIUS服务器将把它发送回NAS在Access-Accept或Accept-Reject数据包中。 RFC3579要求在Access-Accept数据包中返回EAP-Successes,并且在Access-Reject数据包中返回EAP-Failures。
当需要将密钥资料分发给NAS和请求方时,NAS的密钥资料在MS-MPPE-Recv-Key和MS-MPPE-Send-Key RADIUS属性中提供,包含在Access -接受。申请人将在EAP方法进展期间接收(或派生)相同的密钥资料。 EAP方法之间这种密钥材料的派生方式不同。
总之,RADIUS可以被看作是传输和控制(对于NAS)协议,并且EAP可以被看作是在RADIUS顶部运行的实际认证/授权协议。
希望这会有所帮助!