当前课程知识点:网络安全概述 >  第三章 编码解码学 >  第五节 鉴别认证 >  Video

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

Video在线视频

Video

下一节:Video

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

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

现在呢我们开始讲这个编码解码学中的

这个鉴别认证Authentication

Authentication是非常重要的一个概念

就是在这个网络安全中很重要的一个

我们需要完成的一个任务或者是提供了一个服务

就是说对一个网络设备

进行身份认证鉴别认证

它的这个英文讲叫Authentication

不光是对设备啊

有可能对一段信息进行鉴别认证

这个也是很重要的

那么鉴别认证的这个服务呢

它目的是什么呢

就是说Alice需要向Bob证明

她就是Alice本人

就是说我要告诉你我是我

我就是Alice我不是Trudy

这个就是鉴别认证最重要的要达到的一个目的

我们可以看一下那就是

从这个最简单的一些方式上

就像我们人与人之间的相处

我告诉你我是Alice

那你要不要相信我

你可以选择相信我对吧

那你相信我的话

那好 那我们就握手我们就是继续我们下面的交流

如果在机器里面呢

那比如说像我们这个图里面说这个

Alice跟Bob讲I am Alice

那Bob是不是可以相信她呢

在一个Bob完全看不见Alice网络中

任何人都有可能是Alice

这个认证的这种过程显然是完全不可取的

因为任何人都可能假冒Alice

那我们把刚刚的这个算法呢

我们稍微的改进一点点

就是说这个认证算法的2.0版

2.0版呢我们加一个新的信息在里面

就是Alice发给Bob一段信息

一个小的这个短信说I am Alice

这个时候呢整个这个信息这个数据包里面呢

我们不光是有这个短信它本身

就是I am Alice这句话

而且还有Alice的ip地址

Alice IP地址就相当于是

Alice在网络中的一个通行证

一个证件一个ID就像我们身份证明一样

但是呢这个身份证其它也是可以被假造的

就是Alice IP地址也是可能被假造的

也就是说这个版本2.0也是非常容易失败的

因为这个时候呢Trudy她可以把自己的

这个发出去的数据包的那个IP位

就是这个source IP address那一位改成是

Alice的IP address

但实际上它发出去的是Trudy发出去

那这个就是我们以前提过的

IP spoofing 就是这样子的一个工作原理

所以这个2.0也是不可取的

那这样的话我们想想看再改进一下

我们做这个计算机网络的协议的设计

也是这样子一步一步来

那我们从最简单的设计开始

然后一点一点地加一些改进

以至于达到最终的目的

这个是我们希望得到的这个终极效果

那我们现在来看一下这个认证算法3.0

Alice说I am Alice

同时呢它有 Alice的这个IP address对吧

就是它自己的这个IP的地址

可以证明它是Alice

不光是这样

我们还在这个之上再加小的一段密码

来证明Alice就是她自己 就是Alice

这个的密码应该是说是只有这个

Bob和Alice两个人知道的一个shared secret

这个听起来就是更美好一点

保密性更强一点

并且呢Alice有可能更加真实

但是还是不行

Trudy还是可以做一些事情来假冒Alice

Trudy可以怎么做呢

就是我们这个著名的recorded and playback attack

叫录播攻击

录播攻击就是说这个Trudy呢

我不管Alice发给Bob是什么包

那Trudy要做的事情就是

把Alice发出来的包我都截下来

截下来录下来

录下来之后呢

在某一个时间我再把录下来的这个东西

重新播放给Bob听

这个时候不管我什么时候把我录的东西播放给Bob听

Bob都会以为我是Alice但实际上我是Trudy

这个呢就是这个3.0的一个漏洞

但是我们还是做了努力的

把这个算盘呢能够更加的改进一些

但是呢事实证明还是不行

那我们再试一次我们到这个算法3.1

3.1呢就是说Alice说I am Alice

同时呢它发了一段加了密的一个密码

来证明自己是Alice

只有Bob能够解密

而且只有Alice能够加密

