802.11——WEP

来源:互联网 发布:知乎 健康果甲醛检测 编辑:程序博客网 时间:2024/05/30 18:30

WEP 加密

为了加密无线数据,802.11 标准定义了有线对等保密 (WEP)。 由于无线 LAN 网络的性质,保护网络的物理访问很困难。 与需要直接物理连接的有线网络不同,无线 AP 或无线客户端范围内的任何人都能够发送和接收帧以及侦听正在发送的其他帧,这使得无线网络帧的偷听和远程嗅探变得非常容易。

WEP 使用共享的机密密钥来加密发送节点的数据。 接收节点使用相同的 WEP 密钥来解密数据。 对于基础结构模式,必须在无线 AP 和所有无线客户端上配置 WEP 密钥。 对于特定模式,必须在所有无线客户端上配置 WEP 密钥。

 

WEP 通过加密无线节点之间发送的数据来提供数据机密性服务。在 802.11 帧的 MAC 标头中设置 WEP 标志即表示对 802.11 帧进行了 WEP 加密。WEP 通过在无线帧的加密部分包括完整性校验值 (ICV) 来提供随机错误的数据完整性。

 

WEP 加密和解密

要产生加密的帧,需要使用以下过程:

1.

计算一个 32 位完整性校检值 (ICV),为 MAC 帧提供数据完整性。

2.

将 ICV 附加到帧数据的结尾。

3.

将一个 24 位初始化向量 (IV) 附加到 WEP 加密密钥。

4.

将 [IV+WEP 加密密钥] 的组合用作虚拟随机数生成器 (PRNG) 的输入,以生成大小与 [数据+ICV] 组合相同的位序列。

5.

PRNG 位序列又称密钥流,它是带有 [数据+ICV] 的位专用 ORed (XORed),用以生成在无线 AP和无线客户端之间发送的有效负载的加密部分。

6.

将 IV 添加到加密的 [数据+ICV] 的前面,以创建无线 MAC 帧的有效负载。结果是 IV+加密的 [数据+ICV]。

 

 

要解密无线 MAC 的有效负载,需要使用以下过程:

1.

从 MAC 有效负载的前面获取 IV。

2.

将 WEP 加密密钥与 IV 相连。

3.

将相连的 WEP 加密密钥和 IV 用作同一 PRNG 的输入,以生成大小与数据和 ICV 的组合相同的位序列(与发送无线节点的位序列相同)。

4.

PRNG 位序列是带有加密的 [数据+ICV] 的 XORed,用以解密有效负载的 [数据+ICV] 部分。

5.

计算有效负载的数据部分的 ICV,并将其与传入帧中包含的值相比较。如果这两个值相匹配,则认为数据有效(从无线客户端发送并且在传输过程中未被修改)。

尽管机密密钥在很长时间内保持不变,但 IV 会定期更改,并且会随每个帧更改。IV 值的更改周期取决于 WEP 算法所需的隐私程度。随每个帧更改 IV 是保持 WEP 效果的理想方法

WEP 问题

 

WEP 的主要问题是未定义 WEP 密钥的确认和分发方法。WEP 密钥必须使用 802.11 协议之外的安全信道分发。在实际应用中,WEP 密钥是一个必须使用键盘手动为无线 AP 和无线客户端配置的文本字符串。显然,这种密钥分发系统不能很好地扩展到企业组织中,而且也不太安全。

另外,也没有定义一种机制来确定是针对每个身份验证更改 WEP 密钥,还是为通过验证的连接定期更改 WEP 密钥。所有无线 AP 和客户端对多个会话使用同一个手动配置的 WEP 密钥。由于多个无线客户端会发送大量数据,因此攻击者可以远程捕获大量 WEP 密码文本,并使用密码分析方法确定

WEP 密钥。

缺少 WEP 密钥管理协议会大大限制 802.11 的安全性,尤其是在具有大量工作站的基础结构模式中。公司办公区以及机场和商场等公共场所都属于这种网络。缺少自动身份验证和密钥确定服务还会影响到特定模式中的操作,在这种模式中用户可能希望进行点对点的协作通信;例如,在诸如会议室之类的场所中。

 

 

按照 IEEE 802.11 标准的规定,WEP 使用 40-位机密密钥。 IEEE 802.11 的大多数无线硬件还支持使用 104-位 WEP 密钥。 如果您的硬件同时支持这两种密钥,请使用 104-位密钥。

注意有些无线提供商在推广使用 128-位无线加密密钥。 这是在 104-位的 WEP 密钥的基础上增添了另一个在加密过程中使用的数字,称为初始化向量(一个 24-位的数字)。 而且,最近的某些无线 AP 还支持使用 152-位无线加密密钥。 这是 128-位的 WEP 密钥再加上24-位的初始化向量。 Windows XP 配置对话框不支持 128-位 WEP 密钥。 如果必须使用 152-位无线加密密钥,可通过在“网络连接”中的无线连接属性的“无线网络配置”选项卡上清除“使用 Windows 来配置我的无线网络设置”复选框来禁用“无线自动配置”,然后使用随无线网络适配器提供的配置实用程序。

选择 WEP 密钥

 

启用 WEP

选择一种 WEP 密钥格式

如果使用键盘 (ASCII) 字符键入 WEP 密钥,您必须为 40-位 WEP 密钥键入 5 个字符(一个字符8位)为 104-位 WEP 密钥键入 13 个字符。 如果是使用十六进制数字来键入WEP 密钥,您必须为 40-位密钥键入 10 个十六进制数字,为 104-位密钥键入 26 个十六进制数字。 如果能够选择 WEP 密钥的格式,应该选择十六进制。 键盘字符没有多大的随机性,而十六进制数字更具有随机性。 WEP 密钥的随机性越高,使用起来就越安全。

