WLAN安全技术剖析(续2)--WPA的草案命运

                        WPA
WEP 虽然解决了无线链路最基本迫切的安全性需求,但是仍然存在如下的种种缺陷:
1.     WEP 本身并不能为用户提供身份鉴别机制
2.     WEP 密钥 IV 重复使用率很高,容易造成监听模式被动破解
3.     完整性 CRC-32 并非真正意义上的密码学校验算法,极易伪造。
前面也讲到 WEP 采用了 RC4 流加密算法完成数据帧的安全处理,其实 RC4 并非一种很糟糕的算法,但是因为 IV 的重复性等等原因导致 WEP 很快就在风雨中飘摇。所以 802.11 工作组迫切的想寻求一种更加完美的安全机制,这个时候 Wi-fi 联盟在市场需求的压迫之下迫不及待的把处于草案之中的 WPA 算法搬上历史舞台。
   WPA 的提出是基于改善WEP的固有缺陷,所以还是沿用了RC4算法作为数据加密算法,只不过是在密钥上做了一些处理,增加了很多的随机数在里面对密钥进行了两次混合处理。增加了身份认证机制(802.1xPre-share Key),另外在数据完整性校验方面也采用了新的Michael算法来代替CRC。如此一来,其实WPA可以简短的表示如下:
WPA = 802.1x + EAP + TKIP + MIC
= Pre-shared Key + TKIP + MIC
        总结一下, WPA 采用的 TKIP 算法相对于 WEP 来说有如下几个方面的增强:
1.     密钥方面采用层次化派生机制实现密钥自动管理
2.     每帧生成密钥防弱 WEP 密钥攻击
3.     采用帧序列号 Sequence Number 防重放攻击
4.     新的消息完整性校验算法及校验失败策略
5.     采用 802.1X 完成身份验证并产生密钥种子
以上都是从整体上概述 WPA 的优点,下面我们就从实现细节上来看看, WPA 是如何工作的:
 
                     WPA 的完整处理流程
 
  完整的 WPA 处理流程首先会进行 802.1X PSK 认证,其中 802.1x 采用 EAP 框架,由于认证并不是本文关注的重点,所以请关注其他文档。认证过程需要远程认证服务器 RADIUS 或着 HWTACACS 等提供用户名密码、证书等方式的身份认证。认证通过后会生成 TKIP 主密钥 PMK 并且通过 EAPOL-Key 报文安装在 AP STA 。上图中红色部分正是 WPA 的身份认证及密钥下发过程。
802.1X 身份认证通过后,会在服务器端计算主密钥,这个主密钥在 TKIP 中被成为 Temporal Key STA AP 会安装该密钥,
TKIP 也会通过两个阶段的密钥混合算法来产生 WEP 数据 RC4 加密密钥。具体的过程如下:
                
 
                         TKIP 加密密钥生成
   TKIP RC4 密钥的生成共分为两个阶段,第一个阶段采用了认证阶段产生的 128bits Base Key ,也成为临时密钥, 48bits MAC 地址,及 32bits IV 随机数放到密钥搅拌机中搅拌算出第一阶段的 80bits TTAK 密钥,然后讲 TTAK IV 16bits 再进行一次搅拌进而算出 128bits RC4 密钥种子。
  另外输入帧要用新的 Michael 完整性校验算法计算 MIC MIC 的计算有两部分作为输入项,第一部分为通过密钥派生算法生成的 MIC KEY ,另一部分为输入帧的载荷字段,源及目的 MAC 地址,优先级 priority 的组合体。这两部分共同作为 Michael 算法的输入项计算 MIC 然后附加在帧载荷字段后作为 RC4 解密的数据部分。
有了以上的准备,就可以对传输的数据进行类似于 WEP 的加密处理,这个阶段完全和 WEP 处理一样,先对密钥种子进行展开,然后和数据载荷进行 XOR 抑或运算,最后生成密文。然后组帧通过无线接口发送。
 
  WPA 封包组帧过程
     上图中的 payload 字段就是解密后的数据载荷。 ICV 就相当于 FCS 。另外以上数据帧到了对端之后便会完全翻转加密过程进行解密获得明文数据。
下面这个流程图则完整的描述了 WPA 加密方式 TKIP 的数据处理流程:
 
 (未完待续---请关注下篇:802.11i是无线安全的救命稻草?)

本文出自 “网络安全技术” 博客,转载请与作者联系!

你可能感兴趣的:(网络,安全,wlan,休闲,wpa)