这个加了密的这样一段密码

来跟Bob说I am Alice

那这个是不是就安全了呢

其实在这个时候Trudy可以做

同样的录播攻击同样的事情

还是说Trudy她不需要知道Alice发的东西到底是什么

她只需要知道给我把Alice东西拿下来我记住

我看不懂没有关系我就先录下来

录下来以后呢我发给Bob

以后我再重新转播给他

然后这个时候只要Bob收到了我播给他的东西

那Bob就会把我误当做Alice

所以这个版本3.1还是逃脱不了这样一个录播攻击

那我们到底怎么样才能真正

就是实质上的避免录播攻击呢

那在就是说这个网络安全协议的各个协议中

如果你想要防止录播攻击的发生

有一个非常普遍的一个技术

就是叫做我们用一个nonce一个代码

这个nonce是什么呢

nonce这个代码它实际上是一个

临时性的一次性的代码

它可以是任何东西

但是最最最关键的性质它只用一次

用一次就作废了

就像我们用的这个公共筷子一样用一次就扔掉

nonce就是这样一个东西

那这样的话呢就是把这算法更加改进一步

我们改到这个认证算法4.0

这个时候我们为证明Alice还在线

或者说Alice还是Alice

那那个Bob给Alice发一个nonce这个nonce R

这个时候呢Alice必须回复给Bob

一个用Bob和Alice共享的密钥

加密过的R来证明自己

我们来看一下这个小小的这样一段动画就是

Alice对Bob说I am Alice

Bob收到了说有人跟我说她是Alice

这人是不真的Alice呢

那让我来检验一下

那Bob怎么检验呢就是给发一条这个回馈信息

这个回馈信息里面呢

就装了一段这个非常乱的一段代码

就只有Bob自己知道

就看得到这么一次性这样一段代码R

然后呢当这个Alice收到了这个nonce R的时候

Alice必须要用Alice和Bob之间的

这个shared key就是共享密钥

来对这个R而进行加密

并且把加了密的R返回给Bob

这个时候Bob收到以后

他就可以对这个

用他们的Alice和Bob共享密钥

加了密的这个密文进行解密

解密出来Bob可以看到是个R

那这个R是Bob之前就发的这个一次性的这段代码

由此Bob可以知道

确确实实这个跟我说她是Alice这个人

很大很大的可能她就是Alice

这个是一个比较好的一个改进了

就是说我们加了一段nonce

这个nonce呢在对录播攻击的

这个防御这种过程中是被经常用到的

所以呢大家记住

以后一旦我们看到有可能有录播攻击

这样的情况发生时候

你第一点想到的就是

我是不是要把nonce这个技术用起来

那算法4.0有个小缺陷啊

它是什么呢就是说

4.0呢它是要求还是要有个共享密钥

就是Alice和Bob之间他们之前要

共同商量好这个交换好一段共享密钥

这个我们之前提到过这个在

无法谋面或者未曾谋面的

这一对网络设备之间它想要

事先negotiate好 就是这个商量好

一段共享密钥不是一件容易的事情

安全的商量好

因为这个网络中任何事情都有可能发生

Trudy有可能会把它们的共享密钥截下来

那有了这样一个顾虑呢

我们就在考虑我们是不是可以

设计出用公共密钥结构的算法

来对这个authentication就是这个身份认证

这个服务进行下改进呢

答案是肯定的

那这样我们来设计算法5.0

算法5.0是这样子工作的啊

我们还是要用这个nonce

这个一次性的代码

我们要用完了就扔

这是它最重要的一个特性

我们不但用nonce我们还要用这个public key infrastructure

这是public key的这个算法

来对这个nonce进行加密

从而得到一个比较完美的这样一个认证过程

那我们来看一下63页上面

这个画出来这样一段小动画

同样的一个场景

Alice对Bob说I am Alice

那Bob这个时候又是在想这个人说她是Alice

我要不要相信她

那为了证明这个跟我说她是Alice的人

真的是Alice

Bob对这个Alice呢发一个nonce R

