无忧支付网首页
央行牌照  一清支付公司
个人/个体/公司均可进件
24小时服务电话
*** **** ****
站内搜索
您当前的位置:主页 > 相关文档 >

手机二维码支付原理及其安全性分析

添加时间:2014-12-11 21:32

  一、二维码支付技术安全性分析要素。

  二维码支付是移动支付的一种形式,移动支付作为电子商务最重要的环节,直接涉及用户和相关方的资金安全,所以,支付安全是移动支付的核心关键问题之一。二维码支付是指利用二维码远程访问支付系统,并提交支付指令的支付方式。可以通过借鉴移动支付的架构和安全需求,并结合二维码支付设施/设备对二维码支付所特有的安全性问题进行分析。

  (一)二维码支付系统架构。

  二维码支付在系统架构如图1所示,它与其他的移动支付形式很类似,主要区别有两点。

  一是访问支付内容平台和接入支付系统均通过支付客户端App完成。支付客户端App是安装于手机上的应用,具有识读、生成二维码和完成支付的功能。移动终端不是支付过程的直接参与者,仅为支付客户端App提供安装环境。

  二是对支付系统的访问方式。

  二维码支付是通过解析二维码中的URL访问支付接入系统,或将二维码作为电子支付凭证,支付客户端App生成支付指令,支付指令通过支付接入系统提交给后端交易系统、清/结算系统处理。

  (二)二维码支付交易流程。

  二维码支付与一般的移动支付主要区别在于二维码的使用、支付指令的生成、传输,一旦支付指令进入支付接入系统,二维码支付就与其他移动支付没有本质上的区别。所以对二维码支付技术安全性的分析重点在支付指令进入支付系统前。

  通过分析和研究主流的二维码支付软件的使用,发现二维码的使用可以划分成两类:一是支付二维码,这类二维码出现在支付客户端App向支付接入系统发出支付指令的环节中,要么是支付请求,要么是支付凭证;另一类是商品二维码,这类二维码出现在对支付内容平台的访问中。对支付客户端App访问支付内容平台所使用的商品二维码不属于二维码支付范畴,因为商品二维码中只保存了指向商品销售地址的URL,和支付接入系统不发生联系(如图2所示)。

  支付二维码的使用方式有两种,一种是主读式,一种是被读式。在主读式中,付款方使用支付客户端App内置的二维码识读软件扫描包含支付链接的二维码进行支付。

  二维码中包含的是支付接入系统URL和访问参数,支付指令是付款人主动发起的;在被读式中,付款人使用支付客户端App请求支付系统发码,生成二维码支付凭证,收款方扫描二维码获得支付凭证,向支付接入系统发出要求付款人进行支付的支付指令,支付指令由收款人主动发起。二维码中包含的是支付凭证,可能是一串数字或其他信息。

  1.主读式二维码的支付流程。

  当用户开始进行二维码支付的时候,需要先打开支付客户端App,对支付二维码进行扫描,由支付客户端App对支付二维码进行扫描、识读,用户在手机界面上对支付金额等信息进行确认,确认后支付指令将被支付接入系统接受、处理,支付系统处理完支付请求后,支付客户端App上将显示支付结果(如图3所示)。

  2.被读式二维码的支付流程。

  付款用户首先打开支付客户端App,在支付客户端App上向支付系统请求发码,支付系统向支付客户端App发码,收款方扫描付款方手机上的支付二维码,支付二维码被识读,收款方向支付系统提交支付请求,支付接入系统要求付款方对支付请求进行确认。确认后,支付客户端App向支付接入系统确认支付,支付系统处理完支付请求后,将支付结果反馈给付款方和收款方(如图4所示)。

  与主读式二维码的支付流程相比,被读式二维码支付的主要区别在于被读式二维码在支付的时候需要向支付系统请求发码,从而生成支付凭证,而支付凭证是收款方向支付支付接入系统发出支付指令的重要参数。

  (三)二维码支付安全需求。

  二维码支付作为移动支付的一种特殊形式,与移动支付有类似的安全需求。一般认为在移动支付中,从交易过程的角度考虑,其基本安全需求包括可认证性、私密性、完整性、不可否认性等。

  1.可认证性。

  由于二维码支付的主要流程在网络环境中进行,交易双方通过支付系统进行资金的转移,对交易各方的身份进行确认是移动支付中重要的一环。如果在交易过程缺少认证,那么黑客就容易通过伪造身份骗取敏感信息、实施资金诈骗。认证就是对人或实体的身份进行鉴别,为身份的真实性提供保证,即交易各方能够在见面或不见面的情况下确认对方的身份。在移动支付中有3种认证方法。

  (1)主体使用只有验证者与其共享的密钥加密消息,验证者使用同一密钥解密消息验证主体的身份。

  (2)主体使用其私钥对消息签名,验证使用主体的公钥验证签名以验证主体的身份。

  (3)主体通过可信第三方来证明自己的身份。

  2.机密性。

  从二维码支付流程来看,支付客户端App和支付接入系统之间存在多次数据交换,这些数据可能与用户的身份、支付指令、支付凭证有关,属于交易过程的敏感信息,一旦泄露就有可能被用于违法交易,使二维码支付系统使用者个人身份信息泄露或资金遭受损失。

  二维码支付是建立在开放的网络环境中,维护交易过程敏感信息的机密性是安全交易的重要保障。因此,要防止敏感信息被非法存取和窃取,在移动支付中,一般采用加密的方式保证敏感数据的机密性。

  3.完整性。

  二维码支付带来便捷的同时,也带来了维护交易各方信息完整、统一的问题。比如,交易数据在传输过程中发生了变化,导致交易各方看到的支付信息不同。此外,支付过程中数据可能丢失、重复或信息传送次序发生变化,都可能导致交易各方看到的信息不同。保持交易各方信息的完整性是移动支付的基础,因此,要通过完整性措施预防对信息的随意生成、修改和删除,同时防止数据传送过程中信息的丢失和重复,并保证信息传送次序的统一。完整性一般可通过提取信息的消息摘要的方式来获得,即用Hash函数产生一个摘要附在传送消息后,作为验证消息完整性的依据。消息接收者收到消息后用同样的Hash函数产生一个摘要,与收到的摘要进行对比来判断消息是否完整。

  4.不可否认性。

  在二维码支付中,所有的支付信息都以数字化的方式存在,与传统的纸质凭证方式相比,数字化的信息更容易被修改与伪造。为防止以数据被修改、被伪造为借口,交易者否认参与了交易活动,就需要在交易信息中增加交易者参与交易的证据,即不可否认性。在移动支付中主要以数字签名的方式提供不可否认证据。

  二、二维码支付安全性分析框架。

  二维码支付设备/设施见表1所列。

  通过分析二维码支付系统架构和二维码支付流程,可以看到在二维码支付过程中涉及的设备/设施有以下几种。

  (一)二维码。

  在二维码支付中,二维码是由支付客户端App生成或由支付接入系统发码。这里的二维码既可以是二维码图片也可以是二维码解析后的信息。

  (二)智能手机及操作系统。

  手机是二维码支付用户进行身份验证和进行支付的重要设备,保障手机内存储的用户身份信息、银行账户信息、支付密码等信息的机密性是保证支付安全的重要环节。手机操作系统是支付客户端App的运行环境,会为支付客户端App的运行分配必要的CPU时间、内存空间、存储空间等计算资源,如果手机操作系统的完整性被破坏,支付客户端App的运行就可能受到监视、破坏。保障操作系统的完整性是保证支付客户端App运行环境安全的重要前提,机密性、完整性是智能手机及操作系统的安全需求。

  (三)支付客户端App.

  支付客户端App是存储用户账户信息、交易信息、完成支付交易的平台,它的安全要素主要包括可认证性、机密性、完整性。支付客户端中App中保存有用于支付的敏感信息,对支付客户端App的非授权使用会破坏这些敏感信息的机密性。支付二维码的识读、支付指令的发出、支付结果的接收都是在支付客户端App中完成的,保证支付客户端App的可认证性、机密性和完整性是保证支付安全的基础。

  (四)无线网络。

  无线网络(Wifi,Edge,3G等)为二维码支付提供了通信通道,是二维码支付过程中必不可少的基础设施。

  无线网络的开放性,对二维码支付安全提出了更加严格的要求,具体表现在可认证性、机密性、完整性方面。

  (五)支付接入系统。

  当前二维码支付接入系统是开放的,允许任何人随时随地地接入,完整性、不可否认性是支付接入系统需要考虑的主要安全问题。

  使用上面的分析框架,可进一步深入分析每种设备/设施上对可认证性、私密性、完整性、不可否认性的满足情况,以及可能破坏这些安全需求的因素,可以较为完整地揭示二维码支付的安全状况,以便对二维码支付的安全性进行准确地评估。

关闭

1.点击下面按钮复制微信号

***********

2.打开微信→查找微信号

加为好友 开始支付接入