安全协议ppt 第4章 传输层安全SSL和TLS课件

上传人:我*** 文档编号:145760427 上传时间:2020-09-23 格式:PPT 页数:46 大小:479KB
返回 下载 相关 举报
安全协议ppt 第4章 传输层安全SSL和TLS课件_第1页
第1页 / 共46页
安全协议ppt 第4章 传输层安全SSL和TLS课件_第2页
第2页 / 共46页
安全协议ppt 第4章 传输层安全SSL和TLS课件_第3页
第3页 / 共46页
安全协议ppt 第4章 传输层安全SSL和TLS课件_第4页
第4页 / 共46页
安全协议ppt 第4章 传输层安全SSL和TLS课件_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《安全协议ppt 第4章 传输层安全SSL和TLS课件》由会员分享,可在线阅读,更多相关《安全协议ppt 第4章 传输层安全SSL和TLS课件(46页珍藏版)》请在金锄头文库上搜索。

1、第4章 传输层安全SSL和TLS,杨礼珍,作业,课本p.147 思考题2、6、7、8,4.1 引言,SSL(安全套接层,Secure Socket Layer)和TSL(传输层安全,Transport Layer Security)为传输层提供安全性。 在传输层部署安全性的优点 IP层安全是点对点的,传输层是端对端的(网络通信中的点到点和端到端概念示意请看P.20 图1.11) 传输层提高了可靠性,使得高层服务不必关注可靠性问题。 应用层协议直接构建于传输层之上,在传输层上构架安全协议,可以把高层应用从安全性中解放出来。,SSL/TCL发展历史,1994年Netscape开发了SSL(Secu

2、re Socket Layer)协议,专门用于保护Web通讯 版本和历史(各版本谱系图见P.108 图4.1) 1.0,不成熟 2.0,基本上解决了Web通讯的安全问题 Microsoft公司发布了PCT(Private Communication Technology),并在IE中支持 3.0,1996年发布,增加了一些算法,修改了一些缺陷 TLS 1.0(Transport Layer Security, 也被称为SSL 3.1),1997年IETF发布了Draft,同时,Microsoft宣布放弃PCT,与Netscape一起支持TLS 1.0 1999年,发布RFC 2246(The

3、TLS Protocol v1.0),SSL/TCL设计目标,协议的设计目标 为两个通讯个体之间提供机密性、完整性,服务器认证以及可选的客户端认证(比较:IPSec的认证是双向的)。 互操作性、可扩展性、相对效率,4.2 SSLv3 协议流程,SSL使用过程 使用SSL保护的高层报文需要封装在SSL报文中投递 所有SSL报文最终封装在传输层报文中投递 协议分为两层 底层:记录协议,是数据承载层,数据传输单位是记录,高层协议封装在SSL记录中进行投递。 上层:握手协议、更改密钥规范协议、警告协议,4.2 SSLv3 协议流程,SSLv3协议关系图,中文版见p.109 图4.2,4.2 SSLv3

4、 协议流程,握手协议功能 必选的服务器认证 可选的客户端认证 算法协商,包括压缩算法、加密算法和消息验证码算法 密钥生成,即生成客户端与服务器共享的会话密钥。使用4个密钥用于加密和认证,4个密钥由共享密钥生成。共享密钥的生成方式: 基于RSA的密钥传输 基于D-H的密钥协商,4.2 SSLv3 协议流程,警告协议功能 报错机制 安全断连机制,即可认证的方式关闭连接,防止截断攻击。 记录协议的功能 是SSL v3的数据承载协议,规定了SSL v3的报文格式,以及对报文的处理过程。 握手报文和应用数据都要封装成“记录”的形式投递。,4.2.1 基本协议流程,典型的SSL v3通信过程(见p.110

5、 图4.3) 三次握手建立TCP连接 SSL协议过程 算法、密钥协商 由共享密钥和随机数计算4个密钥 用协商好的安全参数交互应用数据 以可认证的方式断开连接 断开TCP连接,4.2.2 更改密码规范协议,ChangeCipherSpec消息属于更改密码规范协议,功能 互相通告将启用新的密码规范 协调客户端和服务器的状态,使得双方实现同步。 连接:通信双方的一次通信过程,由一组参数描述。 会话:利用握手协议获取的一系列安全参数,包括算法、预主密钥等。 一个会话可有多个连接共享,每个会话都有唯一的标识。(对应于LT2P的隧道和会话) 会话的状态: 当前操作状态:表示正在使用的密码参数,分为读状态(

6、接受)和写状态(发送) 挂起状态:表示将要使用的密码参数,分为读状态和写状态 每个状态用一组密码参数表示,SSL握手协议作用之一为协调通信双方的状态同步。,4.2.3 Finished消息,Finished消息的功能 包含了之前所有握手消息的MAC,这样可防止通过修改握手消息实现的降级攻击。 降级攻击:攻击者修改发送的消息,降低使用算法的安全级别。 如:攻击者截获发送的ClientHello消息,以较弱的算法代替后再发送出去,从而降低了协议的安全性。Finished消息可发现消息被修改。,服务器端身份认证原理: 服务器拥有证书公钥对应的私钥才能正确解密预主密钥 才能计算正确的密钥 才能生成正确

