金融IC卡在轨道交通领域的应用研究
2012-07-05李煜平
李煜平
(上海华腾软件系统有限公司,200233,上海∥高级工程师)
伴随着银行IC卡产业升级,非接触式金融IC卡的发卡量将逐步增加,受理环境也会有很大改善,未来金融IC卡的脱机消费交易量将会有很大的增长。如何实现金融IC卡在城市轨道交通领域的应用,是各发卡银行和轨道交通公司共同关心的问题。
2005年3月,中国人民银行正式颁发了《中国金融集成电路(IC)卡规范》(业内简称“PBOC2.0”)。该规范补充完善了电子钱包和存折应用,增加了与EMV(欧陆卡(Europay)、万事达卡(MasterCard)、威士卡(VISA)联系组织)标准兼容的借或贷记应用,增加了非接触式IC卡物理特性标准及电子钱包扩展应用指南、借或贷记应用个人化指南等内容[1]。在此基础上,为了拓展金融IC卡的行业应用,2011年2月,中国银联制订了《基于非接触式小额支付的扩展应用规范》。该规范制定了复合消费交易流程,明确了复合应用个人化要求,为金融IC卡在城市轨道交通中的应用提供了可能。
根据中国人民银行规划,国内所有银行将停止磁条卡的发放,新发卡全部为智能IC卡,因此,由磁条卡向PBOC2.0标准的智能卡发展的产业升级成为大势所趋。新的金融IC卡以其便利的小额脱机支付优势,将逐步进入各行各业。城市轨道交通作为集中的小额支付领域,将是各金融IC卡进入的重点行业。实现金融IC卡在城市轨道交通中的应用,既可以方便乘客便捷乘车,也减少了各城市轨道交通公司的发卡成本,避免资源浪费,具有良好的经济效益和社会效益。
1 金融IC卡总体应用架构
为实现金融IC卡在城市轨道交通中的应用,需要城市轨道交通的AFC(自动售检票)系统、清分中心,以及金融IC卡发卡行、收单行甚至银联等单位的共同配合。金融IC卡应用系统一般性总体架构如图1所示。
在金融IC卡应用系统建设初期,发卡行和收单行可能为同一银行,此时所有清算均可以由发卡行完成,脱机交易文件及清算均不需要通过银联;但随着可以受理的发卡行的逐步增加,最终需要由银联完成清算。
从清算角度而言,城市轨道交通整体作为一个商户,通过清分中心与收单行接入银联清算体系,由银联完成与发卡行和收单行的资金清算;银联清算完成后,由收单行与清分中心完成清算,城市轨道交通各条线路间的清算由清分中心完成。收单行具体是接入中国银联还是地方银联,可依据收单行接入情况而定。
图1 金融IC卡应用总体架构图
以宁波轨道交通AFC和ACC(清结算中心)系统建设为例,根据规划设计,宁波轨道交通开通运营时应能受理宁波市民卡的金融IC卡。该卡采用TYPE A CPU卡,首次发放该卡的发卡行有中国建设银行、鄞州银行。按照系统总体结构图,宁波市民卡公司作为收单行完成与宁波轨道交通清分中心的对接,脱机消费文件由宁波市民卡公司接收并转宁波银联,宁波银联通过中国银联转发卡行,由发卡行最终完成脱机消费文件的交易合法性验证,中国银联完成与各行的资金清算,宁波市民卡公司完成与宁波轨道交通的清算。
2 金融IC卡应用分析
2.1 主要交易
2.1.1 进站
根据中国银联制定的非接触式金融IC卡小额支付扩展应用规范,持卡人使用非接触式金融IC卡进城市轨道交通闸机时(检票机),闸机将作如下处理:
(1)闸机读卡器首先选择和激活卡片,并通过AID(应用标示符)选择判断卡片是否支持复合消费交易[2]。
(2)闸机读卡器发出命令查询复合应用,判断卡片是否支持城市轨道交通收费应用。如支持,则读取此特定复合应用专用数据,并根据数据进行处理,如处理结果为不允许进行进站交易,则提示持卡人;如处理结果允许进行进站交易,闸机读卡器进行复合应用消费交易,其中交易金额为0。
(3)闸机读卡器更新交易标志、进站时间、线路代码、车站代码、进站闸机代码等字段,卡片缓存要更新的CAPP(复合应用)记录内容。
(4)闸机读卡器根据AFL(应用文件定位器)记录的内容读取与交易相关的记录,卡片在返回最后一条记录后,完成实际的CAPP数据更新。
(5)闸机读卡器根据交易过程中卡片返回的数据,对卡片进行动态数据认证。
(6)如果卡片通过认证,闸机读卡器生成进站交易报文发送闸机,闸机生成交易流水,并允许持卡人进站。
2.1.2 出站
持卡人使用非接触式金融IC卡出城市轨道交通闸机时,闸机将作如下处理:
(1)闸机读卡器首先选择和激活卡片,并通过AID选择判断卡片是否支持基于非接触小额支付的复合消费交易[2]。
(2)闸机读卡器发出命令查询复合应用,判断卡片是否支持城市轨道交通收费应用。如支持,则读取城市轨道交通收费复合应用专用数据,并根据进出站站点代码从票价表中获取票价金额;如处理结果为不允许进行出站交易,则提示持卡人。
(3)闸机读卡器更新城市轨道交通收费复合应用专用数据,填写出站交易时间、出站交易线路代码、出站交易站点代码、出站交易闸机代码、交易金额,保留城市代码、运营企业代码、记录格式版本号、进站交易时间、进站交易线路代码、进站交易站点代码、进站交易闸机代码等字段记录原值;卡片缓存要更新的CAPP记录内容,其中交易金额为票价金额。
(4)闸机读卡器根据AFL记录的内容读取与交易相关的记录,卡片在返回最后一条记录后,完成实际的CAPP数据更新。
(5)闸机读卡器根据交易过程中卡片返回的数据,对卡片进行动态数据认证。
(6)如果卡片通过认证,闸机读卡器生成出站交易报文发送闸机,闸机生成交易流水,并允许持卡人出站。
2.1.3 交易更新
当IC卡因进出站逻辑发生混乱而不能正常使用时,应当进行交易更新。交易更新分为进站更新、出站更新、超时超程更新等。交易更新的规则由运营商制定。处于交易状态的IC卡读写器收到该命令时,先根据规则和命令参数中的金额对IC卡进行扣款,然后根据命令参数确定的更新类型更改IC卡上相应的进出站标志,使IC卡能够正常进站或出站。具体读写卡流程同进出站交易。
IC卡交易更新在BOM(半自动售票机)上完成。2.1.4 IC卡充值(圈存)
技术上,系统可以实现在BOM上对金融IC卡的联机充值(圈存)交易。该交易最好由清分中心作统一接入和转发,车站和线路中央只在网络层传输报文。清分中心应部署发卡行充值认证前置,由该前置直接与发卡行通信,BOM收到发卡行充值报文后完成写卡动作。
从交易成功率和安全角度考虑,一般不建议在BOM上实现对金融IC卡的充值。
2.2 脱机消费文件传送
(1)文件生成。城市轨道交通闸机根据读卡器发送的进出站报文信息,按照AFC线网规范打包生成脱机消费文件;票房售票机根据读卡器发送的更新报文信息,按照AFC线网规范打包生成脱机消费文件。
(2)文件传送。脱机消费文件传送按以下流程完成:闸机或BOM→车站计算机→线路中央计算机→清分中心→收单行→银联→发卡行。若为行内收单,则不用通过银联。
(3)交易验证。发卡行收到脱机消费文件后对每笔交易进行交易证书验证,验证失败的交易需查找原因并做人工调整。
2.3 交易清分
城市轨道交通清分中心收到脱机消费文件后,根据AFC线网规范解包并将交易记录入库,通过清分应用系统对入库记录完成交易清分。金融IC卡交易同单程票和城市通卡的交易一样,适用相同的清分规则。
2.4 资金清算
收单行、发卡行及银联间的资金清算按银联清算办法执行,城市轨道交通公司通过清分中心与收单行完成金融IC卡交易的资金清算,城市轨道交通路网各收益方的二级清算由清分中心完成。
2.5 难点分析
由于脱机交易的非实时性,系统的安全保障体系是应用的主要难点。根据PBOC 2.0,发卡行发行金融IC卡时,卡片保存的密钥有应用密文密钥、安全报文认证密钥、安全报文加密密钥和卡片公私钥对等。这些密钥充分保证了卡片本身的安全,并且为卡片交易应用、安全报文MAC(报文鉴别码)计算、脱机数据认证等提供了安全密钥。金融IC卡在城市轨道交通中应用时,系统需完成卡片合法性认证、交易报文安全传送、扩展应用文件保护等安全措施。交易结束后,发卡行还需对每笔交易进行合法性验证。
2.5.1 卡片认证
闸机、票房售票机对金融IC卡卡片的认证采用非对称密码体系,清分中心从收单行获取认证中心公钥,以参数下发交易将公钥下发到闸机和票房售票机,交易时以该公钥完成签名验证。
2.5.2 公钥密码体系
公钥密码体系,又称非对称密码体系。它使用二个密钥,一个用于加密信息,另一个用于解密信息。这二个密钥间满足一定数学关系,用二个密钥中的任何一个加密的数据,只能用另外一个进行数据解密。因此,可以保证任何收到该用户公钥的其它用户,发送用此公钥进行加密的数据,只有该用户用自己的私钥才能进行解密[3]。
2.5.3 扩展应用文件保护
金融IC卡卡片扩展应用文件的写保护采用对称密码体系,密钥保存在闸机及票房售票机的PSAM(终端消费安全存取模块)卡中。由于该密钥保护的是复合消费区,因此建议由城市轨道交通公司发行,甚至可与城市轨道交通单程票共用同一密钥,这样既节约投资也节省了机具的PSAM卡插槽。
2.5.4 安全报文传送
数据完整性以及对发送方的认证通过使用MAC来实现,数据的可靠性通过对数据域的加密来得到保证[4]。金融IC卡在城市轨道交通应用时的安全控制,是整个金融IC卡系统安全控制的一部分。从已发行并投入脱机支付使用的金融IC卡使用情况来看,这些安全措施可以达到用户的安全要求。
2.6 卡片结构示例
支持复合消费应用的金融IC卡卡片内部结构示例如图2所示。
图2 金融IC卡卡结构示例图
行业应用信息的文件放在同一个应用中,可以避免因应用的切换消耗更多的时间。在卡片容量许可的情况下,可以在一张卡片上建立多个行业应用信息文件,以实现同一张卡的跨行业跨地域使用。
3 系统改造分析
对于已投入运行的城市轨道交通AFC、ACC系统而言,要实现金融IC卡在城市轨道交通中的使用需完成部分系统改造。以上海为例,上海轨道交通建设起步早,目前已形成一定路网规模,为实现金融IC卡在上海轨道交通中的应用,根据上述方案,系统改造工作主要有以下几项内容:
(1)扩展《城市轨道交通自动售检票系统通用技术规范》,增加金融IC卡交易报文及脱机消费文件规范。
(2)与发卡行共同制定IC卡个人化扩展应用文件规范。
(3)完成闸机、票房售票机的读卡器改造,采用通过中国银行卡检测中心PBOC 2.0认证的读卡器。
(4)完成线路AFC及清分中心ACC软件改造,ACC完成与收单行的对接,实现IC卡交易的资金清算、认证中心公钥下发、脱机文件传送等。
由于金融IC卡的认证采用非对称密码体系,交易的流程也比单程票和交通储值卡复杂,因此,相对单程票和交通储值卡而言,金融IC卡的进出站交易时长将高于前者。缩短交易时间的主要方法有:在保障安全的前提下,尽可能选用较短长度的公钥;尽可能地简化交易流程;提高新读卡器的硬件配置,减少交易时长;提高卡片运算速度,缩短卡片响应时间等。
4 结语
根据上述研究分析,可得出以下结论:
(1)通过一定的系统建设或改造,非接触式金融IC卡可以实现在城市轨道交通行业的小额支付应用。
(2)非接触式金融IC卡在城市轨道交通行业的小额支付交易流程上,有安全控制并能实现多发卡方的资金清算。
(3)通过建立多个行业应用信息文件,非接触式金融IC卡可以实现跨行业跨地域使用。
[1]姜云兵,杜宁.基于非接触式小额支付的扩展应用规范[S].上海:中国银联股份有限公司,2011.
[2]JR/T 0025.12—2010中国金融集成电路(IC)卡规范第1 部分:电子钱包和电子存折应用卡片规范[S].