电子支付系统的各种安全需求依赖于系统的特征和定义在其操作上的信用假设。一般来说,电子支付系统必须具备授权、完整性、保密性、可用性和可靠性,电子支付系统的各种安全需求依赖于系统的特征和定义在其操作上的信用假设。
完整性与授权
一个具有完整性的支付系统不允许一个用户在没有另一个用户明确授权的情况下取走资金。为了防止行贿受贿,没有允许,系统也不能接收款项。授权构成支付系统中最重要的环节。支付授权有三种方式:外部授权、口令和签名。
一、外部授权:在这种方式中,检验方(银行)通知交易的授权方(付款人),授权方通过一个安全的外部通道(如邮件或电话)同意或否定支付,这是目前用信用卡进行邮汇和电汇的通用方法。任何知道用户信用卡数据的人都可以发起交易,所以合法用户必须检查有关记录并主动地控告非授权交易。如果用户没有在一定时间内(通常为三个月)提出控告,所做交易被默认为有效。
二、口令授权:对于一个用口令保护的交易,每个从授权方发来的信息需要一个密码检查值,这个值由只有授权方和检验方知道的密码计算得出,而这个密码可以是一个个人标识号(PIN)、一个口令或一个任意形式的共享密码。然而,短的共享PIN,如一个六位数字很容易遭受攻击,它们本身不能提供高级的安全性,应该只用于控制访问象智能卡这样的物理标记,因为智能卡采用安全密码机制(如数字签名)执行实际授权。
三、数字签名:在这种类型的交易中,检验方要求授权方的数字签名。数字签名提供一个原始的非拒绝支付证据,因为只有签名密码的拥有者才能签署有关信息,而知道相应公开密钥的任何人都可以验证签名的真实性。
保密性
这里所说的保密性是指防止泄露有关交易的各种信息,如付款人和收款人的标识、交易的内容和数量等。保密性要求这些信息只能让交易的参与者知道,有时甚至要求只让参与方的部分人知道。
可靠性和可用性
所有的交易方要求无论何时都可以进行支付和接收支付。支付必须是原子的,即它们要么完整发生要么根本不发生,不能处于一种未知或不一致的悬挂状态。付款人不希望它们的钱由于网络或系统的故障而丢失。可用性和可靠性假设基本网络服务和软硬件系统具有足够的可靠性,为能恢复故障系统的信息,所有交易方需要某些可靠的存储器和专用重同步协议。
联机支付与脱机支付
脱机支付在支付过程中不牵涉第三方,支付活动只涉及付款人和收款人。脱机支付存在着明显的问题,它很难防止付款人透支。在纯数字世界中,不诚实的付款人很容易在每次付款后将它的系统的本地状态重新设置到支付前的状态。联机支付的每次支付中包含一项授权服务(通常是开状行或押汇行的一部分)。显然,联机支付的通信量更大,但一般来说比脱机支付更安全。大多数已提出的Internet支付系统是联机支付系统。
所有的基于电子硬件的支付系统,包括Modx和CAFE(Condition Accessfor Europe),都是脱机系统。Modx是唯一具有脱机可传输性的支付系统,收款人无需去银行就可以利用他收到的资金进行新的支付。目前,CAFE是唯一强有力地支持付款人匿名和不可追踪性的支付系统。这两个系统为付款人提供了一个电子钱包,并防止伪终端攻击付款人的PIN码。
可信赖的硬件
为了防止(不仅仅是检测)透支,脱机支付系统(如智能卡)的付款人一端需要安装抗干扰硬件。抗干扰硬件也可以安装在收款人的一端,如POS终端的安全部件。在共享密钥密码系统中,若收款人没有预约单价而只有交易的总价值时,抗干扰硬件的使用是强制性的。在某一方面来说,抗干扰硬件是银行的一个袖珍部门,必须为开状行所信赖。
开状行的安全考虑无关,有一个可以信赖的保护密钥和执行必要操作的安全设备符合付款人的利益。开始,这可能只是一个简单的智能卡,但最终将发展成为具有小键盘和显示的不同形式的安全智能设备,即常说的电子钱包。
如果没有这样的安全设备,付款人的密码甚至他的钱就容易受到能访问其计算机的任何人的攻击,这是多用户环境存在的明显的问题。能够被其他人直接或间接访问的单用户计算机也存在同样的问题。例如,非法分子设计的有些病毒程序能够窃取用户的PIN和口令,从而直接要求智能卡将资金转入指定的帐户。因此为确保安全,在用户和智能卡之间必须设置可信赖的输入 /输出通道。
安全密码
在很少甚至没有物理安全机制的开放式网络环境建立安全的支付系统必须采用各种安全技术,如用户认证、保密通信等。这就涉及到了密码系统
一、无密码系统:根本不采用密码意味着支付的安全完全依赖于外部的安全操作。如电子定货,只有在付款人发来的确认定货的传真到达后才能发货。First Virtual是一个无密码的系统,系统中的每个用户有一个帐号,在交换信用卡号时接收一个口令,但口令在Internet上传输时无保护,这样的系统易于因口令被窃取而受到攻击。
二、一般的支付交换设备:支付交换设备是一个提供预付和延迟支付两种模式的联机支付系统,如Open Market支付交换设备。体系结构支持几种认证方法,具体取决于所选择的支付方法。实际上, Open Market使用口令和两类可选的响应生成设备(安全NetKey和安全ID),因而用户认证是建立在共享密钥密码之上的。而授权建立在公开密钥之上, Open Market支付交换设备签署一个发送给收款人的认证信息。使用共享密钥密码的用户完全相信支付交换设备。
三、共享密钥密码:基于共享密钥密码的授权需要认证方和检验方有共享的密钥。DES加密、口令和PIN都是共享密钥密码的例子。由于双方完全有相同的密码信息,共享密钥密码不提供非拒绝支付。如果支付方和开状行对一项支付意见不一,就无法决定付款人或开状行是否进行该项支付。如果付款人要承担假支付的风险,那么用基于共享密钥的方式认证传送定单是不合适的。
四、公开密钥数字签名:基于公开密钥密码的认证要求认证方有一个密码签名的密钥和相应的公共密钥证书,这个证书由著名权威机构授予。现在的许多系统使用RSA加密,但有几种选择。数字签名能够提供非拒绝支付,这就解决了开状行与押汇行之间的矛盾。
一个使用相当普遍的用公开密钥签名的安全方案是SSL(Secure Socket Layer)。SSL是插口层通讯接口,它允许双方在国际互联网上安全通信。就其本身而论,它不是一种支付技术,而是作为一种保证支付消息安全的方法提出的。SSL不支持非拒绝支付。目前,使用公开密钥的完全支付系统有e-cash,Netcash,ikp的变种3kp和安全电子交易(SET)。
付款人匿名
付款人希望他们每天的支付活动保密,不希望无关的第三者观察和跟踪他们的支付,有时,也不希望收款人(甚至银行)观察和跟踪他们的支付。匿名意味着在支付时不使用支付人的身份,不可跟踪意味着同一个人不同的两笔支付没有联系。通过隐藏付款人与收款人之间的信息流,所有支付系统能够使外人不可跟踪。为了尊重收款人,付款人匿名能通过使用假名代替真名达到,有些电子支付系统提供匿名或不可跟踪性。