资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章安全套接层协议,SSL,7.1SSL,协议概述,7.2SSL,原理,7.3SSL,协议加密和认证算法,7.4SSL,协议分析,7.5SSL,协议应用,第1页,7.1,SSL,协议概述,7.1.1SSL,协议总述,7.1.2SSL,工作原理,第2页,7.1.1SSL,协议总述,1.SSL,协议作用,2.SSL,协议目标,3.SSL,主要组成协议,第3页,1.SSL,协议作用,SSL,协议是一个在可持有证书浏览器软件上和,WWW,服务器之间结构安全通道中传输数据协议。,TCP,IP,是整个,Internet,数据传输和通信所使用最基本控制协议,在它之上还有,HTTP,等应用层传输协议。而,SSL,是位于,TCP/IP,和各种应用层协议之间一个数据安全协议。,SSL,协议能够有效地防止网上信息偷听、篡改以及消息伪造。,第4页,7.1.1 SSL,协议,SSL,协议在整个网络协议中位置,第5页,第6页,第7页,第8页,第9页,第10页,第11页,1.SSL,协议作用,SSL,标准关键是要处理以下几个问题。,(1),客户对服务器身份确认:,SSL,服务器允许客户浏览器使用标准公钥加密技术和一些可靠认证中心,(CA),证书,来确认服务器正当性,(,检验服务器证书和,ID,正当性,),。对于用户服务器身份确实认是否是非常主要,因为客户可能向服务器发送自己信用卡密码。,第12页,1.SSL,协议作用,(2),服务器对客户身份确认:,允许,SSL,服务器确认客户身份,,SSL,协议允许客户服务器软件经过公钥技术和可信赖证书,来确认客户身份,(,客户证书,client,s certificate),。对于服务器客户身份确实认是否是非常主要,因为网上银行可能要向客户发送机密金融信息。,(3),建立起服务器和客户之间安全数据通道:,SSL,要求客户和服务器之间全部发送数据都被发送端加密,全部接收数据都被接收端解密,这么才能提供一个高水平安全确保。同时,SSL,协议会在传输过程中检验数据是否被中途修改。,第13页,2,SSL,协议目标,按它们优先级,,SSL,协议目标以下。,(1),在通信双方之间利用加密,SSL,消息建立安全连接。,(2),操作性。通信双方程序是独立,即一方能够在不知道对方程序编码情况下利用,SSL,成功地交换加密参数。,第14页,2,SSL,协议目标,(3),可扩展性。,SSL,寻求提供一个框架结构,在此框架结构中,在不对协议进行大修改情况下,新公钥算法和单钥算法能够在必要时被加入。这么做还能够实现两个子目标:,防止产生新协议需要,因而深入防止了产生新不足可能性。,防止了实现一完整安全协议需要。,相正确有效性加密操作,尤其是公钥加密,对,CPU,来说是一个很耗时事,所以,SSL,协议引入一可选对话缓存,(CACHE),来降低从头开始连接数目。同时,它还注意降低网络活动。,第15页,3,SSL,主要组成协议,SSL,协议主要包含:握手协议,(handshake protocol),和统计协议,(record protocol),。,统计协议:定义了信息传输格式。,握手协议:用来交换双方,SSL,版本号,数字证书、密钥、会话,ID,等信息。,第16页,4.SSL协议系统框架,消费者,客户端,CA,认证,中心,商家,服务器,银行,服务器,第17页,7.1.2,SSL,工作原理,当一个使用者在,Web,上用,Netscape,浏览器漫游时,浏览器利用,HTTP,协议与,Web,服务器沟通。比如,浏览器发出一个,HTTP GET,命令给服务器,想下载一个首页,HTML,档案,而服务器会以传送档案内容给浏览器来响应。,GET,这个命令文字和,HTML,档案文字会经过会话层,(socket),连接来传送。,Socket,使两台远程计算机能利用,Internet,来通话。经过,SSL,,资料在传送出去之前就自动被加密了,它会在接收端被解密。对没有解密钥人来说,其中资料是无法阅读。,第18页,7.1.2 SSL协议工作原理,客 户 端,服 务 器,客户端,SSL,版本号等信息,服务器,SSL,版本号等信息,验证服务,器身份,验证客户,端身份,用服务器公钥加密预密码,由预密钥,生成会话密钥,用私钥解密,得到预密钥并,生成会话密钥,握手协议完成,传输数据,丢弃会话密钥,,安全通道断开,丢弃会话密钥,,安全通道断开,第一阶段:申请建立会话,第二阶段:协商密钥,第三阶段:,SSL,握手协议完成,第四阶段:数据传输,第五阶段:,SSL,协议结束,第19页,7.2,SSL,统计层协议,SSL,统计层协议限定了全部发送和接收数据打包,它提供了通信、加密功效,它是一个面向连接可靠传输协议,为,TCP,IP,提供安全保护。,在,SSL,中,全部数据被封装在统计中。一个统计由两部分组成:统计头和非零长度数据。统计头能够是,2,字节或,3,字节,(,当有填充数据时使用,),。,第20页,7.2,SSL,统计层协议,统计头类型,统计长度,MAC,数据,统计头类型,Escape,位,填充长度,统计长度,MAC,数据,填充数据,2,字节统计头,3,字节统计头,第21页,7.2.1SSL,统计头格式,SSL,统计头能够是两个或三个字节长编码。,SSL,统计头包含信息有统计头长度、统计数据长度、统计数据中是否有填充数据。,最高位为,1,时,不含有填充数据,统计头长度为两个字节,统计数据最大长度为,32767,个字节;最高位为,0,时,含有填充数据,统计头长度为三个字节,统计数据最大长度为,16383,个字节。,第22页,7.2.2,SSL,统计数据格式,SSL,统计数据部分有三个分量:,MAC-DATA,、,ACTUAL-DATA,、,PADDING-DATA,。,MAC,数据用于数据完整性检验。,MAC,计算公式:,MAC,数据:,Hash,密钥,实际数据,填充数据,序号,。,取决于传递,消息对象,和加密类型,计数器,长,度,32bit,,初,始值为,0,第23页,7.3,SSL,握手协议,SSL,协议主要由握手协议和统计层协议所组成,握手协议位于应用层之下协议,用于服务器和客户机在开始传输数据之前,通信双方进行,身份认证、协商加密算法和交换加密钥,等。,第24页,7.3.1,握手阶段,1,接通阶段,2,密钥交换阶段,3,会话密钥生成阶段,4,服务器证实阶段,5,客户机认证阶段,6,结束阶段,第25页,1,接通阶段,从客户机向服务器发送,CLIENT-HELLO,消息,其中包含,SSL,版本号,客户端可处理数据加密算法设置,会话,ID,,用来问询用随机产生数据。,服务器向客户机发出,SERVER-HELLO,,假如服务器识别出以前会话,ID,,则会话要重新开始;假如是一次新会话,则服务器向客户机发送服务器端,SSL,版本号,数据处理所需要加密算法设置,用来问询随机产生数据和一个,X.509,证书,,证书包含服务器公钥,并用证书发行机构,(CA),秘密密钥签署。,客户机以,CA,公钥解密出服务器公钥,然后用它解读服务器证书。此阶段交换消息为,CLIENT-HELLO,和,SERVER-HELLO,。,第26页,2,密钥交换阶段,在该阶段,客户机和服务器之间交换建立主密钥。,SSL V3,支持三种密钥交换,即,RSA,、,Diffie-Hellman,和,Fortezza-KEA,,利用服务器公开密钥来实现。,第27页,3,会话密钥生成阶段,该阶段客户机送出,CLIENT,SESSION,KEY,,并和服务器建立一个或两个会话密钥。此阶段交换消息为,CLIENT-SESSION-KEY,。会话密钥是从客户机选择数据中推导出来,该数据用服务器公开密钥加密。,第28页,4,服务器证实阶段,仅当采取,RSA,密钥交换算法时才执行此步骤。,一旦收到了主密钥和相继来自客户机会话密钥,服务器就用其秘密密钥解密出密钥,然后服务器向客户机送出认可信息。,第29页,5,客户机认证阶段,若要求客户机认证,则服务器要求客户机证书,客户机以,CLIENT-CERTIFICATE,进行响应,早期版本,SSL,只支持,X.509,证书,此阶段交换消息为,REQUEST-CERTIFICATE,和,CLIENT,CERTIFICATE,。,第30页,6,结束阶段,此阶段客户机服务器交换各自结束消息,客户机经过送会话,ID,作为加密文本表示完成了认证,服务器送出消息,SERVER-FINISHED,,其中包含以主密钥加密会话,ID,,这么在客户机与服务器之间就建立了可信赖会话。此阶段交换消息为,CLIENT-FINISHED,和,SERVER-FINISHED,。,第31页,简明说明,Paul,黄裳:你好 黄裳,Paul,:嗨,我是黄裳,黄裳公钥,Paul,黄裳:,prove it,黄裳,Paul,:,Paul,,我是黄裳,信息段,Paul,,我是黄裳,黄裳私钥,第32页,简明说明,假如一个黑客,叫白开心,Paul,白开心:你好 白开心,不能建立一个令,Paul,相信从黄裳消息,交换密码(,secret,)一旦,Paul,已经验证黄裳后,他能够发送给黄裳一个只有黄裳能够解密、阅读消息:,Paul,黄裳:,secret,黄裳公钥,第33页,简明说明,Paul,黄裳:你好 黄裳,Paul,:嗨,我是乙,乙校验,Paul,黄裳:,prove it,黄裳,Paul,:,Paul,,我是黄裳,信息段,Paul,,我是黄裳,黄裳私钥,Paul,黄裳:,ok,黄裳,,here is a secret secret,黄裳公钥 黄裳,Paul,:,some messagesecret-key,第34页,简明说明,黑客窃听 那么假如有一个恶意黑客白开心在,Paul,和黄裳中间,即使不能发觉,Paul,和黄裳已经交换密码,但能干扰他们交谈。他能够放过大部分信息,选择破坏一定信息(这是非常简单,因为他知道,Paul,和黄裳通话采取协议)。,第35页,简明说明,Paul,白开心:你好白开心,黄裳:你好 黄裳,白开心:嗨,我是黄裳,黄裳校验 白开心,Paul,:嗨,我是黄裳,黄裳校验,Paul,白开心:,prove it,白开心,黄裳:,prove it,黄裳,白开心:,Paul,,我是黄裳,信息段,Paul,,我是黄裳,黄裳私钥 白开心,Paul,:,Paul,,我是黄裳,信息段,Paul,,我是黄裳,黄裳私钥,Paul,白开心:,ok,黄裳,,here is a secret secret,黄裳公钥 白开心,黄裳:,ok,黄裳,,here is a secret secret,黄裳公钥 黄裳,白开心:,some messagesecret-key,白开心,Paul,:,Garblesome messagesecret-key,第36页,简明说明,白开心忽略一些数据不修改,直到,Paul,和黄裳交换密码。然后白开心干扰黄裳给,Paul,信息。在这一点上,,Paul,相信黄裳,所以他可能相信已经被干扰消息而且尽力解密。需要注意是,白开心不知道密码,他所能做就是毁坏使用秘钥加密后数据。基于协议,白开心可能不能产生一个有效消息。但下一次呢?,第37页,简明说明,Paul,黄裳:你好 黄裳,Paul,:嗨,我是乙,乙校验,Paul,黄裳:,prove it,黄裳,Paul,:嗨,我是黄裳,黄裳校验,Paul,,我是黄裳,信息段,Paul,,我是黄裳,黄裳私钥,Paul,黄裳:,ok,黄裳,,here is a secret secret,黄裳公钥,some message,,,MACsecret-key,第38页,简明说明,现在白开心已经无技可施了。他干扰了得到全部消息,但,MAC,计算机能够发觉他。,Paul,和黄裳能够发觉伪造,MAC,值而且停顿交谈。白开心不再能与黄裳通讯。,第39页,7.4.2,SSL,安全优势,SSL,使用一个经过通信双方协商确定加密算法和密钥,对不一样安全级别应用都可找到不一样加密算法,从而用于数据加密。它密钥管理处理比很好,在每次连接时经过产生一个,Hash,函数生成一个暂时使用会话密钥,所以对监听和中间人式攻击而言,含有较高防范性。,第40页,7.5.1,SET,与,SSL,特点,SET,是一个多方消息报文协议,它定义了银行、商家、持卡人之间必须符合报文规范。,SSL,只是简单地在两方之间建立了一条安全连接。,SSL,是面向连接,,SET,允许各方之间报文交换不是实时。,SET,报文能够在银行内部网络或者其它网络上传输,而,SSL,之上支付系统只能与,Web,浏览器捆绑在一起。,第41页,7.8.1,SET,与,SSL,特点,(1),认证机制方面:,SET,安全需求较高,所以全部参加,SET,交易组员(持卡人、商家、付款转接站等,),都必须先申请数字证书来识别身份,而在,SSL,中只有商店端服务器需要认证,客户端认证则是有选择性。,(2),对消费者而言,,SET,确保了商家正当性,而且用户信用卡号不会被窃取。,SET,替消费者保守了更多秘密,使其在线购物愈加轻松。,第42页,7.8.1,SET,与,SSL,特点,(3),安全性:普通公认,SET,安全性较,SSL,高,主要原因是在整个交易过程中,包含持卡人到商店、商店到付款转接站再到银行网络,都受到严密保护;而,SSL,安全范围只限于持卡人到商店端信息交流。,(4)SET,对于参加交易各方定义了互操作接口,一个系统能够由不一样厂商产品构筑。,(5),采取比率:因为,SET,设置成本较,SSL,高许多,,SET,操作对用户来说不太方便,且进入国内市场时间尚短,所以当前是,SSL,普及率高,约占,80,。不过因为网上交易安全性需求不停增强,,SET,市场拥有率会有较大幅度提升。,第43页,7.8.1,SET,与,SSL,特点,SET,协议缺点在于要求在银行网络、商家服务器、用户,PC,上安装对应软件。这给用户、商家和银行增加了许多附加费用,成了,SET,被广泛接收障碍。另外,,SET,还要求必须向各方发放证书,这也成为障碍之一:全部这些使得使用,SET,要比使用,SSL,昂贵得多。,SET,一个优点在于:它能够用在系统一部分或者全部。比如,一些商家正在考虑在与银行连接中使用,SET,,而与用户连接时依然使用,SSL,。,第44页,
展开阅读全文