7、的Finish*消息。,4.2.4 警告协议,警告协议的功能 报告差错,分为警告(warning)级和致命(fatal)级 应用数据传输完后,通知对方断开连接,断连消息为Close_notify,使用了消息验证码认证发送端的身份。,4.2.5 其它应用,SSL支持多种使用方式 例: 会话恢复:使用已有的会话保护某个连接,不必再重新协商新的会话状态参数。 会话状态参数:会话ID、通信对等端证书、压缩算法、加密算法、哈希算法、预主密钥、可恢复标记 连接状态参数:客户端和服务器端的随机数、服务器MAC密钥和加密密钥、客户端MAC和加密密钥、初始化向量IV以及序号,P114 图4.4 SSL会话恢复流

8、程,4.2.5.2 客户端认证,客户端认证:服务器认证客户端,和一般流程不同的是增加了以下流程,在图中用红色框表示: 服务器发送CertificateRequest消息,以通告客户端需验证其身份。 客户端响应: 客户端发送Certificate消息,将自己的证书发送给服务器。 客户端发送CertificateVerify消息,其中包含了客户端利用与证书对应的私钥对之前的握手消息所作的签名。 客户端认证和服务端认证的不同 服务器验证客户端发送的CertificateVerify消息来验证其身份。使用证书+签名。客服端拥有正确的私钥才能生成合法的签名。 客户端通过验证服务器发送的Finished消

9、息验证其身份。使用证书+公钥加密+消息认证码。服务器只有拥有正确的私钥才能正确解密客户端发送的预主密钥,才可生成正确的会话密钥,才能用正确的会话密钥生成Finished消息。,P116 图4.5 使用客户端认证的SSL,4.2.5.3 其它应用方式,SSL的预主密钥生成方式 密钥传输,RSA同时作为签名和加密算法。如普通握手流程、客服端认证。客户端选择预主密钥,使用服务器的公钥加密后发送给服务器。 密钥协商方式生成共享密钥。 D-H(见p.117 图4.6):双方提供密钥素材来生成共享密钥。图中红方框部分是有别于典型流程的地方。 FORTEZZA,p.117 图4.6 用D-H 交换生成预共享

10、密钥 的SSL流程,4.3 密钥导出,预主密钥不直接用于保护数据,而是生成4个用于数据保护的会话密钥: 服务器写加密密钥(Esc)、服务器写MAC密钥(Msc):分别用于服务器发出数据的加密和消息验证码计算。 客户端写加密密钥(Ecs)、客户端写MAC密钥(Mcs):分别用于客户端发出数据的加密和消息验证码计算。,4.3 密钥导出,密钥导出图示见P.118 图4.7,各参数的计算公式见p.118-p.119,计算过程步骤如下: 由预主密钥、客户端随机数和服务器端随机数共同生成主密钥。 由主密钥、客户端随机数和服务器端随机数共同生成密钥分组。 把密钥分组分成6块,按照所需的密钥长度依次截取得到M

11、cs、Msc、Ecs、Esc、IVcs(客户端初始向量)、和IVsc(服务器初始向量)。,4.4 SSL v3 记录,记录层是SSL的数据承载层,记录是它的数据传输单位。 握手、警告、更改密码规范和高层协议数据都要封装到SSL记录中投递。 SSL标准以规范语言描述记录格式及处理过程。 杂项:/* */表示注释 数字:unit8,unit16,unit24,unit32,unit64 向量:元素序列,定长向量:T Tn, 变长向量:T T 枚举:enume1(v1),e2(v2),.,en(vn),(n) Te; 结构:structT1 f1; T2 f2; Tn fn; T; 变体:根据实际选

