Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15530792
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类:

2008-08-15 15:41:15

Wi-Fi Protected Access 2 数据加密和数据完整性

发布日期: 2005年07月29日
cable_guy

作者:网络专家

本页内容
简介
WPA2 的加密功能
WPA2 临时密钥
WPA2 加密和解密过程
更多信息

简介

正如在 2005 年 5 月的“网络专家”专栏文章 (英文)中所述,Wi-Fi Protected Access 2 (WPA2) 是由 Wi-Fi Alliance 授予的产品认证,用来证明无线设备符合 IEEE 802.11i 标准。

IEEE 802.11i 标准用“高级加密标准”(AES) 的一种特定模式 -“计数器模式密码块链接消息身份验证代码”(CBC-MAC) 协议 (CCMP) - 正式取代了原 IEEE 802.11 标准中的“有线对等保密”(WEP)。CCMP 既可以实现数据机密性(加密),又可以实现数据完整性。本文介绍了使用 AES CCMP 的 WPA2 实现的详细信息,此实现可对 802.11 无线帧进行加密、解密以及数据完整性验证。

返回页首

WPA2 的加密功能

正如 2004 年 11 月的“网络专家”专栏文章 中所述,原有 IEEE 802.11 标准中的 WEP 存在加密弊端。下表说明了 WPA2 是如何解决这些弊端的。

WEP 弊端WPA2 是如何解决这些弊端的

初始化向量 (IV) 太短

在 AES CCMP 中,IV 被替换为“数据包编号”字段,并且其大小将倍增至 48 位。

不能保证数据完整性

采 用 WEP 加密的校验和计算已替换为可严格实现数据完整性的 AES CBC-MAC 算法。CBC-MAC 算法计算得出一个 128 位的值,然后 WPA2 使用高阶 64 位作为消息完整性代码 (MIC)。WPA2 采用 AES 计数器模式加密方式对 MIC 进行加密。

使用主密钥而非派生密钥

与 WPA 和“临时密钥完整性协议”(TKIP) 类似,AES CCMP 使用一组从主密钥和其他值派生的临时密钥。主密钥是从“可扩展身份验证协议-传输层安全性”(EAP-TLS) 或“受保护的 EAP”(PEAP) 802.1X 身份验证过程派生而来的。

不重新生成密钥

AES CCMP 自动重新生成密钥以派生新的临时密钥组。

无重播保护

AES CCMP 使用“数据包编号”字段作为计数器来提供重播保护。

返回页首

WPA2 临时密钥

WEP 对单播数据加密使用单一密钥,对多播和广播数据加密通常分别使用单独的密钥,与 WEP 不同的是,WPA2 对各个无线客户端无线 AP 对(即成对临时密钥)使用由四个不同密钥构成的一组密钥,而对多播和广播通信量使用由两个不同密钥构成的一组密钥。

用于单播数据和 EAP over LAN (EAPOL)-Key 消息的成对密钥组由下列密钥构成:

数据加密密钥:用于加密单播帧的 128 位密钥。

数据完整性密钥:用于计算单播帧 MIC 的 128 位密钥。

EAPOL-Key 加密密钥:用于加密 EAPOL-Key 消息的 128 位密钥。

EAPOL-Key 完整性密钥:用于计算 EAPOL-Key 消息 MIC 的 128 位密钥。

WPA2 使用与 WPA 相同的四次握手进程派生成对临时密钥。有关详细信息,请参阅 中的“WPA 临时密钥”一节。

返回页首

WPA2 加密和解密过程

AES CCMP 使用 CBC-MAC 来计算 MIC 和 AES 计数器模式以加密 802.11 有效负载和 MIC。为了计算 MIC 值,AES CBC-MAC 将使用下列过程:

1.

使用 AES 和数据完整性密钥加密第一个 128 位块。这将产生一个 128 位的结果 (Result1)。

2.

对 Result1 与正在进行 MIC 计算的后 128 位数据执行异或 (XOR) 操作。这将产生一个 128 位的结果 (XResult1)。

3.

使用 AES 和数据完整性密钥对 XResult1 进行加密。这将产生 Result2。

4.

对 Result2 与后 128 位数据执行 XOR。这将产生 XResult2。

在步骤 3-4 中对数据的其余 128 位块重复同样操作。最终结果中的高阶 64 位即 WPA2 MIC。下图说明了 MIC 的计算过程。

为了计算 IEEE 802.11 帧的 MIC,WPA2 将构造以下内容:

第一个块是一个 128 位的块,将在本文后面对其进行介绍。

MAC 报头是指 802.11 MAC 报头,其在传送过程中可进行更改的字段值被设置为 0。

