电子商务安全协议Xxx(华中科技大学电子与信息工程系,武汉430074)摘要:随着人类进入以网络为主的信息时代,Internet 的高速发展带来了商业和经济模式的重大变革。
基于 Internet 发展起来的电子商务慢慢成为人们进行商务活动的新模式,但是安全问题成为了制约其发展的重要因素。
本文简单介绍了电子商务安全的相关问题以及电子商务中的主流安全协议:SSL协议与SET协议,并对两种协议的优缺点进行了一定的比较分析。
关键词:电子商务,安全协议,SSL,SET1.电子商务安全概述随着信息技术的迅速发展,人类正进入以网络为主的信息时代,基于Internet发展起来的电子商务慢慢成为人们进行商务活动的新模式。
但是,电子商务的安全问题也是制约其发展的重要因素之一,如何建立一个安全、便捷的电子商务应用环境,保证整个电子商务活动中信息的安全性,使基于Internet的电子交易方式与传统交易方式一样可靠。
1.1.电子商务的定义电子商务是把现有的计算机软件、硬件设备和网络设施,通过一定的协议连接起来的在电子网络环境下进行各种商品买卖的一种新方式。
电子商务改变了传统的面对面交易模式,同时在一定程度上打破了时间和地点的限制。
虽然电子商务具有快捷性、方便性、不受时间地点的限制、相对传统交易开销小等诸多优点,但是却存在安全性方面的许多隐患。
1.2.电子商务的安全要素为了保证电子商务在整个商品交易活动中,可以安全顺利的进行,一般来说,需要电子商务的安全系统必须具备以下几个安全要素:1)有效性:要求电子商务系统可以对信息,交易实体的有效性进行鉴别2)机密性:保证信息在存取和传输过程中的安全性3)数据的完整性:即保护数据的完整性,防止有人没有经过授权就对数据内容进行修改,同时还要保证数据的一致性4)可靠性和不可抵赖性:在进行电子商务交易时,交易信息在传输过程中将为参与交易的个人、企业、国家提供可靠的标识5)审查能力:过使用电子商务交易系统的日志文件对交易的数据的结果进行审查、追踪1.3.电子商务主要安全协议1)S-HTTP:安全超文本传输协议, 它是一种面向安全信息通信的协议,它可以和HTTP 结合起来使用。
S-HTTP 能与HTTP 信息模型共存并易于与HTTP 应用程序相整合。
该协议向www的应用提供可鉴别性、完整性、机密性以及不可否认性等安全措施。
2)iKP:该协议是由IBM公司设计的一种全新的安全电子支付协议,可以在网上进行安全的交易。
该协议最主要的特征是对数据提供密码保护和对解决争端的检查跟踪,可以对客户、商家和银行的网关三方之间进行仲裁。
该协议是基于RSA公钥体制的,并能推广到借记卡或电子支票等支付系统中。
3)SSL:安全套接层协议,是Netscape公司率先采用的网络安全协议。
它是传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。
SSL广泛支持各种类型网络,同时提供三种基本的安全服务。
对于电子商务应用来说,安全套接层协议可以保证信息的完整性、保密性和真实性。
但是,安全套协议不能对应用层的消息进行数字签名,因此不能确定交易的不可否认性,这是安全套协议在电子商务中最大的不足。
4)SET:安全电子交易协议,由Visa与Master card两大信用卡组织联合IBM、HP等公司1997年开发成功,是为了在Internet进行线上交易时保证信用卡支付的安全而设立的一个开放的规范。
Set协议在网上购物环境中提供了商家、顾客和银行三者之间的认证,确保了交易数据的安全性、完整性、可靠性和交易的不可否认性,同时还提供了一定的隐私保护,使其获得IETF标准的认可,也是电子商务发展的方向。
SSL 和SET 是当前在电子商务中应用最为广泛的安全协议,在较长时间内SSL 和SET 将作为电子商务安全保证的主流协议,在下文中会主要介绍这两种常用协议。
2.SSL(S ecure Socket Layer)安全套接层协议S SL协议向基于TCP/IP 的客户/服务器应用程序提供了客户端和服务器的鉴别、数据完整性及信息机密性等安全措施。
2.1.SSL协议工作流程服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段:经认证的服务器发送一个提问给客户,客户返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。
图 2.1 SSL握手协议2.2.SSL协议安全性分析SSL协议可提供如下安全保证:1)用户和服务器的合法性认证:用户和服务器都有各自的识别号,采用公钥技术,在握手阶段进行数字认证,以确保用户的合法性2)数据加密:采用对称密钥加密传输数据3)数据的完整性:采用哈希函数等形成数字摘要,保证数据的完整性但是,SSL协议也存在着一些问题,SSL刚开始并不是为了支持电子商务而设计的。
电于商务往往是用户、网站、银行三家协作完成,SSL 协议并不能协调各方面的安全传输和信任关系,并且,SSL并不支持完善的防抵赖功能。
3.SET(Secure Electronic Transaction)安全电子交易协议SET 协议是针对开放网络上安全、有效的银行卡交易,是由 Visa 和Master card联合研制的一个能保证通过开放网络进行安全资金支付的技术标准。
SET 协议采用公开密码体制(PK)和 X509 电子证书标准,通过相应软件、电子证书、数字签名和加密技术能在电子交易环节上提供更大的信任度、更完善地交换信息、更高的安全性和较少的可欺诈性。
3.1.SET协议关键技术SET使用多种密钥技术来达到安全交易的要求,其中对称密钥技术、公钥加密技术和Hash算法是其核心。
综合应用以上三种技术产生了数字签名、数字信封、数字证书等多种加密与认证技术。
数字签名技术:数字签名是实现认证的重要工具,在网络中的密钥分配、电子安全交易等方面都有重要应用,它能提供身份认证、数据完整性、不可抵赖等安全服务。
数字签名分为签名和认证两部分。
签名过程:首先计算消息M的散列值,即利用哈希函数对代待发信息形成数据摘要H(M)。
然后利用私钥加密散列值形成签名S,最后再将消息与签名(M,S)一起发送给接收方。
验证过程:接收方首先要取得发送方的公钥,利用发送方的公钥可以对接收到得签名S进行解密,得到h。
计算接收到得明文M的散列值,设为H(M),假如h=H(M),则签名有效,反之则签名无效。
数字签名的主要作用:1)防冒充:其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可能构造出正确的签名数据。
2)可鉴别身份:在网络环境中,接收方必须能够鉴别发送方所宣称的身份,即接收者使用发送者的公开密钥对签名报文进行解密运算,如结果为明文,则签名有效,证明对方身份是真实的。
3)防篡改:签名数据和原有文件已形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性。
4)防重放:重放即为了获取利益而重复使用已签名的单据,在电子交易中,付款后要及时毁掉另一方手中的单据,否则,对方可能再次要求付款。
在签名电文中添加流水号、时间戳等,就可以防止这种情况发生。
5)防抵赖:数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好象保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。
数字签名流程图:图 3.1 数字签名流程图数字信封技术:在数字信封中,信息发送方采用对称密钥来加密信息内容,然后将此对称密钥用接收方的公开密钥来加密(这部分称数字信封)之后,将它和加密后的信息一起发送给接收方,接收方先用相应的私有密钥打开数字信封,得到对称密钥,然后使用对称密钥解开加密信息。
在传递信息时,信息接收方若要解密信息,必须先用自己的私钥解密数字信封,得到对称密码,才能利用对称密码解密所得到的信息。
这样就保证了数据传输的真实性和完整性。
数字信封流程图:消息M 对称密钥加密对称密钥公钥加密消息密文密钥密文数字信封消息密文密钥密文对称密钥加密对称密钥私钥解密消息M 生成数字信封解开数字信封图 3.2 数字信封流程图双重签名技术:双重签名的目的在连结两个不同接收者消息。
在这里,消费者想要发送订单信息OI到特约商店,且发送支付命令PI给银行。
特约商店并不需要知道消费者的信用卡卡号,而银行不需要知道消费者订单的详细信息。
消费者需要将这两个消息分隔开,而受到额外的隐私保护。
在必要的时候这两个消息必须要连结在一起,才可以解决可能的争议、质疑。
这样消费者可以证明这个支付行为是根据他的订单来执行的,而不是其它的货品或服务。
生成双重签名:图 3.3 双重签名生成过程双重签名的流程:首先生成两条消息的摘要(PI和OI),将两个摘要连接起来,生成一个新的摘要(称为双重签名POMD),然后用签发者的私有密钥加密,为了让接收者验证双重签名,还必须将其中一条消息的摘要(PI或OI)一块传过去。
这样,任何一个消息的接收者都可以通过以下方法验证消息的真实性:生成消息摘要,将它和另外一个消息摘要连接起来,生成新的摘要,如果它与解密后的双重签名相等,就可以确定消息是真实的。
3.2.SET协议的交易流程1)持卡人注册(Cardholder registration):持卡人必须在发送SET信息给特约商店之前向CA注册2)特约商店注册(Merchant registration):特约商店必须在它们和消费者与支付网关交换SET信息之前,向CA申请注册3)购买请求(Purchase request):从消费者送出给特约商店的消息,包含给特约商店的订单信息OI,给银行的支付命令摘要PIMD,双重数字签名POMD,包含用户公钥的信用卡持有者认证证书。
此外,该消息中还包含由银行支付信息PI,双重签名POMD,特约商店的订单信息摘要OIMD,这些信息利用临时对称公钥和银行公钥形成一个数字信封4)支付授权(Payment authorization):在特约商店与支付网关之间的交换,可以对特定账户信用卡持卡人的采购做授权,商户会将接收到的包含银行支付信息PI,双重签名POMD,特约商店的订单信息摘要OIMD的数字信封转发给支付网关5)支付获得(Payment capture):让特约商店可以从支付网关请求支支付项。