孙权
(中国银联股份有限公司 上海 201201)
(电子商务与电子支付国家工程实验室 上海 201201)
摘 要 本发明提出了一种安全的基于二维码的非接触式取款系统,在取款机器为每次取款操作生成一个唯一的二维码并显示在屏幕,用户在移动设备上选择取款的账户并输入密码,用摄像头扫描取款机屏幕上出现的二维码,通过移动设备将账户、密码、二维码等信息发送至用户账户发行方后台系统验证通过后取款机器即可吐钞完成取款,从而解决传统取款业务系统中持卡人必须提供实体卡片并在取款机上输入密码的业务限制和以及由此带来的安全问题,为持卡人提供一种安全、方便的取款方式。
教育期刊网 http://www.jyqkw.com
关键词 二维码,非接触式,ATM取款doi:10.3969/j.issn.1674-7933.2015.05.002
作者简介:孙权,男,1975 年生,硕士,高级经理,主要从事及研究领域:金融信息化及项目管理的研究,Email :quansun@unionpay.com。
0 引言
20世纪80年代末,二维码技术在国际上开始研究,研制出多种码制,信息密度都比传统的一维码有了较大提高。国际自动识别制造商协会(AIM)、美国标准化协会(ANSI)制定并发布了PDF417、QR Code、Code49、Code 16K、Code One等码制的符号标准。我国对二维码技术的研究开始于1993年,在消化国外相关技术资料的基础上,制定了两个二维码的行业标准:二维条码网格矩阵码[1]、紧密矩阵码[2],并进一步制定和发布了国家标准:二维码网格矩阵码(GB/T 27766-2011)[3]和二维码紧密矩阵码(GB/T 27767-2011)[4],从而大大促进了我国具有自主知识产权技术的二维码的研发。
相比较一维条形码,二维码具有明显的优势,具体表现在:
1) 高密度编码,信息容量大:PDF417码可容纳多达1850个大写字母或2 710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍;
2) 编码范围广:除可以表示字母、数字、ASCII字符外,还能表达二进制数。可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据;
3) 容错能力强,具有纠错功能:一维条形码通常具有校验功能以防止错读,一旦条形码发生污损将被拒读。而二维条形码不仅能防止错误,而且能纠正错误,即使条形码部分损坏,也能将正确的信息还原出来,损毁面积达50%仍可恢复信息;
4) 印制要求不高:普通打印设备均可打印,传真件也能阅读。条码符号形状、尺寸大小比例可变,以适应不同的打印空间;
5) 可用多种阅读设备阅读、译码可靠性高:可用带光栅的激光阅读器,线性及面扫描的图像式阅读器阅读。目前,随着互联网业务的发展,二维码已经广泛应用到电子商务、消费打折、互动营销等领域,给消费者更便捷和快速的消费体验。2010年开始,随着国内电商向移动支付领域发展,尤其是O2O的发展,有了大批的移动设备,也有了大量的移动消费,二维码支付解决方案便应运而生并迅速发展,互联网企业腾讯、支付宝纷纷涉足该领域,在连锁商超、公共事业等线下商户基于二维码技术提供支付服务,成为电商平台连接线上与线下的一个新通路。与此同时,互联网+、物联网等正逐渐成为一个新的发展趋势,二维码应用范围进一步拓展,与传统的生产及服务越来越深度融合。
1 当前业务的限制
传统的银行卡取款业务,需要持卡人提供银行卡实体卡片,并在取款机终端输入取款密码。这样的操作存在两个弊端:一是业务限制,持卡人必须随身携带银行卡实体卡片,否则无法通过取款机进行取款操作,给持卡人,特别是移动支付用户带来不便;二是安全问题,不法份子通过非法手段利用专用的设备,盗取银行卡,或者在持卡人输入密码时窃取银行卡密码。
如何在保障安全的前提下实现无卡取现,成为银行提升服务的一个重要途径。目前,工商银行、建设银行、交通银行、兴业银行等部分银行在部分ATM设备上开展了“无卡预约取款功能”[5],通过手机银行获取预约取现随机密码,在开通此项功能的本行ATM机具上输入手机号码、预约号、随机密码、取现金额后完成取现。该功能操作步骤相对复杂,并且仅局限于对本行的银行卡提供服务,服务质量和服务范围存在限制。
二维码作为一项技术,也带来了一系列安全风险问题,二维码技术成为手机病毒、钓鱼网站传播的新渠道,因此在金融支付领域的应用一直相对比较慎重。
2014年3月13日,央行下发紧急文件《中国人民银行支付结算司关于暂停支付宝公司线下条码(二维码)支付等业务意见的函》,暂停支付宝、腾讯的条码(二维码)支付等面对面支付服务,并要求支付宝、财付通将有关产品详细介绍、管理制度、操作流程等情况上报,二维码支付的安全性问题引起了社会的极大关注。
鉴于现有方式存在问题,本文提出了一种安全的基于二维码的非接触式取款系统,解决传统取款业务系统中存在的业务限制和安全问题。
2 系统组成
该系统由持卡人持有的智能手机、移动支付系统、带二维码模块的取款机、受理银行系统、银行卡组织系统、发卡银行系统构成,具体系统架构参见图1。
2.1 智能手机
智能手机运行移动支付手机客户端程序,绑定一张或者多张持卡人的银行卡;智能手机内置摄像头、下载安装二维码取款业务相关模块,包括:二维码取款模块、二维码识别模块和安全加密模块。二维码取款模块是智能手机负责二维码取款业务的处理的模块,二维码识别模块负责通过智能手机摄像头获取二维码图片并识别二维码中的数据信息,安全加密模块负责通过非对称加密技术使用收单银行公钥对数据签名进行验证,确保数据有效性和不可抵赖性。具体参见图2。
2.2 带二维码模块的取款机
带二维码模块的取款机相对于传统取款机增加了二维码取款业务所需的硬件和软件模块,包括:二维码取款模块、二维码生成模块和安全加密模块。二维码取款模块是取款机负责处理二维码取款业务处理的模块,二维码生成模块负责为每次取款操作生成唯一的二维码信息(信息中包括了取款机设备信息、本次取款唯一标识以及数据签名),安全加密模块负责通过非对称加密技术使用收单银行私钥对数据进行签名,确保数据的有效性和不可抵赖性。具体参见图3。
2.3 系统其他组成部分
移动支付系统负责移动支付交易的处理,并与受理银行、发卡银行系统进行通信,一般由银行卡组织、银行机构或者第三方支付公司建设和运营,通过NFC技术和移动通信网络分别实现非接触现场支付和远程支付功能。为了实现移动支付NFC取款业务,移动支付系统需要做适应性改造,以支持与取款机以及相关银行系统的交互。国内移动支付业务均遵循《基于射频的移动支付》国家标准(GB/30001.1-2013[7]、GB/30001.2-2013[8]、GB/30001.3-2013[9]、GB/30001.4-2013[10]、GB/30001.5-2013[11])。
受理银行系统、发卡银行系统分别对应于受理银行以及发卡银行的交易系统,如国内各大银行如工、农、中、建等银行的交易系统。受理银行和发卡银行系统需要做适应性改造,以实现与传统取款业务逻辑存在差异的新型二维码取款模式。
银行卡组织系统是银行卡组织运营的跨行交易系统,各银行的交易系统通过银行卡组织系统实现互联互通。典型的银行卡组织系统包括中国银联、Visa等运营的银行卡信息交换系统。银行卡组织系统提供银行卡交易的转接、清算业务、差错处理等业务。国内该领域主要技术规范包括《银行卡联网联合技术规范》[12]等,各银行均遵循相关规范进行跨行交易。
3 技术方案
该系统基于二维码技术和移动支付系统,实现安全的二维码取款功能。取款业务的使用过程总体可以分为:“业务开通”“取款交易”两个步骤。
1) 业务开通:持卡人需要持有带摄像头的智能手机,向发卡机构申请开通移动支付业务及二维码取款业务,可能还需要形成契约关系。下载并安装移动支付手机端软件及二维码取款业务模块,获取收单银行公钥,绑定相应银行卡。
2) 取款交易:取款机当前二维码取款交易生成唯一的二维码,智能手机通过摄像头获取二维码,获取取款机设备信息,通过移动支付系统发起移动支付取款请求,交易承兑取款机吐钞,为持卡人提供安全的移动支付取款业务功能。
通过ATM取款机发起一笔正常成功二维码取款交易的时序图参见图4,具体包括以下14个步骤。
1) 持卡人打开移动支付手机端软件,进入二维码取款业务模块,选择取款账户,输入取款要素信息,如:取款金额、交易密码,确认取款信息正确;
2) 持卡人在取款机操作,选择二维码取款业务,取款机将取款机设备号、本次取款唯一标识等数据,调用安全加密模块,通过非对称加密技术使用收单银行私钥对数据进行数字签名,生成唯一的二维码,显示在取款机显示器屏幕;
3) 持卡人通过智能手机摄像头,拍摄并保存取款机屏幕上显示的二维码,调用二维码识别模块获取二维码中的数据,调用安全加密模块通过非对称加密技术使用收单银行公钥对数据签名进行验证,二维码取款模块获取取款机设备信息及本次取款唯一标识;
4) 手机端二维码取款模块向后台移动支付系统发起取款交易请求;
5) 移动支付系统向受理银行系统提交手机取款交易请求;
6) 受理银行系统根据交易信息中的取款机设备信息与目标取款机进行通信,发起交易合法性判断请求;
7) 取款机对交易请求进行合法性判断,反馈受理银行系统;
8) 受理银行系统向银行卡组织系统发起ATM取现请求;
9) 银行卡组织系统向发卡银行系统转发ATM取现请求;
10) 发卡银行系统对交易进行判断,返回ATM取现应答;
11) 银行卡组织系统向受理银行系统转发ATM取现请求;
12) 交易承兑,受理银行系统向取款机发出吐钞指令;
13) 受理银行系统将交易结果通知移动支付系统;
14) 移动支付系统将交易结果通知智能手机。
4 异常处理机制
为保障该系统的交易可靠性,该系统设计了二维码安全、交易失败返回、交易冲正机制和差错处理机制。
1) 二维码安全机制:步骤2中,取款机生成的二维码,包含信息包括但不限于为ATM布放银行标识(可以该银行机构代码或银行名称等信息)、ATM标识(可以唯一对应该银行的某台ATM机)、该ATM上取款交易的流水号以及上述内容的签名,其中除ATM布放银行标识不需要加密外,其他信息都需要加密,保证二维码不可伪造性、不可抵赖性。与此同时,每次取款完成后,ATM布放银行根据交易流水号编号更新ATM上显示的二维码,保证每台ATM、每次取款所扫描的二维码不一样,这样就避免不法份子用别的机器上的二维码替换当前机器的二维码,从而用户在当前ATM取款,而在另外的ATM上吐钞,造成资金被盗取风险。
2) 交易失败:在交易发起或者转发步骤任何步骤出现问题导致交易失败,则后续步骤不再执行,出错步骤将错误代码返回给前一步骤,并最终将错误代码返回给手机终端。例如:步骤7取款机返回交易合法性判断失败,则后续步骤8~步骤14不再执行,执行步骤8a~10a,直接返回交易失败,具体时序图参见图5。
3) 交易冲正:冲正是对一笔正交易的反交易,在发生交易失败时取消已经执行的交易。一个典型的场景是,发卡银行已经扣款成功,步骤9成功执行后,ATM机出现机械故障未能成功吐钞,需要发起一笔冲正交易,让发卡银行取消扣款。该冲正交易的流程如图6所示。
4) 差错处理:当发生业务差错时,对于跨行交易,可以通过现有银行卡组织的差错系统进行差错处理;对于本行交易,则可以通过银行内部的差错处理系统进行处理。一个典型的场景是,方案一中交易成功,由于取款机故障,实际吐款金额少于发卡银行的扣款金额。
5 结语
本文提出的一套实现方案,基于二维码技术,实现安全的非接触式取款功能。相比较传统的取款系统,该系统存在如下优势:
1)用户数据不通过取款机器,从而避免被侧录导致的银行卡被复制及密码被窃取风险,提升了交易的安全性;
2) 减少取款时间,用户可以事先在手机上选择账户、输入密码等操作,扫描取款机器上的二维码后便可以完成取款操作,减少了取款的排队等待时间;
3)现有的取款机器不需要进行大量改造,即可提供相应功能。由于不需要密码键盘等设备还可以大大减少取款机器的大小,并进一步降低成本。
教育期刊网 http://www.jyqkw.com
参考文献
[1]SJ/T 11349-2006, 二维条码网格矩阵码[S].
[2]SJ/T 11350-2006, 二维条码紧密矩阵码[S].
[3]GB/T 27766-2011, 二维条码网格矩阵码[S].
[4]GB/T 27767-2011, 二维条码紧密矩阵码[S].[5]兴业银行开通ATM预约取款功能, 实现无卡取款[J]. 齐鲁周刊, 2015,13:23.
[6]央行暂停支付宝财付通业务(全文). 人民网-理财频道,2014. http://finance.people.com.cn/money/n/2014/0314/c218900-24640031.html
[7]GB/30001.1-2013 信息技术基于射频的移动支付第1部分:射频接口[S]. 北京:中国标准出版社, 2013.
[8]GB/30001.2-2013 信息技术基于射频的移动支付第2部分:卡技术要求[S]. 北京:中国标准出版社, 2013.
[9]GB/30001.3-2013 信息技术基于射频的移动支付第3部分: 设备技术要求[S]. 北京:中国标准出版社,2013.
[10]GB/30001.4-2013 信息技术基于射频的移动支付第4部分:卡应用管理和安全[S]. 北京:中国标准出版社,2013.
[11]GB/30001.5-2013 信息技术基于射频的移动支付第5部分:射频接口测试方法[S]. 北京:中国标准出版社,2013.
[12]JR/T 0055.1-2009 银行卡联网联合技术规范.第1部分:交易处理[S].