无线局域网的安全技术白皮书 4
这里要提出的一个值得注意的地方是: 在客户端与认证服务器交换口令信息的时候,没有将口令以明文直接送到网络上进行传输,而是对口令信息进行了不可逆的加密算法处理,使在网络上传输的敏感信息有了更高的安全保障,杜绝了由于下级接入设备所具有的广播特性而导致敏感信息泄漏的问题。

图7 802.1x认证过程
WPA (Wi-Fi Protected Access)
WPA = 802.1x + EAP + TKIP + MIC
在IEEE 802.11i 标准最终确定前, WPA标准是代替WEP的无线安全标准协议,为 IEEE 802.11无线局域网提供更强大的安全性能。WPA是IEEE802.11i的一个子集,其核心就是IEEE802.1x和TKIP。
认 证 在802.11中几乎形同虚设的认证阶段,到了WPA中变得尤为重要起来,它要求用户必须提供某种形式的证据来证明它是合法用户,并拥有对某些网络资源的访问权,并且是强制性的。
WPA的认证分为两种:第一种采用802.1x+EAP的方式,用户提供认证所需的凭证,如用户名密码,通过特定的用户认证服务器(一般是RADIUS服务器)来实现。在大型企业网络中,通常采用这种方式。但是对于一些中小型的企业网络或者家庭用户,架设一台专用的认证服务器未免代价过于昂贵,维护也很复杂,因此WPA也提供一种简化的模式,它不需要专门的认证服务器,这种模式叫做WPA预共享密钥(WPA-PSK),仅要求在每个WLAN节点(AP、无线路由器、网卡等)预先输入一个密钥即可实现。只要密钥吻合,客户就可以获得WLAN的访问权。由于这个密钥仅仅用于认证过程,而不用于加密过程,因此不会导致诸如使用WEP密钥来进行802.11共享认证那样严重的安全问题。
加 密 WPA采用TKIP为加密引入了新的机制,它使用一种密钥构架和管理方法,通过由认证服务器动态生成分发的密钥来取代单个静态密钥、把密钥首部长度从24位增加到48位等方法增强安全性。而且,TKIP利用了802.1x/EAP构架。认证服务器在接受了用户身份后,使用802.1x产生一个唯一的主密钥处理会话。然后,TKIP把这个密钥通过安全通道分发到AP和客户端,并建立起一个密钥构架和管理系统,使用主密钥为用户会话动态产生一个唯一的数据加密密钥,来加密每一个无线通信数据报文。TKIP的密钥构架使WEP静态单一的密钥变成了500万亿可用密钥。虽然WPA采用的还是和WEP一样的RC4加密算法,但其动态密钥的特性很难被攻破。
TKIP与WEP一样基于RC4加密算法,但相比WEP算法,将WEP密钥的长度由40位加长到128位,初始化向量IV的长度由24位加长到48位,并对现有的WEP进行了改进,即追加了“每发一个包重新生成一个新的密钥(Per Packet Key)”、“消息完整性检查(MIC)”、“具有序列功能的初始向量”和“密钥生成和定期更新功能”四种算法,极大地提高了加密安全强度。
标准工作组认为:WEP算法的安全漏洞是由于WEP机制本身引起的,与密钥的长度无关,即使增加加密密钥的长度,也不可能增强其安全程度,初始化向量IV长度的增加也只能在有限程度上提高破解难度,比如延长破解信息收集时间,并不能从根本上解决问题。因为作为安全关键的加密部分,TKIP没有脱离WEP的核心机制。而且,TKIP甚至更易受攻击,因为它采用了Kerberos密码,常常可以用简单的猜测方法攻破。另一个严重问题是加/解密处理效率问题没有得到任何改进。
Wi-Fi联盟和IEEE802委员会也承认,TKIP只能作为一种临时的过渡方案,而IEEE802.11i标准的最终方案是基于IEEE802.1x认证的CCMP(CBC-MAC Protocol)加密技术,即以AES(Advanced Encryption Standard)为核心算法。它采用CBC-MAC加密模式,具有分组序号的初始向量。CCMP为128位的分组加密算法,相比前面所述的所有算法安全程度更高。
消息完整性校验(MIC),是为了防止攻击者从中间截获数据报文、篡改后重发而设置的。除了和802.11一样继续保留对每个数据分段(MPDU)进行CRC校验外,WPA为802.11的每个数据分组(MSDU)都增加了一个8个字节的消息完整性校验值,这和802.11对每个数据分段(MPDU)进行ICV校验的目的不同。ICV的目的是为了保证数据在传输途中不会因为噪声等物理因素导致报文出错,因此采用相对简单高效的CRC算法,但是黑客可以通过修改ICV值来使之和被篡改过的报文相吻合,可以说没有任何安全的功能。而WPA中的MIC则是为了防止黑客的篡改而定制的,它采用Michael算法,具有很高的安全特性。当MIC发生错误的时候,数据很可能已经被篡改,系统很可能正在受到攻击。此时,WPA还会采取一系列的对策,比如立刻更换组密钥、暂停活动60秒等,来阻止黑客的攻击。
IEEE 802.11i
为了进一步加强无线网络的安全性和保证不同厂家之间无线安全技术的兼容, IEEE802.11工作组开发了作为新的安全标准的IEEE802.11i ,并且致力于从长远角度考虑解决IEEE 802.11无线局域网的安全问题。IEEE 802.11i 标准中主要包含加密技术:TKIP (Temporal Key Integrity Protocol) 和AES(Advanced Encryption Standard),以及认证协议:IEEE802.1x 。IEEE 802.11i标准已在2004年6月24美国新泽西的IEEE标准会议上正式获得批准。
802.11i 与 WPA 相比增加了一些特性:
AES: 更好的加密算法,但是无法与原有的802.11架构兼容,需要硬件升级。
CCMP and WARP: 以 AES 为基础。
IBSS: 802.11i 解决IBSS (Independent Basic Service Set), 而WPA 主要处理ESS(Extended Service Set)
Pre authentication:用于用户在不同的 BSS(Basic Service Set)间漫游时,减少重新连接的时间延迟。
认证:11i的安全体系也使用802.1x认证机制,通过无线客户端与radius 服务器之间动态协商生成PMK(Pairwise Master Key),再由无线客户端和AP之间在这个PMK的基础上经过4次握手协商出单播密钥以及通过两次握手协商出组播密钥,每一个无线客户端与AP之间通讯的加密密钥都不相同,而且会定期更新密钥,很大程度上保证了通讯的安全,其协商流程图如下:

