《2023年整理6s6sL安全协议.docx》由会员分享,可在线阅读,更多相关《2023年整理6s6sL安全协议.docx(13页珍藏版)》请在第一文库网上搜索。
1、安全协议工程题目:SS1协议分析系另卜专业:学生姓名:学号:指导教师:2011年6月23日目前,随着Internet的快速发展,人们在使用互联网的场地越来越多,范围越来越广泛,互联网上的信息安全越来越引起人们的关注。特别是近年来网上银行、电子商务和电子政务的快速发展,如何保证用户的传输信息,特别是交易信息的保密性、完整性已成为迫切需要解决的问题。为此人们研究越来越多的措施来保护用户的信息,所以有了很多的安全协议,其中安全套接层协议(SeCUritySocket1ayerProtoco1,简称SS1)是Internet上进行保密通信的一个安全协议。关键词:Internet;信息安全;保密性;完整
2、性;安全套阶层协议引言1. SS1简介42. SS1工作原理43. SS1协议提供的服务54. SS1记录层协议55. SS1握手协议76. SS1的应用107. SS1的安全性分析11引言网络的迅速发展,逐渐普及到各个领域,但是有利也有弊,发展越快,出现的问题也就越多。而最终的的还是信息方面的安全保证,特别是在传输过程中,为此诸多杰出的人员也加入到这个研究中,研究怎么样最大程度保护信息的安全传输。传输层在TCP/IP协议族中具有重要地位,它加强和弥补了IP层的服务。从服务类型看,IP层是点到点的,而传输层提供端到端的服务;从服务质量看,传输层提高了可靠性,使得高层应用不必关注可靠性问题,而仅
3、需解决与自身应用功能相关的问题;从协议依赖关系看,应用层协议直接构建于传输层之上。应用层协议直接与用户交互,因此它们的安全性也会受到最直接的关注。举个直观的例子,电子商务系统通常采用B/S结构,用户通过浏览器访问电子商务网站、购买商品并进行网上支付。在这类应用中,机密性、完整性、服务器身份认证、不可否认性和可用性都是用户所需的。此外,在进行文件和邮件传输时,用户也有类似的安全需求。遗憾的是,常用的HrrTP、FTP等协议都无法满足这些安全需求。虽然HTTP、FTP和Te1net等协议提供了基于口令的身份认证机制,但在互联网这个开放的环境中,这种简单的保护显得微不足道。改变这种现状的途径之一就是
4、为每个应用层协议都增加安全功能。对于应用设计者而言,这是一个并不轻松的工作;对于应用使用者而言,部署多个安全应用时,势必会消耗大量的系统资源。另一种途径就是从传输层人手。既然高层应用都是基于传输层的,那么增强这个层次的安全性显得更具备通用性。它可以把高层应用从安全性这个复杂的命题中解放出来,使用者也可用较小的开销获得所需的安全服务。1. SS1简介SS1和T1S,它们分别是安全套接层(SecureSocket1ayer)和传输层安全(Transport1ayerSecurity)的缩写,是为网络通信提供安全及薪据完整性的一种安全协议T1S与SS1,在传输层对网络连接进行加密。SS1首先由网景公
5、司提出,最初是为了保护Web安全,最终却为提高传输层安全提供了一个通用的解决方案。在SS1获得了广泛应用之后,IETF斟于SS1V3,制定T1S标准。T1SV1与SS1v3几乎完全一致。SS1协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SS1协议可分为两层:SS1记录协议(SS1RecordProK)CoD:它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SS1握手协议(Ss1HandshakeProtoco1):它建立在SS1记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。2.
6、 SS1工作原理SS1的工作原理:当一个使用者在Web上用NetSCaPe浏览器漫游时,浏览器利用HnP协议与Web服务器沟通。例如,浏览器发出一个HTTPGET命令给服务器,想下载一个首页的HTM1档案,而服务器会将档案的内容传送给浏览器来响应。GET这个命令的文字和HTM1档案的文字会通过会话层(SOCket)的连接来传送,Socket使两台远程的计算机能利用Intemet来通话。通过SS1,资料在传送出去之前就自动被加密了,它会在接收端被解密。对没有解密钥的人来说,其中的资料是无法阅读的。SS1采用TCP作为传输协议提供数据的可靠传送和接收。SS1工作在SOCket层上,因此独立于更高层
7、应用,可为更高层协议,如TeInet、FTP和HTTP提供安全业务。SS1提供的安全业务和TCP层一样,采用了公开密钥和私人密钥两种加密体制对Web服务器和客户机(选项)的通信提供保密性、数据完整性和认证。在建立连接过程中采用公开密钥,在会话过程中使用私人密钥。加密的类型和强度则在两端之间建立连接的过程中判断决定。在所有情况下,服务器通过以下方法向客户机证实自身:给出包含公开密钥的、可验证的证明;演示它能对用此公开密钥加密的报文进行解密。为了支持客户机,每个客户机都要拥有一对密钥,这要求在Internet上通过NetSCaPe分配。由于Internet中的服务器数远少于客户机数,因此能否处理签
8、字及密钥管理的业务量是很重要的,并且与客户联系比给商家以同样保证更重要。3. SS1协议提供的服务(1)用户和服务器的合法性认证使得用户和服务器能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都有各自的识别号,由公开密钥编排。为了验证用户,安全套接层协议要求在握手交换数据中做数字认证,以此来确保用户的合法性。(2)加密数据以隐藏被传送的数据安全套接层协议采用的加密技术既有对称密钥,也有公开密钥。具体来说,就是客户机与服务器交换数据之前,先交换SS1初始握手信息。在SS1握手信息中采用了各种加密技术,以保证其机密性和数据的完整性,并且经数字证书鉴别,这样就可以防止非法用户破译。(3)
9、维护数据的完整性安全套接层协议采用密码杂凑函数和机密共享的方法,提供完整信息性的服务,来建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务,在传输过程中都能完整、准确无误地到达目的地。4. SS1记录层协议SS1记录层协议限定了所有发送和接收数据的打包,它提供了通信、身份认证功能,它是一个面向连接的可靠传输协议,如TCP/IP提供安全保护。在SS1中所有数据被封装在记录中。一个记录由两部分组成:记录头和非零长度的数据。记录头可以是2字节或3字节(当有填充数据时使用)。SS1握手层协议的报文要求必须放在一个SS1记录层的记录里,但应用层协议的报文允许占用多个SS1记录来传送。1
10、. SS1记录头格式SS1记录头可以是2个或3个字节长的编码。SS1记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密(b1ocken-cryption)算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为1时,不含有填充数据,记录头的长度为2个字节,记录数据的最大长度为32767个字节;最高位为0时,含有填充数据,记录头的长度为3个字节,记录数据最长为16383个字节。2字节头i2记录头类型记录长度3字节头记出MAC数据填充数据记录头类型ESCaPe位记录长度填充长度MAC数据SS1记录层结构当数据头长度是3个字节时,次高位有特殊的含
11、义。次高位为1时,表示所传输的记录是普通的数据记录;次高位为O时.,表示所传输的记录是安全空白记录(被保留用于将来协议的扩展)。记录头中数据长度编码不包括数据头所占用的字节长度。记录头长度为2个字节时,记录长度的计算公式为:记录长度?(Byte0Wx7f)8)Byte1o其中ByteO、Byte1分别表示传输的第一个、第二个字节。记录头长度为3个字节时,记录长度的计算公式是:记录长(Byte0Mx3f8)Byte1o其中Byte01Byte1的含义同上。判断是否是安全空白记录的计算公式是:(Byte0&0x40)!?0。填充数据的长度为传输的第三个字节。2. SS1记录数据格式SS1记录数据部
12、分有3个分量:MAC-DATA、ACTUA1-DATA和PADDING-DATA。MAC数据用于数据完整性检查。计算MAC所用的散列函数由握手协议中的CIPHER-CHOICE消息确定。若使用MD2和MD5算法,则MAC数据长度是16个字节。MAC的计算公式为:MAC数据二HaSh密钥,实际数据,填充数据,序号。当会话的客户端发送数据时,密钥是客户的写密钥(服务器用读密钥来验证MAC数据);而当会话的客户端接收数据时,密钥是客户的读密钥(服务器用写密钥来产生MAC数据)。序号是一个可以被发送和接收双方递增的计数器,每个通信方向都会建立一对计数器,分别被发送者和接收者拥有。计数器有32位,计数值
13、循环使用,每发送一个记录,计数值递增一次,序号的初始值为0。ACTUA1-DATA是被传送的应用数据,PADDING-DATA是当采用分组码时所需要的填充数据,在明文传送下只有第二项。3. 记录协议的作用记录协议层封装了高层协议的数据,协议数据采用SS1握手协议中协商好的加密算法及MAC算法来保护。记录协议传送的数据包括一个序列号,这样就可以检测消息的丢失、改动或重放。如果协商好了压缩算法,那么SS1记录协议还可以执行压缩功能。SS1V3版的高层由记录传递的消息组成,这包括改变密码规范协议、警报协议和握手协议。改变密码规范协议指明对使用的密码规范的改变,协议中还包括了一个用当前密码规范加密的单
14、独消息。客户和服务器都要发送改变密码规范消息来表明它们准备使用一个新的密码规范和密钥。警报协议传送与事件相关的消息,包括事件严重性及事件描述。这里的事件主要是指错误情形,如错误的MAC码、证书过期或是非法参数。警报协议也用于共享有关预计连接终止的信息。5. SS1握手协议握手协议是关于客户和服务器如何协商它们在安全信道中要使用的安全参数,这些参数包括要采用的协议版本、加密算法和密钥。另外,客户要认证服务器,服务器则可以选择认证/不认证客户。PK1在客户一服务器认证阶段就开始运作了,这就是握手协议的实质。1 .握手协议工作过程客户(c1ient)端发送CIientHC11O信息给服务器(Serv
15、er)端,Server回答SerVerHe11o。这个过程建立的安全参数包括协议版本、“佳话”标识、加密算法、压缩方法。另外,还交换两个随机数:CIientHeI1O.Random和ServerHe11o.Random,用于计算机会话主密钥”。Heuo消息发送完后,SerVer端会发送它的证书和密钥交换信息。如果SCrVer端被认证,它就会请求C1ient端的证书,在验证以后,SerVer就发送He11oDOne消息,以示达成了握手协议,即双方握手接通。SerVer请求C1ient证书时,C1ient要返回证书或返回没有证书的指示,这种情况用于单向认证,即客户端不装有证书。然后,CIient发送密钥交换消息。服务器SCrVer此时要回答“握手完成”消息(FiniShcd),以示完整的握手消息交换已经全部完成。握手协议完成后,CIient端即可与SerVer端传输应用加密数据,应用数据加密一般是用第步密钥协商时确定的对称加/解密密钥,如DES、3DE等。目前,商用加密强度为128位,非对称密钥一般为RAS,商用强度为1024位,用于证书的验证。CIientHe1IoCertificateC1ientKeyExchange*CertificateVerify(ChangeCipherSpec)FinishedApp1icationData4ServerHe11oCertif