APP下载

虚拟公交卡服务系统安全技术研究

2019-04-26李汉臣程连涛

城市公共交通 2019年3期
关键词:条码离线账户

■ 周 亮 李汉臣 程连涛

城市公交是公众出行的重要公共交通方式,公交乘车收费具有典型的乘客流量大、点位多、小额、刚需、充值和结算复杂等特点,同时还要求车载收费机具能够适应高频次应用,计费速度快并适应移动网络。

新兴的支付宝、微信等离线二维码支付(简称虚拟卡)是通过公交车载POS终端扫描线下乘客APP中的公交付款二维码方式完成购票,交易资金准实时结算并打入公交账户中的一种交易方式。在该模式下,现场扫码时车载POS处于离线状态,后期结算时POS终端及其服务端具备联网能力,并与条码支付系统通信,这种交易模式相比较传统的公交IC卡交易,在支付方式、交易安全和后台结算等方面有很大的区别。

1 虚拟卡支付的业务流程

公共交通虚拟卡支付流程既可以实现传统的“先储值,后乘车”支付模式,也可以实现新型的“先乘车,后结算”支付模式,对公共交通领域消费的乘客提供了更多的便民服务。

在开通虚拟卡功能时,可以开通代扣方式,比如通过在线账户、支付宝、微信支付等代扣代缴,也可以和普通实体卡一样,先在线充值然后再乘车消费。

公共交通虚拟卡在公共交通场景使用有两种方式:一是单票制公交车。打开手机端展示乘车专用二维码,进行扫码消费后,机具显示消费金额,交易记录传输至后台,按实扣费。二维码中带有生成时间、支付上限、有效期、公钥、密钥索引、支付终端类型等信息。二是多票制公交车。上下车时均需要扫码,后台收到消费记录后,进行匹配,根据上下车站点,确定消费金额,后台账户进行扣费。

不论是单票制还是多票制,都对应了预付费、先享后付、信用支付等支付方式:

(1) 预付费。虚拟卡持卡人可以预先向二维码账户储值,通常在储值或者消费时享受一定的优惠。系统收到交易记录后,直接扣除账户中的金额,如余额不足则禁止生成二维码或者转为先享后付二维码,交易允许最后一笔存在小额透支,再次充值后则重新转为预付费模式二维码。

(2) 先享后付。虚拟卡持卡人可以提前绑定支付宝、微信、银行卡等代扣方式,或者直接使用支付宝、微信等相关乘车码,系统收到交易记录后,直接按照协议发送给第三方支付机构,由第三方支付机构根据协议支付消费金额。

(3)信用支付。信用支付是先享后付和预付费的组合,在账户系统建立信用额度及使用明细记录,为每个持卡用户设定对应的信用额度记录,包括最高额度、已用(未还款)额度、当前可用余额、以及每一笔信用额度使用情况,可供个人还款查询、系统计算免息期、滞纳金等。

系统为每个用户设置一个信用额度并定期在绑定账户中扣除金额。初期为每个符合条件用户设置统一的固定额度,后期可以根据建设完善的征信体系中个人数据模型评估,为个人设定不同的信用额度。授信额度可根据用户使用频率、金额大小、还款情况、违约次数、黑名单记录等做调整。

公共交通信用支付正常还款期为一个月或者交易累计值接近信用额度阈值则启动还款机制,还款途径包括第三方支付、网银等。还款时,系统可从信用额度表中查询到该个人当前欠款额度,列出额度使用情况,根据欠款额度一次还清,也可绑定支付宝、微信、银行卡等途径进行代扣还款。

2 虚拟卡支付的风险控制

针对离线支付,需要考虑各种风险控制,风险控制主要包括事前控制、事后控制和坏账比例控制。

(1)事前控制:通过身份证、手机号验证核实身份;从信用管理服务平台获得授信判断;虚拟卡设置有效期,消费时判断码内有效期;手机遗失后提供紧急挂失功能,后台阻止生成二维码; 延长有效期时联机判断后台黑名单。

(2)事后控制(违约处理):对于信用支付逾期一个月仍未还款用户,将不能联机延续有效期和生成二维码。继续收取滞纳金;后台关闭其信用支付功能,下载黑名单至消费终端,在公共交通领域不能再支付;联机禁止延续有效期,手机端不能生成行业二维码;相关信用服务联动限制,在征信系统方案中约定。

(3)坏账比例报警机制:实时计算拖欠还款的坏账比例,以人为单位计算,坏账率=违约且未追回人(逾期30日仍未还款)/公共交通使用信用支付总人数,坏账率超过1%启动首次警示,以后每增加1%均进行内部警示,并需要讨论确认应急处置办法,可采取的方案包括:降低整体授信额度或临时暂停信用支付等。若绑定信用卡则坏账比例会大幅降低。

3 消费二维码 (条码) 的安全性

条码是指宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符,包括一维条码、二维条码。

二维条码则是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备识读和解码后可获取其中所包含的信息。二维条码一般在长度、宽度两个维度上均记载着数据。

联机条码支付已经在微信、支付宝等第三方支付机构广泛使用。

