随着无线网络应用的增长,移动计算的安全性问题日益突出,已经成为现代网络安全研究中一个极其重要的领域。近年来,加密机制在无线网络环境下已经取得了不少进展,包括WEP(802. 11)和TKIP(802. lx)协议,但同时也暴露出不少安全隐患,为此,我们设计了一种全新的基于无线网络的动态加密方法,力图克服上述协议的一些缺陷。

一、无线网络现有安全机制

802. 11标准规定了两种认证方式:开放系统认证和共享密钥认证.前者是默认的认证方式;任何移动站点都可以加入到基本服务集BSS,并可以和接入点AP通信,能得到所有未加密的数据文件。可见,这种方法根本没有提供验证,当然就谈不上安全性,后者是一种请求应答认证机制:AP在收到工作站点STA的请求后接收消息,并发送询问消息;STA对询问消息使用共享密钥进行加密并送回AP。AP接收后校验消息的完整性,若成功,则允许STA接入WLAN。同时AP存有合法客户端的MAC地址以供过滤。

目前无线网络中数据保密性、完整性主要是以WEP协议以及改进后的TKIP协议来保障的。WEP协议以RC4对称加密算法为基础,其数据文件加密过程如图1所示。

基于无线网络的动态加密方法

1、发送端随机选择一个24位初始向量IV(initialization vector,简写为v),把它连接在40位共享密钥(secret key,简写为k)的前面,并作为结果种子(seed)输入到伪随机数发生器PRNG(pseudo ranclom num'oer generator)产生密钥伪随机序列(keysequence)(简写为RC4(v,k)。

2、发送端的原文(plaintext,简写为p)通过完整性检验算法CRC-32(简写为c(p))生成完整性检验向量(integrity check vector,ICV),并将ICV消息放在原文后面,生成了P。

3、发送端将P和伪随机序列进行异或运算,生成了加密的密文。

4、发送端将IV放在密文数据的前面,产生了实际传送的数据,其数据表达式可以表示成C=P+RC4(v,k),其中P=<p,c(p)>。由于RC4是对称加密算法,所以其解密过程比较简单,只是增加了一个完整性检查以防止数据被修改。

而TKIP协议是对WEP协议的改进,仍然采用RC4对称加密算法,只是增加了IV长度,改进了完整性检查机制,引入了当IV每次递增达到最大值后强制换密钥的机制.但是对WEP协议的加密算法、密钥管理和整个系统的流程没有进行改变,对密钥更新的机制也是静态的被动的变化,归根结底只是WEP协议往前迈出的一小步,仍然属于静态加密的范畴。

二、现有安全机制的缺陷

不幸的是,WEP和TKIP协议中使用的加密机制事实上既没有保障数据的安全性(保密性和完整性),也没有防止非授权访问,各种不完善的安全要素以一种不安全的方式集合在一起,因此导致了诸多的安全漏洞。归纳起来,主要表现在以下几点:

1、数据保密性

RC4加密算法是一种序列密码加密算法。发送者用伪随机函数产生的密钥序列和明文异或产生密文,然后前端附上没有加密的IV向量;接收者用相同的密钥序列与密文异或以恢复明文,这种加密方式要求不能用相同的密钥序列加密两个不同的消息,否则攻击者将可以得到两条明文的异或值,如果攻击者知道一条明文的某些部分,则另一条明文的对应部分也可以被恢复出来(一般情况下,得到两条明文的异或值足够恢复出其明文)。然后密钥序列由IV和初始密钥决定。由于初始密钥静态不变,IV向量一般是递增变化,在WEP协议中24位的IV空间也很容易在繁忙的接入点被轮换一次。更糟糕的是,IV以明文传送的方式,攻击者可以很明显地看到哪一些IV是被重用的,另外,RC4加密算法中有大量的弱密钥缺陷和一种攻击方式,则无异于雪上加霜。

2、数据完整性

在WEP中,用于完整性检查的CRC-32加密算法也与RC4加密算法一样具有线性特征,这主要是对异或操作而言的。攻击者只要相应地调整校验和,就可以使被篡改的消息成为合法的消息。而且,CRC-32校验和不是加密函数,只是明文的完整性签名,并不对其加密.攻击者在修改消息的基础上,用CRC-32计算出相应的校验和,结合IV一起发给接收者,则可以完成伪造报文的攻击。

3、密钥管理

802. 11标准缺少一种有效的密钥管理和分发机制。一般情况下,WEP协议的密钥被静态地分配给客户机,密钥存储在客户机的磁盘或无线适配器的内存中。如果客户机丢失或被攻击,非正常用户则可以非常容易地拥有访问网络的权限,而管理员并不能较快地检测到它对无线网络安全的破坏。在发现某个用户丢失密钥后,管理员还必须对丢失相同密钥的所有用户实施新密钥的重新分发,这对网络部署将形成较大的冲击。

4、访问控制

攻击者在捕获第二个认证帧(认证质询)和第三个认证帧(加密质询)后,二者异或就可以得到密钥.接下来攻击者可以向认证服务者发送认证请求,并用得到的密钥序列加密认证质询从
而成功认证.另外,802. 11缺少双向认证的机制,而且MAC过滤的机制也很容易遭受MAC伪造攻击。

三、基于无线网络的动态加密方法

本文提出的动态加密是基于对称加密和非对称加密的结合,这两种经典的加密方式被证明能很有效地保证网络传输的安全,动态加密方法着眼于任何无线网络架构中通信双方本身,认为每个通信方都应承担起本次会话中网络信息传输的安全责任。

会话建立阶段,身份验证的安全需要非对称加密以及对PKI(公钥基础设施)的改进来防止非授权访问,同时可以完成初始密钥的动态部署和管理工作;会话建立后,大量的数据安全传输必须通过对称加密方式,但该系统通过一种动态加密的模式,摒弃了现有机制下静态加密的若干缺陷,从而使通信双方的每次“通信回合”都有安全保证,通信回合,指的是通信双方在建立起通信会话之后,每两个包在双方网络间来回的过程,对于一个通信方来说,就是发送一个包直到接收一个包的过程.在一个通信回合中,双方将使用相同的对称加密密钥,是每个通信方经过共同了解的信息计算而得到的;在通信回合之间,所使用的密钥将实时改变,虽然与上次回合的密钥有一定联系,但外界无法推算出来。

1、基于角色的改进证书认证

传统的RSA非对称加密算法与X.509数字证书的结合,以及PKI的逐渐广泛应用,被证明在有线网络拓扑中是一种很安全有效的身份认证方式。然而在无线网络的环境下,这些以较大计算量为安全保障的算法却遇到了CPU资源开销过大的难题。还有X.509数字本身只是含有了拥有者主题信息以及其公钥的编码;其原本的目的是把一个用户的身份和一个公钥进行绑定,但在实际应用中该主题信息往往不能显示出该用户在某个应用体系中所具有的权限等级,在证书申请和颁发的时候身份很容易被伪造或被强占。

本加密方法定义了一种以X.509标准为基础的简化证书模型,去掉一些不常用的主题项和繁杂的扩展项,添加了角色访问控制的信息,同时在非对称加密算法上采用了ECC(椭圆曲线加密算法),其目的在于力图在无线环境中,更好地、更高性能地保证网络传输的安全性,相对于RSA算法,ECC加密算法具有更好的安全性能、更快的加密和签名速度、更小的密钥尺寸和更小的带宽要求.据研究,基于160位密钥的ECC算法和基于1024位密钥的RSA相比,具有相同的安全强度,但具有更快的加密和解密速度,更适合无线网络。

证书是身份认证的基础,通信双方可以通过基于角色证书的PKI体系取得自己的证书、私钥和对方证书(图2、3)。再通过签名验证的方式来请求与对方开始会。对方根据PKI体系来验证并接受或拒绝会话请求,如果会话建立,则通信双方必须通过非对称加密的方式来共同协商出会话中对称加密的初始密钥,这是很重要的,关系到会话中数据通信的安全基础。

基于无线网络的动态加密方法

2、基于实时密钥和混杂密文的安全会话

经过了上述的改进证书认证之后,通信双方已经协商出初始密钥,会话已经建立,在会话通信阶段,大量的数据包将在两个客户机间传输。鉴于计算能力和网络传输能力的考虑,加密方式必须为对称加密。但DES、3DES加密算法以及WEP和TKIP协议中的RC4加密算法都被证明不能保证高性能的保密性:DES加密算法和RC加密4算法不具有很好的保密性,而3DES加密算法又没有很好的时间性能。

本方法采用了改进的AES加密算法,在最近两年中已经被证明具有很好的保密性,不仅克服了RC4加密算法线性特性的缺陷,而且相对于DES、3DES加密算法来说加密性能和加密效率更好。然而,随着对AES加密算法越来越深入的了解,针对AES加密算法的攻击将会慢慢兴起,所以本方法对AES加密算法作了一些改进。

(1)对密钥和IV的双方实时刷新

动态加密方法和静态加密方法最大的区别就在于:在会话通信阶段已经建立起来之后,对大量数据对称加密的同时,对加密的密钥和IV进行了基于每次通信回合的更新。这里所谈的密钥更新和IV更新不是某种中心机构对双方实时发放新的密钥和IV,而是通信双方以认证阶段协商出来的初始密钥和初始IV作为基础,分别在各自的客户机上在每次包传递之后对密钥和IV做了相应的更新.这个更新机制不仅依赖于上次的密钥和IV,而且依赖于对方刚刚传递过来的密文解密出来后的明文以及对方的MAC地址。

一个通信方的加密中更新流程如下:

基于无线网络的动态加密方法

采用这种密钥和IV更新的策略,目的是力图达到一种“每包验证”的机制,从而保证了通信回合之间的安全.通信中双方都根据本次得到的明文、本次的密钥和对方的MAC地址而使用相同的计算方法得出下次的密钥,不仅仅保证了每次密钥的更新,而且还可以因此推断出是否在通信进行中被攻击者伪造包。

由于密钥更新的函数采用的是单向计算的方式,所以攻击者在得到一些“有用信息”后也很难推算密钥.即使某次通信流程中,密钥发生了泄漏,那么攻击者也只能对本次通信回合的安全造成影响,而且不一定能得到正确的明文(密文混杂的模式将会阻止正确解密的发生).攻击者获得了本次回合的密钥,但是下次加密的密钥是需要本次正确明文、本次正确IV的共同计算,所以攻击者对以后的传输安全也几乎不会造成什么影响.同理,IV也将进行相应的变化,而不能采用WEP协议的递增变化方式。

计算开销已经被相应地考虑进去。如上更新流程中所示,在更新策略中,通信双方将本次加密处理后的包发出去以后,再进行相应的密钥和IV更新的计算,而不是在加密的过程中同时进行,这样可以保证加密开销的时间和包传输的时间不受影响,所以网络延迟不会因此而增加,只是客户机自身增加一些计算。但是,由于AES加密算法本身加密比较快,本方法将具有比传统加密方法更高的性能。

(2)对密文进行混杂处理

在使用密钥更新策略的对称加密处理过程之后,一些随机数字节将会被插入到密文的一些随机位置上去,这种混杂处理的模式被使用在动态加密方法中,是为了防止密文和密钥同时落入攻击者手中而被正确解密的情况出现。

在对密文的混杂处理中,被插入的随机数字节是完全随机的,可以不关心它们的数值;被插入的随机位置则是由本次密钥、本次IV和数据长度本身的计算而得来的.对方在接收到包之后可以计算出被插入的随机位置,然后对这些位置上的随机数置之不理,还原到原始密文再进行解密,具体的处理流程如下:

基于无线网络的动态加密方法

对密文而不对明文进行混杂处理,是因为明文有时候会是有着某种实际意义的数据或者是数据结构经过序列化之后的二进制流,而密文则是加密后的无任何意义的数据(图4)。所以攻击者不容易通过猜测而得出混杂位置的所在,从而破解正确的明文。

基于无线网络的动态加密方法

该策略的目的在于采用一种简单而有效的方式,试图达到一种本次通信“包内验证”的机制,保证每次通信回合内的自身安全.通信双方都根据本次的密钥、IV以及密文的长度来计算出一些被填入随机数的位置,使通信内部通过包的传输而建立起一种再次验证的机制,同时使得到本次密钥的攻击者无机可乘。

插入的数据是随机的,而插入的位置也是双方由共同知道的信息而单向计算出来的,所以攻击者很难把这些随机插入的数据找出并正确地得出明文.计算开销的问题也被考虑在内,随机位置的计算是简单而不容易逆推的,所以用一点时间开销来保证更大的安全也是非常值得的。

随着移动计算需求的增长和无线局域网的广泛部署,更可靠的安全机制和更高的计算、传输速率将成为动态加密技术演进过程的核心内容。

小知识之TKIP

在IEEE 802.11i规范中,TKIP: Temporal Key Integrity Protocol(临时密钥完整性协议)负责处理无线安全问题的加密部分。TKIP在设计时考虑了当时非常苛刻的限制因素:必须在现有硬件上运行,因此不能使用计算先进的加密算法。