这个R是一次性的

那这个时候呢因为我们用的是

公共密钥的加密算法了

Alice要做一件什么事情呢

Alice为了证明她自己就是Alice

Alice用自己的private key

记住每一个devices每一个网络设备都有

自己的private key和public key

Alice也有 不光Bob有 Alice也有

Alice有她的private key 她用她自己的private key

对这个nonce R进行加密

我们将一段原文用Alice的private key

用她的私钥进行加密

那用什么钥匙才能够把这一段密文打开呢

这就是我们刚刚讲过的

我们一对钥匙 那一对的另外一半

是Alice的public key

那因为Alice的public key是确确实实有可能

很多人知道 其中包括Bob

也就是说Bob在这个时候是应该

我们可以假设他已经拥有了Alice的 public key

Bob这个时候要做的事情就是我拿Alice的 public key

来对Alice她自己的这个私钥

加密的这段密文进行解密

那如果Bob真的是不知道Alice public key

他还可以直接跟Alice要 这个没有关系

那比如说我们在这个例子里面呢

显然就是说这个Bob还多发了一个信息

就是像Alice问说

你来可不可以把你的public key发给我

就是send me your public key这样一个信息

Alice收到了send me your public key这个信息以后

她很简单她就把自己public key发给Bob

这个没有关系

因为public key呢是public knowledge

就是公钥实际上就是一个稍微公开点的这样一个信息了

那Bob拿到Alice的公钥以后

他就可以对前面的那一点K(A)minus of R

就是用Alice的私钥加密的那段密文进行解密

得到的是什么呢

得到了就是Bob之前发的那个nonce R

这个时候Bob就可以知道

果然这个跟我说她是I am Alice的这个人

这网络设备它真的是 Alice

因为只有 Alice有这个 Alice的私钥

这一点大家一定要切记切记

就只有这一个网络设备有它自己的私钥

别人都没有

也就是说不管是谁用了这个网络设备私钥

对一段信息进行加密

并且呢能够用它相应的这个公钥

对其进行解密的话

那这个网络设备

它因为它可以用这个私钥加密

就已经证明了这个设备就是它说的那个自己

他claim的那个人

就是说I claim i am Alice indeed i am Alice

这个是一个很重要的过程

那现在我们来看一下这个认证算法5.0

它是不是也有安全漏洞呢

这个很无奈这个网络安全中的

这个很多研究和学习包括技术上的东西呢

都是这样子的

就是魔高一尺道高一丈的这样一个状态

就是说你不管怎么样去弥补这个安全漏洞

总会有新的破解方法

那5.0其实它也还是有安全漏洞的

我们现在可以来看一下

这个下一个就是可能的攻击方法

就是Man-in-the-middle attack

就是叫中间人攻击

这个时候Trudy呢可以做什么事情呢

Trudy还是可以sitting in the middle

就是我可以站在这个Alice和Bob中间

我左边跟Bob讲我是Alice

右边我跟Alice讲我是Bob

这个就是中间人攻击它的一个精髓

那这个攻击它是怎么样的一个过程呢

Alice发到网络中的信息说I am Alice

本来Alice是想跟Bob说I am Alice

结果呢这个信息被谁截到了呢

被Trudy截到了

Trudy看到这个Alice想跟Bob说I am Alice

好 那我把这个信息扣下

我不转发给Bob

我回过头来我跟Bob说I am Alice

但实际上她是谁 她是Trudy

那Bob收到了Trudy发来的I am Alice

这样一个信息 Bob回之以R这个nonce

nonce R因为我们要做这个身份认证

这个算法5.0的设计就下一步

Bob要发R回来本来应该是给Alice的

结果这个时候被谁收到呢

被Trudy收到了

这个Trudy她收到这个R以后

她做两步

第一步呢Trudy用她自己的private key

大家要记住每一个device都有自己private key

Trudy用Trudy的private key对R进行加密

并且呢把这个用Trudy自己private key

加了密的R返还给Bob

同时Trudy对Alice发一个信息

