| |
Wi-Fi Protected Access 数据加密和数据完整性 | |
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版 | |
简介
正如在“网络专家”专栏文章 Wi-Fi Protected Access (WPA) 概述中所说的,Wi-Fi Protected Access (WPA) 是一 种过渡性行业标准 — 它通过升级到基于 802.11 的无线网络适配器的固件和无线访问点 (AP) 来保护 802.11 无线 LAN 联网的安全。
WPA 将临时密钥完整性协议 (TKIP) 与 Michael 结合起来,取代了有线对等保密 (WEP);临时密钥完整性协议可通过加密来保证数据机密性,Michael 可保证数据完整性。
TKIP 和 Michael 的加密功能
原 IEEE 802.11 标准中的 WEP 在加密方面存在以下弊端:
初始化向量 (IV) 太小
WEP 将 IV 及 WEP 加密密钥用作 RC4 伪随机数生成器 (PRNG) 的输入,生成用来加密 802.11 帧有效负载的密钥流。有了 24 位的 WEP IV 之后,就很容易捕获多个具有相同 IV 值的 WEP 帧,从而使实时解密更加容易。
弱数据完整性
WEP 数据完整性包括对非加密 802.11 有效负载中的字节执行循环冗余校验 32 (CRC-32) 校验和计算,然后使用 WEP 对它的值进行加密。即使在加密后,也比较容易更改加密有效负载中的位并适当更新加密 CRC-32 结果,从而阻止接收节点检测到帧内容已发生更改这一情况。
使用主密钥而不使用派生密钥
WEP 加密密钥(或者是手动配置的,或者是通过 802.1X 身份验证确定的)是唯一可用的密钥材料。因此,WEP加密密钥是主密钥。使用主密钥加密数据不如使用从主密钥派生的密钥安全。
不重新生成密钥
WEP 没有提供刷新加密密钥的方法。
无重放保护
WEP 不能防范重放攻击。在重放攻击中,攻击者会发送一系列的以前捕获的帧,试图以此方式获得访问 权或修改数据。
WPA 临时密钥
WEP 对单播数据加密使用单一密钥,对多播和广播数据加密通常另外使用一个不同的密钥。与 WEP 不同,WPA 对各个无线客户端无线 AP对(又称成对的临时密钥)使用由四个不同的密钥构成的一组密钥,对多播和广播通信量使 用由两个不同的密钥构成的一组密钥。
供单播数据和 EAP over LAN (EAPOL)-Key 消息使用的一组成对密钥由下列密钥构成:
数据加密密钥:一个用于加密单播帧的 128 位密钥。
数据完整性密钥:一个用于为单播帧计算 MIC 的 128 位密钥。
EAPOL-Key 加密密钥:一个用于加密 EAPOL-Key 消息的 128 位密钥。
EAPOL-Key 完整性密钥:一个用于为 EAPOL-Key 消息计算 MIC 的 128 位密 钥。
为了派生成对的临时密钥,WPA 需使用下列值:
成对的主密钥 (PMK):一个从 EAP-TLS 或 PEAP 身份验证过程派生的 256 位密钥。
Nonce 1:一个由无线 AP 确定的随机数。
MAC 1:无线 AP 的 MAC 地址。
Nonce 2:一个由无线客户端确定的随机数。
MAC 2:无线客户端的 MAC 地址。
对于使用 RADIUS 服务器的 802.1X 身份验证,PMK 由无线客户端和 RADIUS 服务器共同确定,RADIUS 服务器通过 RADIUS Access-Accept 消息将 PMK 传输给无线 AP。接收到 PMK 后,无线AP启动临时密钥消息交换,这包括 下列几部分:
1.由无线 AP 发送的、包含 Nonce 1 和 MAC 1 的 EAPOL-Key消息。因为临时单播密钥尚未确定,所以此消息是以明文形式发送的,没有消息完整性保护。无线客户端此时已拥有计算成对的临时密钥所需要的所有元素。
2.由无线客户端发送的、包含 Nonce 2、MAC 2 和 MIC 的 EAPOL-Key消息。因为无线客户端已计算出成对的临时 密钥,所以它使用派生的 EAPOL-Key 完整性密钥计算 MIC。无线 AP 使用Nonce 2 和 MAC 2 值来派生成对的临时密 钥并验证 MIC 的值。
3.由无线 AP 发送的、包含 MIC 和开始序列号的 EAPOL-Key 消息,指示无线 AP已准备好开始发送加密的单播和 EAPOL-Key 帧。
4.由无线客户端发送的、包含 MIC 和开始序列号的 EAPOL-Key 消息,指示无线客户端已准备好开始发送加密的单播和EAPOL-Key 帧。
这组消息用于交换确定成对的临时密钥所需的值,验证各个无线对等方是否知道 PMK(通过验证 MIC 的值),指示各个无线对等方已准备好为随后的单播数据帧和 EAPOL-Key 消息提供加密和消息完整性保护。
对于多播和广播通信量,无线 AP 会派生一个 128 位的组加密密钥和一个 128 位的组完整性密钥,并使用一条 EAPOL-Key 消息(用 EAPOL-Key 加密密钥进行加密,并用 EAPOL-Key 完整性密钥保护消息的完整性)将这些值发送给无线客户端。无线客户端再使用一条 EAPOL-Key 消息来确认收到该 EAPOL-Key 消息。
WPA 加密和解密过程
WPA 需要使用下列值来为无线数据帧提供加密和完整性保护:
IV,以 0 开始,随每个后续帧而递增
数据加密密钥(用于单播通信量)或组加密密钥(用于多播或广播通信量)
无线帧的目标地址 (DA) 和源地址 (SA)
一个优先级字段的值,被设置为 0,保留以备以后使用
数据完整性密钥(用于单播通信量)或组完整性密钥(用于多播或广播通信量)
下图说明单播数据帧的 WPA 加密过程。 (图片) (图片) | |
电脑版 | 客户端 | 关于我们 |
佳工机电网 - 机电行业首选网站 |