5.有线等效加密

参考:https://www.cnblogs.com/hustluotao/p/12347782.html

1.简介

有线等效加密(WEP)

2.WEP密码学背景

流密码的运作方通常是会通过选用一把较短的密钥,然后将之展开为与之等长的伪随机数密钥流。伪随机数生成器(pseudorandom number generator,简称PRNG)是一组用来将密钥展开为密钥流(keystream)的规则。为了还原数据,双方必须拥有相同的密钥(secret key),并且使用相同的算法将密钥展开为伪随机数序列。

3.WEP的加密操作

通信安全的三个主要目的:机密性(confidentiality),完整性(intergrity),真实性(authentication)
为了实现上述目的,WEP本身提供了一些机制。帧主体加密机制(frame body encryption)主要用来提供机密性(confidentiality)。完整性校验序列(intergrity check sequence)用来传送过程中保护数据,让接受者能够验证收到的数据在传送过程中未被更改过。

4.WEP的数据处理

机密性与完整性的操作同时进行,加密之前帧会通过完整性校验算法。产生一个称为完整性校验值(integrity check value,简称ICV)的散列值(hash)。ICV可确保帧在传送过程中未被改变。帧本身与ICV两者均经过加密。

WEP需要以下三个输入项

需要保护的有效载荷(payload),这些数据来自上层协议堆栈(protocol stack)
秘钥(secret key),用来加密帧。WEP允许同时存储4中秘钥。
初始向量(initialization vector,简称IV)

5.WEP的数据传送

驱动程序以及接口硬件负责处理数据,然后送出加密过的封包。
顺序如下:

1.根据802.11MAC帧的有效载荷计算出完整性校验值。由于校验值是针对帧的有效载荷来计算的,因此计算所涵盖的范围始于SNAP标头的第一位,直到帧主体的最后一个数据。此时,802.11帧校验值尚未计算出来,因此并未包含在ICV的计算中。
2.帧加密秘钥(或称WEP种子)随后组装完成。WEP密钥分为两部分:秘钥(secret key)以及初始向量(IV)。
3.帧加密密钥(或称为WEP种子)随后组装完成。WEP密钥分为两部分:密钥(secret key)以及初始化向量(IV)。为了避免出现使用相同密钥流进行加密的情况,传送帧的工作站会将IV附加在密钥之前。
4.帧加密密钥被当成RC4密钥,用以加密来自步骤1的802.11MAC有效载荷以及来自步骤2的ICV。整个加密过程通常通过网卡上的RC4专用电路来协助完成。
5.将有效载荷加密之后,工作站将会开始组装待传帧。802.11标头本身维持不变,802.11MAC标头与加密过的有效载荷之间则插入了WEP标头。除了IV,WEP标头中还包含了密钥编号。因此发送端必须分辨目前使用的是哪一个密钥。

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

6.WEP密钥的类型

映射密钥(工作站密钥)

映射密钥(mapped key)用来保护流动于特定来源与接收端之间的数据。映射密钥有时也称为单播密钥(unicast key)或工作站密钥(station key),因为它们适合用来保护单播数据。在基础结构型网络里,数据是在工作站与接入点之间流动的。

默认密钥(广播密钥)

如果两个802.11工作站之间并不存在映射关系,就必须改用默认密钥(default key),有时也称为广播密钥(broadcast key)。

7.手动(静态)与自动(动态)的WEP

不具备密钥分配机制的WEP通常称为手动WEP或静态WEP。
在动态WEP中,每个工作站都会使用两个密钥,而不是所有工作站共享一个密钥。其中一个密钥是经过映射的密钥,为工作站与接入点所共享,用来保护单播帧。另外一个密钥是默认密钥,为同一服务集中所有工作站所共享,用来保护广播与组播帧。

8.WEP的帧格式

一旦使用WEP进行加密,帧主体就会增加8个字节。其中4个字节作为帧主体的IV标头,另外4个字节则作为ICV标尾。

IV标头使用3个字节来容纳长度为24位的IV,而第四个字节则包含填充为(padding bit)以密钥标识符(key ID)。使用默认密钥时,KEY ID子字段可用来识别加密帧的默认密钥。如果选择使用密钥映射关系(key mapping relationship),则Key ID子字段的值为0。最后一个字节中有6个填充为必须为0。

猜你喜欢

转载自www.cnblogs.com/huangdengtao/p/12702335.html