是什么信息呢 说Here is a nonce R

就是把Bob之前发给她那个nonce R

转发给Alice

这个是5:0这个protocol应该走的下一步

就是Alice本来她也坐在那里

她等着收下一个信息

她等待的也是这个nonce这个信息

那到目前为止从Alice的角度讲

从Bob角度讲

两人看到的这个协议的运行过程都是正常的

完全make sense完全这个合理

下一步Bob要做什么呢

Bob就要对Trudy

其实Bob以为他是在对Alice讲话

Bob就发一个message说

please send me your public key

就是把你的公钥发给我

Trudy收到了这个信息

那当然她可以把自己的公钥发给Bob

前面那个R Trudy已经用自己的私钥进行加密了

这个时候她又把相对应的那个公钥发给了Bob

那当然Bob可以从中就是解密出来

那个正确的R

于此同时Trudy也收到了Alice发回来的

一个用Alice的私钥加密过的nonce那个密文

那这个时候呢Trudy为了让整个

这个过程看起来逼真

就要对Alice说请把你的公钥发给我

因为Trudy在对Alice

就是在表演她自己假装成Bob在跟Alice讲话

那下一步Bob要对Alice说的

就是说 请把你的公钥发给我

这个时候Alice看 这个应该就是下一条信息

Bob应该问我要我的公钥

那这里是我的公钥我的public key

Alice那就把这个自己的public key

发给她以为的那个Bob

但实际上是Trudy

因为Trudy是sit in the middle

她是这个中间人坐在那里

这个时候的Trudy基本上就是

可以正确的收到了这个Alice的public key

对她也没有太大的用处

但更关键的是说她已经向Bob认证了自己

因为Bob可以用Trudy的public key

去来解码Trudy自己的

private key加密的那样一段信息

那信息是nonce R

那Bob已经把Trudy认证为Alice

这个时候Bob就觉得ok

什么事情都可以安全了

对方真的是Alice

我可以把我想要告诉Alice的这些悄悄话

我都可以发给她了

那这个时候Bob做了一件什么事情呢

就是说Bob把想要发的一个message m

本来想发给Alice的message m

用一个人的这个public key给加密了

这个人的public key是谁的呢 是Trudy的

但Bob以为这个public key是Alice的

所以当Trudy收到了这个

用Trudy的public key加密的这段密文m以后

Trudy能够做什么呢

Trudy是有相应的这个private key的

也就是说Trudy她可以对这一段原文m

成功的进行解密

所以到此为止呢

Trudy可以得到原文m

可以把m用Alice这个公钥加密后

反过来再发给Alice

因为Trudy她在这个时候

也已经有了Alice的公钥

那Alice得到了Bob想要发给她的信息

Bob也成功的把他想要告诉Alice的话告诉了她

那什么东西是不对劲的呢

就是在这个整个这个对话过程中

有一个第三方

而这个第三方实际上是窃听了所有东西

就是Alice和Bob的所有对话

Trudy都可以听的到

这个实际上是这个认证算法5.0的

一个比较大的安全漏洞

就是中间人攻击的这样一个安全漏洞

小小总结一下就是说这个中间人攻击

它是一个怎么样的过程呢

就这个中间人Trudy

她可以对Bob假冒Alice

可以对Alice假冒是Bob

那她可以成功的去这个假冒这个对话的双方

而发现这个中间人它的难点是什么呢

就是说你看这个

Bob和Alice他们互相发的信息

都收到了就是正确的接收方

都已经接收到了这个正确的信息

也就是说如果比如说一周以后

Bob和Alice两人相见了

在某一个会议上也好

或者共进晚餐也好

他们把这个一周前的交换的信息提起来

两人发现都对的上号

但是问题是在于他们无法知道

其实他们知道这个信息别人也知道了

就这个第三者 这个Trudy

她也已经有了所有的信息的细节

这个是一个很大的一个安全漏洞

网络安全概述课程列表:

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

-第一节 电子邮件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笔记与讨论

也许你还感兴趣的课程:

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