当前课程知识点:网络安全概述 >  第四章 网络安全协议 >  第二节 传输协议(TCP)的安全:隐秘套接字协议(SSL) >  Video

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

Video在线视频

Video

下一节:Video

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

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

刚刚讲的是电子邮件

那么我们下面呢再下一层去讲

传输协议层的这个TCP的安全

怎么样我们保证tcp

它的这个安全性

有一个很重要的protocol叫做

Secure Sockets Layer Protocol

是SSL

中文可以翻译成隐秘套接字协议

那这个SSL呢

它实际上是一个被广泛使用的安全网络协议

几乎可以说是被所有的浏览器和网站服务器所用到

那像电商的这些这个服务器是一定要用到

这个Secure Sockets Layer Protocol

有统计结果告诉大家

每年通过SSL这个协议

经手的网络的交易是以亿万美元计的

这个是非常可观的一个数字

那么我们可以看一下这个Woo 1994

他们的这个相关的这个协议的设计啊

然后协议实践最初是由Netscape来做的

那我们有些衍生协议

基本上有这个transport layer security

就是TLS这样的衍生协议

整个这个SSL也好还是TLS也好

他们这样子的

就是Transport Layer的Security

这样的协议 它要提供的服务都有哪些呢

我们基本上这个三项最重要的

Security的这种service啊

都在里面了

就是Confidentiality

和Integrity

Authentication

这个是非常重要的三项

Confidentiality就是保密性

那Integrity呢 是信息的完整性

Authentication就是关于认证

有可能是关于信息认证

也有可能是关于收发双方的终端的认证

那最初我们设计出来这个SSL 这个protocol

我们的最初目的呢

主要是支持电商的这个网上交易的信息安全

因为电子商务嘛

因为要牵扯到金钱的这种交易啊

付账也好 包括你要发货呀

还有像这个Banking

就是银行系统啊

这种电子的银行已经是无所不在了

就是我们现在基本真的是

可以实现所有东西电子化

拿着手机出门就可以不用带钱包的状态

提供方便的这些应用

他们呢 因为有这个电商的性质在里面

有金钱的这种关系在里面

所以一定要保证它的安全性

那SSL这样的协议呢

就是这种协议的之一

我们这个SSL呢

还需要对网站提出这个真实性的这种认证啊

这个也是很重要的

还有呢

有可能是对这个用户的真实性进行认证

以及呢有可能会

跟这个新的商品提供商做交易的时候

把手续简化一下

这些都是SSL最初设计的时候

有的一些目的啦

那我们来看一下关于这个五层的

这个网络协议层都是些什么

这五层应该大家记得非常清楚

最高是Application Layer

下面Transport Layer

然后是network layer也就是IP Layer

再往下是Link Layer 就是数据链路层

然后再往下是Physical Layer

那来SSL这个protocol这个网络协议

它是在哪里运作呢

它实际上是在Application Layer

和Transport Layer中间

就是在应用层和传输层中间的这样一个协议层

那基本上SSL这个协议呢

它会给应用层提供服务接口

然后呢 有很多这种编程语言

其实都有它已经有的现成模块

我们可以去使用

SSL 它的过程呢 跟刚刚我们看到的

E-mail的security的这个过程是非常类似的

就是太有对信息的这种做这个电子签名啊

包括这个shared key啊

它要做加密啊

然后包括就是

我们要怎么样去求这个hash value啊

就是这个信息的这个摘要啊

整个过程是很相似的

但是呢 SSL它的要求更高一些

高在哪里呢

因为SSL它是要保证收发双方

需要能够随时交换新的信息

并且呢 这个信息的交换是双向的

这一点是和E-mail的security

是不太一样的

因为E-mail就是说

我只要保证一方发出来的信息

被另一方正确收到

单向的就好了

但是SSL它不是这样子

它要保证就在同样的服务的这个基础上

我还要保证信息的这种收发是双向的

而且是有可能是同时进行的

这一点是大家需要清楚的一个区别

那基本上SSL呢

它是需要对一个链接里的

