当前课程知识点:网络安全概述 >  第五章 无线网络安全 >  第一节 WEP的设计和问题 >  Video

返回《网络安全概述》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《网络安全概述》慕课在线视频列表

Video课程教案、知识点、字幕

下面我们来换一个话题啊

我们来看一下这个无线网络安全

无线网络不用说它有多重要

因为无线网络现在是非常重要

那有一些这个统计数字已经可以看到啊

像Cisco

今年它的统计数据就说了

这个wifi和mobile-connected devices

Will generate 68% of all internet traffic

by this year

year to 2017

就是说68%的因特网的这个流量

到今年为止将会是由这个wifi

就是无线网的用户

和这个mobile手机用户而生成的

68%呀 这个是很大

已经是大部分网络流量

实际上是有这个无线用户wifi的用户

和手机用户在生成了

这个已经非常多了

还有一个像这个Wifi Alliance

它们公布的一个数据呢是说

到今年为止 71%的移动网络通讯

实际上是通过wifi网络来进行的

这个地方我小小地强调一下

wifi这个wireless的这个network

和mobile的这个network的区别

wifi是各种各样版本的

802.11 802.11a 802.11b

就是各种各样的这个不同的版本

但是呢他是802.11的network

而这个mobile-device呢

它的这个

就是手机这种通讯的协议呢是不一样的

它就是更加复杂

它的主要的这个提供的这个供应商

实际上是你的这种

移动通讯的这个手机的这种服务商

由他们来向你提供上网的这种可能

但是这个系统和wifi是两套不同的系统

它们的协议其中有相似的地方

但是呢是两套不同的协议系统

在这个课程里面呢

我们主要的是来去讲

这个wifi的security

wifi这种形式的这个无线上网啊

它的这个security的这个协议是什么样的

首先我们来看一下这个

Wired equivalent privacy

这个protocol的设计就是WEP

这个是wifi network最早用的

这个encryption的这种算法的设计

WEP 它实际上是一个

共享密码的一个编码算法

在这个WEP里面呢

它可以保证信息的confidentiality

就是信息的私密性它是可以保证的

它还可以保证这个终端的认证

就是end host的这个authorization

然后呢 还有这个数据的完整性

是data integrity

这几点在这个WEP

这个协议的设计里面是可以提供的

那WEP这个协议呢

它还有一个自我同步的这样一个特质

就是self-synchronizing

可以单独加密每一个数据帧

拿到这个加密过的这个数据帧和这个密钥呢

可以将数据帧进行解密

即使后面的数据帧有所丢失

也不会影响解密的结果

这个是它的一个特性

并且呢WEP这个协议

它实际上是比较高效的

它呢 既可以在硬件中去实现

也有可能在软件中实现

好 我们简单的复习一下

这个数据流的这个共享编码的算法啊

在这个数据流symmetric key stream cipher里面呢

这个整个的这个过程是怎么样的呢

就是说我们先有一个input

这个输入呢是一个密钥

通过这个密钥

这个密钥放到一个key stream generator里面

就是这个密钥流的一个生成算法里面

得到一段密钥流

那之后能将这个密钥流的每一个字节

和原文的每一个字节整合计算

得出密文的字节

这个就是我们之前看到过的

如果我们用m(i)代表原文中的第i位

用这个ks(i)代表这个key stream中的第i位

这个密钥流中的第i位

那c of i我们代表这个密文

Cipher text里面的第i位的话

那我们就有如下的关系

就是说才c(i)equals to ks(i)

EX or m(i)

就是对这个密钥流的第i位

和原文的第i位求异或计算

我们就可以得到这个密文中的第i位

这个cipher text的第i位

那解密的时候我们怎么样得到原文呢

就是拿密文的第i位和这个ks

这个key stream密钥流的第i位做异或计算

就可以得到原文的第i位

这个基本上就是说symmetric stream cipher

它这个工作的基本原理

那WEP基本上就是在用这样相应的算法

用的就是RC4这样的算法

那数据流编码和数据的独立性啊

基本上呢 在这个设计WEP的时候

我们的目标是希望每一个数据帧

每一个frame它都是可以被进行独立加密的

如果对这个数据帧N+1

用从数据帧n演变出来的密钥流进行加密的话

那么这个数据帧之间的加密性

就无法变得独立

所以我们不希望有这样子的事情发生

那WEP它怎么做的呢

它的方法就是

对每一帧数据重新通过共享密钥

和新的一个initiation vector

这个IV值生成一个新的密钥流

我们可以看得到

这个共享密钥key加上一个

对于当前这一个数据帧的IV值

initiation vector这个值

它们放在一起输入到

key stream的generator里面

这个密钥流的生成的这样一个函数里面

得到一个新的密钥流

但这个新的密钥流

实际上是对一个当前帧

就是对当前的这个frame的密钥流

所以对每一帧我们都重新计算

它的这个密钥流

这是它基本的这个想法

那我们看一下WEP的加密算法的

具体的是怎么样实现的啊

首先第一步我们看到

