SSL协议及其安全威胁分析

更新时间:2023-09-02 14:50:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SSL协议及其安全威胁分析

一、SSL协议简述及相关概念

1) SSL---安全套接层协议。

是由Netscape设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。SSL位于TCP/IP协议与各种应用层协议之间,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和Web服务器无关的。

2) SSL协议可分两层:

SSL记录协议:它建立在可靠的传输协议(如TCP)之上,位于SSL协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。在SSL中,所有数据被封装在记录中,SSL握手协议中的报文,要求必须放在一个SSL记录协议层的记录里,但应用层协议的报文,允许占用多个SSL记录来传送。

SSL握手协议:SSL中最复杂的部分,它建立在SSL记录协议之上,用于在实际的数据传输开始前,在会话状态下产生所需要的各种安全参数,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

二、SSL协议工作原理

(1)客户端服务器发送一个开始信息以便开始一个新的会话连接,协商传送加密算法。例如:告知服务端,客户端自己的对称加密算法有DES、RC5,自己的密钥交换算法有RSA和DH,摘要算法有MD5和SHA。

(2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的信息时将包含生成主密钥所需的信息,并发送服务器数字证书。例如:告知客户端,服务器就使用DES-RSA-MD5这对组合进行通讯,为了证明“我”确实是服务器,现在就发送“我”的数字证书给客户端,以便于验证服务器的身份。

(3)客户端根据收到的服务器响应信息,检查服务器的数字证书是否正确,通过CA机构颁发的证书及CA的公钥对服务器证书进行解密,获得服务器公钥,然后产生一个主密钥,并用服务器的公钥加密后传给服务器。例如:服务器,“我”已经确认了你的身份,现在把我们本次通讯中的密钥发送给你。

(4)服务器使用自己的私钥解密该消息,然后生成会话密钥,接着使用服务器公钥加密,再发送给客户端。这样,服务器和客户端都拥有了会话密钥。例如:客户端,“我”已经获取了密钥,我们可以开始通信了。

服务器和客户端使用会话密钥来加密和解密传输的数据。它们之问的数据传输的是对称加密。

一般情况下,当客户端是保密信息的传递者时,不需要数字证书验证自己身份的真实性,如电子银行的应用,客户需要将自己的账号和密码发送给银行,因此银行的服务器需要安装数字证书来表明自己身份的有效性。但在某些B2B应用中,服务器端也需要对客户端的身份进行验证,这时客户端也需要安装数字证书以保证通讯时服务器可以辨别出客户端的

身份,验证过程类似于服务器身份的验证过程。

三、SSL握手过程

SSL用公钥加密算法使服务器端在客户端得到验证,并传递对称密钥。

然后再用对称密钥来更快速地加密、解密数据。

具体过程:

(1)客户端向Server端发送客户端SSL版本号、加密算法设置、随机产生的数据和其他服务器需要用于根客户端通信的数据。

(2)服务器向客户端发送服务器的SSL版本号、加密算法设置、随机产生的数据和其他客户端需要用于根服务器通信的数据。另外,服务器还有发送自己的证书,如果客户端正在请求需要认证的信息,那么服务器同时也要请求获得客户端的证书。

(3)客户端用服务器发送的信息验证服务器身份。如果认证不成功,用户就将得到一个警告,然后加密数据连接将无法建立。如果成功,则继续下一步。

(4)用户用握手过程至今产生的所有数据,创建连接所用的密钥,用服务器的公钥加密,传送给服务器。

(5)如果服务器也请求客户端验证,那么客户端将对另外一份不同于上次用于建立加密连接使用的数据进行签名。在这种情况下,客户端会把这次产生的加密数据和自己的证书同时传送给服务器用来产生Premaster Secret。

(6)如果服务器也请求客户端验证,服务器将试图验证客户端身份。如果客户端不能获得认证,连接将被中止。如果被成功认证,服务器用自己的私钥加密建立连接所用的密钥,然后执行一系列步骤产生主密钥。

(7)服务器和客户端同时产生会话密钥,之后的所用数据传输都用对称密钥算法来交流数据。

(8)客户端向服务器发送信息说明以后的所有信息都将用会话密钥加密。至此,它会传送一个单独的信息标示客户端的握手部分已经宣告结束。

(9)服务器也向客户端发送信息说明以后的所用信息都将用会话密钥加密。至此,它会传送一个单独的信息标示服务器端得握手部分已经宣告结束。

(10)SSL握手过程结束,一个SSL数据传送过程建立。客户端和服务器开始用会话密钥加密、解密双方交互的所用数据。

四、SSL的安全威胁及解决方案

4.1缺少对商家的认证

SSL协议运行的基础是商家对客户信息保密的承诺,SSL有利于商家,而不利于客户。因为它只提供交易中客户与服务器间的双方认证,不能提供客户对商家的认证。客户的信息传到商家,商家阅读后再传送到银行。整个过程中缺少了客户对商家的认证。由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。在基于SSL的交易支付系统中,消费者不得不信任商家能安全保护他们的信用卡信息。

在这种情况下,Visa和MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准,以解决SSL协议的不足。SET协议,被称之为安全电子交易,是由Master Card和Visa联合Netscape,Microsoft等公司,于1997年6月1日推出的一种新的电子支付模型。SET协议是B2C上基于信用卡支付模式而设计的,它保证了开放网络

上使用信用卡进行在线购物的安全。SET主要是为了解决用户,商家,银行之间通过信用卡的交易而设计的,它具有的保证交易数据的完整性,交易的不可抵赖性等种种优点。

4.2 SSL不能提供交易的不可否认性

SSL协议是基于Web应用的安全协议,它只能提供安全认证,SSL链路上的数据完整性和保密性。对于电子商务的交易应用层的信息不进行数据签名,因此,不能提供交易的不可否认性,这是SSL在电子商务中使用的最大缺欠。

4.3 密钥管理问题

客户机和服务器在连接初期互相发送自己能支持的加密算法时,以明文返回选定的加密算法和主密钥,主密钥前40位不加密,其余位加密,此时可能会被攻击者修改为强度最弱的加密算法,导致以后传输的加密数据包被攻击者破解。另外,所有的会话密钥中都将生成主密钥master-key,实际的密钥并不是主密钥,而是由它生成的两个密钥client-write-key (server -read-key)和client - read-key( server-write-key),并且当客户机和服务器再次握手时,不再协商加密算法和主密钥,因此握手协议的安全完全依赖于对主密钥的保护,如果主密钥管理不妥被泄露,则通讯传输中的加密数据包极可能被破译。

4.4 加密算法的强度限制

通过互联网传输敏感数据的一个问题是传输过程会经过许多中间环节,这一路由过程是所有互联网传输的基础,而在路由线路上的任何一台计算机都可能完全获得传输的信息,这样就使得别人有可能截获并破译你的秘密信息。美国政府规定,加密技术属于军用品受军火国际贸易法规的制约,其产品出口必须取得出口许可证。因此密钥长度超过512bit的RSA算法不能用于SSL的密钥交换算法,密钥长度超过40bit的对称加密算法如RC4,DES等不能用于SSL的数据加密,故美国出口的SSL协议产品的加密算法的安全性不足,不能用于安全性要求高的网络服务。

参考文献:

1)苏金国 SSL安全协议(下) 2001.08

2)买全文 谈网上支付中的几个问题 2001.12

3)王伟 SSL、SET协议及其安全技术 2004.01

4)刘春荣 基于SSL协议的电子商务安全性分析2010.03

5)百度百科、百度文库等网上资源

本文来源:https://www.bwwdw.com/article/x7ai.html

Top