浅析电子商务安全协议SSL与SET

时间:2019-05-14 10:47:11下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《浅析电子商务安全协议SSL与SET》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《浅析电子商务安全协议SSL与SET》。

第一篇:浅析电子商务安全协议SSL与SET

浅析电子商务安全协议SSL与SET

一、引言

电子商务融计算机技术、通信技术、网络技术于一体,以Internet为基础平台,互动性、开放性、广泛性为其显著特点。由于其开放性与广泛性,必然面临各种安全风险,如信息泄露或被篡改、欺骗、抵赖等。所以,安全问题已成为发展可信赖电子商务环境的瓶颈。目前,众多的安全技术都是通过安全协议来实施的。因此,简洁、有效的安全协议对电子商务安全而言至关重要。现今,国际上主要通行的两种安全协议:安全套接层协议SSL和安全电子交易协议SET,二者均是成熟和实用的安全协议,但是由于它们的设计目的不同,所以在应用上有很大的差别。

二、两种电子商务安全协议介绍

(一)安全套接层协议SSL

SSL是网景(Netscape)公司提出的基于WEB应用的安全协议,其目的是在Internet基础上提供的一种保证机密性的安全协议。它能使客户端/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,而且还可选择对客户端进行认证。

SSL协议是国际上最早应用于电子商务的一种网络安全协议,主要用于提高应用程序之间的数据安全。它同时使用对称加密算法和公钥加密算法,前者在速度上比后者要快很多,但是后者可以实现更好的安全认证。一个SSL传输过程首先需要握手:用公钥加密算法使服务器在客户端得到认证,以后就可以使用双方商议成功的对称密钥来更快速的加密、解密数据。