发出方对数据计算出integrity check value

这个ICV值

它是一个四个字节的这个哈希函数

用来检查数据完整性

这个是它的作用

第二步呢是说

收发双方共有一个104位的共享密钥

他们的这个shared key的长度是104位

那第三步呢是说这个发出方创建一个24位的

initiation vector 24位的IV值

并将其接入到第二步中的

那个104位的共享密钥上

加在一起一共是一个128位的一个新的密钥

第四步啊 同时发出方附上一个key ID

这个key ID是八个bite长的

就是八位长的

那第五步就是将3.中生成的那个128位的新的密钥

输入到伪随机函数中得到一个密钥流

得到这个密钥流以后

我们就可以在下面的事情

就是第六步

将这个数据帧

这个frame中的数据和ICV

第一步中的ICV

这个integrity check value

一起用而RC4算法进行加密

这个具体的步骤是像下面这样子的几步

Step. a就是第一步

是说将B个字节的密钥流和数据和ICV的组合

进行异或处理

第二步呢是将这个IV和keyID加到Step.6a中

得到的这个密文之前

生成这个数据帧的payload

然后呢再下一步呢

是将6b.中生成的这个payload

打包成802.11的数据帧

我们可以把这个过程看一下

用下面这个小图来看一下

可能会更清晰

我们首先有个数据是

这个绿色的这一个区间

是这个data

然后呢 我们有ICV值

把数据和ICV值放在一起

进行加密encryption 对吧

做完加密以后在这个加密好的

这一段密文前面放一个keyID

在这个keyID之前

再放一个initiation vector这个IV值

然后呢 整个的这个四个部分放在一起

它实际上是MAC payload

就是说我们对这一大段信息

来进行哈希函数的运算

来得到这个信息的digest就是它的摘要

这个是大概的一个算法

那在这个图里面呢

我们可以看到啊

WEP 它的加密算法有一个进一步的解释

首先呢 我们看到有一个initiation vector

这个initiation vector呢

是对每一个frame

每一帧都生成一个新的这样一个IV值

那这个IV值呢

它实际上是不需要被加密的

它直接就是在这个网络中被进行传输的

同时呢我们有一个Ks

这个Ks呢是shared key

这个Ks是104位的一个秘密 一个secret

然后呢我们把这个IV值

和这个104位的这个Ks放在一起

一共是128位了

因为IV是24位的

放到这个key sequence generator里面

这样的话对于当前这一帧

就可以生成一个密钥流

对于这个密钥流生成了以后

我们就用密钥流中

一个字节一个字节的

这些分段的这个密钥对原文

这个frame data进行加密

得到这个cipher text

那得到了这个cipher text呢

我们实际上就放到这个WEP-encrypted data

plus这个ICV这个payload里面去了

那这个payload之前

再加上这个IV值

然后再之前再附上这个802.11的header

这个新的802.11的这个数据帧就生成了

那么我们可以看到在这个数据帧里面

很多信息都是被加密处理过的

这个基本上就是这个WEP

它的这个算法做的加密过程

那解密过程呢

我们可以从下一页slide上面看得到啊

这解密过程就是说

接收方呢在从这个data payload中

提取出IV那一项

IV那一项记住了

我们是没有经历过这个加密算法的这个过程的

所以IV我们是可以看到的

拿到IV

然后将这个IV和这个共享密钥

因为共享密钥这个receiver接收方也是知道的

我们有了这个IV值 有了共享密钥

那这个接收方就可以得到那个128位的那个输入

这个输入呢

就可以放到这个key generator里面去

然后生成相应的密钥流

这个过程就跟这个发出方

当时生成密钥流的过程是一样的

那我们有了这个新的密钥流

这个新的密钥流呢

是跟前面这个共享密钥是有关的

那将这个密钥流和密文一起

再进行异或处理

我们就可以计算出

原文和这个ICV的值

这个就是decryption的过程

然后通过比较校验这个ICV

确保这个数据真的这个完整性和正确性

这里需要注意的一点是说呢

这里信息的这个完整性的检验方法

是有别于在这个message authorization code里面

这个信息检验的方法和这个电子签字里用到的方法

是有一定的区别

下面呢 我们这个再提下如何用这个nonce啊

来进行这个终端的认证

这一步我们怎么做

我们如何验证这个Alice她就是Alice

Alice确确实实是在线的呢

那我们还是用这个nounce来解决这个问题

这个过程我们以前已经看到过了

这过程呢就是基本上是这样子

Alice发给Bob一条信息说I’m Alice

然后Bob呢 会反馈给Alice一个nounce value

有一个R

这个时候呢

Alice就会用她和Bob之间的共享密钥

对这个R进行加密

并且呢 把这个加密的密文返回给Bob

那因为是共享密钥

所以Bob就可以用共享密钥把这个R再打开

你看啊 确确实实是我刚刚发给Alice的那个nounce

那由此做这个认证

大家可以看得到啊

我这个是我们基本上讲过的认证算法里面

最简单的也是最粗陋的一种方法