常见的二维码交易方式分为主读和被读两种方式,主读指用户终端主动识读条码的行为,被读指用户终端上条码被受理终端识读的行为。因公共交通车载终端等需要主动识别消费者的消费行为,确认消费者,所以一般均采取被读模式进行交易。此模式下,由受理终端扫描代表付款人的条码,终端直接确认扫码结果发出乘车提醒,并延时传输交易记录,以完成收款动作。付款人可通过移动终端或者刷卡机进行交易确认。

此流程所生成的条码,即为用户账户的一个展现,出于安全考虑,条码应该不包含用户直接信息、敏感信息,应采用加密技术进行保护,并为一次性展现,使用后或者有效期到期即失效。

将传统二维码加入条码支付机构的机构授权数据及相应的签名和条码生成用户的用户授权数据及相应的签名,成为完整离线二维码数据,使之具备不可抵赖性,车载POS终端对其进行校验,明确该二维码为条码支付机构和用户均认可的二维码,记录该码,允许用户乘车,并延时进行联机认证,对用户账户进行扣费,即为离线二维码支付。

离线二维码的消费过程可以视为用户联机账户的一个离线认证过程,因为交易的非实时性,以及二维码在多个离线终端上允许重放的特性,为防止事后账户扣费失败,建议该用户账户为实名账户。

每个允许交易的用户账户配合相应的二维码展示APP即可视为一张虚拟公交卡。虚拟公交卡牵扯到的交易包括开通虚拟公交卡、刷新授权、交易、结算、关闭虚拟公交卡等业务。

用户支付过程中涉及的消费二维码安全主要采用以下技术: 二维码联机授权数据应具备分钟级时效性,且时效性可动态调整;每个用户仅能单智能终端登录,使用新智能终端登录时,旧智能终端应自动下线;应根据用户信用情况,限制二维码连续生码次数;次数由发码平台控制,超过限制需要验证用户身份合法性;更换设备登录,需重新验证用户身份合法性;二维码应每分钟自动更新;保证车载机具设备和系统的合法性。

4 虚拟卡支付的系统安全性

虚拟卡支付的系统安全设计主要从以下几个方面入手:

(1)数据存储。数据存储保护各系统内保存的关键数据信息安全性,内部数据统一在密钥管理系统中安全存储,手机客户端关键信息应分段存储,且客户端程序应保证分段数据组合过程编程逻辑的安全性,禁止在身份认证结束后明文存储账户信息,防止账户信息泄露。

(2)数据传输。数据传输保护各系统间进行信息传输时的安全性。主要包括授权支付机构服务端、手机客户端和商户三方间通信传输安全。授权支付机构与手机客户端间通信使用授权支付机构的安全通道,商户与授权支付机构间通信使用HTTPS和签名进行保护。手机客户端与商户系统间通信应由安全算法保护信息安全,具体要求如下:二维码支付交易各系统间应建立安全通信信道,对交易数据采用数字签名或加密等方式进行传输,确保数据不被监听和篡改;公网环境下,二维码信息不应以明文形式传输;应具备对传输数据的鉴别机制,确保系统间传输数据的完整性;应对传输数据进行加密。

(3)数据防伪造。数据防仿造保护关键信息防止数据被伪造或者篡改,确保信息的完整性。主要采用签名保证数据完整性,在国内签名算法一般要求支持国密算法。

(4)重放攻击。重放攻击是指将已接受或者已处理的信息进行重放来破坏安全授权关系的攻击方式。重放攻击主要是针对信用数据和交易记录的重放攻击,依据攻击模式的不同,可以采用相应的防范技术手段。

针对消费二维码的数据重放,可采用单POS重放:POS机内,数据有效时间内不允许重复交易。同一POS机在特定时间间隔内,读取到同一用户重新生成的数据,是否允许使用由商户决定,特定时间间隔的值由商户决定。也可采用跨POS重放:业务上作为多笔交易进行扣款。

针对交易记录的数据重放。交易信息商户私钥签名防篡改,被重放记录报错不做处理。

(5)用户安全。客户端应验证用户身份,验证可采用如下方式:用户提供验证信息,例如:客户端密码或口令等;用户提供所持设备的验证信息,例如:动态验证码、令牌等。

5 虚拟卡支付系统的结构设计

虚拟卡支付系统架构如附图所示,新建条码业务系统和密钥管理系统结合,统一为虚拟卡账户管理系统服务,对外提供各种接口,实现虚拟卡系统的开通、交易、充值、消费、计算等功能。

附图 虚拟卡支付系统结构设计图

虚拟卡支付已经成为国内发展最广泛,社会接受度最高的公共交通支付产品,目前发码机构主要是支付宝、微信、银联等支付机构。各公交公司应在国家相关部委和各地政府统一规划和指导下,通过改造和升级城市公交IC卡收费系统实现虚拟公交卡和实体公交卡的结合,对扩大电子支付应用领域,推动公交整体服务的提升,加快城市信息化建设整体发展具有重要积极意义。

猜你喜欢

条码离线账户
热线互动
异步电机离线参数辨识方法
浅析影响商品条码质量的主要因素
浅谈ATC离线基础数据的准备
日杂商品条码质量现状研究
如何切换Windows 10本地账户与微软账户
探索自由贸易账户体系创新应用
外汇账户相关业务
FTGS轨道电路离线测试平台开发
父亲的股票账户