交换的全部的信息都需要进行加密

而E-mail呢 它就是电子邮件这一个信息

并且呢 SSL还要对收发双方进行这个身份认证

那这个身份认证呢

它实际上是在一个“握手”阶段里进行的

那么我们现在呢先看一下啊

这个最简单的SSL这个协议

我们是怎么样设计的

基本上呢 先要对这个收发双方进行身份认证

那收发双方要做身份认证的话

我们可以通过这样一个握手的过程来做这件事情

就是说呢

Alice和Bob用他们各自的电子证书和密钥

去加密一个共享密钥

以及向对方实现身份认证

那最简单的这个SSL的设计呢

还有这个所谓的密钥衍生

这个是一个什么样的概念呢

就是Alice和Bob用他们共享的秘密信息

或者是密码衍生出一组新的密钥

那新的这些密钥呢

可以用来做后面的

一些加密行动的这样子使用

关于数据传输

作为这个简单的SSL需要传输的数据呢

将会被分割成一组一组的数据记录段

我们对这个SSL里面的信息是分段进行加密的

还有当这个SSL协议

它需要中断链接的时候

会有专门的中断链接的控制信息

control messages

来做整个这个链接的中断

那SSL它要用具体的真正的信息就是说

我告诉对方我要把这个链接结束

那对方才结束

好 那我们现在来看一下一个简单的例子啊

最简的这个SSL

它这个握手过程是什么样的呢

首先这个Alice发给Bob一个hello message

然后Bob呢

就会回馈给Alice他的public key certificate

大家应该还记得这个certificate的概念

是CA发给Bob的一个certificate

因为Bob不可以把自己的public key直接发给Alice

因为如果Bob把自己public key直接发给Alice

Alice并不是真的能够确定

这个人他真的就是Bob

因为Trudy也可以把Trudy的public key发给Alice

然后冒充是Bob的public key

那我们之前的那个章节已经讲过了

我们怎么样解决这个问题

就是用一个这个certification authority

就是一个CA这样一个系统

来对这个Bob的public key呢 进行认证

并且发给Bob一个证书

我们看到这个第二个信息

Bob发给Alice的这个信息呢

实际上是public key的这个证书

而不是public key本身

Alice拿到了Bob的public key的证书以后呢

基本上就可以说

Alice已经拿到了Bob的public key

因为她可以通过这个证书

把这个Bob的public key给解出来

那这个时候呢

Alice就会用Bob的public key

去encrypt加密一段master secret

就是这个MS

那得到的呢就是

我们叫它EMS

encrypted master secret

把这个encrypted master secret发回给Bob

然后这样的话呢

Bob就可以也能够解密出来master secret是什么

从此之后呢就是

这个信息被Bob收到以后

基本上我们就可以知道

那Alice和Bob有一个共享的MS

就是这个master secret都收到了

那这一段信息

这一段共享的MS非常重要

因为在这个真正的SSL的这个protocol里面呢

那我们实际上是要用这个共享这种信息

去衍生不同的密钥

以被之后的这个用处的

就是说在这个最简单的ssl里面

密钥是怎么样衍生的

那在编码解码学里呢

有一个比较普遍的共识

就是说如果我对一个session也好

或是对这个收发双方

如果要一直用同一个密钥来进行加密解密

那这个事情是非常不安全的

我相信呢那个同学们应该也经历过

就是有些系统

它可能隔三差五的就让你更新你的password

这个是有道理的

如果你不断的用同一个钥匙

对一段这个对话进行加密的话

整个的这个对话的这个安全性能就会薄弱很多

所以说呢这个想法就是说

我们通过一段最初生成的这个shared master secret

我们做密钥衍生

因为Bob和Alice都有这个master secret了

我们可以把这个MS放到相应的一些算法库里面

然后衍生出来新的密钥

我们基本上在SSL里面会有几种不同的密钥

比如说我们有Kc

Kc呢 就是说是对从用户端到服务器端

就是client到server这个方向的信息

进行加密的密钥Kc

Mc是从用户端到服务器端的MAC密钥

