《安全协议工程之SSL协议分析11682.docx》由会员分享,可在线阅读,更多相关《安全协议工程之SSL协议分析11682.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 安全协议工工程 题 目: SSSL协议分析 系 别:专 业: 学生姓名: 学 号: 指导教师: 2011 年 6 月 23日 摘 要 目前,随随着Interrnet的快速发展展,人们在使使用互联网的的场地越来越越多,范围越越来越广泛,互互联网上的信信息安全越来来越引起人们们的关注。特特别是近年来来网上银行、电电子商务和电电子政务的快快速发展,如如何保证用户户的传输信息息,特别是交交易信息的保保密性、完整整性已成为迫迫切需要解决决的问题。为为此人们研究究越来越多的的措施来保护护用户的信息息,所以有了了很多的安全全协议,其中中安全套接层层协议(Secuurity Sockeet Layyer P
2、rrotocool , 简称SSL)是Interrnet上进行保密密通信的一个个安全协议。关键词:Intternett;信息安全全;保密性;完整性;安安全套阶层协协议 目 录引言 41. SSL简简介 42. SSL工工作原理 43. SSL协协议提供的服服务 54. SSL记记录层协议 55. SSL握握手协议 76. SSL的的应用 107. SSL的的安全性分析析 11引言网络的迅速发展展,逐渐普及及到各个领域域,但是有利利也有弊,发发展越快,出出现的问题也也就越多。而而最终的的还还是信息方面面的安全保证证,特别是在在传输过程中中,为此诸多多杰出的人员员也加入到这这个研究中,研研究怎么样
3、最最大程度保护护信息的安全全传输。传输层在TCPP/IP协议族中具有有重要地位,它它加强和弥补补了IP层的服务。从从服务类型看看,IP层是点到点点的,而传输输层提供端到到端的服务;从服务质量量看,传输层层提高了可靠靠性,使得高高层应用不必必关注可靠性性问题,而仅仅需解决与自自身应用功能能相关的问题题;从协议依依赖关系看,应应用层协议直直接构建于传传输层之上。应用层协议直接接与用户交互互,因此它们们的安全性也也会受到最直直接的关注。举举个直观的例例子,电子商商务系统通常常采用B/S结构,用户户通过浏览器器访问电子商商务网站、购购买商品并进进行网上支付付。在这类应应用中,机密密性、完整性性、服务器
4、身身份认证、不不可否认性和和可用性都是是用户所需的的。此外,在在进行文件和和邮件传输时时,用户也有有类似的安全全需求。遗憾憾的是,常用用的HTTP、FTP等协议都无无法满足这些些安全需求。虽虽然HTTP、等协议提供供了基于口令令的身份认证证机制,但在在互联网这个个开放的环境境中,这种简简单的保护显显得微不足道道。改变这种现状的的途径之一就就是为每个应应用层协议都都增加安全功功能。对于应应用设计者而而言,这是一一个并不轻松松的工作;对对于应用使用用者而言,部部署多个安全全应用时,势势必会消耗大大量的系统资资源。另一种种途径就是从从传输层人手手。既然高层层应用都是基基于传输层的的,那么增强强这个层
5、次的的安全性显得得更具备通用用性。它可以以把高层应用用从安全性这这个复杂的命命题中解放出出来,使用者者也可用较小小的开销获得得所需的安全全服务。1. SSL简简介SSL和TLSS,它们分别别是安全套接接层( Seccure SSockett Layeer)和传输层安安全(Transsport Layerr Secuurity)的缩写,是是为网络通信信提供安全及及数据完整性性的一种安全全协议TLS与SSL,在传输层层对网络连接接进行加密。SSL 首先由网景公司提出,最初 是为了保护 Web安全,最终 却为提高传输层安全提供了一个通用的解决方案。在SSL获得了广泛应用 之后,IETF斟于SSLv3
6、,制定TLS标准。TLSv1与SSLv3 几乎完全一致。SSL协议位于于与各种应用用层协议之间间,为数据通通讯提供安全全支持。SSL协议可分为为两层: SSL记录协议(SSL RRecordd Prottocol):它建立立在可靠的传传输协议(如如TCP)之上,为为高层协议提提供数据封装装、压缩、加加密等基本功功能的支持。 SSL握手协议(SSL HHandshhake PProtoccol):它建立立在SSL记录协议之之上,用于在在实际的数据据传输开始前前,通讯双方方进行身份认认证、协商加加密算法、交交换加密等。2. SSL工工作原理 SSLL的工作原理理:当一个使使用者在Web上用Nets
7、ccape浏览器漫游游时,浏览器器利用HTTP协议与Web服务器沟通通。例如,浏浏览器发出一一个HTTP GGET命令给服务务器,想下载载一个首页的的HTML档案,而服服务器会将档档案的内容传传送给浏览器器来响应。GET这个命令的的文字和HTML档案的文字字会通过会话话层(Sockeet)的连接来来传送,Sockeet使两台远程程的计算机能能利用Interrnet来通话。通通过SSL,资料在传传送出去之前前就自动被加加密了,它会会在接收端被被解密。对没没有解密钥的的人来说,其其中的资料是是无法阅读的的。 SSLL采用TCP作为传输协协议提供数据据的可靠传送送和接收。SSL工作在Socket层上
8、,因此此独立于更高高层应用,可可为更高层协协议,如Telneet、提供安全业业务。SSL提供的安全全业务和TCP层一样,采采用了公开密密钥和私人密密钥两种加密密体制对Web服务器和客客户机(选项项)的通信提提供保密性、数数据完整性和和认证。在建建立连接过程程中采用公开开密钥,在会会话过程中使使用私人密钥钥。加密的类类型和强度则则在两端之间间建立连接的的过程中判断断决定。在所所有情况下,服服务器通过以以下方法向客客户机证实自自身:给出包包含公开密钥钥的、可验证证的证明;演演示它能对用用此公开密钥钥加密的报文文进行解密。 为了支持客户机机,每个客户户机都要拥有有一对密钥,这这要求在Interrne
9、t上通过Netsccape分配。由于Interrnet中的服务器器数远少于客客户机数,因因此能否处理理签字及密钥钥管理的业务务量是很重要要的,并且与与客户联系比比给商家以同同样保证更重重要。 3. SSL协协议提供的服服务 (1)用户和和服务器的合合法性认证 使得用户和服务务器能够确信信数据将被发发送到正确的的客户机和服服务器上。客客户机和服务务器都有各自自的识别号,由由公开密钥编编排。为了验验证用户,安安全套接层协协议要求在握握手交换数据据中做数字认认证,以此来来确保用户的的合法性。 (2)加密数数据以隐藏被被传送的数据据 安全套接层协议议采用的加密密技术既有对对称密钥,也也有公开密钥钥。具
10、体来说说,就是客户户机与服务器器交换数据之之前,先交换换SSL初始握手信信息。在SSL握手信息中中采用了各种种加密技术,以以保证其机密密性和数据的的完整性,并并且经数字证证书鉴别,这这样就可以防防止非法用户户破译。 (3)维护数数据的完整性性 安全套接层协议议采用密码杂杂凑函数和机机密共享的方方法,提供完完整信息性的的服务,来建建立客户机与与服务器之间间的安全通道道,使所有经经过安全套接接层协议处理理的业务,在在传输过程中中都能完整、准准确无误地到到达目的地。 4. SSL记记录层协议SSL记录层协协议限定了所所有发送和接接收数据的打打包,它提供供了通信、身身份认证功能能,它是一个个面向连接的
11、的可靠传输协协议,如TCP/IP提供安全保保护。 在SSL中所有有数据被封装装在记录中。一一个记录由两两部分组成:记录头和非非零长度的数数据。记录头头可以是2字节或3字节(当有有填充数据时时使用)。SSL握手层协议议的报文要求求必须放在一一个SSL记录层的记记录里,但应应用层协议的的报文允许占占用多个SSL记录来传送送。 1SSL记录录头格式 SSL记录头可可以是2个或3个字节长的的编码。SSL记录头包含含的信息有记记录头的长度度、记录数据据的长度,以以及记录数据据中是否有填填充数据,其其中填充数据据是在使用块块加密(blockken-crryptioon)算法时,填填充实际数据据,使其长度度
12、恰好是块的的整数倍。最最高位为1时,不含有有填充数据,记记录头的长度度为2个字节,记记录数据的最最大长度为32767个字节;最最高位为0时,含有填填充数据,记记录头的长度度为3个字节,记记录数据最长长为16383个字节。 2字节头记录记录头类型 记录长度 MAC 数据 3字节头记录记录头类型 EScape位 记录长度 填充长度 MAC 数据 填充数据 SSL记录层结构 当数据据头长度是3个字节时,次次高位有特殊殊的含义。次次高位为1时,表示所所传输的记录录是普通的数数据记录;次次高位为0时,表示所所传输的记录录是安全空白白记录(被保保留用于将来来协议的扩展展)。 记录头中数据长长度编码不包包括
13、数据头所所占用的字节节长度。记录录头长度为2个字节时,记记录长度的计计算公式为:记录长度?(Byte0&0xx7f)8)|Bytee1。其中Byte0、Byte1分别表示传传输的第一个个、第二个字字节。 记录头长度为33个字节时,记记录长度的计计算公式是:记录长(Byte0&0xx3f88) |Byte11。其中Byte0、Byte11的含义同上上。判断是否否是安全空白白记录的计算算公式是:(Byte0&0xx40)!?0。填充数据据的长度为传传输的第三个个字节。2 SSL记录数据据格式 SSLL记录数据部部分有3个分量:MAC-DDATA、ACTUAAL-DATTA和PADDIING-DAA
14、TA。 MAC数据用于于数据完整性性检查。计算算MAC所用的散列列函数由握手手协议中的CIPHEER-CHOOICE消息确定。若若使用MD2和MD5算法,则MAC数据长度是16个字节。MAC的计算公式式为:MAC数据=Hashh密钥, 实际数据, 填充数据, 序号。 当会话的客户端端发送数据时时,密钥是客客户的写密钥钥(服务器用用读密钥来验验证MAC数据);而而当会话的客客户端接收数数据时,密钥钥是客户的读读密钥(服务务器用写密钥钥来产生MAC数据)。序序号是一个可可以被发送和和接收双方递递增的计数器器,每个通信信方向都会建建立一对计数数器,分别被被发送者和接接收者拥有。计计数器有32位,计数
15、值值循环使用,每每发送一个记记录,计数值值递增一次,序序号的初始值值为0。 ACTUAL-DATA是被传送的的应用数据,PADDIING-DAATA是当采用分分组码时所需需要的填充数数据,在明文文传送下只有有第二项。 3记录协议的的作用 记录协议议层封装了高高层协议的数数据,协议数数据采用SSL握手协议中中协商好的加加密算法及MAC算法来保护护。记录协议议传送的数据据包括一个序序列号,这样样就可以检测测消息的丢失失、改动或重重放。如果协协商好了压缩缩算法,那么么SSL记录协议还还可以执行压压缩功能。SSL VV3版的高层由由记录传递的的消息组成,这这包括改变密密码规范协议议、警报协议议和握手协
16、议议。改变密码码规范协议指指明对使用的的密码规范的的改变,协议议中还包括了了一个用当前前密码规范加加密的单独消消息。客户和和服务器都要要发送改变密密码规范消息息来表明它们们准备使用一一个新的密码码规范和密钥钥。警报协议议传送与事件件相关的消息息,包括事件件严重性及事事件描述。这这里的事件主主要是指错误误情形,如错错误的MAC码、证书过过期或是非法法参数。警报报协议也用于于共享有关预预计连接终止止的信息。5. SSL握握手协议握手协议是关于于客户和服务务器如何协商商它们在安全全信道中要使使用的安全参参数,这些参参数包括要采采用的协议版版本、加密算算法和密钥。另另外,客户要要认证服务器器,服务器则
17、则可以选择认认证/不认证客户户。PKI在客户服务器认证证阶段就开始始运作了,这这就是握手协协议的实质。 1握手协议工工作过程 客客户(cliennt)端发送ClienntHelllo信息给服务务器(Serveer)端,Serrver回答ServeerHelllo。这个过程程建立的安全全参数包括协协议版本、“佳话”标识、加密密算法、压缩缩方法。另外外,还交换两两个随机数:C1ienntHelllo.Ranndom和ServeerHelllo.Ranndom,用于计算算机“会话主密钥”。 HHello消息发送完完后,Serveer端会发送它它的证书和密密钥交换信息息。如果Serveer端被认证,它
18、它就会请求Cliennt端的证书,在在验证以后,Serveer就发送HellooDone消息,以示示达成了握手手协议,即双双方握手接通通。 SServerr请求Cliennt证书时,Cliennt要返回证书书或返回没有有证书的指示示,这种情况况用于单向认认证,即客户户端不装有证证书。然后,Cliennt发送密钥交换换消息。 服服务器Serveer此时要回答“握手完成”消息(Finisshed),以示完完整的握手消消息交换已经经全部完成。 握握手协议完成成后,Cliennt端即可与Serveer端传输应用用加密数据,应应用数据加密密一般是用第第步密钥协商商时确定的对对称加/解密密钥,如如DES、
19、3DE等。目前,商商用加密强度度为128位,非对称称密钥一般为为RAS,商用强度度为1024位,用于证证书的验证。 ClientHello CertificateClientKeyExchange *CertificateVerify(ChangeCipherSpec) FinishedApplication DataServerHelloCertificateServerKeyExchangeCertificate VerifyServerHello Done FinishedApplication Data 完整的握手协议消息交换过程 其中,带*号的的命令是可选选的,或依据据状态而发的的消
20、息,而改改变加密算法法协议(ChanggeCiphherSpeec)并不在实实际的握手协协议之中,它它在第步与第步之间,用用于Cliennt与Serveer协商新的加加密数据包时时而改变原先先的加密算法法。2握手协议的的作用 SSL中的握手手协议,将公公钥加密技术术与对称密钥钥加密技术的的应用有效、巧巧妙地结合在在一起,有机机地组成了互互联网(或其其他网络)上上信息安全传传输的通道。这这种信息安全全通道,有其其实用价值,比比如,利用对对称加密技术术比公钥加密密技术对大容容量信息的加/解密速度要要快,而公钥钥技术却提供供了更好的身身份认证技术术。SSL的握手协议议可以非常有有效地让客户户与服务器
21、之之间完成身份份认证。 通过SSL客户户端与服务器器传送自己的的数字证书,互互验合法性,特特别是验证服服务器的合法法性,可以有有效地防止互互联网上虚假假网站的网上上钓鱼事件;同时,服务务器端也可以以严格验证客客户端的真实实身份。其作作用如下: 客户端的浏浏览器向服务务器传送客户户端SSL协议的版本本号、加密算算法的种类、产产生的随机数数,以及其他他服务器和客客户端之间通通信所需要的的各种信息。 服务器向客客户端传送SSL协议的版本本号、加密算算法的种类、随随机数及其他他相关信息,同同时,服务器器还将向客户户端传送自己己的证书。 客户利用服服务器传过来来的信息验证证服务器的合合法性。服务务器的合
22、法性性包括:证书书是否过期,发发行服务器证证书的CA是否可靠,发发行者证书的的公钥能否正正确解开服务务器证书的“发行者的数数字签名”,服务器证证书上的域名名是否和服务务器的实际域域名相匹配。如如果合法性验验证没有通过过,则通信将将断开;如果果合法性验证证通过,则将将继续进行第第步。 客户端随机机产生一个用用于后面通信信的“对称密码”,然后用服服务器的公钥钥(从步骤中服务器的的证书中获得得)对其加密密,再将加密密后的“预主密码”传给服务器器。 如果服务器器要求客户的的身份认证(在在握手过程中中为可选),用用户则可以建建立一个随机机数,然后对对其进行数字字签名,将这这个含有签名名的随机数和和客户自
23、己的的证书,以及及加密过的“预主密码”一起传给服服务器。 如果服务器器要求客户的的身份认证,服服务器则必须须检验客户证证书和签名随随机数的合法法性。具体的的合法性验证证包括:客户户的证书使用用日期是否有有效,为客户户提供证书的的CA是否可靠,发发行CA的公钥能否否正确解开客客户证书的发发行CA的数字签名名,检查客户户的证书是否否在证书撤销销列表(CRL)中。检验验如果没有通通过,则通信信立刻中断;如果验证通通过,则服务务器将用自己己的私钥解开开加密的“预主密码”,然后执行一一系列步骤来来产生主通信信密码(客户户端也将通过过同样的方法法产生相同的的主通信密码码)。 服务器和客客户端用相同同的主密
24、码,即“通话密码”,一个对称密钥用于SSL协议的安全数据通信的加/解密通信。同时,在SSL通信过程中还要完成数据通信的完整性,以防止数据通信中的任何变化。 客户端向服服务器端发出出信息,指明明后面的数据据通信将使用用步骤中的主密码码为对称密钥钥,同时通知知服务器客户户端的握手过过程结束。 服务器向客客户端发出信信息,指明后后面的数据通通信将使用步步骤中的主密码码为对称密钥钥,同时通知知客户端服务务器端的握手手过程结束。 SSL的握握手部分结束束,SSL安全通道的的数据通信开开始,客户和和服务器开始始使用相同的的对称密钥进进行数据通信信,同时进行行通信完整性性的检验。 证书各部分的含含义Vers
25、ionn 证书版本号号,不同版本本的证书格式式不同 Serial Numbeer 序列号,同同一身份验证证机构签发的的证书序列号号唯一 Algoritthm Iddentiffier 签名算法,包包括必要的参参数 Issueer 身份验证机机构的标识信信息 Period of Vaaliditty 有效期 Subjectt 证书持有人人的标识信息息 Subjectts Pubblic KKey 证书持有人人的公钥 Signatuure 身份验证机机构对证书的的签名证书的格式 认证中心所所发放的证书书均遵循 X.5009 V3 标准,其基基本格式如下下: 证书版本号(CCertifficatee
26、 Formmat Veersionn) 含义:用来来指定证书格格式采用的 X.5009 版本号。证书序列号(CCertifficatee Seriial Nuumber) 含义:用来指指定证书的唯唯一序列号,以以标识 CA 发出的所有有公钥证书。签名(Signnaturee) 算法标识(Algorrithm Identtifierr) 含义:用来来指定 CA 签发证书所所用的签名算算法。 签发此证书的 CA 名称(Issueer ) 含义:用来来指定签发证证书的 CA 的 X.5000 唯一名称(DN, Disttinguiished Name)。证书有效期(VValidiity Peerio
27、d) 起始日期(notBeefore) 终止日期(notAffter) 含义:用来来指定证书起起始日期和终终止日期。用户名称(Suubject) 含义:用来来指定证书用用户的 X.5000 唯一名称(DN,Distiinguisshed NName)。用户公钥信息(Subjeect Puublic Key IInformmationn) 算法(algorrithm) 算法标识(AlgorrithmIdenttifierr) 用户公钥(subjeectPubliicKey) 含义:用来来标识公钥使使用的算法,并并包含公钥本本身。 证书扩充部分(扩扩展域)(Extennsionss) 含义:用来来
28、指定额外信信息。X.509 VV3 证书的扩充充部分(扩展展域)及实现现方法如下: CA 的公钥标识(AuthoorityKeyIdentiifier) 公钥标识(SET 未使用)(KeyIdenttifierr) 签发证书者者证书的签发发者的甄别名名(CertifficateeIssueer) 签发证书者者证书的序列列号(Certiificatte Serrial NNumberr)X.509 VV3 证书的扩充充部分(扩展展域)及实现现CA 的公钥标识识(AuthoorityKeyIdenttifierr) 公钥标识(SET 未使用)(KeyIdenttifierr) 签发证书者者证书的签
29、发发者的甄别名名(Certiificatt签发证书者者证书的序列列号(Certiificatte Serrial NN含义:CA 签名证书所所用的密钥对对的唯一标识识用户的公钥钥标识(SubjeectKeyIdenttifierr)含义:用用来标识与证证书中公钥相相关的特定密密钥进行解密密。 证书中的公公钥用途(KeyUsage) 含义:用来来指定公钥用用途。用户的私钥有效效期(PrivaateKeyUsagePeriood) 起始日期(NoteBeforre) 终止日期(NoteAfter) 含义:用来来指定用户签签名私钥的起起始日期和终终止日期。 CA 承认的证书书政策列表(Certiif
30、icatte Polliciess) 含义:用来来指定用户证证书所适用的的政策,证书书政策可由对对象标识符表表示。 用户的代用用(SubsttitutiionalName) 含义:用来来指定用户的的代用名。 CA 的代用名(IssueerAltName) 含义:用来来指定 CA 的代用名。 基本制约(BasicConsttraintts) 含义:用来来表明证书用用户是最终用用户还是 CA。 在 SET 系统中有一一些私有扩充充部分(扩展展域)HasheedRootKey 含义:只在在根证书中使使用,用于证证书更新时进进行回溯。 证书类型(CertiificatteType) 含义:用来来区别不
31、同的的实体。该项项是必选的。 商户数据(MerchhantData) 含义:包含含支付网关需需要的所有商商户信息。 持卡人证书书需求(CardCertRequiired) 含义:显示示支付网关是是否支持与没没有证书的持持卡人进行交交易。 SET 扩展(SETExxtensiions) 含义:列出出支付网关支支持的支付命命令的 SET 信息扩展。 CRL 数据定义版版本(Versiion) 含义:显示 CRL 的版本号。CRL 的签发发者(Issueer) 含义:指明明签发 CRL 的 CA 的甄别名。 CRL 发布时间(thisUpdatte) 预计下一个 CRL 更新时间(NextUpdat
32、te) 撤销证书信信息目录(RevokkedCertiificattes) CRL 扩展(CRLExtennsion) CA 的公钥标识识(AuthoorityKeyIdenttifierr) CRL 号(CRLNumbeer)6. SSL的的应用 1单向认认证:又称匿匿名SSL连接,这是SSL安全连接的的最基本模式式,它便于使使用,主要的的浏览器都支支持这种方式式,适合单向向数据安全传传输应用。在在这种模式下下客户端没有有数字证书,只只是服务器端端具有证书,以以不在认用户户访问的是自自己要访问的的站点。典型型的应用就是是用户进行网网站注册时彩彩ID口令的匿匿名认证,过过去网上银行行的所谓“大
33、众版”就是这种? 因子认证。 2双方方认证:是对对等的安全认认证,这种模模式通信双方方都可以发起起和接收SSL连接请求。通通信双方可以以利用安全应应用程序(控控键)或安全全代理软件,前前者一般适合合于B/S结构,而后后者适用于C/S结构,安全全代理相当于于一个加密/解密的网关关,这种模式式双方皆需安安装证书,进进行双向认证证。这就是网网上银行的B2B的专业版等等应用。顾客 3电子商商务中的应用用。电子商务务与网上银行行交易不同,因因为有商户参参加,形成客客户商家银行,两次点点对点的SSL连接。客户户,商家,银银行,都必须须具证书,两两次点对点的的双向认证,如如图所示。银行商家 7. SSLL协
34、议的安全全性分析SSL协议所采采用的加密算算法和认证算算法使它具有有较高的安全全性,但也存存在一些问题题。 1SSL协议议采用的加密密算法和认证证算法 (1)加加密算法和会会话密钥 SSL V2协协议和SSL VV3协议支持的的加密算法包包括RC4、RC2、IDEA和DES, 加密一般分三类类:对称加密密、非对称加加密和单向散散列函数;对称加密:分组组密码(DES,RRC5,IDDEA)和序列密密码(RC4),其中CBC(cipheer bloock chhaininng)是分组密密码的一类,是是指一个明文文分组在被加加密之前要与与前一个的密密文分组进行行异或运算,当当加密算法用用于此模式的的
35、时候除密钥钥外,还需协协商一个初始始化向量(IV),这个IV没有实际意意义,只是在在第一次计算算的时候需要要用到而已,采采用这种模式式的话安全性性会有所提高高;单向散列函数:由于信道的的破坏,一个个通用的方法法就是加入校校验码。单向向散列函数可可用于此用途途,一个典型型的例子是MD5,它产生128位的摘要,在在现实中用的的更多的是安安全散列算法法(SHA),SHA的早期版本本存在问题,目目前用的实际际是SHA-1,它可以产产生160位的摘要,因因此比128位散列更能能有效抵抗穷穷举攻击。由由于单向散列列的算法是公公开的,所以以其它人可以以先改动原文文,再生成另另外一份摘要要,解决这个个问题的方
36、法法可以通过HMAC,它包含了了一个密钥,只只有拥有相同同密钥的人才才能鉴别这个个散列(2)认证算法法 认证算法采用XX.509电子证书标标准,是通过过RSA算法进行数数字签名来实实现的。 服务器的认证 在上述的两对密密钥中,服务务器方的写密密钥和客户方方的读密钥、客客户方的写密密钥和服务器器方的读密钥钥分别是一对对私有、公有有密钥。对服服务器进行认认证时,只有有用正确的服服务器方写密密钥加密,ClienntHelllo消息形成的的数字签名才才能被客户正正确地解密,从从而验证服务务器的身份。 若通信双方不需需要新的密钥钥,则它们各各自所拥有的的密钥已经符符合上述条件件。若通信双双方需要新的的密
37、钥,首先先服务器方在在ServeerHelllo消息中的服服务器证书中中提供了服务务器的公有密密钥,服务器器用其私有密密钥才能正确确地解密由客客户方使用服服务器的公有有密钥加密的的MASTEER-KEYY,从而获得得服务器方的的读密钥和写写密钥。 客户的认证 同上,只有用正正确的客户方方写密钥加密密的内容才能能被服务器方方用其读密钥钥正确地解开开。当客户收收到服务器方方发出的REQUEEST-CEERTIFIICATE消息时,客客户首先使用用MD5消息散列函函数获得服务务器方信息的的摘要,服务务器方的信息息包括:KEY-MAATERIAAL-0、KEY-MMATERIIAL-1、KEY-MMA
38、TERIIAL-2、CERTIIFICATTE-CHAALLENAAGE-DAATA(来自于REQUEEST-CEERTIFIICATE消息)、服服务器所赋予予的证书(来来自于ServeerHelllo)消息。 其中KEY-MMATERIIAL-l、KEY-MMATERIIAL-2是可选的,与与具体的加密密算法有关。然然后客户使用用自己的读密密钥加密摘要要形成数字签签名,从而被被服务器认证证。 2SSL安全全优势 (1)监听和中中间人式攻击击 SSL使用一个个经过通信双双方协商确定定的加密算法法和密钥,对对不同的安全全级别应用都都可找到不同同的加密算法法,从而用于于数据加密。它它的密钥管理理处
39、理比较好好,在每次连连接时通过产产生一个密码码杂凑函数生生成一个临时时使用的会话话密钥,除了了不同连接使使用不同密钥钥外,在一次次连接的两个个传输方向上上也使用各自自的密钥。尽尽管SSL协议为监听听者提供了很很多明文,但由于采用RSSA交换密钥具具有较好的密密钥保护性能能,以及频繁繁更换密钥的的特点,因此此对监听和中中间人式攻击击而言,具有有较高的防范范性。 (2)流量数据据分析式攻击击 流量数据分析式式攻击的核心心是通过检查查数据包的未未加密字段或或未加保护的的数据包属性性,试图进行行攻击。在一一般情况下该该攻击是无害害的,SSL无法阻止这这种攻击。 (3)截取再拼拼接式攻击 对需要较强的连
40、连接加密,需需要考虑这种种安全性。SSL VV3.0基本上可阻阻止这种攻击击。 (4)报文重发发式攻击 报文重发式攻击击比较容易阻阻止,SSL通过在MAC数据中包含“系列号”来防止该攻攻击。 3SSL协议议存在的问题题 (1)密钥管理理问题 设计一个安全秘秘密的密钥交交换协议是很很复杂的,因因此,SSL的握手协议议也存在一些些密钥管理问问题。SSL的问题表现现在: 客户机和服务器器在互相发送送自己能够支支持的加密算算法时,是以以明文传送的的,存在被攻攻击修改的可可能。 SSL V3.0为了兼容以以前的版本,可可能降低安全全性。 所有的会话密钥钥中都将生成成MASTEER-KEYY,握手协议议的
41、安全完全全依赖于对MASTEER-KEYY的保护,因因此在通信中中要尽可能少少地使用MASTEER-KEYY。 (2)加密强度度问题 Netscappe依照美国内内政部的规定定,在它的国国际版的浏览览器及服务器器上使用40位的密钥。以以SSL所使用的RC4演绎法所命名名的RC4法规,对多多于40位长的加密密密钥产品的出出口加以限制制,这项规定定使Netsccape的128位加密密钥钥在美国之外外的地方变成成不合法。一一个著名的例例子是一个法法国的研究生生和两个美国国柏克莱大学学的研究生破破译了一个SSL的密钥,才才使人们开始始怀疑以SSL为基础的系系统安全性。 Microsooft公司想利用用
42、一种称为私私人通信技术术(PCT,PPrivatte Commmuniccationn Techhnologgy)的SSLsuuperseet协议来改进SSL的缺点。PCT会衍生出第第二个专门为为身份验证用用的密钥,这这个身份验证证并不属于RC4规定的管辖辖范围。PCT加入比目前前随机数产生生器更安全的的产生器,因因为它也是SSL安全链中的的一个弱环节节。这个随机机数产生器提提供了产生加加密密钥的种种子数目(Seed Numbeer)。 (3)数字签名名问题 SSL协议没有有数字签名功功能,即没有有抗否认服务务。若要增加加数字签名功功能,则需要要在协议中打打“补丁”。这样做,在在用于加密密密钥
43、的同时又又用于数字签签名,这在安安全上存在漏漏洞。后来PKI体系完善了了这种措施,即即双密钥机制制,将加密密密钥和数字签签名密钥二者者分开,成为为双证书机制制。这是PKI完整的安全全服务体参考文献: 1罗新新星等:电子支付系系统的安全性性研究及其设设计J.武汉理工大大学学报,20033,25(11) 2代晓晓红:基于SSL协议的电子子商务安全性性分析J.工业技术经经济,20044,23(66) 3黄黄劲潮:SSL安全通信在在电子商务中中的应用J.中国科技信信息,20077(12) 4姜庆娜:基于Interrnet的电子商务务安全支付系系统的研究D.山东师范大大学,200555寇晓蕤:网络安全协协议J.高等教育出出版社,2009(1)