我今天与一位同事讨论,他似乎认为如果使用 802.1X,它可以让用户意识到他们是否正在连接到恶意接入点。
不过,我不明白这一点,如果您从一开始就相信某个恶意接入点是真正的接入点,那么您肯定会向恶意 RADIUS 服务器进行身份验证,而不是向原始服务器进行身份验证?
我不明白 802.1X 如何能阻止您连接到虚假网络?
答案1
答案2
802.1X 身份验证(以及随后的 WPA 密钥生成)涉及三个实体:请求者(客户端)、身份验证者(接入点)和身份验证服务器。
就像 Zoredache 所说的那样,客户端和身份验证服务器之间的通信受到公钥加密的保护(至少如果您使用 EAP-TTLS 或 EAP-PEAP)。不可能冒充原始身份验证服务器。
但是,AP(802.1X 语言中的认证器)与客户端(请求者)之间没有直接的认证,反之亦然。认证器只是在请求者和认证服务器之间传递消息;某些 EAP 方法提供的所有花哨的公钥加密和相互认证对认证器来说都是透明的,因此理论上可以被恶意接入点 (MITM) 拦截和重放。
使用基本的 802.1X,确实无法防御恶意身份验证器 - 但当用于“WPA 企业加密”(EAP)时,802.1X 可以提供额外的安全性:
连接的 WPA 加密密钥(除其他功能外,它还支持客户端和 AP 之间的相互身份验证 - 这正是您要保护自己免受恶意 AP 攻击的原因!)不是由接入点生成的,而是由身份验证服务器生成的,并通过安全的内部 EAP 通道中继到客户端。当然,接入点(=身份验证器)要与客户端通信,它也必须知道密钥,但它从身份验证服务器而不是客户端获取密钥。
在正常配置下,服务器不会接受任何第三方的身份验证请求;它通常只与一组有限的身份验证器进行通信,并且通信通常是加密的(通过成对的 RADIUS 密钥)。因此,要使 MITM 成功模仿正确的接入点,攻击者必须模仿针对身份验证服务器的有效接入点的角色。
长话短说,针对恶意 AP 的保护与认证器(例如 AP)和认证服务器之间的认证和加密一样好。
如果您要创建一个流氓 AP,您实际上可以成功中继 802.1X 身份验证;但是,您将无法读取任何客户端流量,因为这些流量将使用您不知道的 WPA 密钥加密。同样,您的流氓 AP 发送给客户端的任何内容都会被客户端拒绝,因为 WPA 密钥也用于消息身份验证。