WIFI基础入门--802.11--有线等效加密WEP--6

1.概述

在无线网络领域中,"广播"一词具有崭新的含义。无线网络使用开放性媒介,如果传输链路未采取适当的加密保护,使用时的风险就会大幅增加。防止数据被拦截属于加密协议的范围。为了维护网络数据的保密性以及确保数据未被改动,起初,有线等效加密(Wired Equivalent Privacy,简称WEP)标准被视为无线安全的解决方案。不过,研究发现WEP并不安全。有些时候,某些特殊设备只支持WEP。况且WEP的设计相当容易实现,虽然它不如后续出现的加密协议复杂,但也不要求有多么强大的计算能力。一些老的设备,特别是手持应用方面的设备,也许缺乏足够的处理能力而无法运行得更为流畅,因此WEP已经算是最佳选择。此外,较新的技术,如TKIP,仍旧会用到WEP的帧处理操作,因此了解WEP也就十分重要了。

2.密码学背景

WEP用以保护数据的RC4密码属于对称(密钥)流密码。RC4具备所有流密码的共同特性。一般而言,流密码会用到称为密钥流的位流。密钥流随后会与信息结合,产生密文,为了还原信息,接收端会以相同的密钥流处理密文。RC4会利用异或运算结合密钥流与密文。
流密码的运作方式通常是会先选用一把较短的密钥,然后将之展开为与信息等长的伪随机数密钥流。伪随机数生成器是一组用来将密钥展开为密钥流的规则。为了还原数据,双方必须拥有相同的秘钥,并且使用相同的算法将密钥展开为伪随机序列。

3.流密码的安全性

一个完全随机的密钥流通常称为一次性密码本,它是经过数学证明的目前已知的唯一可以防范任何攻击的加密方式。一次性密码本很少被使用,因为除了密钥流必须完全随机并与受保护的数据等长,而且还不得重复使用。
流密码锁是安全与实际考虑下的折中产物。一次性密码本所具备的完全随机性(以及绝对安全性)虽然吸引人,当考虑到实际的困难以及产生于传递解密文件的成本,若非要求绝对安全的信息,实际上它并不值得采用。流密码使用的密钥流的随机程度虽然较低,但已足以应付绝大多数的应用。

4.加密操作

通信安全有三个主要目的。当数据经过网络时,数据安全协议必须能够协助网管人员实现这些目的。机密性是为了防止数据不受未授权的第三者拦截;完整性则确保数据没有被修改;真实性是所有安全策略的基础,因为数据的可信度部分取决于数据源的可靠性。用户必须确认数据来自期望的数据源。系统必须利用认证来适当保护数据。授权与访问控制两者均基于真实性之上。在允许访问任何数据之前,系统必须确认用户的身份(真实性)以及是否允许该用户访问数据(授权)。
为了实现上述目的,WEP本身提供了一些机制,虽然这些机制在遭受严重攻击时可能失效。帧主体加密(frame body encryption)机制主要用来提供机密性。完整性校验序列(integrity check sequence)用来在传送过程中保护数据,让接收者能够验证所收到的数据在传送过程中未被更改过。

5.数据处理

机密性与完整性的操作同时进行,加密之前,帧会通过完整性校验算法,产生一个称为完整性校验值(integrity check value,简称ICV)的散列值。ICV可确保帧在传送过程中未被改变。帧本身与ICV两者均经过加密,因此ICV不会被攻击者任意宰割。
WEP需要以下三个输入项:
a.需要保护的有效载荷,这些数据来自上层协议堆栈。
b.秘钥,用来加密帧。依实现方式的不同,可以用密钥位字符串或者密钥编号来指定密钥,WEP允许同时存储4种密钥。
c.初始向量和秘钥一起在传送帧时使用。

经过处理后,WEP会产生一个单一输出项:
a.加密过的帧,可以通过不安全的网络加以传送,其中包含足够的信息使对方能够解密。

6.数据传送

驱动程序以及接口硬件负责处理数据,然后送出加密过的封包,顺序如下:
a.802.11帧被放在队列中等待传送。帧由标头和有效载荷组成。WEP保护802.11 MAC的有效载荷,至于802.11帧头以及其他底层协议标头则丝毫没有改变。
b.根据802.11 MAC帧的有效载荷计算出完整性校验值。由于此校验值是针对帧的有效载荷来计算的,因此计算所涵盖的范围始于SNAP标头的第一位,直到帧主体的最后一个数据位。此时,802.11帧校验值尚未计算出来,因为并未包含在ICV的计算当中。WEP所使用的ICV属于循环冗余校验(CRC)码。
c.帧加密密钥随后组装完成。WEP密钥分为两部分:秘钥以及初始向量(IV)。如果使用同一个秘钥,流密码会产生相同密钥流,因此另以初始向量为每个帧产生不同的流密码。为了避免出现使用相同密钥流进行加密的情况,传送帧的工作站会将IV附加在密钥之前。802.11并未限制选取IV时非得使用何种算法;有些产品使用流水号为IV值,有些则会使用伪随机散列算法。如何选择IV具有重要的安全含义,选得不好就可能危及密钥。
d.帧加密密钥被当成RC4密钥,用以加密来自步骤a的802.11 MAC有效载荷以及来自步骤b的ICV。整个加密过程通常通过网卡上的RC4专用电路来协助完成。
e.将有效载荷加密之后,工作站就会开始组装待传的帧。802.11标头本身维持不变,802.11 MAC标头与加密过的有效载荷之间则加入了WEP标头。除了IV,WEP标头中还包含密钥编号。WEP最多允许定义4个密钥,因此发送端必须分辨目前使用的是哪一个密钥。一旦附加上最后的标头,就可以针对整个MAC帧,即从标头算起,直到(加密过的)ICV结束,计算出802.11帧校验(FCS)码。