Message authentication Code

对MAC进行加密的一个密钥是Mc

这个是从用户端到服务器端的

那反过来从服务器端到用户端

这两种密钥是跟这个client端

到server端的这两个密钥是不一样的东西

这个Ks是指的是

从服务器端到用户端的信息

用来对信息进行加密的密钥

然后呢这个Ms

是从服务器端到用户端的MAC密钥

这几种是不同的

每个密钥都有它自己的功能

那上述的这四种密钥呢

其实都是通过将这master secret

和其他一些随机数字

输入到密钥衍生函数里面

英文讲叫Key Derivation Function

就是KDF

但是最重要的是这个master secret

就是这个MS

我们有了这个master secret

这个Bob和Alice就可以

各自独立的去运行这个密钥衍生函数

来对密钥进行衍生

然后得到相应的一些钥匙

在这个SSL里面我们刚才已经提到过了

我们对这个数据呢

做加密实际上是分段的

为什么我们不对数据这个一边加密

一边写入TCP端口呢

如果真的是这样做的话

我们如何计算和放置这个MAC这一位

这个是很困难的

因为比如说

我们要是在收发短信的这种协议里面

如何在这个接收方收到并显示信息之前

对数据的完整性进行检查

这个是一个很麻烦的事情

因为你收到了这个短信

你就需要它能够立刻

去display去这个显示出来

但是呢你又希望对这个短信

做一定的这个数据完整性的检查

我们解决这个问题的方法呢

就是说我们把这个信息分段

我们对每一段信息都求一个MAC

这个Message Authentication Code

来做这一段信息的完整性的检查

然后一段一段来

这样子就好很多

所以说呢

那我们把这个SSL它要处理的数据呢

分成记录段

那记录段的格式呢就像

下面的这个画好的方式啊

就是首先前面一些位数呢

是代表整个这个数据段的这个长度

然后中间那个粉色的那一段呢

是数据段这个数据

最后这个浅蓝色呢 是MAC位

这个MAC呢

这个地方是Message Authentication Code

实际上就是相当于前面信息的这个摘要

在SSL里面

这个协议里面呢

我们不光对数据要分段

我们还引入了sequence number这个概念

就是这个序列号的概念

sequence number

它的引入有一个很重要的一个原因

就是可以防止这个haker

这个Trudy啊 做录播攻击

我们之前说过

防止录播攻击一个非常有力的方法

就是用Nonce

那另外一个方法就是用这个sequence number

它的这个基本的这个概念呢

就是说我对每一个数据段

我放一个序列号在上面

即使是之后这个Trudy

他截获了一个数据段

他想要再重新reply

就是再重新play back给这个Bob看

他基本上是做不到的

原因是说Bob会发现

这个序列号是旧的序列号

Bob可以把这个旧的序列号的数据段

就给扔掉 不去管它

这个呢也是一个防止这个录播攻击的方法

如果要是我作为Trudy

我要把这个Alice发给Bob的

所有信息全都录下来

之后我再做录播攻击的时候

我将会对Bob

我再转发所有信息

那这个时候你的序号就没有用了

因为所有的序列号它都是按顺序的

那这个时候怎么办

我们还可以回到nonce这个小东西上

到时候能用这个nonce来做一个辅助

就可以解决这个问题

在SSL协议里面呢

我们还有一类信息叫做控制信息

就是这个SSL因为它是

主要是对TCP这样的协议

进行这个安全性的一个支持

所以呢 当client要走的时候

就是当用户需要跟我的这个服务器断开的时候

这个服务器需要明确的知道

这个用户走了

不再需要我了

如果这个用户什么都不说

它就还在那儿待着

如果有足够的用户

来开这样子的这个TCP的端口

而又不做事情

直接就是把这个server的资源直接消耗干净

那这个server就干不了其他事情

这个就叫做DOS attack

那我们需要对这种DOS这样的攻击

我们需要进行防御

那我们怎么做呢

解决的方案是这样子的啊

我们在这个ssl protocol里呢

我们用这个标记数据记录段的一个类别

