EAP/PEAP 如何与现代安全协议集成?

信息安全 验证 无线的 佩普
2021-09-08 22:06:30

可扩展身份验证协议 (EAP) /受保护的 EAP究竟如何集成到现代安全协议中?

到目前为止我知道(或不知道)的...

它由使用基于点对点协议 (PPP) 的身份验证方法的无线网络使用。我已经搜索过,但找不到对我有意义的答案。这个名字暗示它是一个协议,但从我读过的文章来看,它称之为Authentication Framework有所有主要安全协议/算法的定义;例如 MD5、SHA1、ISAKMP、TLS 等。

我试过用 EAP 数据流量查看wireshark 捕获。 云鲨示例但是对数据的描述没有多大帮助。这是“协议的”数据流的描述。图片很有帮助,但让我感到困惑的是“EAP方法”的交流。这似乎几乎类似于 SSL/TLS 密码套件。

EAP 是否是无线协议在算法上达成一致的一种方式,并且每个设备都提供符合该框架的自己的实现?

在这种情况下,为什么会有 EAP-TLS?这似乎在线路上增加了另一个层,仅用于执行 TLS。有人可以为我填补空白吗?

3个回答

你的理解已经很不错了。正如您所说,有多种 EAP 协议:LEAP、PEAP、EAP-FAST、EAP-TLS 等。每种协议的工作方式不同,但它们都做同样的事情:在允许用户访问无线网络之前对用户进行身份验证. 您可以将 EAP 称为协议,也可以将其称为协议框架,其中每个变体(如 EAP-FAST)都是一个协议。没有太大区别,我发现不同的文档并不总是相互一致(甚至在内部!)

要回答您的粗体问题,基本上是肯定的。客户端和接入点将启用某些 EAP,如果它们支持相同的 EAP,则客户端可以尝试进行身份验证。每个 EAP 都是一个协议,并且会有不同的实现。例如,如果您的 iPhone 使用 EAP-TLS 登录到您的 Cisco 接入点,那么 Apple EAP-TLS 正在与 Cisco EAP-TLS 通信——并且由于协议是标准化的,它们(应该)可以成功通信。

为什么有 EAP-TLS?请记住,EAP 发生在客户端被允许访问网络之前。那时他们没有 IP 地址,因此无法使用普通的 TLS。我认为重新使用 TLS 作为 EAP 的一部分是一个非常好的主意 - EAP 的安全要求与 HTTPS 非常相似,因此使用成熟的协议是有意义的(尽管最近有爆料!)。

EAP-TLS(和 PEAP)面临的一个挑战是证书颁发和验证的过程不太清楚。通常网络管理员需要在所有客户端上安装接入点的证书。如果未完成证书验证,则客户端很容易受到Evil Twin攻击。

所以我希望我不要让自己看起来像个白痴,但我会尝试根据我对它的理解来帮助解释这一点。我应该注意,这不是我的全职工作,所以如果我真的有什么事情,请善待:)

这些协议,我相信 eap 是一个协议,peap 是受保护的 eap,因此它可能是具有附加加密的相同协议,用于在第 2 层进行身份验证。这意味着客户端必须将身份验证信息传递给它直接连接的设备到。在过去,这是非常基本的,您通过电话线拨入并通常以明文形式发送您的用户名和密码。

当 Wireless 出现时,他们有同样的问题要解决,他们必须对人们进行身份验证才能访问网络,所以他们使用他们所知道的 ppp 或其他通过第 2 层进行身份验证的协议,我使用拨号已经太久了,所以我不记得不同的选择。现在的问题是它是一种共享媒介,不像电话线,所以他们必须开发更好的方法来保护用户名和密码,他们也是通过拨号开始的,但这并不是一个大问题,因为大多数人并不担心关于他们的线路被窃听。

因此,他们开始构建这些更安全的在第 2 层上进行身份验证的方法,因此诞生了 eap。现在的 eap,我相信,eap TTLS 是最安全但最难正确配置的。EAP-FAST 是 TLS 的衍生产品,因为它还使用令牌/证书,但不是通过带外方式来部署它们,而是协商这种带内方式,这可能会降低安全性,我认为不建议使用 LEAP,而且主要是用于 AP 到 AP 的通信。无论如何,所有这些都使用不同的方法以安全的方式建立 EAP 会话,以便以加密方式传输用户名和密码。除了 TLS、TTLS 和 PEAP 之外,所使用的方法通过协商而不是通过带外定义的东西来建立密钥,可以将带外的 PEAP 配置为不验证证书,这就是为什么我认为它不如 TLS 和 TTLS 安全的原因。一旦建立了加密隧道或密钥,用户名和密码将使用内部协议发送,可以是明文、mschap 或其他一些协议,我不知道它们,本次讨论的重要内容是它们在第 2 层加密到接入设备,然后通过 PSK 从接入设备加密到 RADIUS 服务器。如果学习了 PSK 并且内部方法是明文,那么任何人都可以嗅探电线并读取 wireshark 中的密码。本次讨论的重点是它们在第 2 层加密到接入设备,然后通过 PSK 从接入设备加密到 RADIUS 服务器。如果学习了 PSK 并且内部方法是明文,那么任何人都可以嗅探电线并读取 wireshark 中的密码。本次讨论的重点是它们在第 2 层加密到接入设备,然后通过 PSK 从接入设备加密到 RADIUS 服务器。如果学习了 PSK 并且内部方法是明文,那么任何人都可以嗅探电线并读取 wireshark 中的密码。