12、择符不同可以选择不同的数据 常量:赋值即给一个变量赋予常量值。,4.4 SSL v3 记录,变体格式: struct T1 f1; T2 f2; Tn fn; Select(E) case e1: Te1; case e2: Te2; case en:Ten; fv Tv;,4.2 SSL v3 记录,记录层对数据处理过程: 分片:将高层协议数据分段,在每个分片添加一个记录头。 压缩:提供数据传输效率,把SSLPlaintext转化为SSLCompressed结构。 计算MAC 加密 接收方对数据处理的过程(发送方的逆过程): 解密 验证MAC 解压 分片重组,4.2 SSL v3 记录,SS

13、L发送方数据处理过程,中文图见p.122 图4.8,4.2 SSL v3 记录,记录头结构定义: 分片:SSLPlaintext(定义见p.122 4.4.2.1节) 压缩:SSLCompressed(定义见p.123 4.4.2.2节) 加密:SSLCiphertext(定义见p.123 4.4.2.3节) SSL记录格式见右图,也可见p.124 图4.9,4.2 SSL v3 记录,SSL的各个消息格式见4.4.3节(略),4.5 TLS与SSL v3比较,版本号不同:SSLv3版本号为3.0,TLSv1为3.1。 MAC计算方法不同 密钥导出方法不同 算法支持不同: SSL支持Forte

14、zza,但TLS不支持 SSLv3为临时D-H和Fortezza机制提供了附加的证书类型,但TLS没有提供。 TLS针对Kerbero协议、AES等定义了专门的加密套件,SSLv3没有。 警告类型不同:SSLv3定义了2种警告类型,TLS则定义了12种。 散列函数的输入不同。 填充长度的规定不同。,4.6 SSLv2简介,SSLv2与SSLv3的差异 版本值定义不同 协议组成不同:SSLv2仅包括握手和记录两个协议,无更改密码规范和警告协议。 SSLv2没有定义关闭连接的警告,因此无法防止截断攻击 SSLv2的错误以错误码形式给出,没有定义专门的协议或消息。 密码套件不同。 使用密钥不同:SS

15、Lv3使用4个密钥保护数据,SSLv2只使用2个密钥(不区分MAC和加密密钥)。,4.6.2 SSLv2 握手流程,SSLv2给出了三种典型的握手流程 1、没有会话ID的情况,4.6.2 SSLv2握手流程,2、客户端和服务器都发现会话ID的情况:类似于SSLv3的会话恢复,使用已有会话的预主密钥生成新的会话密钥。,4.6.2 SSLv2握手流程,3、使用会话ID和客户端认证 使用会话恢复 客户端认证:增加request_certificate和client_certificate两条消息来认证客户端身份。,4.6 SSLv2简介,记录格式:见p.140 图4.13所示 握手消息 SSLv2的

16、安全缺陷 未定义证书链,因此客户端和服务器交换的证书必须由根CA颁发,使用不便。 加密和计算MAC使用同一密钥,安全性较低。 没有验证握手消息完整性的措施,攻击者可能篡改握手消息,降低安全度。 没有安全断连的机制,无法防止截断攻击。 可能会面临一种“认证传输攻击”。,4.7 SSL应用,SSL的常见应用是构建VPN,和IPSec相比具有以下优点: 操作透明,而IPSec的部署需要安装复杂的软硬件。 用户可选,而IPSec除了管理员,其它人几乎没有选择权利。 有大量二次开发软件,而IPSec没有公开的二次开发软件。,4.7.1 利用SSL保护高层应用安全,使用SSL保护高层应用的两种方式: 分设端口:不同的访问使用不同的端口。 IETF为常见应用层协议指定了安全访问端口,见p.143表4.5,如HTTP客户端使用普通方式访问服务器时与80号端口建立连接,基于SSL访问时与443端口建立连接。基于SSL的协议通常在协议后添加S作为标识,如基于SSL的HTTP称为HTTPS。 HTTP和HTTPS的协议流程对比见p.144 图 4.14

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号