网络安全协议课程设计--SSL协议的安全性研究.doc_第1页
网络安全协议课程设计--SSL协议的安全性研究.doc_第2页
网络安全协议课程设计--SSL协议的安全性研究.doc_第3页
网络安全协议课程设计--SSL协议的安全性研究.doc_第4页
网络安全协议课程设计--SSL协议的安全性研究.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

ssl协议的安全性研究1 引言随着计算机网络技术的飞速发展,信息时代的人们对internet的依赖性越来越大。当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。安全套接层ssl(secure sockets layer)协议是由netscape公司设计开发的安全协议,主要用于加强应用程序之间的数据的安全性。ssl协议是基于web应用的安全协议,它采用了rsa算法、rc4128、rc一128、三重des算法和md5等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用x509数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。2 ssl协议简述及相关概念ssl协议用来建立一个在客户和服务器之间安全的tcp连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在tcp协议之上的任意应用协议数据的完整性和隐蔽性服务。ssl为在internet上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。2.1 ssl-安全套接层协议。是由netscape设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。ssl位于tcp/ip协议与各种应用层协议之间,为tcp/ip连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和web服务器无关的。2.2 ssl协议可分两层:2.2.1 ssl记录协议:它建立在可靠的传输协议(如tcp)之上,位于ssl协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。在ssl中,所有数据被封装在记录中,ssl握手协议中的报文,要求必须放在一个ssl记录协议层的记录里,但应用层协议的报文,允许占用多个ssl记录来传送(1) ssl记录头格式ssl记录头可以是2个或3个字节长的编码。ssl记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密(blocken-cryption)算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为1时,不含有填充数据,记录头的长度为2个字节,记录数据的最大长度为32767个字节;最高位为0时,含有填充数据,记录头的长度为3个字节,记录数据的最大长度为16383个字节。ssl记录层结构如图1所示。 图1 ssl记录层结构当数据头长度是3个字节时,次高位有特殊的含义。次高位为1时,表示所传输的记录是普通的数据记录;次高位为0时,表示所传输的记录是安全空白记录(被保留用于将来协议的扩展)。记录头中数据长度编码不包括数据头所占用的字节长度。记录头长度为2个字节时,记录长度的计算公式为:记录长度=(byte0&0x7f)8)|byte1。其中byte0、byte1分别表示传输的第一个、第二个字节。记录头长度为3个字节时,记录长度的计算公式是:记录长度=(byte0&0x3fs:change cipher spec(2)c-s:finishedak(3)s-c:change cipher spec(4)s-c:finishedak(5)c-s:mk但存在一种特殊的情况,在这种情况下,中间人m(maninthemiddleattack)采取change cipher spec消息丢失攻击,这种攻击的前提是当前的cipher suite不作mac保护;未决的cipher suite不作加密,作mac保护,那么攻击的消息流如下:(1)c-m:change cipher spec(2)c-m:finishedak(3)m-s:finisheda(4)sm:change cipher spec(5)sm:finisheda(6)m-c:finisheda(7)c-m:mk(8)m-s:m其中*k表示记录层协议对数据进行加密保护;m表示明文的应用数据;n表示finished消息中的认证码,是对所有握手消息进行mac计算结果(但不包括change cipher spec消息的认证)。从以上过程可以看出,在接收到change cipher spec消息之前,当前的cipher suite不加密,不作mac保护,直到收到change cipher spec消息之后,记录层才开始对通信数据进行加密和完整性保护。假如只对密码族进行认证而从不加密,这样中间人攻击者将窃取并删除change cipher spec消息,致使通信双方将不再更新当前的密码族(cipher suite),即不再对传递的数据作mac认证和加密。由于商定的密码族不起作用,这样协议失去了对数据的认证能力,从而中间人攻击者在通信双方不知道的情况下,可以任意修改会话数据。5.3.2解决策略将change cipher spec假如到finished消息的消息认证计算中,这样才符合认证协议的上下文原则。当然,也可以不修改协议的基本框架,在发送finished消息之前要求收到change cipher spec的消息,否则引起协议的致命错误并会中断连接,这实际上是协议实现者对ssl协议缺陷的弥补工作。5.4 证书攻击和窃取5.4.1攻击原理公共ca机构并不总是很可靠的,因为对于用户的证书,公共ca机构可能不像对网站数字证书那样重视和关心其准确性。由于微软公司的s服务器提供了“客户端证书映像”功能,用于将客户端提交证书的名字映射到nt系统的用户帐号,在这种情况下,攻击者就有可能获得该主机的系统管理员的权限;当然,如果攻击者不能利用上面的非法的证书突破服务器的话,他们还可以尝试运用暴力攻击获取访问的权限,运用暴力攻击客户端认证的方法是:攻击者编辑一个可能的用户名字列表,然后为每一个名字向ca机构申请证书。每一个证书都用于尝试获取访问权限。用户名的选择越好,其中一个证书被认可的可能性就越高。暴力攻击证书的方便之处在于它仅需要猜测个有效的用户名,而不是猜测用户名和口令。攻击者还可能窃取有效的证书及相应的私有密钥,其最简单的方法是特洛依木马病毒,这种攻击几乎可使客户端证书形同虚设,它攻击的是证书的一个根本性弱点:私有密钥整个安全系统的核心经常保存在不安全的地方,对付这种攻击的唯一有效方法是将证书保存到智能卡或令牌之类的设备中。图3 客户端ssl通信安全代理工作原理示意图5.4.2解决策略证书的安全可以采用ids(intrusion detection system),它是一种用于监测攻击服务器企图的技术和方法。典型的ids监视到网络信息与保存在数据库中的已知攻击“特征”或方法进行比较,如果发现攻击,ids可以提醒系统管理员切断连接或甚至实施反攻击等。但是,如果网络通信是加密的,ids将无法监视攻击者,而且反而可能会使攻击者更为轻松的实施攻击。解决的方法是通过proxy代理服务器的ssl,可以在一个ssl proxy代理服务器程序上使用这项资料审查技术。ssl proxy是一个连接在80端口上接受纯文字的http通信请求的软件,它会将这些请求通过经由ssl加密过的连接,转寄到目标网站。在连接端口80开一个听取s0cket(侦听),通过0pen ssl096指令,将所有进入这个proxy的数据传送出去。通过这个ssl pro)(y机制,只要将安全扫描软件指向proxy的ip地址,就可以用来审查ssl服务器,从而满足信息传输安全的需求,其使用proxy代理服务器的工作原理如图3。5.5 ssl不能提供交易的不可否认性 ssl协议是基于web应用的安全协议,它只能提供安全认证,ssl链路上的数据完整性和保密性。对于电子商务的交易应用层的信息不进行数据签名,因此,不能提供交易的不可否认性,这是ssl在电子商务中使用的最大缺欠5.6 密钥管理问题 客户机和服务器在连接初期互相发送自己能支持的加密算法时,以明文返回选定的加密算法和主密钥,主密钥前40位不加密,其余位加密,此时可能会被攻击者修改为强度最弱的加密算法,导致以后传输的加密数据包被攻击者破解。另外,所有的会话密钥中都将生成主密钥master-key,实际的密钥并不是主密钥,而是由它生成的两个密钥client-write-key (server -read-key)和client - read-key( server-write-key),并且当客户机和服务器再次握手时,不再协商加密算法和主密钥,因此握手协议的安全完全依赖于对主密钥的保护,如果主密钥管理不妥被泄露,则通讯传输中的加密数据包极可能被破译。5.7 加密算法的强度限制通过互联网传输敏感数据的一个问题是传输过程会经过许多中间环节,这一路由过程是所有互联网传输的基础,而在路由线路上的任何一台计算机都可能完全获得传输的信息,这样就使得别人有可能截获并破译你的秘密信息。美国政府规定,加密技术属于军用品受军火国际贸易法规的制约,其产品出口必须取得出口许可证。因此密钥长度超过512bit的rsa算法不能用于ssl的密钥交换算法,密钥长度超过40bit的对称加密算法如rc4,des等不能用于ssl的数据加密,故美国出口的ssl协议产品的加密算法的安全性不足,不能用于安全性要求高的网络服务。5.8 版本回滚攻击ssl 3.0不包含任何重大缺陷,通过ssl 2.0协议得到了一些改进,这就是为什么我们不希望一个攻击者尝试版本回滚的攻击。对于攻击者使版本3.0的各部分回到2.0版本,是非常有用的基于ssl3.0的改进。这种攻击只会发生在两个3.0版本兼容使用的是2.0版情况下。这允许中间人让客户选择一个较弱的cipher suite来进行攻击。例如选择des对称加密算法。如果发生这种情况,一个攻击者可能暴力途径获得这两个部分之间交换的数据。这个攻击者也获得如密码和身份cookie等信息。不幸的是,如今,ssl2.0在服务器端依然是默认的。有一个主要预防的手段在ssl3.0上,但它留下了一些情况下成功进行版本回滚的攻击。这种预防是向rsa填充位添加版本号。在任何敏感数据被发送之前,两个使用2.0版本的被骗部分将检测到错误。显然,这仅适用于一个rsa已经被选择的情况下。如果攻击者把字段替代为2.0版hello消息和diffie-hellman,攻击也奏效。也可能在session回复期间获得数据。因为某种原因服务器允许一个客户端来恢复一个3.0版本session到2.0 版本hello报文,因为它在恢复期,主密钥没有重新共享。因此没有rsa填充检测到错误的版本号。幸运的是,这些漏洞可以通过执行禁用 3.0版本到2.0版本的恢复进行控制,并通过只允许rsa运行在2.0版本的兼容性模式。最好的行动当然是禁用2.0版本兼容性模式。参考文献:1 刘春荣. 基于ssl协议的电子商务安全性分析j. 信息与电脑. p10-12, 2010.3.2 王伟. ssl、set协议及其安全技术j. 郑州航空工业管理学院学报(社会科学版). 23(1), p122-123, 2004.2.3 苏金国. ssl安全协议j. 上海微型计算机. 2001.1.4 戴英侠, 左英男, 许剑卓. ssl协议的安全缺陷与改进j. 中国科学院研究生院学报. 17(1),p8692

温馨提示

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

评论

0/150

提交评论