【问题标题】:How and where RADIUS and EAP combine?RADIUS 和 EAP 如何以及在何处结合?
【发布时间】:2022-03-18 03:45:49
【问题描述】:

我一直在阅读有关身份验证方法的一些信息。 我已阅读有关 RADIUS 和 EAP 的信息。 我只是不明白它们之间的联系。

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

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

我确信我完全弄错了,希望有人能简单地解释一下我所缺少的。

谢谢!

【问题讨论】:

    标签: authentication ssl radius


    【解决方案1】:

    概述

    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 之上运行的实际身份验证/授权协议。

    希望这会有所帮助!

    【讨论】:

    • 您好,不明白RADIUS协议中state属性的使用。如果我理解正确,NAS 必须输入其 RADIUS 请求,即它在第一次响应期间从 RADIUS 服务器收到的值。如果 NAS 从 RADIUS 服务器收到的值与最初收到的值不同,NAS 应该怎么做?这对服务器来说意味着什么? NAS 本身可以改变这个值吗(在什么情况下?)?如果 NAS 收到来自 RADIUS 服务器的不带状态属性的质询,它必须将此请求视为错误。
    • 状态值用于单轮,即一对Access-Challenge、Access-Request包。服务器为它发送的每个访问挑战数据包创建一个新的状态值。 NAS 永远不应该修改状态值本身,并且应该始终使用它在下一个 Access-Request 中收到的最后一个 Access-Challenge 数据包中的状态值。
    • 您好,我还有一个问题。 802.1X 能否支持具有某些 VLAN 的同一端口的多个请求者?此端口可以是 TRUNK 端口还是必须是 ACCESS 端口?可以在同一个 VLAN 中有一些请求者吗?我还看到,可以动态定义 VLAN:配置它的 RADIUS 属性是什么(我在 RFC 中找不到)?它是标准化方法还是制造商特定的实施方式?
    • 请求者将使用未标记的帧执行 802.1X。端口的设置方式无关紧要。 datatracker.ietf.org/doc/html/rfc3580 第 3.31 节中描述了分配未标记的 VLAN。 datatracker.ietf.org/doc/html/rfc4675 描述了分配标记的 VLAN。允许的 VLAN 分配组合取决于身份验证器的能力。例如,某些 HP ProCurve 交换机允许使用 MAC 地址过滤将多个未标记的 VLAN 分配给同一物理端口上的不同请求者。
    • 在旧的 HP ProCurve 设备上,您可以配置不同的端口模式。一个在 auth 后完全打开端口,另一个进行基于 per-mac 的身份验证。我建议您查看 Cisco 的文档,看看是否有类似的东西。对于 switch/switch auth 或 switch/ap auth 和边缘端口身份验证之类的东西确实有不同的要求。
    猜你喜欢
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2018-05-16
    • 2014-09-06
    相关资源
    最近更新 更多