这个我们有一个标记位

这个标记位为0的时候

就说明这个数据记录段

它是一个数据段

就是说还是有用的这个信息在里面

如果标记位是1

就意味着这个信息将要就此结束

这个连接可以被中断

这个是我们解决的方法

就用一个一位的这个binary number就够了

我们可以看一下

新的这个数据记录段的这个格式什么样的啊

在一开始的几位数里面

标志了整个数据记录段的长度

之后就是这个type 这个类别

然后之后再往后才是这个data

之前看到过有length 有data

那现在这个地方呢

我们是在这个length

就是这个长度和数据data之间

加了一个type 这一位

那type如果是“0”就表示它还是数据段

如果是“1”就表示

是数据的一个最后的一段话已经是

然后最最后我们还是一个MAC这样一位

是做这个message的信息摘要

用来做integrity checking

好 那我们下面对这个SSL做一个简单的总结

整个运行过程是这样子

Alice向Bob发一个hello message

那这个时候呢

Bob就给Alice这个reply一个certificate

同时Bob要给Alice发一个nonce

这个nonce我们大家已经很熟悉它了

虽然这个东西好像它生命很短暂

只是这个once in-one-lifetime

但是它非常有用

Alice收到了这个Bob的

certificate和nonce以后呢

Alice就可以解码出来

这个Bob的public key

Alice就会用Bob的public key

去加密一段master secret

就是这个MS

得到这个EMS

encrypted master secret

然后发给Bob 这是一个

之后她可以发data的这个数据段

就是数据的这个数据段

那数据的数据段里面

会每一个数据段都标一个type

就是类别

如果是“0”就数据

后面还有数据接着发

然后呢会有个sequence number

这是第一个包

然后后面这是数据

整个这个呢

type0

sequence number one

data

然后发给Bob

然后Alice还可以接着来

就是这个type0还是数据

sequence number two

这是第二个包

data

然后发给Bob

这样的话Bob按顺序

来这个接收这些数据段

之后呢 Bob也可以向Alice

发他想给Alice的数据段

那Bob可以从sequence number 1开始

就是type0

sequence number one

然后data

以此类推也是可以的

然后再往后呢

我们看这个Alice有可能会发type zero

sequence number three

data

就是这个第三包

再往下第四包不同了

不同在哪里

在type

type变成了“1”

type是1的时候意味着什么

Alice就是告诉Bob这个链接可以结束了

那Bob这个时候reply

也发回来一个叫做这个type one

也是

这个type也是1

sequence number two

就是第二个包

然后写的是close

就是说我这个

整个这个链接确确实实可以结束了

所以我们可以看得到

在整个的这个SSL这个过程中

实际上呢有一个非常明确的结束点

这个是很重要的一个概念

并且呢 我们看到这个每一个数据段

它是由这个sequence number来进行标识的

1 2 3 4 5

这是按顺序来

从这个EMS

这一个shared master secret

被Bob和Alice共享以后

之后的这些数据段啊

虽然说我没有标出来

但他们实际上都是加密过的

用什么来进行加密呢

用那个shared master secret

这是最简单的SSL

是这样做加密

但是呢这个最简单SSL还有很多问题

其中包括这个信息包中的

每一个数据段啊

它到底有多长啊

我们应该选择什么样的加密协议啊

包括这个收发双方是不是需要协商啊

是不是要让用户方和服务方

有可能选择不同的

加密解密的这些算法啊等等等等

这些就是都是具体的这个问题

都是需要具体地探讨

那在实际操作过程中呢

其实这个SSL确确实实是有一个算法库的

我们叫这个cipher suite

这个SSL的这个加密算法库呢

规定了一系列的算法可供选择

那这一系列算法里面

包括公共密钥算法

有共享密钥算法

还有哈希函数算法

这个MAC的算法

然后呢这个ssl里面

它还是这个支持的加密算法库的多种的算法

收发双方进行协商的时候

基本上呢这个协商过程

他们想要得到的协商的结果

就是说我在哪一步用什么算法

来进行加密 进行解密

