SSL协议的工作流程:服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
set协议的交易流程:
用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证
SET交易过程中要对商家,客户,支付网关等交易各方进行身份认证,因此它的交易过程相对复杂。
(1)客户在网上商店看中商品后,和商家进行磋商,然后发出请求购买信息。
(2)商家要求客户用电子钱包付款。
(3)电子钱包提示客户输入口令后与商家交换握手信息,确认商家和客户两端均合法。
(4)客户的电子钱包形成一个包含订购信息与支付指令的报文发送给商家。
(5)商家将含有客户支付指令的信息发送给支付网关。
(6)支付网关在确认客户信用卡信息之后,向商家发送一个授权响应的报文。
(7)商家向客户的电子钱包发送一个确认信息。
(8)将款项从客户帐号转到商家帐号,然后向顾客送货,交易结束。
从上面的交易流程可以看出,SET交易过程十分复杂性,在完成一次SET协议交易过程中,需验证电子证书9次,验证数字签名6次,传递证书7次,进行签名5次,4次对称加密和非对称加密。通常完成一个SET协议交易过程大约要花费1.5-2分钟甚至更长时间。由于各地网络设施良莠不齐,因此,完成一个SET协议的交易过程可能需要耗费更长的时间。
SSL工作原理2007-03-0822:15SSL是一个安全协议,它提供使用TCP/IP的通信应用程序间的隐私与完整性。因特网的超文本传输协议(HTTP)使用SSL来实现安全的通信。在客户端与服务器间传输的数据是通过使用对称算法(如DES或RC4)进行加密的。公用密钥算法(通常为RSA)是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。有了服务器的SSL数字证书,客户端也可以验证服务器的身份。SSL协议的版本1和2只提供服务器认证。版本3添加了客户端认证,此认证同时需要客户端和服务器的数字证书。SSL握手SSL连接总是由客户端启动的。在SSL会话开始时执行SSL握手。此握手产生会话的密码参数。关于如何处理SSL握手的简单概述,如下图所示。此示例假设已在Web浏览器和Web服务器间建立了SSL连接。图SSL的客户端与服务器端的认证握手
(1)客户端发送列出客户端密码能力的客户端“您好”消息(以客户端首选项顺序排序),如SSL的版本、客户端支持的密码对和客户端支持的数据压缩方法。消息也包含28字节的随机数。
(2)服务器以服务器“您好”消息响应,此消息包含密码方法(密码对)和由服务器选择的数据压缩方法,以及会话标识和另一个随机数。注意:客户端和服务器至少必须支持一个公共密码对,否则握手失败。服务器一般选择最大的公共密码对。
(3)服务器发送其SSL数字证书。(服务器使用带有SSL的X.509V3数字证书。)如果服务器使用SSLV3,而服务器应用程序(如Web服务器)需要数字证书进行客户端认证,则客户端会发出“数字证书请求”消息。在“数字证书请求”消息中,服务器发出支持的客户端数字证书类型的列表和可接受的CA的名称。
(4)服务器发出服务器“您好完成”消息并等待客户端响应。
(5)一接到服务器“您好完成”消息,客户端(Web浏览器)将验证服务器的SSL数字证书的有效性并检查服务器的“你好”消息参数是否可以接受。如果服务器请求客户端数字证书,客户端将发送其数字证书;或者,如果没有合适的数字证书是可用的,客户端将发送“没有数字证书”警告。此警告仅仅是警告而已,但如果客户端数字证书认证是强制性的话,服务器应用程序将会使会话失败。
(6)客户端发送“客户端密钥交换”消息。此消息包含pre-mastersecret(一个用在对称加密密钥生成中的46字节的随机数字),和消息认证代码(MAC)密钥(用服务器的公用密钥加密的)。如果客户端发送客户端数字证书给服务器,客户端将发出签有客户端的专用密钥的“数字证书验证”消息。通过验证此消息的签名,服务器可以显示验证客户端数字证书的所有权。注意:如果服务器没有属于数字证书的专用密钥,它将无法解密pre-master密码,也无法创建对称加密算法的正确密钥,且握手将失败。
(7)客户端使用一系列加密运算将pre-mastersecret转化为mastersecret,其中将派生出所有用于加密和消息认证的密钥。然后,客户端发出“更改密码规范”消息将服务器转换为新协商的密码对。客户端发出的下一个消息(“未完成”的消息)为用此密码方法和密钥加密的第一条消息。
(8)服务器以自己的“更改密码规范”和“已完成”消息响应。
(9)SSL握手结束,且可以发送加密的应用程序数据。天威诚信CA数字认证中心