深入解析无线WEP和WPA密码及破解原理.docx

上传人:b****6 文档编号:6172295 上传时间:2023-01-04 格式:DOCX 页数:23 大小:368.33KB
下载 相关 举报
深入解析无线WEP和WPA密码及破解原理.docx_第1页
第1页 / 共23页
深入解析无线WEP和WPA密码及破解原理.docx_第2页
第2页 / 共23页
深入解析无线WEP和WPA密码及破解原理.docx_第3页
第3页 / 共23页
深入解析无线WEP和WPA密码及破解原理.docx_第4页
第4页 / 共23页
深入解析无线WEP和WPA密码及破解原理.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

深入解析无线WEP和WPA密码及破解原理.docx

《深入解析无线WEP和WPA密码及破解原理.docx》由会员分享,可在线阅读,更多相关《深入解析无线WEP和WPA密码及破解原理.docx(23页珍藏版)》请在冰豆网上搜索。

深入解析无线WEP和WPA密码及破解原理.docx

深入解析无线WEP和WPA密码及破解原理

深入解析无线WEP和WPA密码及破解原理

1 概述

目前情况下:

WEP的破解为利用加密体制缺陷,通过收集足够的数据包,使用分析密算法还原出密码。

WPA目前没有加密体制的缺陷可被利用,破解WPA密码使用的是常规的字典攻击法。

所以在破解方式上WEP和WPA有很大差异。

2 WEP

2.1 (Wired EquIValent PrIVacy,WEP)

叫做有线等效加密。

掌握WEP破解的人,肯能会说WEP不如有线的安全性高。

但这

发生在WEP的很多弱点被发现之后。

也是由于WEP的弱点导致WPA的出现。

2.2 (WEP)算法

WEP算法是一种可选的链路层安全机制,用来提供访问控制,数据加密和安全性检验

等。

802.11 定义了WEP 算法对数据进行加密。

2.3 加密过程如图所示。

IV为初始化向量,PASSWORD 为密码KSA=IV+PASSWORD。

DATA 为明文CRC-32

为明文的完整性校验值PRGA=RC4(KSA) 的伪随机数密钥流XOR 异或的加密算法。

ENCRYPTED DATA 为最后的密文。

最后IV+ENCRYPTED DATA一起发送出去。

2.4 接收端的解密过程如图所示。

CIPHERTEXT 为密文。

它采用与加密相同的办法产生解密密钥序列,再将密文与之

XOR 得到明文,将明文按照CRC32 算法计算得到完整性校验值CRC-32′,如果加密密

钥与解密密钥相同,且CRC-32′= CRC-32,则接收端就得到了原始明文数据,否则解密失

败。

2.5 WEP算法通过以上的操作试图达到以下的目的

采用WEP加密算法保证通信的安全性,以对抗窃听。

采用CRC32算法作为完整性检验,以对抗对数据的篡改。

2.6 WEP 算法之死

95 9 月RC4 潜在的威胁性(wanger)

00 10 月通过分析wpe包获取密码(walker)

01 5 月针对于明文攻击的一个推论(Arbaugh)

01 7 月针对于CRC32的攻击(Borisov, Goldberg,Wagner)

01 8 月针对于RC4的攻击(S。

Fluhrer, I。

Martin 和 A。

Shamir)

01 8 月airosnort发布

02 2 月改进的攻击算法(h1kari)

04 8 月chopchop攻击出现

04 7/8 月aircrack出现(Devine,Sanchez )

2.7 WEP的破解理论是在01 年8月就变得可行了

S.Fluhrer, I.Martin 和A.Shamir 合作研究发现了对无线局域网安全性最致命的攻击。

利用WEP 帧的数据负载中部分已知信息来计算出该WEP 帧所使用的WEP 密钥。

由于

WEP 加密算法实际上是利用RC4 流密码算法作为伪随机数产生器,将由初始矢量IV 和

WEP 密钥组合而成的种子生成WEP 密钥流,再由该密钥流与WEP 帧数据负载进行异或