SSL协议要求建立在可靠的传输层协议(例如:TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议(例如:HTTP,FTP)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。应用层协议所传送的数据都会被加密,从而保证通信的机密性。对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。SSL协议由SSL记录协议和SSL握手协议两部分组成。

1、SSL记录协议

在SSL协议中,所有的传输数据都被封装在记录中。所有的SSL通信,包括握手消息、安全空白记录和应用数据都使用SSL记录协议。记录协议允许服务器和客户端相互认证并协商加密算法和密钥,对所有发送和接收的数据进行分段、压缩、认证、加密和完整性服务。

2、SSL握手协议

SSL握手协议包括建立在记录协议之上的握手协议、警报协议、更改加密说明协议和应用数据协议等对会话和管理提供支持的子协议,其用于在通信双方之间建立安全传输通道。握手过程一般分为4个阶段:

(1)初始化逻辑连接,客户端先发出ClientHello消息,服务器返回一个ServerHello消息,这两个消息用来协商双方的安全能力,包括协议版本、对称加密算法、压缩算法等。

(2)服务器发送数字证书(包含了服务器的公钥等)和会话密钥。如果服务器要求认证客户端,则要发送CertificateRequest消息。最后服务器发送ServerHelloDone消息,表示hello阶段结束,服务器等待客户端的响应。

(3)如果服务器要求认证客户端,则客户端先发送Certificate消息,然后产生会话密钥,并用服务器的公钥加密,封装在ClientKeyExchange消息中,如果客户端发送了自己的数字证书,则再发送一个数字签名CertificateVerify来对数字证书进行校验。

(4)客户端发送一个ChangeCipherspec消息,通知服务器以后发送的消息将采用先前协商好的安全参数加密,最后再发送一个加密后的Finished消息。服务器在收到上述两个消息后,也发送自己的ChangeCipherspec消息和Finished消息。

至此,握手全部完成,双方就可以开始传输应用数据了。

3、SSL提供的功能及局限性

SSL使用加密的办法建立一个安全的传输通道,它可提供以下3种基本的安全服务功能:

(1)信息加密。客户端和服务器之间的所有的应用数据使用在SSL握手过程中建立的密钥和算法进行加密。这样就防止了某些用户通过使用IP packet sniffer等工具进行非法窃听或者破译。

(2)信息完整。SSL提供完整信息服务,以建立客户端与服务器之间的安全通道,使所有经过SSL协议处理的业务能全部准确无误地到达目的地。

(3)相互认证。客户端和服务器都有各自的识别号,这些识别号由公开密钥进行编号。为了认证用户是否合法,SSL协议要求在握手交换数据前进行数字认证,来确保用户的合法性。

SSL协议的局限性:首先,客户的信息先到商家,让商家阅读,这样,客户资料的安全性就得不到保证;其次,SSL只能保证资料信息传递的安全,而传递过程是否有人截取就无法保证了。所以,SSL并没有实现电子支付所要求的保密性、完整性,而且多方互相认证也是很困难的。此外,该协议最大的弱点是不能做数字签名,因此不支持不可否认性。另外,它不能对商家进行认证,不能防止网上欺诈行为。

(二)安全电子交易协议SET

安全电子交易(Secure Electronic Transaction.简称SET)协议是由Visa和Master Card公司在1996年底开发的,主要为在网上在线交易时保证使用信用卡进行支付时的安全而设立的一个开放的协议,它是面向网上交易,针对利用信用卡进行支付而设计的电子支付规范。SET提供了消费者、商家和银行之间的认证,确保交易的保密性、可靠性和不可否认性,从而保证在开放网络环境下使用信用卡进行在线购物的安全。目前,SET已得到IBM、Microsoft、VeriSign等著名公司的参与和支持,是国际上所公认的Internet电子商务的安全标准。

1、基于SET的交易流程

SET协议的购物系统由持卡人、商家、支付网关、收单银行、发卡银行和证书授权中心(CA)等六大部分组成,它们之间的关系如图1所示。

此外,基于SET协议的购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发数字证书软件。目前,SET电子钱包主要是安装在客户端的交易软件,它是持卡人实现网上交易过程的主要工具。

SET协议在一般环境下的工作步骤如下:

(1)持卡人注册:持卡人为了使用信用卡,必须向支持SET的发卡银行申请开户,从而获得一个可用于Internet支付的信用卡帐号,同时向CA申请该信用卡的数字证书。此后,持卡人可以使用终端进行购物。

(2)商家注册:商家同样向CA申请用于电子商务支付的数字证书。此后,商家可以在网络上开设商城来销售货物。

(3)持卡人利用电子商务平台选定物品,并提交定单;

(4)商家接收定单,生成初始应答消息,数字签名后与商家数字证书、支付网关数字证书一起发送给持卡人;

(5)持卡人对应答消息进行处理,选择支付方式,确认定单,签发付款指令,将定单信息和支付信息进行双签名,对双签名后的信息和用支付网关公钥加密的支付信息签名后连同自己的数字证书发送给商家(商家看不到持卡人的帐号信息);

(6)商家认证持卡人数字证书和双签名后,生成支付认可请求,并连同加密的支付信息转发给支付网关;

(7)支付网关通过金融专网到发卡银行认证持卡人的帐号信息,并生成支付认可消息,数字签名后发给商家;

(8)商家收到支付认可消息后,认证支付网关的数字签名,生成购买定单确认信息发送给持卡人。

至此交易过程结束。商家发送货物或提供服务并请求支付网关将购物款从发卡银行持卡人的帐号转账到收单银行商家帐号,支付网关通过金融专网完成转账后,生成取款应答消息发送给商家。

在以上的工作步骤当中,持卡人、商家和支付网关都通过CA来认证通信主体的身份,以确保通信的对方不是冒名顶替。

2、SET提供的功能

(1)所有信息在Internet上加密安全传输,保证数据不会被他人窃取。

(2)数字签名保证信息的完整性和不可否认性。

(3)订单信息和个人信用卡信息的隔离,使商家看不到客户的信用卡信息。

(4)参与交易各方的身份认证,保证各方身份不可假冒。

三、SSL与SET的比较

SET是一个多方面的消息报文协议,它定义了银行、商家、客户之间必须符合的报文规范。SSL只是简单地在客户端与服务器之间建立了一个安全传输通道,在涉及多方的电子交易中,只能提供交易中客户端与服务器间的认证,其并不具备商务性、服务性和集成性。SET报文能够在银行内部网络或其他网络传输,而SSL之上的支付系统只能与Web浏览器捆绑在一起。除此之外,它们还有以下区别:

1、认证机制方面,SET的安全需求较高,因此所有参与SET交易的成员都必须先申请数字证书来识别身份,而在SSL中只有商家服务器需要认证,客户端认证是可选的。

2、对客户而言,SET保证了商家的合法性,并且用户的信用卡号不会被窃取。SET替客户保守了更多的秘密使其在线购物更加轻松。在SSL协议中则缺少对商家的认证。

3、安全性上,SET的安全性较SSL高,主要原因是在整个交易中,包括客户到商家、商家到支付网关再到银行都受到严密的保护。而SSL的安全范围只限于客户到商家的信息交流。

四、结论

总的来讲,由于SSL协议的成本低、速度快、使用简单,对现有网络系统不需进行大的修改,因而其应用也相对较广泛。目前我国已有多家银行采用SSL协议,开展网上银行业务。SET协议比较复杂,它还要求在银行网络、商家服务器、客户端的PC上安装相应的软件,此外还要求必须向各方发放数字证书。这些都阻止了SET的广泛发展。但从安全性角度看,SSL协议不如SET协议安全,对于使用信用卡支付的系统来说,SET协议是最好的选择。

结合我国的具体情况,可以预见,电子商务安全措施在我国的发展趋势将是SET与SSL共存,优势互补。即在商家与银行之间采用SET协议,而与顾客连接时仍然使用SSL协议。这种方案既回避了在顾客端机器上安装软件。同时又可获得了SET提供的很多优点(作者单位:温州医学院计算机教研室)

第二篇:电子商务安全协议SSL、SET的分析与研究演讲稿

第一张:标题 第二张:SSL 概念:安全套接层(Secure Sockets Layer,SSL)是一种传输层技术,可以实现兼容浏览器和服务器之间的安全通信。SSL协议是目前网上购物网站中常使用的一种安全协议。

1.SSL协议提供的服务主要有

(1)用户和服务器的合法性认证;

(2)加密数据以隐藏被传送的数据;(3)维护数据的完整性,2.SSL协议的工作流程

(1)接通阶段:客户通过网络向服务商发送连接信息,服务商回应;

(2)密码交换阶段:客户与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法;

(3)会谈密码阶段:客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;

(4)检验阶段:服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

(5)客户认证阶段:服务器通过数字签名验证客户的可信度;

(6)结束阶段,客户与服务商之间相互交换结束的信息。

3.SSL协议的缺点

(1)客户的信息先到商家,让商家阅读,这样,客户资料的安全性就得不到保证。

(2)SSL只能保证资料信息传递的安全,而传递过程是否有人截取就无法保证了。所以,SSL并没有实现电子支付所要求的保密性、完整性,而且多方互相认证也是很困难的。

4.电子商务中的应用。电子商务与网上银行交易不同,因为有商户参加,形成客户――商家――银行,两次点对点的SSL连接。客户,商家,银行,都必须具证书,两次点对点的双向认证。

第三张SET 概念: SET协议是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。SET中的核心技术主要有公开密钥加密、电子数字签名、电子信封、电子安全证书等。

1。SET支付系统的组成

SET支付系统主要由持卡人、商家、发卡行、收单行、支付网关、认证中心等六个部分组成。对应地,基于SET协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。

2。SET安全协议主要提供三方面的服务

(1)保证客户交易信息的保密性和完整性:

(2)确保商家和客户交易行为的不可否认性:

(3)确保商家和客户的合法性:

3。SET协议的缺点

(1)只能建立两点之间的安全连线,所以顾客只能把付款信息先发送到商家,再由商家转发到银行,而且只能保证连接通道是安全的而没有其他保证。

(2)不能保证商家会私自保留或盗用他的付款信息。

4.SET的工作流程

①消费者在互联网选所要购买的物品,并在计算机上输入订货单

②通过电子商务服务器与有关商家联系,商家作出应答,告诉消费者所填订货单的货物单价、应付款数、交货方式等信息是否准确、是否有变化

③消费者选择付款方式,确认订单,签发付款指令,此时SET开始介入 ④在SET中,消费者必须对订单和付款指令进行数字签名,同时利用双重签名技术保证商家看不到消费者的足球新闻账号信息

⑤商家接受订单后,向消费者所在银行请求支付认可,信息通过支付网关到收单银行,再到电子货币发行公司确认,批准交易后,返回确认信息给商家

⑥商家发送订单确认信息给消费者,消费者端软件可记录交易日志,以备查询

⑦商家发送货物或提供服务,并通知收单银行将钱从消费者的账号转移到商店账号,或通知发卡银行请求支付。

第四张:SSL与SET协议的比较

(1)在认证要求方面,早期的SSL并没有提供商家身份认证机制,不能实现多方认证;而SET的安全要求较高,所有参与SET交易的成员都必须申请数字证书进行身份识别。

(2)在安全性方面,SET协议规范了整个商务活动的流程,从而最大限度地保证了商务性、服务性、协调性和集成性。而SSL只对持卡人与商店端的信息交换进行加密保护,可以看作是用于传输的那部分的技术规范。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此SET的安全性比SSL高。

(3)在网络层协议位置方面,SSL是基于传输层的通用安全协议,而SET位于应用层,对网络上其他各层也有涉及。

(4)在应用领域方面,SSL主要是和Web应用一起工作,而SET是为信用卡交易提供安全,但如果电子商务应用是一个涉及多方交易的过程,则使用SET更安全、更通用些。

总结

由于SSL协议的成本低、速度快、使用简单,对现有网络系统不需进行大的修改,因而目前取得了广泛的应用。但随着电子商务规模的扩大,网络欺诈的风险性也在提高,在未来的电子商务中SET协议将会逐步占据主导地位。

第三篇:什么是SSL安全协议

什么是SSL安全协议

SSL安全协议最初是由Netscape Communication公司设计开发的,又叫“安全套接层(Secure Sockets Layer)协议”,主要用于提高应用程序之间数据的安全系数。SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TC/IP应用程序。

SSL安全协议主要提供三方面的服务:

用户和服务器的合法性认证

认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,安全套接层协议要求在握手交换数据时进行数字认证,以此来确保用户的合法性。

加密数据以隐藏被传送的数据

安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。

保护数据的完整性

安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。

安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段:

1.接通阶段:客户机通过网络向服务器打招呼,服务器回应;

2.密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法;

3.会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码;

4.检验阶段:客户机检验服务器取得的密码;

5.客户认证阶段:服务器验证客户机的可信度;

6.结束阶段:客户机与服务器之间相互交换结束的信息。

当上述动作完成之后,两者间的资料传送就会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。

发送时信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。

接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。

本文由:ev ssl证书 http://verisign.itrus.com.cn/ 整理

第四篇:SSL(Secure Sockets Layer)协议与数字证书

SSL(Secure Sockets Layer)协议与数字证书 SSL的概述

由于 Web上有时要传输重要或敏感的数据,Netscape公司在推出 Web浏览器首版的同时,提出了安全通信协议 SSL(Secure Socket Layer)。

目的是在 Internet基础上提供一种基于会话加密和认证的安全协议。SSL协议已成为 Internet上保密通讯的工业标准。现行 Web浏览器普遍将 HTTP和 SSL相结合,从而实现安全通信。

SSL协议有以下三个特性 : 保密性。因为在握手协议定义了会话密钥后,所有的消息都被加密。

确认性。因为尽管会话的客户端认证是可选的,但是服务器端始终是被认证的。可靠性。因为传送的消息包括消息完整性检查(使用 MAC)。

SSL或 TSL工作在 TCP层与 HTTP,FTP,SMTP之间.2 SSL的体系结构

SSL协议分为两层协议。

一层是 SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议(如 TCP)之上,为更高层提供基本的安全服务,如提供数据封装、压缩、加密 等基本功能的支持。

另一层是建立在 SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。它由三个协议组成:

• SSL握手协议(SSL Handshake Protocol)

• SSL修改密文规约协议(SSL Change Cipher Spec Protocol)• SSL告警协议(SSL Alert Protocol)

图:SSL 协议栈

SSL中协议中两个重要概念 :

SSL连接(connection):在 OSI分层模型的定义中,连接是提供一种合适类型服务的传输。而 SSL的连接是点对点的关系。连接是暂时的,每一个连接和一个会话关联。

SSL会话(session):一个 SSL会话是在客户与服务器之间的一个关联。会话由握手协议创建。会话定义了一组可供多个连接共享的加密安全参数。会话用以避免为每一个连接提供新的安全参数所付出昂贵的代价。

① 会话状态 由下列参数定义:

 会话标识符 :服务器选择的一个任意字节序列,用以标识一个活动的或可激活的会话状态。

   对方证书 :一个 X.509.v3证书。可为空。

压缩方法 :加密前进行数据压缩的算法。

密文规约 :指明数据体加密的算法(无,或 DES等),以及用以计算 MAC散列算法(如 MD5或 SHA-1)。还包括其它参数,如散列长度,主密码(48位 C与 S之间共享的密钥),重新开始标志(指明该会话是否能用于产生一个新连接)。

② 连接状态 由下列参数定义:

   服务器和客户的随机数:服务器和客户为每一个连接所选择的字节序列。

服务器写 MAC密码:一个密钥,用来对服务器发送的数据进行 MAC操作。

客户写 MAC密码:一个密钥,用来对客户发送的数据进行 MAC操作。 服务器写密钥:用于服务器进行数据加密,客户进行数据解密的对称加密密钥;

 客户写密钥:用于客户进行数据加密,服务器 r进行数据解密的对称加密密钥;

 初始化向量:当数据加密采用 CBC方式时,每一个密钥保持一个 IV。该字段首先由 SSL握手协议初始化,以后保留每次最后的密文数据块作为下一个记录的 IV。

 序号:每一方为每一个连接的数据发送与接收维护单独的顺序号。当一方发送或接收一个修改的密文规约的报文时,序号置为 0,最大 264-1。SSL记录协议

在 SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和长度不为 0的记录数据组成的。所有的 SSL通信包括握手消息、安全空白记录和应用数据都使用 SSL记录层。SSL记录协议(SSL Record Protocol)包括了记录头和记录数据格式的规定。

1.SSL记录头格式

SSL的记录头可以是两个或三个字节长的编码。SSL记录头的包含的信息包括:记录头的长度、记录数据的长度、记录数据中是否有粘贴数据。2.SSL记录数据的格式

SSL的记录数据包含三个部分: MAC(Message Authentication Code)数据、实际数据和粘贴数据。

3.SSL记录协议操作

在 SSL的记录层完成对数据加密、解密和认证。操作过程如图所示:

SSL Record Protocol

All SSL protocol messages move in records of up to 32,767 bytes.Each message has a header of either 2 or 3 bytes.The headers include a security escape function, a flag to indicate the existence of padding, and the length of the message(and possibly the padding.)A two byte header has no padding, a three byte header includes some padding.The meaning of bits is as follows:

8

+----------------+-----------------+----------------+

|# S Length | Length | Padding length |

+----------------+-----------------+----------------+

# is the number of bytes in the header

0 indicates a 3 byte header, max length 32,767 bytes.1 indicates a 2 byte header, max length 16,383 bytes S

indicates the presence of a security escape, although none are

currently implemented.(Several suggestions for security

escapes are in the weaknesses section.)

There is no version information within the SSL record header, although it is available in the handshake.Within a record, there are three components: MAC-DATA, Actual-data, and Padding-data.MAC is the Message Authentication Code , Actual-data is the actual data being sent, and Padding-data is padding.The MAC-DATA is a hash of a key, the data, padding, and a sequence number.The hash is chosen based on the cipher-choice.The key used is the(sender)-write-key, which is the same key as the(receiver)-read-key.When cipher-choice is not defined, there is no mac-data or padding-data.Padding is used to ensure that the data is a multiple of the block size when a block cipher is used.Padding data is always discarded after the MAC has been calculated.Sequence numbers are unsigned 32 bit integers incremented with each message sent.Sequence numbers wrap to zero after 0xFFFFFFFF.Each dialog direction has its own sequence number.Failure to authenticate, decrypt, or otherwise get correct answers in a crytpographic operation result in I/O errors, and a close of connection.附: 主 密码的计算

主秘密(master secret)的生成,它是从预主秘密衍生出来的。当生成了一个预主秘密并且双方都知道它之后,就可以计算主秘密,用作共享秘密的主秘密是通过对许多先前的消息交接中的数据的杂凑计算构成的。

生成主密钥这些计算格式如下: Master_secret= MD5(pre-master-secret+SHA(A+pre-master-secre+ClientHello.random+ServerHello.random))+ MD5(pre-master-secret+SHA(BB+pre-master-secre+ClientHello.random+ ServerHello.random))+ MD5(pre-master-secret+SHA(BB+pre-master-secre+ClientHello.random+ ServerHello.random))修改密文规约协议

修改密文规约协议(SSL Change Cipher Spec Protocol)是简单的特定 SSL的协议。

目的:为表示密码策略的变化。该协议包括一个单一的消息,它由记录层按照密码规约中所指定的方式进行加密和压缩。在完成握手协议之前,客户端和服务器都要 发送这一消息,以便通知对方其后的记录将用刚刚协商的密码规范以及相关联的密钥来保护。所有意外的更改密码规范消息都将生成一个 “意外消息(unexpected_message)”警告。告警协议 警告协议将警告消息以及它们的严重程度传递给 SSL会话中的主体。就像由记录层处理的应用层数据一样,警告消息也用当前连接状态所指定的方式来压缩和加密。

当任何一方检测到一个错误时,检测的一方就向另一方发送一个消息。如果警告消息有一个致命的后果,则通信的双方应立即关闭连接。双方都需要忘记任何与该失败的连接相关联的会话标识符、密钥和秘密。对于所有的非致命错误,双方可以缓存信息以恢复该连接。握手协议

SSL握手协议负责建立当前会话状态的参数。双方协商一个协议版本,选择密码算法,互相认证(不是必需的),并且使用公钥加密技术通过一系列交换的消息在客户端和服务器之间生成共享密钥。

SSL握手协议动作包含四个阶段。握手协议的动作如图所示。

第一阶段 建立安全能力(1)Client Hello消息(2)Server Hello消息 第二阶段 服务器认证和密钥交换

(1)Server Certificate消息(2)Server Key Exchange消息(3)Certificate Request消息(4)Server Hello Done消息 第三阶段 客户认证和密钥交换(1)Client Certificate消息(2)Client Key Exchange消息(3)Certificate Verify消息 第四阶段 结束握手

(1)Change Cipher Spec 消息(2)Finished消息

(3)Change Cipher Spec 消息(4)Finished消息

握手交互流程:

C->S: 请求一个受保护的页面

S->C:返回附带公钥的证书

C:检查证书是否授信,不授信则提示客户端 C:产生一临时的对称密钥,并用服务端的公钥加密

C:用服务端的公钥加密需要请求的地址和附加的参数

C->S:将加密过的密钥和请求内容发送给服务端

S:首先用私钥解密获得两者交互的临时对称密钥

S->C:将请求的内容通过临时对称密钥加密返回给客户端

C->S:通过临时对称密钥开始交互

S->C:通过临时对称密钥加密并返回内容

数字证书

数字证书称为数字标识(Digital Certificate,Digital ID)。它提供了一种在 Internet 上身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文件,与司机驾照或日常生活中的身份证相似。数字证书它是由一个由权威机构即 CA机构,又 称为证书授权(Certificate Authority)中心发行的,人们可以在交往中用它来识别对方的身份。在网上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关交易操作。通俗地讲,数字证书就是个人或单位在 Internet上的身份证。

比较专业的数字证书定义是,数 字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循相关国际标准。有了数字证书,我们在网络上就 可以畅通无阻。如图(数字证书授权中心)是一个数字证书在网络应用中的原理图。

图:数字证书授权中心

为什么需要数字证书呢?Internet网电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险。买方和卖方都必须对于在因特网上进行的一切金融交易运作都是真实可靠的,并且要使顾客、商家和企业等交易各方都具有绝对的信心,因而网络电子商务系统必须保证具有十分可靠的安全保密技术,也就是说,必须保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。

下面就是在证书中所包含的元素的列表。

  版本 :它用来区别 X.509的各种连续的版本。默认值是 1988版本。

序列号 :序列号是一个整数值,在发行的证书颁发机构中是唯一的。序列号与证书有明确联系,就像身份证号码和公民日常登记有明确联系一样。

 算法识别符 :算法识别符识别证书颁发机构用来签署证书的算法。证书颁发机构使用它的私钥对每个证书进行签名。

  发行者或证书颁发机构 :证书颁发机构是创建这个证书的机构。

有效期 :提供证书有效的起止日期,类似于信用卡的期限。

主体 :证书对他的身份进行验证。

公钥信息 :为证书识别的主体提供公钥和算法识别符。 签名 :证书签名覆盖了证书的所有其他字段。签名是其他字段的哈希代码,使用证书颁发机构的私钥进行加密,保证整个证书中信息的完整性。如果有人使用了证 书颁发机构的公钥来解密这个哈希代码,同时计算了证书的哈希代码,而两者并不相同,那么证书的某一部分就肯定被非法更改了。

图:证书内容

有了 数字证书以后,我们可以进行发送安全的电子邮件,实现网上邮件的加密和签名电子邮件,它还可以应用于公众网络上的商务活动和行政作业活动,应用范围涉及需要身份认证及数据安全的各个行业,如访问安全站点、网上招标投标、网上签约、网上订购、安全网上公文传送、网上办公、网上缴费、网上缴税、网上购物等网上 的安全电子事务处理和安全电子交易活动等。随着电子商务和电子政务的不断发展,数字证书的颁发机构 CA中心将作为一种基础设施为电子商务的发展提供可靠的保障。

Appendix2

SSL uses a scheme of https to reference documents available under HTTP with SSL.The https has a IANA reserved number of 443.SSL supports the RC2 & RC4 with either 128 bits or 40 bits of secret key information, as well as DES, 3 key 3DES, and IDEA.Details of all are covered in Schneier.A.The threats

As long as they confine themselves to playing by the rules established by Netscape, lookers can do little harm.There's little a looker with minimal resources can do against the deployed crypto systems used in SSL.Hacking one or more of the hosts or key certification authorities would seem to be a better option.Insiders, especially those around the top of the key certification hierarchy, have the potential to do quite a bit of harm by creating false signatures on keys.Few of these attacks will occur in a vengeful manner;they require time and foresight to enact, and are probably the domain of the malicious employee.(This assumes that employees who become vengeful do so at about the time they leave a firm.)

A criminal organization could, depending on its resources, possibly target an employee at a key certification organization.However, a more useful option might be to buy a cheap PC, and have it attempt brute force RC4 keys.It is estimated that a pentium based PC should be able to crack a 40 bit RC4 key in a month or several months using brute force.The manipulations used on the master key may increase the cost of tha attack, but probably not by orders of magnitude.If a PC costs $1500, then breaking 12 keys a year leads to a cost that could be as low as $125 per stolen card number.While this seems like a high price, the credit card numbers are acquired in a nearly risk free manner of sniffing an ethernet.In addition, that time will drop with the introduction of faster hardware.B.Protections

SSL explicitly examines a number of attacks that can be made against it, including brute force, clear text cryptanalysis, replay, and man in the middle.It does seem to protect well against those forms of attack.SSL is designed to protect at the network layer.This means it is not designed to, and does not, protect you from host breakins.To protect against host breakins, a Tripwire-like package should be integrated with the HTTPd.Tripwire uses cryptographically strong hashes to ensure documents have not been changed from some reference version.The database is usually stored on a physically write protected media like a floppy(Kim).C.Weaknesses

SSL, being a low level protocol, does little to protect you once your host is compromised.Also, once a key in a certificate is compromised, it can remain compromised, as there is no mechanism in place for consulting the root of a CA to confirm the key you are using has not been revoked.The keys however do include expiration dates.Climbing to the root CA is not a commonplace step, but a mechanism should be available to do so, for high value transactions.Out of band key repudiation is also desirable.Today, trusted key certifiers are compiled into the Netscape binary.The use of RC4 is troublesome, albeit understandable.RC4 is a newly published cipher, and although it was designed by the very competent Ron Rivest, it has not been subjected to the same kind of intense professional scrutiny that DES and IDEA have undergone.The decision to use RC4-40 is driven by the fact that it gets automatic export approval from the State Department.There are also a number of areas in the design of SSL as it stands that could become exploitable problems.None suggest an immediate means of attack, but are things which could be modified for possible added surety.Handshaking protocol: The challenge data, sent in the CLIENT-HELLO message, could in some types of handshakes, be sent later, encrypted.The data used in generating the session keys could include more data not sent in the clear.The means of generating the master key should be better specified, probably with reference to RFC-1750.Record protocol: Bad MAC-data should not terminate a connection, it should cause a repeat-request message.There are few attacks that will get anything from having the same data resent, and closing the connection on a bad message opens avenues for denial of service attacks.Sequence numbers should be randomly initialized.There are quite a few non-obvious attacks on sequence numbers(in IP, and NFS);it can't hurt to start with a non-predictable number.There should be a way for one or both sides to demand renegotiation of keys.Perhaps this could be implemented as a security escape.This is not needed for HTTP connection security, since the connections are very short lived, but if SSL is used, as the authors suggest, for telnet or FTP, the sessions could last substantially longer.

第五篇:SET协议系统缺陷及其改进方案

SET协议系统缺陷及其改进方案

摘要:文章对近年来流行的安全电子交易协议SET标准进行研究,指出该协议不能满足商品交易原子性和确认发送原子性。该文在原有协议的基础上对其进行了改进,改进后的方案采用商家额外向收单行发送顾客所购商品信息和自己随机生成密钥的方式来保证交易的公平性,使其不仅满足交易的原子性,而且还具有不可否认性的特点。

关键词:电子交易交易原子性确认发送原子性 SET协议

中图分类号:TP309 文献标识码:A 文章编号:1674-098X(2015)12(a)-0140-04

Abstract:This article analyzes the SET standard of the Secure Electronic Transaction in recent years and pointed out that the SET protocol has the flaws of the goods atomic transactions and certified delivery atomicity in transactions goods.In this paper,based on the original agreement to improve the protocol and the improved scheme adopts the way of the merchant to send its randomly generated key to guarantee the fairness of the transaction,so it is improved to make it not only satisfies the atomic transaction,but also has the characteristics of non repudiation.Key Words:Electronic trading;Atomic transaction;Certified delivery atomicity;SET protocol

计算机网络的诞生源于通信技术与计算机的结合,随着社会的发展,计算机网络近年来得到了快速发展和广泛使用,已渐渐成为当今信息社会的基石。与此同时,电子商务应运而生,它利用计算机网络和电子技术,促使交易的顺利和高效,网上购物已成为人们生活中不可或缺的一部分。网络的开放性给人们带来巨大利益的同时,也带来了隐患,其中最重要也是最基本的就是电子支付的安全问题。电子支付最重要的部分就是安全电子支付协议,其中应用较多的安全电子支付协议有两种,分别是安全套接层协议SSL(Secure Socket Layer)和安全电子安全交易协议SET(Secure Transaction)。其中SSL协议是基于Web的安全协议,该协议向基于TCP/IP原理的应用程序进行客户端和服务器端的鉴别,维护数据的机密性与完整性。SSL协议使用DES、MDS等加密算法来实现数据机密性和完整性,并采用X.509数字证书来鉴别[1]。不足的是,SSL协议缺少了买家对卖家的认证,随着商家越来越多,各商家的诚信度也不一样,因此经常出现商家欺诈消费者的现象,为解决这一问题,出现了一种新的安全协议――SET。与SSL不同,SET协议对所有参与交易过程的成员都制定了严格的身份认证标准,并对它们之间的消息传送采取了一系列预防保护措施。利用SET协议可以方便地建立和维护一个可信的网络交易环境,使得人们在这个无法面对面交流的环境里,能够正确确认彼此的身份和所交换的信息,从而保证了数据的机密性、完整性和有效性,确保了网上交易活动的安全进行。虽然电子商务使用广泛,但是它依然存在着许多隐患[2]。要确保电子商务交易的安全性,可以从安全协议、加密技术以及安全机制三个方面来展开[3]。目前安全支付协议多是以提高安全性为前提,如:改进协议、提高选取的随机数质量、进行二次加密、加强CA管理、增加服务器端可信代理等[4]。因此人们在增加协议安全性和提高效率两方面,提出了一系列的协议,这些协议大致可以分为两类:基于Hash函数的协议和基于公钥体制的协议,由于基于Hash函数的认证协议开销小、效率高,逐渐成为近年来研究的热点[5]。SET协议作为一种重要的电子商务协议,是一种用于开放网络环境中用来实现安全支付目标的协议。因此,保障SET协议的安全性很重要。

SET协议模型及其缺陷

为了保证人们在网络电子交易过程中的安全性,国际组织VISA和MasterCard在1996年2月联合制定了SET协议,34个国家的150多家金融机构共同参与制定了SET协议试行方案。各大信用卡公司都开始建造SET协议交易网关,软件厂商则着手开发支持SET协议的应用软件。SET协议适用于BtoC模式,围绕客户、商家、银行之间的相互关系并确认各自身份。由于设计合理,SET协议得到了许多大型公司的支持并且获得了IETF标准的认可,成为BtoC事实上的工业标准[6],并将成为以后电子商务发展的主要方向。

SET协议运用了对称、非对称密钥加密算法、Hash算法、数字签名、双重数字签名、数字信封和数字证书等先进技术,并与在线支付应用结合在一起,为网上交易提供了银行卡交易方式的安全保障,从而确保电子支付环境的高安全性。SET协议支付模型如图1[7]。

尽管SET协议实现了高安全性和可靠性,然而,由于涉及协议安全性的问题设计得十分巧妙,许多安全漏洞在协议使用了很长时间才被发现,所以SET协议的安全性更为人们所关注[8]。根据协议模型检测(MODEL CHECKING)[9-12]方法表明,SET协议依然存在着不少缺陷,如效率低、身份认证方式复杂等[13]。实际上,SET协议无法保证商品原子性和确认发送原子性[14],也就是协议不能保证客户付款后能收到与订单上相符的商品,并且缺乏一个合理的交易纠纷处理准则[15]。在电子商务领域,由于客户在退换货过程中的被动性和许多不确定的因素,商品原子性与确认发送原子性在电子支付协议中显得很重要。因此,确立一个保证商品原子性和确认发送原子性的电子支付协议是很有必要的[16]。

文章以安全电子支付协议标准SET作为研究对象,对SET协议中客户、商家和支付网关的消息传递过程进行改进,使它在原有的基础上同时满足商品原子性和确认发送原子性,进而减少损失[17]。

改进措施

2.1 密码标记

为便于研究,对文中使用的密码标记做如下规定:

SK 私有密钥

PK 公开密钥

K 对称加密算法密钥

E 加密变换

2.2 协议流程图

图2是改进后的协议流程图,注意到编号4’是新增加的一个步骤。图中的详细过程见2.3节的协议流程描述。

2.3 协议流程描述

(1)客户C向商家M发出购买请求。

(2)商家M向客户C展示客户想要购买商品的详细信息。

(3)客户C同意商品价格方面的要求,对订单OI进行数字签名得到OI’ =Eskc(OI),并用商家提供的公钥加密自己的公钥pkc’=Epkm(pkc),并将pkc’,OI’发送给商家。

(4)商家M对pkc’解密,得到pkc=Eskm(pkc’),然后对OI’解密得到OI=Epkc(OI’),确认订单为客户C所发。接着商家随机生成一个对称密钥K1,并对商品m加密得到m’ =EK1(m)再对m’求Hash运算进行签名后得到h=Eskm(H(m’))。商家对自己的数字证书Cerm和支付网关的数字证书Cerp以及付款要求pay进行数字签名后得到r=Eskm(Cerm,Cerp,pay),然后将(m’,h,r)发送给客户C,接着将产品m和K1用支付网关公钥加密后,发送给支付网关。这一目的是为了防止商家最后在收到客户款项后不发送密钥K1给客户,即不一定保证商家所发送的商品一定是客户原先想要购买的商品。

(5)客户C收到消息后,先对r解密:得到(Cerm,Cerp,pay)=Epkm(r),从而确认为商家M所发,此时客户C通过认证中心CA验证商家M和支付网关P的身份并按pay要求生成支付命令PI然后进行数字签名得到PI’=Eskc(PI)。然后客户C随机生成一个对称密钥K2,对PI’进行加密得到PI”=EK2(PI’)。客户C对商家发送的m’求Hash运算得到h’=H(m’),用K2对h’加密得到h’’=EK2(h’)。对客户的账户信息PAN(如客户的姓名,银行卡账号等信息)和K2用支付网关的公钥加密后得到P1=Epkp(PAN,K2)。上述加密过程是为了防止商家M知晓客户C相关的支付信息,进而保证只有支付网关P才能解密得到客户相关的支付信息。客户C对Cerc,PI’’,P1,h’’进行数字签名得到r1=Eskc(Cerc,PI’’,P1,h’’),并发送给商家M。

(6)商家M收到r1后,进行解密得到(Cerc,PI’’,P1,h’’)=Epkc(r1),确认为客户C所发,并对Cerm,Cerc,PI”,P1,h”数字签名后得到r2=Eskm(Cerm,Cerc,PI”,P1,h”),并将r2发送给支付网关P。

(7)支付网关P对接收到的r2进行解密得到(Cerm,Cerc,PI”,P1,h”)=Epkm(r2),确认为商家M所发。接着对P1解密得到(PAN,K2)=Eskp(P1),确认为客户C所发的账户信息,用K2解密h’’得到h’=EK2(h’’),对产品m用K1加密并求Hash得到h1=H(EK1(m)),比较h’与h1是否相同,若不相同,则说明商家发送的商品m不是顾客C所订购的商品;若二者相同,说明商家发送的商品m是顾客C所订购的商品,然后用K2对PI’’进行解密PI’=Ek2(PI’’),对PI’进行解密PI=Epkc(PI’),进而获得客户C的支付命令PI。最后将支付命令PI发送给持卡人所在的银行I。

(8)发卡行I进行验证,确认客户C的账号真实有效。然后将支付命令PI发给支付网关P,客户银行账户资金转移到商家银行账号上。

(9)支付网关P向商家M发送支付已完成消息msg。

(10)商家M对接收到的msg进行解密,确认为支付网关P所发,并向客户C发送解密密钥K1。进而整个交易过程结束。改进后的协议分析

3.1 协议安全性和不可抵赖性分析

从改进后的协议可知:客户C要验证商家M的证书Cerm,支付网关P的证书Cerp和商家M发送的付款请求pay。商家M要验证客户C的订单OI,客户C的证书Cerc,客户C发送的消息r1以及支付网关发送的消息msg。支付网关P要验证商家M发送的消息r2,商家M的证书Cerm,客户C的证书Cerc和客户C发送的支付命令PI。发卡行I要验证客户C的账号是否是真实有效的。因此该协议中,客户、商家、银行之间的身份要互相认证。客户C的订单信息OI只有商家M知道,银行并不知道;而客户C的支付信息pay,商家M并不知道。这种采用双重数字签名的方法,有效杜绝了商家欺骗消费者现象的发生。

3.2 协议原子性分析

3.2.1 商品原子性分析

从协议的分析可知,商家M只有在收到支付网关P发送的支付已完成消息msg后才会向客户C发送解密密钥K1;只有当客户C成功支付商品m后,才会得到商品的解密密钥K1。于是协议就保证了客户付款后就一定会得到商品,即满足了商品的原子性。

3.2.2 确认发送原子性分析

从协议中看出,客户C最后解密出的商品m,是客户C和支付网关P验证正确所购买的商品,并且只有在确认是客户所购买的商品后,支付网关P才将客户的支付命令发送给发卡行I。因此,客户C最后收到的商品一定是他所购买的商品,而商家也正确发送了客户所购买的商品,即满足了确认发送原子性。结语

文章对SET协议在网上支付的安全性进行了研究,并在认真分析交易过程的基础上针对原协议存在的两个缺陷:即在商品原子性和确认发送原子性方面,提出了一种改进方案。改进后的协议方案规定商家必须发送商品信息和随机密钥给支付网关保证协议的原子性。对改进后的协议分析表明,改进后的协议能够完成预计达到的目标。

参考文献

[1] 钟军,吴雪阳,江一民,等.一种安全协议的安全性分析及攻击研究[J].计算机工程与科学,2014,36(6):1077-1082.[2] 曾孜.企业电子商务系统的安全性分析[J].广东工业大学学报,2001,18(3):22-25.[3] 肖茵茵,苏开乐.电子商务支付协议认证性的SVO逻辑验证[J].计算机工程与应用,2014,50(8):6-10.[4] 张雪,马光思,毛宏燕.基于SSL提高网上安全交易性能的研究[J].微电子学与计算机,2011,28(2):181-183.[5] 何丽,王立斌.对一种身份认证协议的改进及其形式化分析[J].计算机系统应用,2010,19(7):47-49.[6] 张恺悌.基于SET协议的网络电子支付系统的研究[D].西安工业大学,2013.[7] 薛睿.基于SET协议的电子商务安全问题研究[D].郑州大学,2013.[8] 鲁四美,张建林.SET协议模型的改进与SMV分析[J].计算机工程与应用,2010,45(8):113-116.[9] 万子龙.基于模型检测的SET协议形式化验证与该进[D].南昌大学,2014.[10] Xiao M H,Wan Z L,Liu H L.The Formal Verification and Improvement of Simplified SET Protocol[J].Journal of Software,2014,9(9):2302-2308.[11] 黄佳.SET协议形式化分析与模型检测[J].软件学报,2012,33(6):111-115.[12] 缪力,谭志华,张大方.基于SPIN的网络认证协议高效模型检测[J].计算机工程与应用,2012,48(21):62-67.[13] Shen Z H,Wang H.An improved SET protocol payment system[C]//Proc.of International Conf.on Computer and Communication Technologies in Agriculture Engineering.Chengdu,China,June 2010:400-403.[14] 闰婷婷.基于第四方电子商务的统一支付平台及其协议的研究[D].华南理工大学,2012.[15] 任莉莉,王成军,方元康.SET协议在网上支付中的应用研究[J].计算机应用与软件,2010,27(10):105-107.[16] 肖早斌,肖仕成,李开,等.基于四方的安全电子商务支付协议研究[J].计算机科学,2011,38(10):39-44.[17] 廖辉,凌捷.网络终端安全评估量化指标体系的设计与实现[J].广东工业大学学报,2010,27(02):84-88.[18] 刘超凡,张永良,肖刚.基于滚动指纹数字签名的电子商务安全认证[J].计算机应用,2012,32(2):475-479.

下载浅析电子商务安全协议SSL与SETword格式文档
下载浅析电子商务安全协议SSL与SET.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    计算机信息安全论文:基于SET协议的移动支付安全的分析与改进5篇

    计算机信息安全论文:基于SET协议的移动支付安全的分析与改进 摘要:分析了在WAP环境下基于SET协议的移动支付的交易流程不满足商品原子性和确认发送原子性。当商家得到正确支......

    物流与电子商务合作协议

    四川XX物流有限责任公司 电子商务物流合作服务协议 甲方: 乙方: 鉴于: 四川XX物流有限责任公司(甲方)经营地在四川,从事四川省内零担物流运输业务和全国综合物流服务。甲方同意向......

    SSL与IIS的协同部署

    小组成员:徐思友,沈光鑫 本作业:徐思友 项目一 SSL与IIS的协同部署 一、 实验目的: 1、熟练的进行SSL与IIS的协同部署 2、能够利用Web浏览器申请独立根证书 3、能够建立独立从属......

    电子商务服务协议

    电子商务服务协议 甲方:××× 乙方:××× 一、服务内容: 乙方为甲方在×××上提供店铺运营服务中的 店铺申请入驻(账号注册)、产品拍摄、页面设计、店铺装修、商品上架、客服......

    电子商务合作协议

    电子商务部合作协议书 甲方:有限公司 乙方:电子商务有限公司 依照《中华人民共和国经济合同法》的有关规定,为保障甲乙双方的合法权 利,双方本着平等互利的原则,经友好协商,就甲方......

    电子商务合作协议(大全)

    电子商务合作协议【范本】 甲方: 法定代表人: 乙方: 法定代表人: 甲乙双方应合作进行电子商务事宜,经平等自愿协商,达成如下约定: 第一条 合作方式 甲方在旗下电子商务网站(网址: ,下......

    电子商务合作协议

    电子商务合作协议 甲方: 身份证号: 乙方: 身份证号: 乙方自愿在甲方兼职顾问,甲方聘请乙方为顾问兼职人员;甲乙双方协商一致签订本协议,以兹共同遵守。一、协议期限 本协议期限......

    电子商务交易平台协议

    甲方:_________乙方:_________鉴于甲方作为零售商、乙方作为供应商,双方存在商品购销/代销关系;鉴于甲方初步开发建设了_________电子商务交易平台;鉴于双方同意通过_________电子......