但是呢 它确确实实是被用上了

真正在WEP的终端认证里面

如果只是用这种粗陋的方法

它的这个问题其实是很多的

那我们WEP它具体怎么做的呢

这个最简单的这个WEP的这个设计呢

是说一个终端一个新来的这个笔记本电脑

注意我们这里面讲的是wifi的环境

所有东西都实际上是无线的啊

在这个无线的环境中

这个笔记本电脑来了

它呢 就要向这个access point

去发一个authentication request

这个access point在这个地方就像是Bob一样

对吧 这个Alice要像Bob发一个

authentication request

那这个AP 这个access point呢

就返回给这个laptop一个nonce

这个nonce是128个bytes

这个laptop呢它就将这个nonce

用他们的shared key encrypt

然后再发回给access point

这个时候access point就可以

非常正确的去decrypt这个信息

然后看得到

哦 这个nonce就是我以前发给这个终端的

从而完成对这个终端用户的认证

但是呢并不是所有的AP

access point都做这个终端认证

即使它有可能是支持WEP的

它也有可能是不做终端认证的

那AP在这个信号帧

这个beacon frame中呢

会标记是否需要做终端认证

那终端认证在AP和无线终端之间

这个建立连接之前完成

不过很遗憾 大家可以看得到

WEP的这个终端认证

实际上是非常非常粗陋的

这样子的终端认证呢就是漏洞蛮多的

我们已经学过一些方法可以对它进行攻击

那这个对802.11WEP的这个攻击啊

有一些安全漏洞我们可以看一下

如果我们有一个24比特的这个IV

这个initiate vector

那每一帧有一个IV

这就意味着这个IV值迟早会被重复使用

那这个就是一个很大的一个安全隐患

并且呢 这个IV的传输

实际上它是未经加密的

IV是在header里面有一个这个data field

就是给IV保留的

那这个IV

它在这个数据的这个header里面呢

它在这个网络中进行传输

但这个IV值不是被加密的

那因为它不被加密

所以呢 haker或者说

任何在观测这个无线网的user

都可能看得到这个IV值

那IV值又有可能重复的出现

这个就是一个很大的问题

那攻击的方法就是

比如说Trudy他可以呢

促使Alice对一段已知的原文

这个d1 d2 d3 d4进行加密

因为这个Trudy知道这个原文是什么

OK 他也看得到Alice她的

这个加密到的密文是什么

就是这个cipher text

他也可以看到

Trudy唯一不知道的是这个密钥是什么

Trudy他想要获得的就这个密钥

OK 那Trudy知道了c_i

也知道了d_i

他呢 可能可以计算出k_i

因为是简单的异或计算

所以呢 异或计算的话

Trudy他就可以算得出来

这个key stream是什么样的

但是因为这个IV值在变化

每一个frame它的IV值不一样

所以呢 即使Trudy他知道了这个frame

他是

就是说他的key stream是什么样的

但下一个只要IV值变了

他也没有办法得到这个密钥流

但是有一点不要忘了

IV值是有可能被重复使用的

并且IV值是可以被Trudy观察到的

那也就是说一旦Trudy看到

这个同样的IV值出现了

他就可以用他之前对那一个

特定的IV值计算出来的密钥流

对相应的密文进行解密

这个就是802.11

这个WEP非常不安全的一个可能

就是说我们已经已知的WEP

是一个非常非常不安全的一个协议

并且WEP呢 现在也其实是逐渐的不被用了

就是被淘汰了

就是在这个wifi这个环境中

网络安全概述课程列表:

第一章 计算机网络基础知识-简短回顾

-第一节 电子邮件e-mail的安全

--Video

-第二节 计算机网络的服务

--Video

-第三节 网络协议的分层结构

--Video

-第四节 网络数据包的传输过程

--Video

-第五节 实例演绎计算机网络通讯工程

--Video

第二章 网络安全研究的是什么问题

-第一节 计算机网络为什么不安全

--Video

-第二节 网络安全技术需要提供的服务

--Video

-第三节 网络安全讨论的情景设置

--Video

-第四节 黑客有可能有哪些攻击网络安全的手段

--Video

-第五节 网络中的恶意软件

--Video

第三章 编码解码学

-第一节 编码解码学的基本概念

--Video

-第二节 攻击编码解码技术的方法

--Video

-第三节 共享密钥加密法

--Video

-第四节 公共密钥加密法

--Video

-第五节 鉴别认证

--Video

-第六节 信息完整性

--Video

第四章 网络安全协议

-第一节 电子邮件E-mail的安全

--Video

-第二节 传输协议(TCP)的安全:隐秘套接字协议(SSL)

--Video

-第三节 网络层安全:IPSec

--Video

第五章 无线网络安全

-第一节 WEP的设计和问题

--Video

-第二节 802.11i改进机制

--Video

第六章 防火墙及攻防系统

-第一节 防火墙概念及目的

--Video

-第二节 三种防火墙

--Video

-第三节 IDS(Intrusion Detection Systems)介绍

--Video

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。