这个是SSL这个cipher suite

它来用的

一般这个普遍的这个SSL共享密钥的算法

是DES 或者是3DES

或者RC2 或者RC4

好多种选择都是有可能的共享密钥算法

而这个公共密钥算法

就是这个public key encryption algorithm

就是RSA

这是我们之前学过的

因为它基本上就是

在public key和private key这一对上面进行操作

是RSA

这个是公共密钥的这个算法

那么SSL协议它有一个握手阶段

握手阶段的功能基本上是说

我需要对这个服务器进行认证

需要建立密钥

因为我不同的加密解密算法

我这个密钥有可能用的是不一样的

还有可能呢 对用户进行认证

就是对服务器进行认证这是必须的

因为你告诉我说

你是这个建设银行的主页

我怎么相信你对不对

这个你说你是建设银行

你得真的是建设银行

所以你这个服务器被认证

这是非常非常重要的

是不能够省的一步

而用户是否被认证这个就要看了

那可能这种银行的用户

那你用户肯定是要被认证

但是像电商的用户啊

我甚至可以匿名

所以有些应用它需要对用户进行认证

有些是不需要的

那用户认证是可选择的

但是不管怎样呢

服务器都是必须要被认证的

并且呢 这个密钥都是一定要建立的

就是我们要怎么样去决定

哪些密钥我们会去用到

然后怎么样去得到它们的值

这个过程是一定要有的

那这个真正的SSL协议

它的握手阶段呢

是说首先用户端给服务器发出一系列算法

以及这个用户端的nonce

第二步呢这个服务器在用户端发出的算法库中

选择适当的加密算法

并且呢 发回这个所选的算法

和这个服务器的电子证书

还有服务器端的nonce

就是算法的选择

服务器的电子证书

和服务器端的nonce

OK 这是第二步

第三步呢就是说

这个用户端对服务器的电子证书作出认证以后

就可以这个解密出服务器的公钥

电子证书怎么进行认证

这个我们前面学到的知识点啊

就是说如果我要对电子证书进行认证就是

我需要能够用这个CA

Certificate sociation 的public key

来进行解密

我们把这电子证书做认证以后呢

可以解密出来这个服务器的公钥

服务器的公钥解出来以后

生成pre-master-secret

非常重要

这个PMS

OK Pre-master-secret

然后呢并且用服务器的公钥

对pre-master-secret进行加密

得到的这个加密之后密文

发回给服务器

这个就是这个用户端做的事情

用户端来生成pre-master-secret

并且要把这个pre-master-secret

用服务器的公钥加密之后发回给服务器

这样保证只有服务器本身啊

才能够对其进行解密

因为只有服务器有相对应的private key

第四步呢就是说

这个用户端和服务器端

各自它们会独立的用这个

刚刚交换好的这个ppre-master-secret

和互换好的这个nonce

以及事先设定好的算法

来计算不同的密钥

叫做这个key derivation

就是derive不同的key

那这些key有加密密钥和MAC密钥

这个加密密钥和MAC密钥就是我们刚刚看到的

至少有4种 对吧

这个client端有client的加密密钥

client端也有client端的MAC密钥

相反这个服务器端也是有这一对密钥的

那第五步

用户端在每一条握手信息里面呢

都附上这个信息认证码

这个MAC

那第六步呢就是说

服务器对所有的握手信息

都发一次认证码

OK 我们继续这个握手阶段是怎样工作的啊

一般由用户端提供一系列的这个加密算法

尤其是破解难度有高有低的这种加密算法

那但是由这个用户端提供

有这个服务端呢进行选择

那中间人攻击呢

是有可能把难破解的算法从算法库中删除的

这是有可能的

那这个时候

我们有一个小问题就是说

为什么我们会有两个随机的nonce在里面

在刚刚这个交换了前面的两步

就我们已经看到

原因是这样的

假设Trudy偷听到了Alice和Bob之间的所有信息

那第二天呢Trudy跟Bob建立一个TCP链接

把前一天偷听来的数据包

原封不动的给Bob发一遍

