您的位置:首页 > 其它

WEP协议加密解密过程详解

2016-02-14 18:28 483 查看
分类:
每天学习一点点




图1 IEEEWEP加密、解密、帧格式
WEP的加密与解密过程在网上有各种版本,我最后决定参考IEEE文献中的标准,如图1所示,并据此写出自己的理解。

无线网络通讯安全三目的:

Confidentiality: 私密性 防范数据不受未授权的第三方拦截

Integrity: 完整性 防范数据被篡改

Authentication:认证确定数据来源的合法性

WEP协议算法结构:



图2WEP协议算法结构
对图1进行分析:

IV:Initialization Vector, 初始化向量。为避免使用相同SecretKey进行加密的情况,而产生的24bits伪随机数。运算时串接在Secret Key之前。目前没有明确的规定IV是如何产生的,所以不同的制造商方法不同。通常制造商会将IV设置为0,传递数据时依次递增。但这同时带来了很大的问题,对于一个繁忙的网络来说,通常2-5个小时就能够将IV遍历一次,IV太短是WEP被淘汰的主要劣势之一。

SecretKey:传输时所用共享密钥。

WEP密钥:64/128bits,其中24bits为IV,40/104bits为Secret Key。唯一成为标准的是64bits.在很多文献中都用WEP Seed表示。

RC4算法:WEP加密所采用算法,用于将一把短密钥展开为与讯息等长的伪随机数密钥串。

PRNG:Pseudorandom Number Generator,伪随机数产生器,是一组用来将密钥转换为密钥串的规则。

Plaintext:明文。802.11MAC帧封装去掉MAC标头,去掉FCS,中间的那部分(802.11LLC、802.11SNAP、Frame Body)。

Integrity Algorithm:在此处实际上就是CRC-32算法。

ICV:Integrity Check Value,由对Plaintext进行Integrity Algorithm所得。

Ciphertext:接收方收到的密文



:异或

WEP加密:

IV+SecretKeyàWEPSeedàPRNGàKeyStream

PlaintextàCiphertext

PlaintextàIntegrity AlgàICV

WEP解密:

IV+SecretKeyàWEPSeedàPRNGàKey Stream

Ciphertextà
Plaintext

PlaintextàIntegrity AlgàICV’

若ICV’=ICV解密成功,不然失败

NOTE:加密与解密过程中的IV必需相同(当然共享密钥是肯定相同的),以确保相同的WEP密钥。

在之前提到过STA连接到无线网络的三个步骤:扫描、认证、关联。如图3所示。对于每一种加密协议来说,认证的过程是不同的,此处简要总结了WEP的认证阶段。



图3STA接入无线网络

WEP有两种认证方式:开放系统认证Open System Authentication. 只需SSID即可加入网络。

共享密钥认证Shared KeyAuthentication. 需要SSID和密钥。

Authentication帧的帧主体:

Authentication AlgorithmNumber(2 bytes): =0,OSA;=1,共享密钥认证

Authentication TransactionSequence Number(2 bytes):跟踪身份验证的进度

Status Code(2bytes):表示某项操作的成功或失败,成功为0,失败非0

Challenge Text(Variable):128bits质询文本,随机数

OSA认证:质询文本值为0,认证过程如图4。



图4 OSI认证

SharedKey认证:




图五 Shared Key 认证

<1> STA向AP发送Authentication Request

<2>AP向STA发送128bits质询文本(ChallengeText)

<3>STA将Challenge Text作为Plaintext进行WEP加密,并将Ciphertext传给AP

<4>AP进行WEP解密,并判断ICV值,若成功匹配,返回AuthenticationRequest(Success),否则返回Deauthentication.

Note:此Autentication过程为802.11的认证过程,只有WEP才包含OSA和Sharedkey两种认证,如TKIP/CCMP/WPA/WPA2等都只包含OSA认证。另外,Association成功之后才是802.1X的再认证过程,之后才是加密过程,用于对数据的加密,加密方法常提及的就是WEP/TKIP/CCMP/WPA/WPA2(在之后的学习中再总结)。

WEP帧格式:(其他均已提及,只介绍Key-ID)

Key-ID:一个字节的高2bit(00,01,10,11)可表示编号分别为0,1,2,3的四种密钥

该字节的低6位(pad)为0。

IV,ICV,Plaintext,(Key-ID+pad)为WEP帧的有效负载。

IV+Key-ID+pad为IV标头。

WEP密钥类型

Mapping Key:(unicastkey)用于保护特定来源于接受端的数据,0

Default Key:(broadcastkey)用于广播与组播帧,0-3

静态密钥与动态密钥:

静态密钥:采用DefaultKey

动态密钥:采用MappingKey 和DefaultKey。每隔一段时间会产生新的密钥,动态缩短了每把密钥的使用时间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: