理论教育 SSL协议:保障电子商务交易安全的SSL+表单签名模式

SSL协议:保障电子商务交易安全的SSL+表单签名模式

时间:2023-05-21 理论教育 版权反馈
【摘要】:综上所述,在电子商务中采用单一的SSL协议来保证交易的安全是不够的,但采用“SSL+表单签名”模式能够为电子商务提供较好的安全性保证。SSL协议包括两个子协议:SSL记录协议和SSL握手协议。SSL握手协议准许服务器端与客户端在开始传输数据前,能够通过特定的加密算法相互鉴别。SSL握手过程就成功结束,一个SSL数据传送过程建立。

SSL协议:保障电子商务交易安全的SSL+表单签名模式

1.SSL协议概述

SSL(Secure Socket Layer)安全套接层协议主要适用于点对点之间的信息传输,通过在浏览器软件(例如Internet Explorer、Netscape Navigator)和WWW服务器建立一条安全通道,从而实现在Internet中传输保密文件。

SSL是一个用来保证安全传输文件的协议。它包括服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作“表单签名(Form Signing)”的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。综上所述,在电子商务中采用单一的SSL协议来保证交易的安全是不够的,但采用“SSL+表单签名”模式能够为电子商务提供较好的安全性保证。

2.SSL的基本结构

在TCP/IP协议簇中,SSL位于TCP层之上和应用层之下。这使它可以独立于应用层,从而使应用层协议可以直接建立在SSL上。

SSL协议包括两个子协议:SSL记录协议和SSL握手协议。SSL记录协议建立在可靠的传输协议(例如:TCP)上,用来封装高层的协议。SSL握手协议准许服务器端与客户端在开始传输数据前,能够通过特定的加密算法相互鉴别。

3.SSL协议过程

SSL协议同时使用对称密钥算法和公钥加密算法。前者在速度上比后者要快很多,但是后者可以实现更加方便的安全验证。为了综合利用这两种方法的优点,SSL用公钥加密算法使服务器端在客户端得到验证,并传递对称密钥,然后再用对称密钥来更快速地加密、解密数据。

具体过程描述如下:

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

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

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

(4)用户用握手过程至今产生的所有数据,创建连接所用的Premaster Secret,用服务器的公钥加密(在第2步中传送的服务器证书中得到),传送给服务器。

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

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

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

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

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

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

一个SSL传输过程大致就是这样,但是很重要的一点不要忽略:利用证书在客户端和服务器端进行的身份验证过程。(www.daowen.com)

4.认证服务器的身份

一个支持SSL的客户端软件通过下列步骤认证服务器的身份:

(1)从服务器端传送的证书中获得相关信息。

(2)验证当天的时间是否在证书的合法期限内。

(3)验证签发证书的机关是否是客户端信任的。

(4)验证签发证书的公钥是否符合签发者的数字签名。

(5)验证证书中的服务器域名是否符合服务器自己真正的域名。

(6)服务器被验证成功,客户继续进行握手过程。

5.认证客户端的身份

一个支持SSL的服务器通过下列步骤认证客户端的身份:

(1)从客户端传送的证书中获得相关信息。

(2)验证用户的公钥是否符合用户的数字签名。

(3)验证当天的时间是否在证书的合法期限内。

(4)验证签发证书的机关是否是服务器端信任的。

(5)验证用户的证书是否被列在服务器有效用户的信息中。

(6)验证得到验证的用户是否仍然有权限访问请求的服务器资源。

SSL使用复杂的数学公式进行数据加密和解密,这些公式的复杂性根据密码的强度不同而不同。高强度的计算会使多数服务器停顿,导致性能下降。多数Web服务器在执行SSL相关任务时,吞吐量会显著下降,性能比在只执行HTTP 1.0连接时的速度慢50多倍。

另外虽然对买方而言,SSL已经解决了大部分的问题。但是,对电子商务而言问题并没有完全解决,因为SSL只做能到资料保密,厂商无法确定是谁填写了这份资料。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