图8 单播和组播密钥协商过程
上面图中的ptk与gtk即单播和组播加解密使用的密钥。
CCMP加密:
ccmp提供了加密,认证,完整性和重放保护。ccmp是基于ccm方式的,该方式使用了AES(Advanced Encryption Standard)加密算法。CCM方式结合了用于加密的 Counter Mode(CTR)和用于认证和完整性的加密块链接消息认证码(CBC-MAC、Ciphy Block Chaing Message Autentication Code)。CCM保护MPDU数据和IEEE802.11 MPDU帧头部分域的完整性。
AES定义在FIPS PUB 197。所有的在ccmp中用到的AES处理都使用一个128位的密钥和一个128位大小的数据块。
CCM方式定义在RFC 3610。CCM是一个通用模式,它可以用于任意面向块的加密算法。CCM有两个参数(M和L),CCMP使用以下值作为CCM参数:
---M = 8;表示MIC是8个字节。
---L = 2;表示域长度位2个字节。这有助于保持IEEE 802.11 MPDU的最大长度。
针对每个会话,CCM需要有一个全新的临时密钥。CCM也要求用给定的临时密钥保护的每帧数据有唯一的nonce值。CCM是用一个48位PN来实现的。对于同样的临时密钥可以重用PN,这可以减少很多保证安全的工作。
CCMP处理用16个字节扩展了原来MPDU大小,其中8个为CCMP帧头,8个为MIC效验码。CCMP帧头由PN,ExtIV和Key ID域组成。PN是一个48位的数字,是一个6字节的数组。PN5是PN的最高字节,PN0是最低字节。值得注意的是CCMP不使用WEP ICV。

图9 CCMP MPDU扩展
Key ID字节的第五位,ExtIV域,表示CCMP扩展帧头8个字节。如果是使用CCMP加密,则ExtIV位的值总是为1。Key ID字节的第六第七位是为Key ID准备的。保留的各个位值为0,而且在接收的时候被忽略掉。
本文共5页,请访问进入第 1 2 3 4 5 页
|