运算来完成加密运算。

而RC4 流密码算法是将输入种子密钥进行某种置换和组合运算来生

成WEP 密钥流的。

由于WEP 帧中数据负载的第一个字节是逻辑链路控制的802.2 头信

息,这个头信息对于每个WEP帧都是相同的,攻击者很容易猜测,利用猜的第一个明文字

节和WEP 帧数据负载密文就可以通过异或运算得到PRNG 生成的密钥流中的第一字节。

另外,种子密钥中的24比特初始矢量是以明文形式传送的,攻击者可以将其截获,存到初

始矢。

S.Fluhrer, I.Martin 和A.Shamir 证明:

利用已知的初始矢量IV 和第一个字节密钥

流输出,并结合RC4 密钥方案的特点,攻击者通过计算就可以确定WEP密钥。

2.8 CRC-32 算法缺陷

CRC-32 算法作为数据完整性检验算法,由于其本身的特点非但未使WEP 安全性

得到加强,反而进一步恶化。

首先CRC 检验和是有效数据的线性函数,这里所说的线性主

要针对异或操作而言的,即C(x?

y)=C(x)?

C(y)。

利用这个性质,恶意的攻击者可篡改原文

P 的内容。

特别地,如果攻击者知道要传送的数据,会更加有恃无恐。

其次,CRC-32检验

和不是加密函数,只负责检查原文是否完整,并不对其进行加密。

若攻击者知道P,就可算

