RADIUS和EAP结合的方式和位置?

时间:2013-09-30 14:43:13

标签: authentication ssl radius

我一直在阅读有关身份验证方法的内容。 我读过有关RADIUS和EAP的内容。 我只是不明白他们之间的联系。

RADIUS是一种身份验证协议,它使用共享密钥和其他方法进行安全身份验证,而EAP更像是一种通用协议。我知道EAP本身没有做任何事情(它只是一个框架),并且使用更具体的类型(如EAP-TLS)来执行身份验证。

我只是不明白是否使用客户端进行身份验证过程 - >验证者 - >认证服务器,应该选择其中一个协议,或者它们是否以某种方式组合在一起。

我确信我只是完全错了,如果有人只是简单地解释我错过了什么。

谢谢!

1 个答案:

答案 0 :(得分:15)

概述

How EAP is carried in 802.1X

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,窥探无论如何都不会有效,因为将在请求者和RADIUS服务器之间建立TLS隧道。

验证

当NAS从请求者收到EAP数据包时,它将剥离封装(EAPOL / PPP / IKEv2)并将EAP数据分段为253字节的块。然后,它将EAP数据块作为多个EAP-Message属性插入RADIUS Access-Request数据包。然后,NAS将RADIUS访问请求数据包发送到RADIUS服务器。

RADIUS服务器使用EAP-Message属性的存在作为它应该执行EAP身份验证的指示,就像它使用User-Password作为提示它应该执行PAP和CHAP密码作为它应该执行的提示CHAP。

RADIUS服务器将按接收顺序连接EAP-Message属性(这就是为什么代理不重新排序EAP-Message属性很重要)并将连接的数据传递给初始化EAP的代码国家机器。

然后,EAP代码将制定其响应并将其编码为EAP数据包,将该数据包拆分为EAP-Message属性,并将这些属性发送回RADIUS Access-Challenge数据包中的NAS。

状态属性也将在挑战中发送。此State属性将包含在NAS的下一个Access-Request中。 state属性允许RADIUS服务器在多轮Access-Requests / Access-Challenge之间恢复E​​AP身份验证状态。它通常用作正在进行的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顶层运行的实际身份验证/授权协议。

希望这有帮助!