选择 WEP 加密密钥编号

您必须指定要使用哪个密钥。 IEEE 802.11 允许最多使用 4 个不同的 WEP 密钥。 在无线 AP 和无线客户端之间交换流量时使用的是单个 WEP 密钥。 该密钥存储在一个特定的内存位置。为了使接收者正确地解密传入的帧,发送者和接收者都必须使用相同内存位置的相同加密密钥。

虽然为无线 AP 配置全部四个密钥并让不同的客户端使用不同的密钥是可能的,但是这样可能导致配置上的混淆。 相反,应该选择一个特定的密钥和一个特定的内存位置来供无线 AP 和所有无线客户端使用。

由于没有安装 Service Pack 的 Windows XP 使用一个“密钥索引”来引用加密密钥内存位置,并从 0 开始为密钥索引编号,而有些无线 AP 把加密密钥内存位置称作“加密密钥”,并从1开始为密钥编号,这使得特定内存位置的选择复杂化。在这样的情况下,您必须使得没有安装 Service Pack 的 Windows XP 密钥索引编号与无线 AP 上的加密密钥编号表示相同的加密密钥内存位置,否则无线 AP 和无线客户端将不能通信。 表 1 显示了这种关系。

没有安装 Service Pack 的Windows XP 密钥索引编号

无线 AP 加密密钥编号

0

1

1

2

2

3

3

4

表 1 没有安装 Service Pack 的 Windows XP 密钥索引和无线 AP 加密密钥编号

最容易的配置是使用第一个加密密钥内存位置,该位置对应于没有安装 Service Pack 的 Windows XP 密钥索引 0 和无线 AP 加密密钥 1。

Windows XP SP2 和 Windows XP SP1 的加密密钥索引从 1 开始编号。

 

WEP 协议分析

它是一个基于无线链路层的安全协议,设计目标是为无线网络提供与有线网络相同级别的安全性,保护无线网络中数据传输机密性,并提供对无线网络的接入控制与对接入用户的身份验证.

 

RC4 加密算法:

RC4是一种经典的对称流密码,在加密过程中使用了初始向量IV( Initiation Vector) .IV根据状态数组和密码属性(长度,字符值)来计算.在WEP中IV为24位.IV可以附加在密文的前部或后部发送给接收者,接收者需要知道IV才可以解密.使用IV的目的是创建新的密钥流,避免单一密码被破解.

 

WEP的数据帧格式:

 

 

WEP数据帧包括三个部分:32位的IV,要传输的数据(>=1)及32位的ICV.

IV以明文传输,其它两个部分是以密文传输.

 

IV 包括:24位的初始向量,2位的KEYID和6位填充数据(全部用0填充)

 

WEP的数据加密密钥

 

WEP中用于数据加密,解密的密钥分为两类:Default key和 Key Mapping Keys.

Default key 是默认的加密密钥,其有4个Default Key,用Key ID 来标志,它们分别为0,1,2,3

 

Key Mapping Keys 是每对用户共享的密钥.发送方在发送信息的时候,采用与对方共享的Key Mapping Keys 加密.为了实现这种密钥,每个系统必须维持一张密钥表,在表中记录了每对用户与其对应的共享密钥.用户进行通信时,首先从表中查找是否存在自己与通信用户所共享的Key Mapping Keys,如果存在,用它进行数据加密解密,否则使用默认密钥,并用KEY ID来选择.实际上很少使用这种方法.

 

加密与解密

 

见之前的分析过程.

 

WEP的安全分析

认证及其弱点:

 

1 开放系统认证:实质上是空认证,采用这种认证方式的任何用户都可以认证成功.

2 共享密钥认证:

l         被认证的STA向AP发送认证请求:

l         AP向STA发送挑战信息P,挑战信息是由WEP的伪随机序列发生器PRGN采用RC4算法生成的随机序列(长度固定为128字节)

l         STA使用WEP算法加密挑战信息

l         AP用共享密钥K及接收到的IV生成密钥流,解密,判断ICV和P,是否相同.相同则认证成功,否则失败

 

由于WEP是采用将明文和密钥流进行异或的方式产生密文,同时认证过程中密文和明文都暴露在无线链路上,因此攻击者通过窃听攻击手段捕获密文和明文,将密文和明行异或即可恢复出密钥流

 

完整性分析:

 

为了防止数据的非法改动及传输错误,在WEP中引入了综合检测值(ICV)来提供对数据完整性的保护,它是采用CRC32函数实现.

ICV是一个32位的CRC32值,它的使用如下:

(P||ICV)xor K=C

P代表明文,K代表密钥,C代表密文

CRC32是设计用来检查消息中的随机错误的,并不是安全杂凑函数,它不具有身份认证的能力,因为任何知道明文的人都可以计算出明文的ICV值.

另外,WEP的完整性保护只应用于数据载荷,而没有包括应当保护的所有信息.

如源地址,目的地址,以及防止重入等.对地址的篡改可以形成重定向或伪造攻击,而没有重放保护可以使攻击者重放以前捕获的数据形成重入攻击.

 

WEP分析:

 

RC4是一个对称密钥的流密码机制,相同的明文产生相同的密文.这样重复使用密钥流是不安全的,即不能使用同一密钥流加密不同的明文报文.

WEP解决方法是引入了初始向量(IV),WEP使用IV和密钥级联作为种子产生密钥流,通过IV的变化产生Per-Paceket 密钥.为了和接收方同步密钥流,IV必须以明文形式传送.

同时为了防止数据的非法改动及传输错误,引入了综合检测值.(ICV)

 

0 0
原创粉丝点击