出RC4(v,k) (RC4(v,k)=P?

(P?

RC4(v,k)),然后可构造自己的加密数据C'=(P',C(P'))

?

 RC4(v,k)和原来的IV一起发送给接收者(802.11b 允许IV重复使用)。

2.9 WEP密码如何被破解出来的

2.9.1 监听模式被动破解(这个就是有客户端并有大量有效通信)

根据已知的的信息。

我们知道要还原出WEP的密码关键是要收集足够的有效数据

帧,从这个数据帧里我们可以提取IV 值和密文。

与对于这个密文对应的明文的第一个

字节是确定的他是逻辑链路控制的802.2 头信息。

通过这一个字节的明文,还有密文我

们做XOR运算能得到一个字节的WEP密钥流,由于rc4 流密码产生算法只是把原来的

密码给打乱的次序。

所以我们获得的这一次字节的密码就是就IV+PASSWORD 的一部

分。

但是由于RC4 的打乱。

不知道这一个字节具体的位置很排列次序。

当我们收集到足

够多的IV 值还有碎片密码时,就可以进行统计分析运算了。

用上面的密码碎片重新排

序配合IV使用RC4算法得出的值和多个流密码位置进行比较。

最后得到这些密码碎片

正确的排列次序。

这样WEP的密码就被分析出来了。

下图就是WEP破解过程。

有助于

你理解破解WEP通过分析子密码还原密码的过程。

2.9.2 主动攻击(有客户端。

少量通信或者没有通讯)

-3 ARP-request attack mode攻击抓取合法客户端的arp请求包。

如果发现合法客户

端发给AP的arp请求包,攻击者就会向AP重放这个包。

由于802.11b 允许IV重复使

用。

所以AP接到这样的arp请求后就会回复客户端。

这样攻击者就能搜集到更多的IV

了。

当捕捉到足够多的IV就可以按上面的2.9.1里的进行破解了。

如果没有办法获取arp

请求包我们就可以用-0 攻击使得合法客户端和AP断线后重新连接。

-0 Deautenticate攻

击实际就是无线欺骗。

这样我们就有机会获得arp请求包了。

2.9.3 主动攻击(没有客户端的模式)

先和AP进行伪链接-1 fakeauth count attack mode。

这样就能产生数据包了。

收集两个IV 相同的的WEP 包,把这两个包里的密文做XOR 运算。

得到一个XOR 文

件。

用这个XOR文件配合伪造arp包的工具。

利用CRC-32的特点伪造一个arp包和原

来的IV一起发给AP。

这样就可以按上面2.9.2 里的进行破解了。

其中-2 Interactive,

-4 Chopchop,-5 Fragment 都是属于上面这个攻击类型的。

2.10 WEP的安全弱点

A.802.2 头信息和简单的rc4 流密码算法

导致攻击者在有客户端并有大量有效通信时,可以分析出WEP的密码。

B.IV重复使用

导致在攻击者在有客户端。

少量通信或者没有通讯时,可以使用arp 重放的方法获得大

量有效数据。

C.无身份验证机制,使用线性函数CRC32进行完整性校验。

无身份验证机制,导致攻击者能使用-1 fakeauth count attack mode和AP建立伪链接。

进而获得XOR 文件。

使用线性函数CRC32 进行完整性校验,导致攻击者能用XOR 文

件伪造一个arp包。

然后依靠这个包去捕获大量有效数据。

2.11 WEP窃听

由于 WEP 全局都是用IV+WEP 密码来保护明文的。

当有了密码后攻击者可以使用同

样的算法能随时任意窃听任意STATION 至AP 之间的通讯。

这样的窃听对于网银这样的双

向认证的安全不会有影响。

但是在ip 包里的明文用户名和密码就很容易被窃听到了。

例如

登录AP 的用户名和密码。

由于无线网络窃听的存在,在使用交换机的有线网络中用关闭

dhcp 设置陌生网段的来禁止非法访问的方式。

不在适合于无线网络。

攻击者完全能根据窃

听到的合法客户端数据包配合已知密码来分析出ip的真实配置。

2.12 WEP的现状

WEP真的不是一种强壮的加密方式对于那种不怀好意的攻击者。

无法胜任在安全有求

比较高的场所。

对于安全较低的厂所只能说有胜于无。

3 WPA

3.1 WPA加密算法的的两个版本介绍

WPA = 802.1x + EAP + TKIP + MIC

= Pre-shared Key + TKIP + MIC

802.11i(WPA2)

= 802.1x + EAP + AES + CCMP

= Pre-shared Key + AES + CCMP

这里802.1x + EAP,Pre-shared Key是身份校验算法(WEP没有设置有身份验证机制)

TKIP和AES是数据传输加密算法(类似于WEP加密的RC4 算法)

MIC和CCMP数据完整性编码校验算法(类似于WEP中CRC32算法)

3.2 WPA 认证方式

802.1x + EAP (工业级的,安全要求高的地方用。

需要认证服务器)

Pre-shared Key (家庭用的,用在安全要求低的地方。

不需要服务器)

EAP 扩展认真协议,是一种架构。

而不是定义了算法。

常见的有LEAP,MD5,TTLS,

TLS,PEAP,SRP,SIM,AKA 其中的TLS 和TTLS 是双向认证模式。

这个和网络银行的

安全方式差不多。

这个认证方式是不怕网络劫持和字典攻击的。

而md5 是单向认证的。

抗网络劫持,中间人攻击。

关于企业级的如何破解就不讨论了。

因为论坛上也很少提到。

身EAP模式是个协议,不是算法。

3.3 WPA-PSK

论坛上破解WPA 也主要是集中在这个模式上的。

我们都知道破解WPA-PSK 不是和

WEP一样抓很多包就能破解的。

关键是要获取握手包,这个握手包叫4way-handshake 四次

握手包。

那么我们就从这个四次握手包开始。

3.4 四次握手

通信过程如图

3.4.1 WPA-PSK 初始化工作

使用 SSID 和passphares使用以下算法产生PSK 在WPA-PSK 中PMK=PSK

PSK=PMK=pdkdf2_SHA1(passphrase,SSID,SSID length,4096)

3.4.2 第一次握手

AP广播SSID,AP_MAC(AA)→STATION

STATION 端

使用接受到的SSID,AP_MAC(AA)和passphares使用同样算法产生PSK

3.4.3 第二次握手

STATION 发送一个随机数SNonce,STATION_MAC(SA)→AP

AP端

接受到SNonce,STATION_MAC(SA)后产生一个随机数ANonce

然后用PMK,AP_MAC(AA),STATION_MAC(SA),SNonce,ANonce 用以下算

法产生PTK

PTK=SHA1_PRF(PMK, Len(PMK), "Pairwise key expansion",MIN(AA,SA) ||

Max(AA,SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce))

提取这个PTK 前16 个字节组成一个MIC KEY

3.4.4 第三次握手

AP发送上面产生的ANonce→STATION

STATION 端

用接收到ANonce 和以前产生PMK,SNonce,AP_MAC(AA),STATION_MAC(SA)

用同样的算法产生PTK。

提取这个PTK 前16 个字节组成一个MIC KEY

使用以下算法产生MIC值

用这个MIC KEY 和一个802.1x data 数据帧使用以下算法得到MIC值

MIC = HMAC_MD5(MIC Key,16,802.1x data)

3.4.5 第四次握手

STATION 发送802.1x data ,MIC→AP

STATION 端

用上面那个准备好的802.1x 数据帧在最后填充上MIC值和两个字节的0(十六进

制)让后发送这个数据帧到AP。

AP端

收到这个数据帧后提取这个MIC。

并把这个数据帧的MIC部分都填上0(十六进

制)这时用这个802.1x data 数据帧,和用上面AP产生的MIC KEY 使用同样的

算法得出MIC’。

如果MIC’等于STATION 发送过来的MIC。

那么第四次握手成

功。

若不等说明则AP 和STATION 的密钥不相同,或STATION 发过来的数据帧

受到过中间人攻击,原数据被篡改过。

握手失败了。

3.4.6 MIC的派生图

SSID passphares

PSK=PMK=pdkdf2_SHA1(passphr

ase, SSID, SSID length, 4096)

PTK=SHA1_PRF(PMK, Len(PMK),

"Pairwise key expansion",MIN(AA,

SA) || Max(AA,SA) || Min(ANonce,

SNonce) || Max(ANonce,SNonce))

MIC KEY=提取PTK 的前16 个字节

MIC = HMAC_MD5(MIC Key,16,

802.1x data)

SNonce

STATION MAC APMAC

ANonce

802.1x data

3.5 AP和STATION 之间的加密通信

3.5.1 通讯使用的临时KEY 的派生图

3.5.2 使用 KEY 进行加密通信

3.5.2.1 TKIP

3.5.2.2 CCMP

PTK – X bit

Pairwise Transcient Key

EAPOL-Key

confirmtion Key

128 bits

EAPOL-Key

Encryption Key

128 bits

Temporal

Encryption Key

128 bits

Temporal AP

Tx MIC Key

64 bits

Temporal AP

Tx MIC Key

64 bits

X = 512 (TKIP)

X = 384 (CCMP)

Bit 128-256

KEK

Bit 256-384

TEK(=TK)

Bit 384-447

TMK1

Bit 447-511

TMK2

Bit 0-127

KCK

3.5.3 WPA安全规则

针对于WEP的安全漏洞WPA 也相应更新了安全规则:

A. 增强至48bit的IV。

B.Sequence Counter,防止IV重复。

C.Dynamic key management,动态key管理机制。

D.Per-Packet Key加密机制,每个包都使用不同的key加密。

E.MIC (Message Integrity Code ),信息编码完整性机制。

解说:

动态key管理机制

在通讯期间:

如果侦测到MIC错误,将会执行如下程序。

记录并登录MIC错误,60 秒內发生两次MIC错误。

反制措施会立即停止所有的TKIP通讯。

然后更新数据加密的用的TEK。

3.5.4 WPA 安全机制作用

a. 加密通信流程图、Per-Packet Key 加密机制、动态key 管理机制使得使用类似

于WEP中分析子密码攻击的方案,在WPA 中将变得异常困难,和不可实现。

b. 身份验证机制杜绝了-1 fakeauth count attack mode,建立伪连的攻击。

c. 增强至48bit 的IV、防止IV 重复、MIC 信息编码完整性机制。

使得要伪造一

个合法数据包变得异常的困难。

同时也致使-2 Interactive,-4 Chopchop,5

Fragment 此类攻击对于WPA 无效。

解说:

a. 虽然TKIP使用的是和WEP一样的加密算法RC4,但是TKIP中使用Per-Packet

Key加密机制配合RC4。

这样弥补了RC4 加密算法的不足。

抵抗基于RC4 漏

洞的攻击。

WPA2 中的AES比TKIP有更高的安全性,对他的破解难度就更高

了。

b. 使用非线性的MIC信息编码完整性算法,取代线性的CRC-32。

增加了攻击者

伪造合法数据的难度。

有以上结论我们不难得出一个事实。

类似于WEP中的无客户端破解密码的做

法在WPA 中是不存在的。

3.6 针对 WPA的破解攻击

3.6.1 抓取数据传输包进行破解

上面已经明确的指出无论数据传输算法是TKIP还是AES。

使用类似于WEP中捕

获数据包进行分析破解的方式对于WPA几乎是不可能的。

3.6.2 抓取WPA-PSK 的四次握手包进行破解

可以说 WPA-PSK 安全体系是十分完善的。

但他始终是用一个密码保护的。

对于

这种用密码保护的安全体系。

一般情况下我们都可以用一种叫字典攻击的常规攻击手

段。

所以针对WPA-PSK 可以进行的直接攻击,目前就只有字典攻击这一种方式。

而这

种常规的攻击方式将在字典攻击里详细讨论。

当然我们WPA-PSK 的设计者也很明确这

点,所以在WPA-PSK 的安全体系中加入了潜规则加以对抗。

这点将在攻击预算里做详

细的讨论。

在WPA-PSK 的四次握手包中包含着和密码有联系的信息,依靠这个信息进

行字典攻击。

3.6.3 断线攻击

由于 WPA-PSK 是单向认证的。

所以可以使用-0 Deautenticate攻击。

这样有助于

我们获取握手包。

在获得握手包时-0 攻击不要太多,否则适得其反的。

有些AP几次握

手不成就会认为有攻击。

禁止客户端和AP的链接30秒。

(可能基于WPA EAP TLS 这

样双向认证的就不怕断线攻击了)

3.6.4 间接攻击

例子:

别人输密码你在哪里偷看。

使用美人计骗取密码。

有技术含量点的。

原来

WEP时他的计算机有漏洞你给他下了木马。

改成WPA 后木马把密码发给你的。

或你整

天窃听他的WEP通信,他改密WPA 模式时发给路由的密码让你截获了。

比较狠一点的,

AP是你卖给他的AP的系统里添加了你的后门。

3.7 WPA安全性的前景

WEP 由原来的安全到今天的不安全。

你是否同样也会担心是不是很多年之后的WPA

也会是同样的命运。

但我们也要看到WEP 的破解不是某个算法的漏洞导致的。

而是整个

WEP的安全体系有很多漏洞所共同导致的。

而WPA的安全体系很强壮。

使用的大多是混合

算法。

所以某一个算法的弱点往往不能给WPA 这样的安全体系以致命的打击。

WPA 这种依

靠算法的安全体系也许某一天会被破解。

但是可能WPA 被完全破解的那一天比WPA 废弃

的那一天都晚。

如果这样的话,那么的确该说WPA 是一种很强壮的安全体系。

3.8 WPA 的窃听

WP-PSK 没有密码几乎没法窃听他的通信。

在有了密码的情况下WPA 的窃听也不具

有WEP 中窃听的随意性。

在WPA 中SNonce,ANonce 也很好的起到了加密数据防止窃听

的作用,所以作为攻击者我们必须从握手开始窃听。

而且会同步更替数据加密密钥。

所以

WPA-PSK 的安全性都依赖于密码。

3.9 WPA评价

无论是WPA还是WPA2 在目前都是有很好的安全性的。

企业级EAP的安全模式更为

WPA的安全性如虎添翼。

我很欣赏WPA = PSK + TKIP + MIC这个模式。

因为原来WEP的

设备只需要更换代码就能升级到这个模式了。

所以这个模式使用较低的成本就可以实现很高

的安全性,还有便捷性。

成本当然也是一个东西是否能普及重要因素。

而WPA2 AES+CCMP

的更高的安全性对硬件的要求也是要高一点的。

4 字典攻击

4.1 寻找可以攻击的信息元素

字典攻击作为一种常用的攻击手段要明白的是从那里开始攻击。

要寻找和密码有有联系

的信息元素。

在WPA 中和密码有联系的信息有数据的传送包和四次握手包。

由于无法知道

明文,和WPA的数据加密算法的复杂性。

在数据传输包上要找到可以攻击的信息元素基本

上很难实现。

所以只能在握手包里寻找有密码有联系的信息。

在上面的四次握手包的图片中

很清楚的表明,在四川握手中主要传递的有如下数据:

SSID,AP_MAC,STATION_MAC,

SNonce,ANonce,802.1x data,MIC。

前面6 个元素很清楚,一般不会和密码有联系的。

只有最后一个MIC和密码有所联系。

通过MIC的派生图我们知道,MIC是通过上面六个信

息元素和密码通过三个主要的算法派生出来的。

那么我们是不是只要找到这三个算法的逆反

算法就可以根据上面的7 个信息元素把密码计算出来了呢。

的确实这样。

但是这三个算法有

一个共同的名字叫HASH 函数。

4.1.1 HASH 函数

HASH 函数是不可能从生产的散列值来唯一的确定输入值。

a. 单向性(one-way)。

HASH 函数是没有反函数的。

b. 抗冲突性(collision-resistant)。

要寻找两个hash值相同的原值十分困难。

c. 映射分布均匀性和差分分布均匀性。

不像普通函数那样数值分布有一定规

律。

由于上面的pdkdf2_SHA1,SHA1_PRF,HMAC_MD5是HASH 函数。

所以我们就基

本上无法直接计算出密码。

对于HASH 函数比较有效的攻击就是建立HASH 字典攻击。

HASH 字典就是把预先算好的HASH 值按照线性排列然后组成一个数据库。

当我们知道

一个HASH 值时在这个数据库里能马上找到他的原值。

当然这个过程是通过数据库实现

的而不是HASH 的逆反函数。

所以有些HASH 值在这样的数据库里是找不到原值的。

由于HASH 库是线性的所以。

所以在HASH 库里找数据是十分迅速的。

下面的链接让

你体验一下HASH 线性库的速度

的王小云教授对于部分HASH 算法有突出贡献的。

她的主要贡献是寻找碰撞值。

暴力破

解的话就是大概需要2^80 量级的MD5 HASH 运算。

被王教授提高到只需要2^69 量级

的MD5 HASH 运算就能够找到一个碰撞。

我们有这样两个对付HASH 函数的方法。

么对我们破解我怕密码是不是如虎添翼了呢?

4.1.2 HMAC (HASH Message Authentication Code)哈希消息校验算法

这里我承认我刚才有骗过你。

pdkdf2_SHA1,SHA1_PRF,HMAC_MD5 不是HASH

函数。

当然我骗你我也有我的理由啦。

第一我以前被别人骗过,某论坛上说建立HASH

库然后进行WPA破解的。

能建立HASH 库那三个函数不是HASH 函数那是什么啊。

二我不是故意的。

了解HASH 函数,有助于你理解HMAC 算法。

所以

pdkdf2_SHA1,SHA1_PRF,HMAC_MD5是HMAC算法。

不是HASH 函数。

HMAC算法

就是用一个密码,和一个消息。

最后生成一个HASH值。

由上面的介绍,我们可以看出,

HMAC算法更象是一种加密算法,它引入了密钥,其安全性已经不完全依赖于所使用的

HASH 算法。

所以上面对HASH 的攻击,对于HMAC 是没有效果的。

HMAC 特别是

象“挑战/响应”身份认证应用中,由于攻击者无法事先获得HMAC 的计算结果,对系

统的攻击只能使用穷举或“生

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1