WEP加密,完整性检测和身份验证机制存在安全风险,因此使用更安全的802.11i,802.11i在加密,完整性检测和身份验证机制方面做了以下改进: 1.加密机制 WEP加密机制存在两个主要问题:一个是密钥的静态配置,另一个是一次性密钥集只有一次密钥的2 ^ 24倍。 802.11i解决方案:首先,基于用户配置密钥,密钥采用动态配置机制;第二,一次性密钥集中的一次性密钥增加到2 ^ 48。 2.完整性检测机制 首先,802.11i用于实现数据完整性检测的完整性检查值具有消息摘要的特征,即消息摘要算法的抗冲突性。其次,在数据传输过程中加密完整性检查值之后的密文被用作消息认证码。 3.身份鉴别机制: 首先,802.11i采用基于可扩展身份验证协议(EAP)的802.11X作为身份验证协议,允许多种身份验证机制:CHAP和TLS。其次,使用的认证机制是针对用户的;第三,采用双向认证。机制。 802.11i加密和完整性检测机制: 目前,80.2.11i定义了两种加密和完整性检测机制,即临时密钥完整性协议(TKIP)和CCMP(具有CBC-MAC协议的CTR)。 首先,TKIP 1.加密过程:
整个过程可分为两部分。第一部分是WEP128位随机数种子的生成过程,第二部分是明文分割和WEP加密过程。 WEP128位随机数种子由两级密钥混合功能生成。第一级密钥混合功能的输入是48位序列号计数器(TSC)的高阶32位,128位临时密钥(TK)和发送方地址。 (TA)。输出是80位中间密钥TTAK。 第二级密钥混合功能的输入是TSC,TTAK,TK的第16位,输出是128位WEP随机数种子,作为WEP加密输入的一部分。 MIC生成:MAC帧的有效载荷字段,MAC的源MAC地址(SA),MAC帧的目的MAC地址(DA)和1B的优先级连接在一起形成数据序列,输入Michael函数,然后Michael基于MIC键计算数据序列的消息摘要,产生8Bde MIC。 如有必要,可以将MIC和数据明文级联结果分段为WEP加密的输入。 作为TKIP协议数据单元(MPDU)的密文的有效载荷构成发送方用于传输的TKIP MPDU。 2.完整性检测过程:
在建立终端与AP之间的安全关联之后,如果安全关联使用TKIP,则在安全关联的两个段之间传输的MAC帧是TKIP MPDU。 在接收到MAC帧之后,接收端将TA和TSC与MAC帧分离,并且根找到TK。以与发送端相同的方式计算WEP随机数种子,并且通过WEP解密数据处理恢复数据和ICV明文。基于数据明文和G(x)重新计算ICV',并且将ICV'与MAC帧中的ICV进行比较,并且如果相等,则接受帧。 迈克尔函数基于基于MIC密钥的消息摘要计算明文中数据的明文,SA,DA和优先级以及MIC级联结果,以获得8B MIC',其与MAC帧中的MIC进行比较。如果它们相等,则完整性检查通过。 (如果语法明文的结果和MAC帧携带的数据的MIC级联,则可以直接进行完整性检查。如果收到段数据明文和MIC连接后生成的某个数据段,则等待成功接收所有数据段,并将数据拼接成数据明文和MIC连接结果以进行完整性检测) 第二,CCMP WEP和TKIP使用的加密方法基于流密码系统,但流密码的一次性密钥集空间总是有限的;一次性密钥由基于随机数种子的伪随机数生成器计算,由于伪随机数生成器算法是公共的,攻击者可以通过嗅探一次性密钥的一部分来嗅出WEP和TKIP。其相应的IV或TSC。 CCMP采用的加密算法(AES)基于公钥系统,密钥的安全性更高。 1.MIC算法: CCMP MIC算法首先将要完整性检测的数据序列分成长度为16B(B(0),B(1), B(N))的数据段,然后对数据执行加密分组链接操作段。具体操作流程如下: X(0)=〖〗AES _TK(B(0)) X(1)=〖〗AES _TK(X(0)⊕B(1)) .. X(N)=〖〗AES _TK(X(N-1)⊕B(N)) 2.CCMP加密:
1)数据段A(i)由1B标志字节,13B随机数(6B发送方地址(A2),6B消息号(PN)和1B当前固定为0的优先级组成)和2B计数器值。 2)通过AES基于TK加密AES以获得8B的S(0),并且将S(0)进一步与T(T=X(N)的高64位)进行异或以获得MIC。 3)然后将S(1)到S(N)连接成与数据长度相同的密码流,并与数据进行异或运算以生成密文。 CCMP工作流程如下图所示。
认证数据是MAC帧头中需要保证完整性的字段,包括各种地址字段,控制字段以及在传输期间保持不变的其他字段。 随机数由6B发送方地址(A2),6B消息号(PN)和1B当前固定为零的优先级组成。 发件人为每个安全关联配置消息编号计数器。每次发送MAC帧时,消息号计数器为+1。一方面,加密不同的密钥流以加密不同的MAC帧,另一方面,可以检测消息号。重播攻击。 3.CCMP完整性检测:
1)接收端首先从MAC帧头获取附着认证数据,并从CCMP头中获取分组号,发送地址和固定优先级,以形成随机数。 2)CCMP根据生成密钥流的方法生成密钥流,并对MAC帧中的密文执行异或运算以获得明文。 3)同时,根据MAC帧中的MIC恢复T. 4)将附加认证数据和明文重建为数据序列,并计算T',并将计算出的T'与MAC帧恢复的MIC进行比较。如果相同,则完整性检查是正确的。