所以另一方面是集中管理,因为这些是第 2 层通信设备无法直接访问您的后端 RADIUS 服务器进行正确身份验证,因此 802.1x 的部分作用是您的客户端与接入设备进行通信,有线或无线,然后接入设备在第 3 层(IP)上与 RADIUS 服务器进行身份验证并返回访问控制属性和身份验证状态,但设置访问控制并直接与客户端协商的是接入设备。

那么这如何适应当今的安全性呢?

  1. 它允许安全的集中管理

  2. 它提供端到端的加密

  3. 它有助于通过 vlan 分配和可下载的 ACL 安全地授予对网络的访问控制

  4. 它从设备中抽象出身份验证源,即在身份验证之前,设备永远无法访问 RADIUS 服务器。

  5. 如果做得对,它会提供比有线连接更高的第 2 层安全性(尽管这在我看来是有争议的)

最后,粗体问题:

EAP 是否是无线协议在算法上达成一致的一种方式,并且每个设备都提供符合该框架的自己的实现?

EAP 用于定义对称加密算法使用的密钥,我相信作为 EAP 协商的一部分,它也会协商对称加密算法。当然,这将在 EAP 对用户进行身份验证后发生。

所以它做了两件事,交换用户名/密码并从协商算法安全地传输对称密钥。

EAP 世界中 PPP 的类似物是 802.1x 或 EAPoL(EAP over LAN)。它是一个非常基本的多播协议,位于以太网帧之上,并且仅在接口本身上可用。

从那时起,由身份验证器(通常称为接入点或 NAS)将身份验证信息传播到某个更高层(作为 EAP 的子变体之一),或将其中继到某个通过其他协议(例如 RADIUS 或 Diameter)的 AAA 服务器。

EAP 协议本身是非常非常基础的。它的目的是尽可能简单,以便它可以在您通常在网络接入点上找到的低规格固件上运行。EAP 仅向该参与者公开足够的信息以确定客户端是否已通过身份验证、拒绝或需要更多信息。

然后,更高层由 AAA 服务器形式的一些“更智能”的更高级别的集中式权威机构处理。

我经常对自己说,这有点像夜总会里一个粗鲁的保安,只是为了肌肉而付钱,并不真正关心你是谁或你来自哪里。在他身后的背景中是一个影子人物,他知道所有这些事情,当你让守卫进来时,他回头看着他的老板,老板要么点头要么摇头(或者他可能会过来和你说话以获得如果他不确定,请提供更多信息)。

对守卫来说,重要的是点头或摇晃;权威人物可能还有很多事情要做,比如评估你的外表,看看你是否会成为麻烦制造者,或者你的名字可能在他的剪贴板上。

这也可以很好地扩展,因为如果人群变得更大,你可以增加更多的守卫,但你仍然只需要一个中央权威。

好吧,我想这整个比喻真的可以适用于任何去中心化的身份验证协议,但我想我想说明的重点是你与守卫交互的简单性,以及他对情况的简单理解。

中央当局可以确定您的入学资格的各种不同方法就像 EAP 的特定版本(EAP-SIM、EAP-MD5)。EAP 仅被授权支持可用的基本子集,并且如果您的设备不支持被接受的设备,它将无法进入(有点像在路上为俱乐部挥舞您的金卡)。

EAP 还具有有限的隧道功能,可用于在您的设备和使用 TLS/SSL 的授权机构之间建立隧道,然后可以进行更详细的身份验证对话,可能使用证书 (EAP-TLS),即 EAP 的另一层 ( PEAP)或其他一些任意 AAA 协议(通过 EAP-TTLS 建立隧道)。我想这类似于在警卫的监视下亲自来找你的权威人物。

我想要带走的关键点是每个人都容易理解“是”、“否”或“需要更多信息”。这是基本的 EAP。某人可能允许您加入他们的网络的更复杂的推理更加细致入微......通常是秘密的......并且集中化,并且确定这一点的方法体现在位于基本 EAP 之上的更具体的 EAP 变体中。