电子商务是一个机遇和挑战共存的新领域,这种挑战在很大程度上来源于对可使用的安全技术的信赖。在开放的网络(如Internet)上处理交易,如何保证传输数据的安全成为电子商务能否普及的最重要因素之一。
一.电子商务对安全的要求
归纳起来,对电子商务活动安全性的需求以及可使用的网络安全措施,主要包含如下几方面。
1.如何确定通信中的贸易伙伴的真实性?常用的处理技术是身份认证,依赖某个可信赖的机构(认证中心-CA)发放证书,双方交换信息之前通过CA获取对方的证书,并以此识别对方。1997年5月,由Visa、MasterCard等联合推出,并得到IBM、Netscape、Microsoft、Oracle等公司支持的安全电子交易(SET)规范为在Internet上进行安全的电子商务提供了一个开放的标准。电子认证是SET的主要功能。
2.如何保证电子单证的秘密性,防范电子单证的内容被第三方读取?常用的处理技术是数据加密和解密。常见的加密技术包括对称密钥加密技术(加密/解密使用相同的密钥,或者可以从一个密钥推导出另一个密钥,典型的加密算法包括DES、Triple DES、IDEA、RC4和RC5)和非对称密钥加密技术(也称公开密钥加密技术,加密/解密使用不同的密钥,典型的加密算法为RSA、SEEK、PGP和EU等)。单证传输的安全性依赖于使用的算法和密钥的长度。
3.如何保证被传输的业务单证不会丢失,或者发送方可以察觉所发单证的丢失?对于固定且具有频繁贸易往来的伙伴,可以采用单证传输的序列性检验(即为单证分配序列号,或者增加时间戳);也可采用双方约定的方法,即在规定的时间内,通过某种方式进行确认,包括采用特定的确认报文(如:订单确认报文),或者电子邮件确认和电话确认等。
4.如何确定电子单证的内容未被篡改?单证传输完整性主要采用散列技术来防止非法用户对单证的篡改,通过散列算法对被传输的单证进行处理,产生一个依赖于该单证的短小的散列值(通常在100~200比特之间),并将该散列值附接在单证之后传输给接收方,以便接收方采用相同的散列算法对接收的单证进行检验。散列算法保证对于不同的单证产生相同的散列值的概率极小。典型的散列算法为美国国家安全局开发的单向散列算法——SHA-1,该算法产生长度为160比特的散列值以及MD2和MD5等。
5.如何确定电子单证的真实性(即单证来源于期望的发送方)?鉴别单证真实性的主要手段是数字签名技术,其基础是数据加密中的公开密钥加密技术,实用中常结合单证完整性一起考虑,利用发送方的密钥对散列值进行加密。目前可用的数字签名算法很多,如:RSA数字签名、ELGamal数字签名等。
6.如何解决或者仲裁收发双方对交换的单证所产生的争议,包括发方或收方可能的否认或抵赖?通常要求引入认证中心进行管理,由CA发放密钥,传输的单证及其签名的备份发至CA保存,作为可能争议的仲裁依据。
7.如何保证存储信息的安全性?如何规范内部管理?如何使用访问控制权限和日志以及敏感信息加密存储?当使用WWW服务器支持电子商务活动时,应注意数据的备份和恢复,并采用防火墙技术(有些专家建议直接采用物理分割WWW服务器和内部网络的连接)保护内部网络的安全性。
为了达到商务活动的要求,电子商务需要有规定顾客、商家和各金融机构之间的责权关系的政策,给出参与各方的数据存储和通信过程以及数据流动的支付协议。
二.电子支付协议工作流程
电子商务需要有与现实世界中使用的各种支付手段相对应的电子支付工具。目前主要有三种支付工具:卡、电子支票、电子货币(电子现金、电子硬币)。对应于不同的支付工具,可以将目前已有的支付协议分为三类:基于卡的支付协议、基于支票的支付协议以及基于电子货币的支付协议。
下面以广泛应用的SET协议为例来加以分析。
SET要达到的最主要的目标是:
● 信息在Internet上的安全传输,保证网上传输的数据不被黑客窃听;
● 订单信息和个人账号信息的隔离,在将包括消费者账号信息的订单送到商家时,商家只能看到订货信息,而看不到消费者的账户信息;
● 消费者和商家的相互认证,以确定通信双方的身份,一般由第三方机构负责为在线通信双方提供信用担保;
● 要求软件遵循相同的协议和消息格式,使不同厂家开发的软件具有兼容和互操作功能,并且可以运行在不同的硬件和操作系统平台上。
SET规范涉及的范围:
● 加密算法的应用(例如RSA和DES);
● 证书信息和对象格式;
● 购买信息和对象格式;
● 认可信息和对象格式;
● 划账信息和对象格式;
● 对话实体之间消息的传输协议。
SET协议中的角色有:
消费者:在电子商务环境中,消费者和团体购买者通过计算机与商家交流,消费者通过由发卡机构颁发的付款卡(例如信用卡、借记卡)进行结算。在消费者和商家的会话中,SET可以保证消费者的个人账号信息不被泄露。
发卡机构:它是一个金融机构,为每一个建立了账户的顾客颁发付款卡。
商家:提供商品或服务,使用SET,就可以保证消费者个人信息的安全。接受卡支付的商家必须和银行有关系。
银行:在线交易的商家在银行开立账号,并且处理支付卡的认证和支付。
支付网关:是由银行操作的,将Internet上的传输数据转换为金融机构内部数据的设备,或由指派的第三方处理商家支付信息和顾客的支付指令。
SET是针对用卡支付的网上交易而设计的支付规范,对不用卡支付的交易方式,像货到付款方式、邮局汇款方式则与SET无关。另外像网上商店的页面安排、保密数据在购买者计算机上如何保存等,也与SET无关。
SET协议的工作原理如图1所示。
图1 SET协议的工作原理
具体工作流程说明如下:
1.消费者使用浏览器在商家的Web主页上查看在线商品目录浏览商品。
2.消费者选择要购买的商品。
3.消费者填写订单,包括:项目列表、价格、总价、运费、搬运费、税费。订单可通过电子化方式从商家传过来,或由消费者的电子购物软件(Wallet)建立。有些在线商场可以让消费者与商家协商物品的价格(例如出示自己是老客户的证明,或给出了竞争对手的价格信息)。
4.消费者选择付款方式,此时SET开始介入。
5.消费者发送给商家一个完整的订单及要求付款的指令。在SET中,订单和付款指令由消费者进行数字签名。同时利用双重签名技术保证商家看不到消费者的账号信息。
6.商家接受订单后,向消费者的金融机构请求支付认可。通过网关到银行,再到发卡机构确认,批准交易,然后返回确认信息给商家。
7.商家发送订单确认信息给顾客,顾客端软件可记录交易日志,以备将来查询。
8.商家给顾客装运货物,或完成订购的服务。到此为止,一个购买过程已经结束。商家可以立即请求银行将钱从购物者的账号转移到商家账号,也可以等到某一时间,请求成批划账处理。
9.商家从消费者的金融机构请求支付。在认证操作和支付操作中间一般会有一个时间间隔,例如,在每天的下班前请求银行结一天的账。
前三步与SET无关,从第四步开始SET起作用,一直到第九步,在处理过程中,通信协议、请求信息的格式、数据类型的定义等,SET都有明确的规定。在操作的每一步,消费者、商家、网关都通过CA来验证通信主体的身份,以确保通信的对方不是冒名顶替。
三.支付协议中采用的加密技术
下面主要还是以SET为例,来深入说明加密技术在协议中的体现。
SET将对称密钥的快速、低成本和非对称密钥的有效性完美地结合在一起。以下是SET使用的加密技术。
考虑网上商店的情况,对于成千上万的消费者和商家在Internet上交换信息,要对每一个消费者通过某个渠道发放一个密钥,在现实中是不可取的。而用公开密钥,商家生成一个公共密钥对,任何一个消费者都可用商家公开发布的公钥与商家进行保密通信。
1.数字信封:SET依靠密码系统保证消息的可靠传输,在SET中,使用DES算法产生的对称密钥来加密数据,然后,将此对称密钥用接收者的公钥加密,称为消息的“数字信封”,将其和数据一起送给接收者,接收者先用他的私钥解密数字信封,得到对称密钥,然后使用对称密钥解开数据。
2.数字签名:由于公开密钥和私有密钥之间存在的数学关系,使用其中一个密钥加密的数据只能用另一个密钥解开,SET中使用RSA算法来实现。发送者用自己的私有密钥加密数据传给接收者,接收者用发送者的公钥解开数据后,就可确定消息来自于谁。这就保证了发送者对所发信息不能抵赖。
3.消息摘要:消息摘要是一个惟一对应一个消息或文本的值,由一个单向Hash加密函数对消息作用产生。在SET协议中,原文通过SHA-1算法生成消息的文摘。用发送者的私有密钥加密摘要附在原文后面,一般称为消息的数字签名。 数字签名的接受者可以确信消息确实来自谁,另外,如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。
图2说明了加密、签名和消息摘要的过程。
图2 加密、签名和消息摘要的过程
加密的有效性取决于加密算法DES和RSA的强度以及SHA-1算法的有效性。
4.双重签名:为了保证消费者的账号等重要信息对商家隐蔽,SET中采用了双重签名技术,它是SET推出的数字签名的新应用。考虑下面的情况,王先生要买李小姐的一处房产,他发给李小姐一个购买报价单及他对银行的授权书的消息,要求银行:如果李小姐同意按此价格出卖,则将钱划到李小姐的
阅读(411) | 评论(0) | 转发(0) |