安全协议传输层安全和_第1页
安全协议传输层安全和_第2页
安全协议传输层安全和_第3页
安全协议传输层安全和_第4页
安全协议传输层安全和_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安全协议传输层安全和第1页,共45页。作业课本p.147思考题2、6、7、8第2页,共45页。4.1引言第3页,共45页。SSL/TCL发展历史第4页,共45页。SSL/TCL设计目标协议的设计目标为两个通讯个体之间提供机密性、完整性,服务器认证以及可选的客户端认证(比较:IPSec的认证是双向的)。互操作性、可扩展性、相对效率第5页,共45页。4.2SSLv3协议流程SSL使用过程使用SSL保护的高层报文需要封装在SSL报文中投递所有SSL报文最终封装在传输层报文中投递协议分为两层底层:记录协议,是数据承载层,数据传输单位是记录,高层协议封装在SSL记录中进行投递。上层:握手协议、更改密钥规范协议、警告协议第6页,共45页。4.2SSLv3协议流程SSLv3协议关系图,中文版见p.109图4.2第7页,共45页。4.2SSLv3协议流程握手协议功能必选的服务器认证可选的客户端认证算法协商,包括压缩算法、加密算法和消息验证码算法密钥生成,即生成客户端与服务器共享的会话密钥。使用4个密钥用于加密和认证,4个密钥由共享密钥生成。共享密钥的生成方式:基于RSA的密钥传输基于D-H的密钥协商第8页,共45页。4.2SSLv3协议流程警告协议功能报错机制安全断连机制,即可认证的方式关闭连接,防止截断攻击。记录协议的功能是SSLv3的数据承载协议,规定了SSLv3的报文格式,以及对报文的处理过程。握手报文和应用数据都要封装成“记录”的形式投递。第9页,共45页。基本协议流程典型的SSLv3通信过程(见p.110图4.3)三次握手建立TCP连接SSL协议过程算法、密钥协商由共享密钥和随机数计算4个密钥用协商好的安全参数交互应用数据以可认证的方式断开连接断开TCP连接第10页,共45页。第11页,共45页。第12页,共45页。更改密码规范协议ChangeCipherSpec消息属于更改密码规范协议,功能互相通告将启用新的密码规范协调客户端和服务器的状态,使得双方实现同步。连接:通信双方的一次通信过程,由一组参数描述。会话:利用握手协议获取的一系列安全参数,包括算法、预主密钥等。一个会话可有多个连接共享,每个会话都有唯一的标识。(对应于LT2P的隧道和会话)会话的状态:当前操作状态:表示正在使用的密码参数,分为读状态(接受)和写状态(发送)挂起状态:表示将要使用的密码参数,分为读状态和写状态每个状态用一组密码参数表示,SSL握手协议作用之一为协调通信双方的状态同步。第13页,共45页。消息Finished消息的功能包含了之前所有握手消息的MAC,这样可防止通过修改握手消息实现的降级攻击。降级攻击:攻击者修改发送的消息,降低使用算法的安全级别。如:攻击者截获发送的ClientHello消息,以较弱的算法代替后再发送出去,从而降低了协议的安全性。Finished消息可发现消息被修改。第14页,共45页。服务器端身份认证原理:服务器拥有证书公钥对应的私钥才能正确解密预主密钥

才能计算正确的密钥