解密过程刚好相反。与任何无线网络的传送过程相同,首先是验证FCS,确保所接收到的帧未在传送过程中损毁。解读帧受保护的部分时,接收端会使用密钥,加上IV,然后产生密钥流。得到解密过的数据后,接下来则验证ICV。如果ICV验证无误,就根据SNAP标头所记载的内容,将封包数据交给适当的上层协议。

7.密钥的长度

理论上,WEP可以搭配任意长度的密钥,因为RC4并未要求非得使用特定长度的密钥。不过,大多数产品均支持一种或两种长度的密钥。唯一出现在标准中的密钥长度是64位的WEP种子,其中40位是两个工作站进行传送时所共享的密码。还有另外一种常见的是128位的WEP种子。WEP无论多少位,破解WEP取得密钥仅仅需要几秒钟。

8.密钥的类型

WEP可以使用两种不同类型的密钥。映射密钥用来保护流动于特定来源与接收端之间的数据。映射密钥有时也称为单播密钥或工作站密钥,因为它们适合用来保护单播数据。在基础结构型网络里,数据是在工作站与接入点之间流动的。802.11帧中同时包含了接收端与目的地地址。单播数据可以有许多不同的目的地址,不过流动于基础结构型网络里的单播帧均会以接入点的MAC地址作为接收端地址。所有来自或传至工作站的单播帧均可以使用单一映射密钥进行加密。如果两个802.11工作站之间并不存在映射关系,就必须改用默认密钥,有时也称为广播密钥。默认密钥天生就适合用于广播与组播帧,因为组地址代表多个工作站,因此无法支持映射密钥关系。

9.手动(静态)与自动(动态)

802.11并未规范WEP必须使用特定的密钥分配机制。早期的WEP实现必须手动分配密钥,静态的WEP在每个工作站所传送的各个帧中均使用同一个密钥,一旦密钥被破解,后果不堪设想。管理接入点起来也很困难,除了部分设备如802.11电话,手持条形码扫描器等还需要使用静态的WEP。
在动态WEP中,每个工作站会使用两个密钥,而不是所有工作站共享一个密钥。其中一个密钥是经过映射的密钥,为工作站与接入点所共享,用来保护单播帧。另外一个密钥是默认密钥,为同一服务集中所有工作站所共享,用来保护广播与组播帧。工作站所使用的加密密钥是通过密钥加密密钥来分配。

10.密钥的编号与存储

WEP密钥有其对应的编号,802.11工作站最多可以指定4个密钥。起初,WEP密钥编号是为了协助更换网络密钥。指定好新的密钥后,工作站可以逐步切换,而不必让所有工作站同时切换。
在动态WEP解决方案里,密钥编号扮演着不太一样的角色。每个工作站均会从接入点出接收到两个密钥:一个映射密钥,通常存储为0号密钥;一个默认密钥,通常存储为1号密钥。工作站以0号密钥保护单播数据,以1号密钥保护广播数据。当帧被放在队列中待传时,驱动程序将会以0号密钥加密单播帧,以1号密钥加密广播帧。
802.11刚刚问世时,有些网卡并不支持WEP或只能借助主机的CPU进行RC4加密运算,因此性能大打折扣,后面用硬件实现RC4加密的无线局域网接口均已内置RC4硬件加密功能。
为了让帧的加密更有效率,许多802.11芯片组内含一种称为密钥缓存的数据结构。密钥缓存由目的地地址,密钥识别编号,密钥本身各个位的对应关系组成。大多数工作站的网卡的芯片组都有4个密钥槽。静态WEP使用其中一个密钥槽,动态WEP使用两个。当帧放在队列中待传时,首先会在密钥缓存中查询目的地地址,所查到的密钥就用来加密帧。动态密钥在功能上也和静态WEP一样,不过密钥缓存的内容可能会被密钥管理软件所取代。
适用于网卡与接入点的芯片组的不同之处在于后者有较大的密钥缓存,通常可以容纳256个或更多的密钥项。就算每个工作站需要用到两个密钥,这样的数据结构就可以处理100个以上的工作站的密钥。

11.帧格式

一旦使用WEP进行加密,帧主体就会增加8个字节。其中4个字节作为帧主体的IV标头,另外4个字节则作为ICV标尾。
IV标头使用3个字节来容纳长度为24位的IV,而第四个字节则包含填充以及密钥标识符。使用默认密钥时,KEY ID字段可用识别加密帧的默认密钥。如果选择使用密钥映射关系,则Key ID子字段的值为0。最后一个字节中有6个填充位必须为0。数据帧的32位循环冗余校验(CRC)码提供了完整性检查,附加于帧主体之后,同时被RC4保护。帧校验序列(FCS)则是用来保护加密过的数据。

12.动态WEP

随着注意力开始转向安全性,业界随即着手开发能够显著改善安全性的无线局域网技术。第一步是通过动态密钥更新以弥补WEP的不足。动态WEP使用的是一组不同的密钥,而不是让网络中所有工作站共享一个静态密钥来加密所有帧。实际的做法是,网络上所有工作站使用一个密钥来加密广播帧,但个别工作站使用自己的映射密钥来加密单播帧。
动态WEP和静态WEP处理帧时采取的方式相同。唯一差别在于前者使用经过改良的机制,每隔一段时间就会产生并分配新的密钥。动态WEP所采用的自动密钥管理机制相对于静态WEP而言,能够提供更好的安全性,因为它动态的缩短了每把密钥的使用时间。更新密钥后仍可使用原本的帧初始向量,因为两者对应到不同的WEP种子。

WIFI基础入门–802.11–用户身份验证–7

温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值