这个时候那Bob如果他是个电商

比如说Amazon他有可能就是误以为

这个Alice对同一个商品买了2遍

那这个时候的解决方法呢就是看这个nonce

因为前一次的nonce已经存在过了

如果它再被用的话

那说明这是一个reply attack

or play back attack

就是一个录播攻击

那这个时候呢

这个服务器基本上就可以对其忽略不计了

那我们接着看这个SSL协议里面的

数据记录段是一个什么样的格式啊

我们说了这个数据本身

如果我们要对这个一整段数据

来做信息完整性的一个检测的话

那么我们需要收集到整个数据以后

才能做这个MAC

这样呢 效率不是很好

那所以我们要对这个数据呢

进行分段处理

每一段我们求一个MAC

那在这个SSL协议的

这个具体规定里面是这样的

我们基本上把数据分段以后

每一个数据有一个data fragment

然后这个data fragment呢

就这个数据段

我们对其求一个MAC

这个message authentication code

然后放到它的尾巴那儿去

然后对这个整个的这个data fragment

这个数据段和MAC一起啊

这个组合来进行加密

加密之后得到的这个密文

在这个密文前面再放一个record header

就这个数据段的一个段头

这个数据段的头和这个encrypted

就是加密过后的这个数据段

和它的message authentication code

一起进行传输

这个是我们要对SSL的这个数据进行的处理

那一般而言每一个SSL的这个数据段

这个fragment

它一般会含有2的14次方个字节

大概也就是约等于

这个16k bite这样一个长度

数据段这个记录格式更具体的来看呢

我们看这个第一个bite就是8个bite

第一个byte呢

它实际上是这个content byte

就是说我这个数据阶段里面有什么

就是后面两个byte就是后面的16位啊

它记录的是这个SSL的这个version number

就是它的版本号是什么

再往后的三个bytes

实际上是记录的是它的这个数据段的长度

然后是数据data本身

最最后是MAC

是这个message authentication code

那么在我们刚才已经看到了

data这个数据和MAC这两个部分

实际上是被加过密的

这页slide我们可以看一下

整个的这个实际的SSL

它的这个链接的过程是什么样的

那在这个时候呢

首先Alice她作为client

她会向Bob

假如说Bob是一个server

Alice会向Bob发一个

第一步的这个握手信息

就是first wide of handshaking

那handshake里面是说

这个hello message是client方的

这个hello message

那Bob呢就会反馈给Alice几条信息

一个呢是server端的hello message

hello back

然后呢 Bob会把自己的certificate

就是这个服务器的certificate发给Alice

这样的话Alice好从中提取出来

这个Bob的public key

然后呢Bob再给这个Alice发一条

这个server hello done

就是说我跟你说的这个握手已经结束了

那Alice拿到了Bob的这个public key以后呢

她再回来

再发一个这个handshake message

这个是client key exchange

这是我这边给你的一个密钥

然后呢

这个Alice还会给Bob发一组算法选择

后面这个加密也好

这个包括衍生钥匙的算法呀

这些选择都是什么

那Alice会发给Bob就是

Change cipher specification

Spec 就是stands for specification

OK Change Cipher Spec

这样的一个信息发给Bob

之后呢Alice再发给Bob的最后一条信息是

这个handshaking finished

就是说Alice这边的握手

这个阶段也已经结束了

到此为止就是说

Alice和Bob的握手阶段就over了

因为Bob收到了这个

Alice给他发的这一组算法的选择

Bob需要做选择

那Bob呢就会告诉Alice

OK 这个是我的选择

哪些算法我们将会用到

那Bob会发给Alice一个 change cipher spec

这样同样的一种信息

在这个信息里面包含的内容

是Bob对算法的选择

之后呢Bob会告诉Alice

OK 是彻底over了

就是说彻底的这个handshaking握手这部分

已经完全结束了

我们基本上两边已经同步了

就是该有的这个pre-master-secret

这个PMS两边都拿到了

对吧 因为Alice已经在上面的一步

就是用Bob的这个public key