才能生成正确的Finish*消息。第15页,共45页。警告协议警告协议的功能报告差错,分为警告(warning)级和致命(fatal)级应用数据传输完后,通知对方断开连接,断连消息为Close_notify,使用了消息验证码认证发送端的身份。第16页,共45页。其它应用SSL支持多种使用方式例:会话恢复:使用已有的会话保护某个连接,不必再重新协商新的会话状态参数。会话状态参数:会话ID、通信对等端证书、压缩算法、加密算法、哈希算法、预主密钥、可恢复标记连接状态参数:客户端和服务器端的随机数、服务器MAC密钥和加密密钥、客户端MAC和加密密钥、初始化向量IV以及序号第17页,共45页。P114图4.4SSL会话恢复流程第18页,共45页。客户端认证客户端认证:服务器认证客户端,和一般流程不同的是增加了以下流程,在图中用红色框表示:服务器发送CertificateRequest消息,以通告客户端需验证其身份。客户端响应:客户端发送Certificate消息,将自己的证书发送给服务器。客户端发送CertificateVerify消息,其中包含了客户端利用与证书对应的私钥对之前的握手消息所作的签名。客户端认证和服务端认证的不同服务器验证客户端发送的CertificateVerify消息来验证其身份。使用证书+签名。客服端拥有正确的私钥才能生成合法的签名。客户端通过验证服务器发送的Finished消息验证其身份。使用证书+公钥加密+消息认证码。服务器只有拥有正确的私钥才能正确解密客户端发送的预主密钥,才可生成正确的会话密钥,才能用正确的会话密钥生成Finished消息。第19页,共45页。P116图4.5使用客户端认证的SSL第20页,共45页。其它应用方式SSL的预主密钥生成方式密钥传输,RSA同时作为签名和加密算法。如普通握手流程、客服端认证。客户端选择预主密钥,使用服务器的公钥加密后发送给服务器。密钥协商方式生成共享密钥。D-H(见p.117图4.6):双方提供密钥素材来生成共享密钥。图中红方框部分是有别于典型流程的地方。FORTEZZA第21页,共45页。p.117图4.6用D-H交换生成预共享密钥的SSL流程第22页,共45页。4.3密钥导出预主密钥不直接用于保护数据,而是生成4个用于数据保护的会话密钥:服务器写加密密钥(Esc)、服务器写MAC密钥(Msc):分别用于服务器发出数据的加密和消息验证码计算。客户端写加密密钥(Ecs)、客户端写MAC密钥(Mcs):分别用于客户端发出数据的加密和消息验证码计算。第23页,共45页。4.3密钥导出密钥导出图示见P.118图4.7,各参数的计算公式见p.118-p.119,计算过程步骤如下:由预主密钥、客户端随机数和服务器端随机数共同生成主密钥。由主密钥、客户端随机数和服务器端随机数共同生成密钥分组。把密钥分组分成6块,按照所需的密钥长度依次截取得到Mcs、Msc、Ecs、Esc、IVcs(客户端初始向量)、和IVsc(服务器初始向量)。第24页,共45页。4.4SSLv3记录记录层是SSL的数据承载层,记录是它的数据传输单位。握手、警告、更改密码规范和高层协议数据都要封装到SSL记录中投递。SSL标准以规范语言描述记录格式及处理过程。杂项:/*…*/表示注释数字:unit8,unit16,unit24,unit32,unit64向量:元素序列,定长向量:TT’[n],变长向量:TT’<floor..ceiling>枚举:enum{e1(v1),e2(v2),..,en(vn)[[,(n)]]}Te;结构:struct{T1f1;T2f2;…;Tnfn;}[[T]];变体:根据实际选择符不同可以选择不同的数据常量:赋值即给一个变量赋予常量值。第25页,共45页。4.4SSLv3记录变体格式:struct{T1f1;T2f2;…Tnfn;Select(E){casee1:Te1;casee2:Te2;…caseen:Ten;}[[fv]]}[[Tv]];第26页,共45页。4.2SSLv3记录记录层对数据处理过程:分片:将高层协议数据分段,在每个分片添加一个记录头。压缩:提供数据传输效率,把SSLPlaintext转化为SSLCompressed结构。计算MAC加密接收方对数据处理的过程(发送方的逆过程):解密验证MAC解压分片重组第27页,共45页。4.2SSLv3记录

SSL发送方数据处理过程,中文图见p.122图4.8第28页,共45页。4.2SSLv3记录记录头结构定义:分片:SSLPlaintext(定义见节)压缩:SSLCompressed(定义见节)加密:SSLCiphertext(定义见节)SSL记录格式见右图,也可见p.124图4.9第29页,共45页。4.2SSLv3记录第30页,共45页。4.5TLS与SSLv3比较版本号不同:SSLv3版本号为3.0,TLSv1为3.1。MAC计算方法不同密钥导出方法不同算法支持不同:SSL支持Fortezza,但TLS不支持SSLv3为临时D-H和Fortezza机制提供了附加的证书类型,但TLS没有提供。TLS针对Kerbero协议、AES等定义了专门的加密套件,SSLv3没有。警告类型不同:SSLv3定义了2种警告类型,TLS则定义了12种。散列函数的输入不同。填充长度的规定不同。第31页,共45页。4.6SSLv2简介SSLv2与SSLv3的差异版本值定义不同协议组成不同:SSLv2仅包括握手和记录两个协议,无更改密码规范和警告协议。SSLv2没有定义关闭连接的警告,因此无法防止截断攻击SSLv2的错误以错误码形式给出,没有定义专门的协议或消息。密码套件不同。使用密钥不同:SSLv3使用4个密钥保护数据,SSLv2只使用2个密钥(不区分MAC和加密密钥)。第32页,共45页。握手流程SSLv2给出了三种典型的握手流程1、没有会话ID的情况第33页,共45页。第34页,共45页。握手流程2、客户端和服务器都发现会话ID的情况:类似于SSLv3的会话恢复,使用已有会话的预主密钥生成新的会话密钥。第35页,共45页。第36页,共45页。握手流程3、使用会话ID和客户端认证使用会话恢复客户端认证:增加request_certificate和client_certificate两条消息来认证客户端身份。第37页,共45页。第38页,共45页。4.6SSLv2简介记录格式:见p.140图4.13所示握手消息SSLv2的安全缺陷未定义证书链,因此客户端和服务器交换的证书必须由根CA颁发,使用不便。加密和计算MAC使用同一密钥,安全性较低。没有验证握手消息完整性的措施,攻击者可能篡改握手消息,降低安全度。没有安全断连的机制,无法防止截断攻击。可能会面临一种“认证传输攻击”。第39页,共45页。4.7SSL应用SSL的常见应用是构建VPN,和IPSec相比具有以下优点:操作透明,而IPSec的部署需要安装复杂的软硬件。用户可选,而IPSec除了管理员,其它人几乎没有选择权利。有大量二次开发软件,而IPSec没有公开的二次开发软件。第40页,共45页。使用SSL保护高层应用的两种方式:分设端口:不同的访问使用不同的端口。IETF为常见应用层协议指定了安全访问端口,见p.143表4.5,如HTTP客户端使用普通方式访问服务器时与80号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论