CCMP 报头 8 字节长,包含 48 位的“数据包编号”字段和其他字段。

此外还增加了填充字节(设置为 0),以确保直至明文数据的整个数据块部分恰好为整数个 128 位块。

数据是 802.11 有效负载的明文(未加密)部分。

此外还增加了填充字节(设置为 0),以确保包括明文数据的 MIC 数据块部分恰好为整数个 128 位块。

WPA2 的数据完整性与 WEP 和 WPA 的均不相同,它可同时为 802.11 报头(除可更改字段外)和 802.11 有效负载提供数据完整性。

MIC 计算的第一个块由下列内容组成:

“标志”字段(8 位)被设置为 01011001,它包含各种标志,如指出 802.11 帧中使用的 MIC 长为 64 位的标志。

“优先级”字段(8 位)被设置为 0,留待今后使用。

“源地址”(48 位)取自 802.11 MAC 报头。

“数据包编号”(48 位)取自 CCMP 报头。

明文数据的字节长度(16 位)。

AES 计数器模式加密算法使用下列过程:

1.

使用 AES 和数据加密密钥加密第一个 128 位计数器。这将产生一个 128 位的结果 (Result1)。

2.

对 Result1 与正在进行加密的第一个 128 位块数据执行异或 (XOR) 操作。这将产生第一个 128 位加密块。

3.

增加计数器的值并使用 AES 和数据加密密钥对其进行加密。这将产生 Result2。

4.

对 Result2 与后 128 位数据执行 XOR。这将产生第二个 128 位加密块。

AES 计数器模式对数据的其余 128 位块重复步骤 3-4,直到最后一个块为止。对于最后一个块,AES 计数器模式将对已加密的计数器与剩余的位执行 XOR 操作,从而产生与最后一个数据块长度相同的加密数据。下图说明了 AES 计数器模式过程。

AES 计数器模式的第一个计数器值由下列内容组成:

“标志”字段(8 位)被设置为 01011001,与用于 MIC 计算的“标志”值相同。

“优先级”字段(8 位)被设置为 0,留待今后使用。

“源地址”(48 位)取自 802.11 MAC 报头。

“数据包编号”(48 位)取自 CCMP 报头。

“计数器”字段(16 位)被设置为 1,并且仅当 802.11 有效负载被分为较小的有效负载时才会增加。请注意,此“计数器”字段与 AES 计数器模式加密算法中使用的 128 位计数器值不同。

为了加密单播数据帧,WPA2 将使用下列过程:

1.

将第一个块、802.11 MAC 报头、CCMP 报头、数据长度和填充字段输入到 CBC-MAC 算法,同时输入数据完整性密钥以产生 MIC。

2.

将第一个计数器值与数据与计算的 MIC 数据组合输入到“AES 计数器”模式加密算法,同时输入数据加密密钥以产生加密数据和 MIC。

3.

将包含“数据包编号”的 CCMP 报头添加到 802.11 有效负载的加密部分,并使用 802.11 报头和报尾封装结果。

下图说明了单播数据帧的 WPA2 加密过程。

为了解密单播数据帧及验证数据完整性,WPA2 将使用下列过程:

1.

根据 802.11 和 CCMP 报头中的值确定第一个计数器值。

2.

将第一个计数器值和 802.11 有效负载的加密部分输入到 AES 计数器模式解密算法,同时输入数据加密密钥以产生加密数据和 MIC。在解密时,AES 计数器模式将对已加密的计数器值与已加密的数据块执行 XOR 操作,以产生解密数据块。

3.

将第一个块、802.11 MAC 报头、CCMP 报头、数据长度和填充字段输入到 AES CBC-MAC 算法,同时输入数据完整性密钥以计算 MIC。

4.

将 MIC 的计算值与解密后的 MIC 值进行比较。如果 MIC 值不匹配,WPA2 将自行丢弃该数据。如果 MIC 值匹配,WPA2 将把该数据传递到更高的网络层进行处理。

下图说明了单播数据帧的 WPA2 解密过程。

返回页首

更多信息

有关 WPA 和 802.11 无线 LAN 安全性的更多信息,请查阅下列资源:

2005 年 5 月的“网络专家”专栏文章 (英文)

2004 年 11 月的“网络专家”专栏文章

IEEE 802.11 Wireless LAN Security with Microsoft Windows XP(英文)白皮书

(英文)

如对本专栏的内容有任何反馈意见,请写信给 。请注意,这并不等同于我们的技术支持,我们不保证一定会给您答复。

有关所有网络专家专栏文章的列表和其他信息,请。

阅读(2089) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~