三、技术原理
电子支付系统必须能使收款人相信他们能收到合法的支付,同时阻止不诚实的付款人进行未授权的支付,并始终保护诚实参与者的隐私。
1.联机支付与脱机支付
脱机支付在支付过程中不牵涉第三方,支付活动只涉及付款人和收款人。脱机支付存在着明显的问题,它很难防止付款人透支。在纯数字世界中,不诚实的付款人很容易在每次付款后将它的系统的本地状态重新设置到支付前的状态。联机支付的每次支付中包含一项授权服务(通常是开状行或押汇行的一部分)。显然,联机支付的通信量更大,但一般来说比脱机支付更安全。大多数已提出的Internet支付系统是联机支付系统。
所有的基于电子硬件的支付系统,包括Modx和CAFE(Condition Accessfor Europe),都是脱机系统。Modx是唯一具有脱机可传输性的支付系统,收款人无需去银行就可以利用他收到的资金进行新的支付。CAFE是唯一强有力地支持付款人匿名和不可追踪性的支付系统。这两个系统为付款人提供了一个电子钱包,并防止伪终端攻击付款人的PIN。
所有这些系统都可以用于Internet支付系统,但是,需要在付款人的计算机上联上智能卡阅读器。并不昂贵的PCMCIA智能卡阅读器和笔记本电脑上的标准红外接口将解决这个连接问题。金融服务技术国际财团(FSTC)沿着这条思路开发了电子支票工程(Electronic Check Project),并采用了抗干扰的PCMCIA卡和支票式支付模式。与抗干扰的硬件不同,脱机授权可以通过预先授权实现,即付款人可以预先知道收款人,提款时,支付已经授权,这和保证银行支票非假类似。
2 可信赖的硬件
为了防止(不仅仅是检测)透支,脱机支付系统(如智能卡)的付款人一端需要安装抗干扰硬件。抗干扰硬件也可以安装在收款人的一端,如POS终端的安全部件。在共享密钥密码系统中,若收款人没有预约单价而只有交易的总价值时,抗干扰硬件的使用是强制性的。在某一方面来说,抗干扰硬件是银行的一个袖珍部门,必须为开状行所信赖。
开状行的安全考虑无关,有一个可以信赖的保护密钥和执行必要操作的安全设备符合付款人的利益。开始,这可能只是一个简单的智能卡,但最终将发展成为具有小键盘和显示的不同形式的安全智能设备,即常说的电子钱包。
如果没有这样的安全设备,付款人的密码甚至他的钱就容易受到能访问其计算机的任何人的攻击,这是多用户环境存在的明显的问题。能够被其他人直接或间接访问的单用户计算机也存在同样的问题。例如,非法分子设计的有些病毒程序能够窃取用户的PIN和口令,从而直接要求智能卡将资金转入指定的帐户。因此,为确保安全,在用户和智能卡之间必须设置可信赖的输入 /输出通道。
3 密码
在很少甚至没有物理安全机制的开放式网络环境建立安全的支付系统必须采用各种安全技术,如用户认证、保密通信等。
(1)无密码系统。根本不采用密码意味着支付的安全完全依赖于外部的安全操作。如电子定货,只有在付款人发来的确认定货的传真到达后才能发货。First Virtual是一个无密码的系统,系统中的每个用户有一个帐号,在交换信用卡号时接收一个口令,但口令在Internet上传输时无保护,这样的系统易于因口令被窃取而受到攻击。
(2)一般的支付交换设备。支付交换设备是一个提供预付和延迟支付两种模式的联机支付系统,如Open Market支付交换设备。体系结构支持几种认证方法,具体取决于所选择的支付方法。实际上, Open Market使用口令和两类可选的响应生成设备(安全NetKey和安全ID),因而用户认证是建立在共享密钥密码之上的。而授权建立在公开密钥之上, Open Market支付交换设备签署一个发送给收款人的认证信息。使用共享密钥密码的用户完全相信支付交换设备。
(3)共享密钥密码。基于共享密钥密码的授权需要认证方和检验方有共享的密钥。DES加密、口令和PIN都是共享密钥密码的例子。由于双方完全有相同的密码信息,共享密钥密码不提供非拒绝支付。如果支付方和开状行对一项支付意见不一,就无法决定付款人或开状行是否进行该项支付。如果付款人要承担假支付的风险,那么用基于共享密钥的方式认证传送定单是不合适的。
若认证脱机进行,则付款人和收款人需要共享密码。在实践上,这意味着某种主密钥被呈送给收款人,以使收款人获得付款人的密钥。在销售点终端上抗干扰的安全模块保护主密钥,许多脱机和联机系统在付款人与开状行之间使用进行认证的共享密码。
(4)公开密钥数字签名。基于公开密钥密码的认证要求认证方有一个密码签名的密钥和相应的公共密钥证书,这个证书由著名权威机构授予。现在的许多系统使用RSA加密,但有几种选择。数字签名能够提供非拒绝支付,这就解决了开状行与押汇行之间的矛盾。如果付款人承担了假支付的风险,那么必须使用数字签名。
一个使用相当普遍的用公开密钥签名的安全方案是SSL(Secure Socket Layer)。SSL是插口层通讯接口,它允许双方在国际互联网上安全通信。就其本身而论,它不是一种支付技术,而是作为一种保证支付消息安全的方法提出的。SSL不支持非拒绝支付。
目前,使用公开密钥的完全支付系统有e-cash,Netcash,ikp的变种3kp和安全电子交易(SET)。协议概念本身诞生已久,在80年代引入了联机和脱机支付的数字签名、拥有数字签名传输定单的匿名帐户、匿名电子货币等。
4 付款人匿名
付款人希望他们每天的支付活动保密,不希望无关的第三者观察和跟踪他们的支付,有时,也不希望收款人(甚至银行)观察和跟踪他们的支付。匿名意味着在支付时不使用支付人的身份,不可跟踪意味着同一个人不同的两笔支付没有联系。通过隐藏付款人与收款人之间的信息流,所有支付系统能够使外人不可跟踪。为了尊重收款人,付款人匿名能通过使用假名代替真名达到,有些电子支付系统提供匿名或不可跟踪性。
当前e-cash和CATE是提供匿名和对收款人与开状行不可跟踪的支付系统,两者都基于公开密钥和一种被称为盲签名的签名形式。所谓盲签名是指签名者不知道信息的确切内容。DigiCash公司的基于盲签名概念的e-cash,是一种提供高级匿名和不可跟踪的现金式支付系统。
在e-cash系统中,用户能从银行提取e-cash硬币,用来支付别人。每一个e-cash硬币有一个序号。为了提取e-cash硬币,用户准备一个随机序号的空白币,使序号不可见,并送到银行,如果用户被允许取得指定数量的e-cash,银行就签名盲币并返回给用户,用户然后使不可见的序号可见,以取得签名的硬币。签名的硬币就可用于支付另外的e-cash用户,收款人把e-cash硬币存在银行。银行记录序号以防透支,然而由于银行签名时没有看到序列号,所以它不能把硬币与先前提取的人联系起来。
技术原则上为确保Internet电子支付系统的安全提供了保障,但实现对各贸易方都安全(包括支付者的完全不可跟踪性)的系统是可能的。目前还没有一个占优势的系统,几个支付系统仍将共存。难以预言保护付款人隐私的支付系统的将来,因为这要涉及许多法律问题。面对汹涌而来的电子商务浪潮,我们正面临着前所未有的机遇和挑战。可以预见,我国的电子商务的发展前景,一片光明。