已经把这个pre-master-secret给Bob呢encrypt

并且发过去了

同时呢Alice和Bob之间也已经协商好

之后都要用哪些这个加密的算法

来进行各个步骤的加密解密这个过程

那这个是我们握手的这个阶段

所要完成的任务都完成了

再往后那基本上就是说

我就可以开始发数据了

那这个Alice就可以发给Bob

这个application data

显然这个application data是用

这个Alice的这个encryption key进行加密过的

那Bob呢 也会发给Alice这个application data

Bob发给Alice的application data

是用Bob的encryption key

就是他的这个加密的密钥来进行加密的

大家应该还记得啊

我们刚才讲过的四种不同的密钥了

在这个地方client也好还是server也好

他们每一方都有自己的加密密钥

每一方都自己的MAC密钥

这一点是很重要的

那他们怎么知道哪个是哪个呢

因为我们已经对这个不同的算法

已经有所共识

并且呢 最初的那个pre-master-secret

两边都知道了

那根据这个pre-master-secret

和根据他们已经协商好的算法

后面的钥匙都可以被衍生出来

虽然他们是各自的独立的去

对这个后面的钥匙进行衍生计算

但是它们衍生出来的结果是一致的

因为他们用的衍生算法是一样的

并且这个衍生算法的输入

这个pre-master-secret是一样的

所以结果是一样的

这一点同学们一定要记住

之后呢 就是数据都发完了

然后那这个Alice呢最终她会告诉Bob说

结束这个communication了

我已经准备好可以把这个链接给断开

到这一步基本上呢

从这个Alice发给Bob的

这个最后一条Alert message之后

TCP的FIN message就可以开始操作

FIN message呢 它基本上就直接控制了

这个TCP的这个链接被彻底断开

那这样的话呢 服务器上的

它的这个资源就可以被释放

这个服务器呢就可以对其他的用户进行服务

这样就会避免了这个DOS的attack

另外一点啊

就是再多说一句

就是我们可以看到

自从handshake 这个client key结束以后

后面的就是说自从这个Alice告诉了Bob

这个pre-master-secret是什么以后

剩下的信息基本上都是

被encrypted的

就是都已经被加密过的

这点还是很重要的

一旦协商好这个pre-master-secret是什么

后面的所有信息都可以是加密过的

那再多说两句关于这个密钥衍生

在这个SSL里面

密钥衍生的用户端的nonce

服务器端的nonce和pre-master-secret

这几位放在一起

可以被输入到一个虚拟的随机函数过程中去

这个虚拟的随机函数呢

它可以生成master secret

然后呢 这个master secret和新的nonce

被一起输入到另外一个

这个随机数的生成函数

输出的密钥数字段就可以被断开

然后呢每一段

它会有一个不同的一个任务

就是作为一个独立的一个密钥段

那这个key block就是这个密钥段被分割处理

产生下列的这些密钥

包括这个用户端的MAC密钥

服务器端的MAC密钥

用户数据的加密密钥

服务器的数据的加密密钥

还有这个用户的初始向量

就是client initialization vector

大家应该还记得什么叫IV 对吧

然后还有包括这个服务器的初始向量

服务器端的初始向量

就是server initialization vector

这些东西都是我们通过

这个密钥衍生的这些函数来得到

到此为止呢我们基本上

就是讲了一下这个SSL

就是TCP层的这样一个

secure socket layer protocol

这个protocol非常非常重要

这个协议很重要

我们为什么需要这样的协议

我们的这个目的性啊

就是说这个原因已经非常清楚了

因为在网络的这个世界里面

我们有很多的这种交流

尤其是这个电商啊

包括这个银行啊

就类似这样子的

就是网上操作的一些业务

都是需要严密的

这个进行安全的保护和控制

由此呢 我们需要这个SSL

就是这样子的协议

来对类似这种tcp这一层

做更加有力的安全保护

这个就是为什么

SSL这样的协议会存在

并且呢 它是真真正正

真的是被广泛的用到的

网络安全概述课程列表:

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

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

也许你还感兴趣的课程:

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