电子钱包/电子存折应用部分难点分析
4.4.1安全体系
电子钱包应用的安全体系建立在DES和3DES对称加密算法基础上,如何保证密钥的安全是整个安全体系的关键所在。
电子钱包应用自20世纪末开始推广,迄今为止已在多个城市投入具体使用,在密钥管理上,大多采用全国密钥管理总中心、二级密钥管理中心、成员银行中心三级管理体制,安全共享公共主密钥。
整个安全体系结构主要包括三类密钥:全国通用的消费/取现主密钥GMPK,发卡银行的消费/取现主密钥MPK和发卡银行的其他主密钥。根据密钥的用途,需要采用不同的处理策略。
GMPK是整个系统的根密钥,只能由全国密钥管理总中心产生和控制,并装载到下发的PSAM卡中;MPK由二级密钥管理中心利用全国密钥管理总中心下发的二级机构发卡母卡产生,并通过母卡传输到成员银行;其他主密钥由成员行自行产生,并装载到母卡或硬件加密机中。
在电子钱包密钥管理体系中,存在密钥传递复杂、管理效率低下等诸多问题,而且密钥安全性评估缺失。同时,电子钱包脱机消费需要用到放置在POS机中的PSAM卡,而POS机布放在商户,是一个开放的环境,因此,如何对PSAM卡进行有效的管理,是在推广电子钱包应用过程中不能回避的问题。
4.4.2文件系统
(1)文件类型。
电子钱包应用的文件系统是由专用文件DF和基本文件EF组成的。
基本文件分为工作基本文件和内部基本文件两大类:
。工作基本文件包括二进制文件、变长记录文件、定长记录文件和循环记录文件。
·内部基本文件包括电子钱包/电子存折文件、密钥文件等。
(2)文件结构。
电子钱包卡内数据的逻组织结构由专用文件DF的结构化分级组成,根上的DF称做主文件MF,MF与MF下的目录文件(DIR文件,一个记录型文件)一起构成支付系统环境(PSE),MF的文件名称是1PAY.SYS.DDFO1。
电子钱包应用由专用文件DF以及DF下的公共基本信息文件、持卡人基本信息文件、交易明细文件、电子钱包/电子存折文件以及密钥文件组成。
电子钱包卡片文件结构如图4-1所示。
图4-1电子钱包卡片文件结构
(3)文件创建。
电子钱包应用的文件结构,通常在卡片个人化阶段,通过执行卡片厂商定义的CREATEFILE命令创建。
PBOC规范中并未规定电子钱包应用个人化的流程和要求,因此,各家厂商的卡片个人化指令并不兼容。
4.4.3防插拔机制
防插拔机制是指为防止卡片在交易过程中突然被拔出或终端突然掉电等突发情况时,卡片中的各种数据不会混乱,卡片余额等重要交易数据能够被保护,且不会影响下次交易进行。
卡片必须能够在交易处理中的任何情况下,甚至是在更新EEPROM过程中掉电的情况下,保持数据的完整性。这就需要在每次更新数据前对数据进行备份,并且在重新加电后自动地触发恢复机制。
在电子钱包电子存折应用中,终端发给IC卡一个命令以更新电子存折余额或电子钱包余额时,卡片总会回送一个MAC或/和TAC,以证明更新已经发生。
这样的情况有圈存(TAC)、圈提(MAC3)、消费/取现(TAC)和修改透支限额(TAC)。
IC卡必须在更新余额前计算MAC或/和TAC,一旦余额更新成功,必须保证可以通过GET TRANSCTION PROVE命令获得此MAC或/和TAC。如果防拔恢复已使余额恢复到更新前的数值,那么有关的加密数据不必再保留。接到更改ED或EP余额的命令,如DEBIT、CREDIT命令时,这些加密数据可能被丢弃。
如果在命令已执行结束,而终端还未收到响应之前,卡片突然拔出,终端将会处于不知卡片是否更新的不定状态。这种情况下,终端应负责用GET TRANSACTION PROVE命令进行恢复。
如果卡片正在处理时被突然拔出,终端应提醒持卡人重新插入卡片。之后终端将检查发卡方标识和应用序列号以确认插入的卡片和前面拔出的卡片是否是同一张卡。如果是同一张卡,终端发出GET TRANSACTION PROVE命令。假如MAC或/和TAC返回,终端即完成交易处理,卡片将当前余额置为新的余额,更新相关交易序号加1,组成一个记录更新交易明细。这三个修改必须同时完成;如果MAC或/和TAC无法回送,则说明IC卡中的余额没有被修改。卡将相应数据恢复成交易前的备份值。
在ED/EP应用中,需要加断电保护的命令有:
>圈存交易。>圈提交易。
>消费/取现交易。>修改透支限额交易。
>UPDATE BINARY(修改二进制)。
>VERIFY(校验)。
>PIN CHANGE/UNBLOCK(个人密码修改/解锁)。
>RELOAD PIN(重装个人密码)。
>APPLICATION BLOCK(应用锁定)。
>APPLICATION UNBLOCK(应用解锁)。
4.4.4测试要点
(一)电子钱包/电子存折的测试包括:>正常交易命令及正常管理命令测试。
保证IC卡能够按规范要求正确执行命令。
>文件测试。
数据文件中数据元以记录方式或二进制方式存储,文件结构及引用方式由文件的用途决定。包括:ED和EP应用的公共应用基本数据文件测试、ED和EP应用的持卡人基本数据文件测试、IC卡交易明细文件测试(IC卡电子存折交易明细由IC卡维护不允许外部对其修改;这个文件必须能够容纳至少十条消费、取款、圈存、圈提交易记录;交易明细必须允许卡对其循环修改)。
>命令参数测试。
当终端发出错误的命令时,保证IC卡能够返回正确的返回码。
>基本安全性能测试。
异常交易及管理流程测试:保证COS中的命令执行流程符合规范要求。
>状态机测试。
在应用执行过程中,卡片总是处于以下状态之一,在一种状态下,只有某些命令能够被执行。卡片具有的状态如下:
一空闲状态。-圈存状态。
一消费/取现状态。
一圈提状态。一修改状态。
应用选择完成后,卡片首先进入空闲状态。当卡片从终端接收到一条命令时,它必须首先检查当前状态是否允许执行该命令。在命令执行成功后,卡片将如下表所示进人另一个状态(或同一个)。如果命令执行不成功,则卡片进入空闲状态。
>防插拔测试。
卡片必须能够在交易处理中的任何情况下,甚至是在更新EEPROM过程中掉电的情况下,保持数据的完整性。这就需要在每次更新数据前对数据进行备份,并且在重新加电后自动地触发恢复机制。
>永久锁定功能测试。
保证COS在应用或卡片永久锁定成功后的状态及返回状态码符合规范要求。
>稳定性能测试。
保证IC卡能够正确执行大量交易及管理命令。
(二)一些需要注意的问题
应用临时锁定后,卡片重新上电收到SELECT命令后,对SELECT命令IC卡回送状态字“6283”(选择文件无效)和文件控制信息(FCI),在T=0协议时,卡片FCI需用取响应(GETRESPONSE)命令取回。因为该FCI数据将用于应用解锁命令。
当应用永久锁定时执行除GET CHALLANGE命令和CARDBOLCK命令外的其他命令均返回“9303”;当选择其他未永久锁定的应用时应能成功;当应用永久锁定时执行正确的CARDBOLCK命令若无法成功,应能够在MF下成功执行卡锁定命令;当卡锁定命令执行成功后执行其他命令卡均返回“6A81”。
4.5电子钱包/电子存折与基于借记/贷记小额支付的区别
4.5.1技术原理上的区别
电子钱包/电子存折应用是完全独立于借贷记应用之外的一种应用,它有自己的一套标准和应用规范,包括文件结构、访问控制、应用状态、交易指令与交易流程、安全机制等。
基于借记/贷记的小额支付(即电子现金)是借记/贷记应用的一个延伸,是基于完全兼容借记/贷记应用的支付产品组件,并具有标准借记/贷记应用的高级风险管理特性。
电子钱包和电子现金在技术原理上的主要区别包括:
交易流程的区别:
口电子钱包应用制定了一组专用的交易流程,包括圈存、圈提、消费、取现、修改透支限额等交易。
口电子现金的交易流程完全遵循借记/贷记规范。
交易指令的区别:
D电子钱包应用定义了一组专用的交易指令,用以实现圈存、圈提、消费、取现、修改透支限额等交易。
口电子现金应用的指令与借记/贷记规范的指令兼容。
安全体系的区别:
D电子钱包采用基于对称密码算法的安全体系。
口电子现金采用对称密码算法、非对称密码算法以及哈希算法相结合的安全体系。
4.5.2安全体系上的区别
电子钱包电子存折应用大多采用基于对称密码算法的三级密钥体系,由于
电子钱包/电子存折应用交易类型较多,且每类交易都需要采用专门的交易密钥,给密钥的管理、分发等带来诸多不便;在脱机消费交易过程中,用户卡必须与安装在终端里的PSAM卡之间进行安全认证之后,才能够让终端获得授权从用户卡进行扣款。在前期电子钱包项目具体实施中,其密钥体系暴露出很多不足,主要包括:
。密钥有效期将至但缺少有效解决办法。人民银行在1999年建立电子钱包密钥体系时,为确保密钥体系的安全性,规定了5个密钥索引,每个密钥索引可使用3年(写在PSAM卡中,每3年所发的PSAM卡中的值不同,目前使用4号索引),最后一个索引将于2013年到期。到期后的PSAM卡虽然可以继续使用,但大大增加了整个密钥体系的风险,而更新密钥需要收回PSAM卡,发放新的PSAM卡,并可能导致部分用户卡无法使用。
。密钥安全性评估的缺失。电子钱包密钥体系已存在10余年的时间,但一直没有形成固定的安全评估机制,缺乏对加密算法、PSAM卡安全性、密钥更新周期等方面的安全评审,存在随技术进步而导致密钥体系安全强度降低的隐患。·PSAM卡管理困难。电子钱包需要PSAM卡(其中保存有全国消费的根密钥),并放置在POS机中(类似手机中插入SIM卡),而POS机布放在商户,是一个开放的环境,很难进行有效的管理。如果根密钥泄露,就可制作伪卡,此时全国都需立刻停止受理电子钱包业务,有一定的安全隐患。
。密钥传递复杂、管理效率低下。电子钱包是上级密钥中心将密钥导入PSAM卡中,通过传递PSAM卡实体(需要人员亲手交接)实现密钥的传递,传递效率较低,不利于全球推广。
·额外增加了PSAM卡的采购和洗卡成本。电子钱包需POS机中安装PSAM卡,每张PSAM卡在灌装密钥时还需支付洗卡费用,增加了受理市场建设的成本。
电子钱包应用密钥体系的这些问题,已影响到银行IC卡在小额支付领域的推广。
电子现金应用采用非对称密钥体系,公钥是公开的,无须PSAM卡;可通过互联网进行传递,提高了效率;密钥安全性定期评估;密钥更新可通过系统自动实现;已有成熟的安全评估机制,并且电子现金已有成功的试点项目,其在小额支付领域替代电子钱包的条件已完全具备。
4.5.3业务类型上的区别
相对于电子钱包/电子存折,电子现金应用可通过电子现金重置阈值(9F6D)实现自动圈存功能,但不支持取现、圈提、修改透支限额等交易。
4.5.4应用领域上的区别
电子钱包应用自20世纪末开始推广,迄今为止已十余年时间,在多个城市投入具体使用,基本是采用行业合作的模式,使用领域比较单一,传统银行卡支付领域的应用较少。
目前,基于非对称密钥体系的小额支付应用已在宁波成功试点,通过试点项目,电子现金在小额支付领域已完全具备替代电子钱包的条件。
具备了完善的小额、脱机、非接触式快速支付功能的金融IC卡,不仅能满足各快速支付行业的安全、快速、低成本、卫生的受理需要,而且具备跨行业、跨地区、联网通用、多领域使用、资金监管的功能,能真正方便市民的生活,实现“一卡在手,支付无忧”,也能满足政府便民、惠民的公共服务宗旨。