TLS(SSL)协议简述ojp

上传人:无*** 文档编号:243821300 上传时间:2024-09-30 格式:PPTX 页数:44 大小:519.94KB
返回 下载 相关 举报
TLS(SSL)协议简述ojp_第1页
第1页 / 共44页
TLS(SSL)协议简述ojp_第2页
第2页 / 共44页
TLS(SSL)协议简述ojp_第3页
第3页 / 共44页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,*,1,计算机系统安全,第十三章,TLS(SSL),协议,2,TCP/IP,协议栈中的安全,一、,SSL,协议的概述,3,SSL,协议的发展,一、,SSL,协议的概述,4,SSL,协议的位置,一、,SSL,协议的概述,SSL,协议要求建立在可靠的传输层协议,(,如:,TCP),之上,。,SSL,协议的优势在于它是与应用层协议独立无关的。,高层的应用层协议,(,例如:,HTTP,,,FTP,,,TELNET),能透明的建立于,SSL,协议之上。,SSL,协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。,5,SSL,协议的位置,一、,SSL,协议的概述,SSL,协议建立在传送层和应用层之间,由记录协议和握手协议组成,其中记录协议在握手协议下端。,SSL,在,TCP,之上建立了一个加密通道。,IP,HTTP/ S- HTTP,FTP,SMTP,TCP,SSL or TLS,6,主要功能,一、,SSL,协议的概述,1、SSL,服务器认证:,允许用户确认服务器身份。支持,SSL,协议的客户机软件能使用公钥密码标准技术检查服务器证书、公用,ID,是否有效和是否由在客户信任的,CA,列表内的认证机构发放。,2、SSL,客户机认证:,允许服务器确认用户身份。使用应用于服务器认证同样的技术,支持,SSL,协议的服务器软件能检查客户证书、公用,ID,是否有效和是否由在服务器信任的认证机构列表内的,CA,发放。,7,主要功能,一、,SSL,协议的概述,3、机密性:,一个加密的,SSL,连接要求所有在客户机与服务器之间发送的信息由发送方软件加密和由接受方软件解密,这样提供了高度机密性。,4、完整性:,所有通过加密,SSL,连接发送的数据都被一种检测篡改的机制所保护,这种机制自动地决定传输中的数据是否已经被更改。,8,连接安全,一、,SSL,协议的概述,SSL,协议提供的连接安全有三个基本属性:,连接是保密的。对称加密法用于数据加密(如用,DES,和,RC4,等)。,对方的身份能够使用非对称或公钥密码进行认证(如用,RSA,和,DSS,等)。,连接是可靠的。消息传输包括使用消息认证码(,MAC),的消息完整性检查,安全哈希函数(如,SHA,和,MD5,等)用于消息认证码计算。,9,SSL,协议的组成,一、,SSL,协议的概述,SSL,协议包括两个子协议:,SSL,记录协议和,SSL,握手协议,。,SSL Handshake Protocol,SSL Change Cipher Spec Protocol,SSL Alert Protocol,HTTP, FTP,SSL Record Protocol,TCP,IP,10,SSL,协议的组成,一、,SSL,协议的概述,记录协议,定义了要传输数据的格式,它位于一些可靠的的传输协议,TCP,之上,,,用于各种更高层协议的封装。记录协议主要完成分组和组合,压缩和解压缩,以及消息认证和加密等功能。所有传输数据包括握手消息和应用数据都被封装在记录中。,握手协议,允许服务器与客户机在应用程序传输和接收数据之前互相认证、协商加密算法和密钥。,11,SSL,握手协议,一、,SSL,协议的概述,在初次建立,SSL,连接时使用,SSL,记录协议交换一系列消息。为如下操作做准备:,. 客户机对服务器的认证。,. 客户机与服务器都支持的加密算法或密码。,. 服务器对客户的认证(可选)。,.使用公钥加密技术生成共享密钥。,.建立加密,SSL,连接。,12,四个目标,二、目标,加密安全性:在双方之间建立安全的连接。,协同工作能力:独立程序员能够使用,SSL3.0,开发应用,然后能够在不知道他人代码的情况下成功地交换加密参数。,可扩展性:,SSL,致力于提供一种框架,在必要时新的公钥和大批加密方法可以整合进来。,相对效率:考虑到加密操作特别是公钥操作的速度问题,,SSL,协议使用可选的会话缓冲方案以降低连接数量,减少网络操作行为。,13,支持的密码,三、,SSL,协议支持的密码,带,SHA-1,消息认证、支持168位加密的3,-DES,,速度不如,RC4,快。大约有3.7 * 10,50,个密码。,带,MD5,消息认证、支持128位加密的,RC4,RC4,和,RC2,都有128位的密码,加密强度仅次于,3-DES。RC4,和,RC2,大约有3.4 * 10,38,个密码可用。,RC4,密码是,SSL,支持的密码中最快的。,带,SHA-1,消息认证、支持56位加密的,DES,,大约有7.2 * 10,16,个可用的密码(在,SSL2.0,中该密码使用的是,MD5,消息认证)。,14,支持的密码,三、,SSL,协议支持的密码,美国允许以下加密技术出口:,带,MD5,消息认证、支持40位加密的,RC4,,大约有个1.1 * 10,12,可用的密码。,带,MD5,消息认证、支持40位加密的,RC2,,大约有个1.1 * 10,12,可用的密码。,注:对,RC2,和,RC4,支持40位加密,其中密钥仍是128位的,但只有40位有加密意义。,不加密,只带,MD5,消息认证。(,SSL3.0,支持而,SSL2.0,不支持)。,15,主要工作流程,四、,SSL,协议原理及工作流程,网络连接建立;,选择与该连接相关的加密和压缩方式;,双方的身份识别;,本次传输密钥的确定;,加密的数据传输;,网络连接的关闭。,16,主要工作流程,四、,SSL,协议原理及工作流程,应用数据的传输过程为 :,)应用程序把应用数据提交给本地的,SSL;,)发送端的,SSL,根据需要 :,a),使用指定的压缩算法 ,压缩应用数据;,b),使用散列算法对压缩后的数据计算散列值;,c),把散列值和压缩数据一起用加密算法加密;,3) 密文通过网络传给对方;,17,主要工作流程,四、,SSL,协议原理及工作流程,4)接收方的,SSL,用相同的加密算法对密文解密 ,得到明文;,用相同的散列算法对明文中的应用数据散列;,计算得到的散列值与明文中的散列值比较;,5)如果一致 ,则明文有效 ,接收方的,SSL,把明文解压后得到应用数据上交给应用层。否则就丢弃数据 ,并向发方发出告警信息。严重的错误有可能引起再次的协商或连接中断。,18,记录协议工作流程,四、,SSL,协议原理及工作流程,19,记录协议工作流程,四、,SSL,协议原理及工作流程,Application data,Fragment,Compress,Add MAC,Encryption,Append SSL,record header,20,四、,SSL,协议原理及工作流程,SSL,记录格式,内容类型,主版本号,次版本号,压缩长度,被压缩(可选)的明文,MAC (0, 16 or 20,字节),加密数据,21,内容类型:长8位,表示封装数据的上一层协议,如:握手协议、报警协议、更改密码说明协议或应用数据,主版本号:8位,3.0版为3,次版本号:8位,3.0版为0,压缩长度:16位,表示压缩后的数据字节数,SSL,记录格式,22,四、,SSL,协议原理及工作流程,SSL,记录协议的负载,23,SSL,记录数据的格式,四、,SSL,协议原理及工作流程,SSL,的记录包含三个部分:,MAC,数据、实际数据和粘贴数据。,MAC,数据用于数据完整性检查。,MAC,数据,HASH,密钥,实际数据,粘贴数据,序号。,当会话的客户端发送数据时,密钥是客户的写密钥(服务器用读密钥来验证,MAC,数据);而当会话的客户端接收数据时,密钥是客户的读密钥(服务器用写密钥来产生,MAC,数据)。,序号是一个可以被发送和接收双方递增的计数器。计数器有32位,计数值循环使用,每发送一个记录计数值递增一次,序号的初始值为0。,24,SSL,握手协议,四、,SSL,协议原理及工作流程,SSL,握手协议包含两个阶段:,第一个阶段:建立私密性通信信道;,第二个阶段:客户认证。,25,SSL,握手协议工作流程,四、,SSL,协议原理及工作流程,第一阶段:通信初始化。当双方都收到对方,HELLO,消息时,就有足够信息确定是否需要新密钥。若不需要新密钥,则进入握手第二阶段。否则,客户方根据服务器方的,SERVERHELLO,消息(包含服务器持有证书、加密规约和连接标识)产生新密钥,并发出,CLIENT MASTER KEY,消息。最终服务器方向客户方发出,SERVERVERIFY,消息。只有拥有合适的公钥的服务器才能解开密钥。,26,SSL,握手协议工作流程,四、,SSL,协议原理及工作流程,每一通信方向上都需要一对密钥,所以一个连接需要四个密钥,分别为客户方的读密钥、写密钥、服务器方的读密钥、写密钥。,第二阶段:对客户进行认证,此时服务器已经被认证了。服务器向客户发出认证请求消息:,REQUESTCERTIFICATE。,当客户收到服务器方的认证请求消息,发出自己的证书,并且监听对方回送的认证结果。而当服务器收到客户的认证,认证成功返回,SERVERFINISH,消息,否则返回错误消息。握手过程到此全部结束。,27,SSL,握手协议工作流程,四、,SSL,协议原理及工作流程,Client Hello,Server Hello, Certificate + Cert chain,Client Key exchange,Server Change Cipher,Client Change Cipher,Client Server Data,28,SSL,握手协议工作流程,四、,SSL,协议原理及工作流程,CLIENT,SERVER,ClientHello,ServerHello,Certificate*,CertificateRequest*,ServerKeyExchange*,Certificate*,ClientKeyExchange,CertificateVerify*,change cipher spec,Finished,change cipher spec,Finished,Application Data,Application Data,29,SSL,握手协议工作流程,四、,SSL,协议原理及工作流程,CLIENT,SERVER,ClientHello,ServerHello,change cipher spec,Finished,change cipher spec,Finished,Application Data,Application Data,30,四、,SSL,协议原理及工作流程,消息类型 参数,hello_requestnull,client_hello/,version,random,session id,,server_hello,cipher suite, compression method,certificate chain of X.509v3 certificates,server_key_exchangeparameters,signature,certificate_request type,authorities,server_done null,certificate_verifysignature,client_key_exchangeparameters,signature,finishedhash value,31,认证服务器的身份,四、,SSL,协议原理及工作流程,1从服务器端传送的证书中获得相关信息,2当天的时间是否在证书的合法期限内;,3签发证书的机关是否客户端信任的;,4签发证书的公钥是否符合签发者的数字签名,5证书中的服务器域名是否符合服务器自己真正的域名,6服务器被验证成功,客户继续进行握手过程。,32,认证客户端的身份,四、,SSL,协议原理及工作流程,1 客户端传送的证书中获得相关信息;,2 用户的公钥是否符合用户的数字签名;,3 当天的时间是否在证书的合法期限内;,4 签发证书的机关是否服务器信任的;,5 签发证书的机关是否服务器端信任的;,6用户的证书是否在服务器的,LDAP,用户信息中,7该用户是否有权限访问请求的服务器资源,33,工作流程,4阶段,四、,SSL,协议原理及工作流程,34,工作流程,四、,SSL,协议原理及工作流程,1.,C,S:,发送客户的,SSL,版本号、密码设置、随机数以及服务器使用,SSL,协议通信所需的其它信息。,2.,S,C:,发送服务器的,SSL,版本号、密码设置、随机数以及客户机使用,SSL,协议通信所需的其它信息。服务器还要发送自己的证书,若需要对客户认证,则要求客户发送证书,。,3.,C,对,S,认证。若,S,不能被认证,用户收到警告,通知加密和认证连接不能建立。若服务器能被成功地认证,客户机继续下一步。,35,工作流程,四、,SSL,协议原理及工作流程,4. 使用所有在握手中生成的数据,客户机为会话创建,pre_master_secret,,用服务器公钥(从服务器证书中得到)加密它,向服务器发送加密的,pre_master_secret。,5.,若服务器已经要求客户认证,客户机会向服务器随加密的,pre_master_secret,一起发送签名的数据和客户自己的证书。,6.,S,试图去认证客户。若认证成功,,S,使用私钥加密,pre_master_secret,,然后执行一系列步骤生成,master secret。,否则会话终止。,36,工作流程,四、,SSL,协议原理及工作流程,7.,客户机与服务器使用,master secret,生成会话密钥。该密钥是对称密钥,用于加密和解密在,SSL,会话期间交换的信息,检验信息完整性即检测通过,SSL,连接发送和接收期间数据中的任何改变。,8.,C,S:,发送消息通知以后从客户机来的消息将用会话密钥加密。客户机然后发送一条独立的(加密的)消息表明握手的客户机部分已经完成。,37,工作流程,四、,SSL,协议原理及工作流程,9.,S,C:,发送消息通知以后从服务器来的消息将用会话密钥加密。服务器然后发送一条独立的(加密的)消息表明握手的服务器部分已经完成。,10.,SSL,握手完成,,SSL,会话开始。客户机与服务器使用会话加密和解密他们彼此发送的数据和验证数据完整性。,38,工作流程,四、,SSL,协议原理及工作流程,在继续会话之前,,Netscape,服务器能被配置成检查客户证书是否出现在,LDAP,目录里的用户条目中。这个配置选项提供了一条途径确认客户证书尚未被撤消。重要的是要注意到客户机与服务器证书与用公钥/密钥对中的一个加密一些数据而用其它密钥解密数据有关。,在服务器认证的情况下,客户机用服务器公用密钥加密,pre_master_secret。,只有相应的密钥能够正确地解密,pre_master_secret,,客户才确信:与公钥相关联的标识符事实上是服务器与客户机连接使用的。否则,服务器不能解密,pre_master_secret、,不能生成会话要求的对称密钥,会话将被终止。,39,工作流程,四、,SSL,协议原理及工作流程,在客户认证的情况下,客户机用客户的密钥加密一些随机数据,创建一个数字签名。只有在相应的密钥被使用时,客户证书中的公钥能够正确验证数字签名。否则,服务器不能验证数字签名,会话被终止。,40,密钥协商的形象化比喻,四、,SSL,协议原理及工作流程,假设,SSL,客户端,C,与,SSL,服务器端,S,通信,加密后的消息放在方括号里,以区别于明文消息。双方的处理动作的说明用圆括号()括起。,C:,我想和你安全的通话,我这里的对称加密算法有,DES,RC5,密钥交换算法有,RSA,和,DH,,摘要算法有,MD5,和,SHA。,S:,我们用,DESRSASHA,这对组合好了。 这是我的证书,里面有我的名字和公钥,你拿去验证一下我的身份(把证书发给,C)。,41,密钥协商的形象化比喻,四、,SSL,协议原理及工作流程,C:(,查看证书上,S,的名字,并通过手头已有的,CA,的证书验证,S,的证书的真实性,如果有误, 发出警告并断开连接,这一步保证了,B,的公钥的真实性),(产生一份秘密消息称为,per_master_secret,,以后用于对初始化向量和,hmac,进行加密,然后用,S,的公钥加密成为,ClientKeyExchange,),42,密钥协商的形象化比喻,我生成了一份秘密消息,并用你的公钥加密传给你了,(把,ClientKeyExchange,发给,S),注意:下面我要用加密办法给你发消息了!,(将秘密消息进行处理,生成加密密钥,加密初始化向量和,hmac,的密钥),我说完了,43,密钥协商的形象化比喻,四、,SSL,协议原理及工作流程,S:,用自己的私钥对,ClientKeyExchange,解密,然后将秘密消息进行处理,生成加密密钥, 加密初始化向量和,hmac,的密钥,这时双方已经安全的协商出一套加密办法了),注意:我也要开始用加密办法给你发消息了! 我说完了,C: ,我的秘密是.,S: ,其它人不会听到的.,演讲完毕,谢谢观看!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!