未来智讯 > 移动支付论文 > 一种基于双因素认证的移动支付安全技术研究

一种基于双因素认证的移动支付安全技术研究

发布时间:2017-12-07 08:58:00 文章来源:未来智讯    
    【 关键词 】 双因素认证;移动支付;协议
    Research on the Technology of Mobile Payment Security Based on Two-factor Authentication
    Cao Wei Zhao Yan
    (School of Cyber-Security,PPSUC Beijing 102623)
    【 Abstract 】 The safety of mobile payment is the biggest barrier that restricting the development of mobile payment industry .The article describes the technology of remote payment security and analyzes the advantages and disadvantages of the technologies ,then proposes a two-factor authentication method which based on the IMEI of mobile devices.
    【 Keywords 】 two-factor authentication;mobile payment;protocol
    1 引言
    随着智能手机和网络技术的发展,传统的电子商务和网络购物等行为已经不能满足人们对现代生活的需求,智能手机等移动终端上出现的移动银行、网络商铺等应用受到了许多用户的青睐。与此同时,随着智能卡技术在智能手机上的普及,支持手机等移动设备的非接触支付终端也风靡起来。
    2 远程移动支付方式及其安全威胁
    2.1 移动支付
    移动支付,通常也指移动货币、移动钱包等在金融监管下利用移动设备进行的支付服务。根据支付场所可以分为近场支付和远程支付。近场支付是指利用智能手机等移动终端以非接触式的刷卡方式进行乘坐地铁、刷公交、超市便利店的消费、自助购物设备的支付等;远程支付一般则借助相应的手机终端应用程序,如支付宝、财付通等进行支付。
    远程支付已经从过去的Web支付方式过渡到现在的利用智能手机客户端的形式,商家可以套用银行客户端的接口在用户付款时跳转到银行的客户端,将付款的模块交给银行客户端来做,当银行收到买家的付款时,发给商家支付成功的指令,此时商家从银行支付页面跳转回来完成支付。有些应用如支付宝、财付通,是介于商家和银行之间的支付应用层的应用程序,他们支持多种银行和网络商家,使用户省去选择银行的不便,因为有的网络商家的客户端支持的银行并不是很多。
    2.2 远程支付方式的安全威胁
    远程支付方式的安全威胁主要有几方面。
    (1)应用程序的来源不一定可靠:智能手机拥有庞大的软件资源,如安卓系统的应用汇、豌豆荚等下载中心,这里提供了数万种安卓应用供用户下载,可是应用的安全性是没有经过验证的,只能用户自己去判断,用户很容易不小心使用山寨应用和捆绑恶意代码的应用。
    (2)支付应用和银行方面的身份验证过程中可能受到攻击或窃听:远程支付是依靠暴露在空中的无线信号来传输的,信息极易遭到非法窃取,如果是使用公共WLAN网络进行远程支付则更容易受到攻击。
    (3)数据在传输过程中的保密性可能会受到威胁:在交易时双方需要进行身份认证,数据的保密性在交易传递数据信息时需要被考虑到。
    (4)网速不理想情况下支付可能造成多次相同交易:移动网络不可能像有线网络一样一直稳定,所以当网络不稳定、信号不佳的情况下可能会由于应用软件异常情况考虑不够周全造成多次相同交易或多次扣款的状况。
    3 远程移动支付的安全技术
    3.1 移动支付需要保证的安全特性
    远程移动支付是依托于移动通信网络进行的,交易过程相对于传统支付更为开放,因此为了使交易能安全可靠地进行,远程移动支付系统设计必须满足几个安全特性。
    (1)保密性。由于移动支付开放性的特点,客户端与服务器端的数据通信比传统方式更容易受到非法截取、篡改,数据的保密性必须受到严格的保证;同时,客户的身份信息、支付账户信息等私人数据的可靠传递也是数据传输过程中需要考虑的问题。
    (2)数据完整性。移动支付交易必须保证交易过程不被破坏,交易处理过程中,交易的任一方不能任意增加、删除或修改交易数据,并且交易双方需要在接收到对方数据时对数据完整性进行验证。
    (3)不可否认性。移动支付必须要提供一种可以防止交易双方抵赖收到对方消息的方法,如时间戳或多次握手协议。当发送方向接收方发送一个消息时,发送方可以确定接收方已经成功接收该消息,同时当接收方接收到某个消息,它也有依据证明这个消息来自于某个发送方。
    3.2 移动支付安全问题的现状
    存储安全、传输安全、认证安全等问题是影响移动支付的主要因素。当前远程移动支付方式下还可能存在的安全问题有几点。
    (1)手机本身存在安全隐患。近年来随着智能设备的大众化普及,手机病毒、木马也随之活跃,黑客使用病毒盗取用户的手机PIN码、网银密码,银行口令等私密信息,也容易导致用户的账户被盗刷。
    (2)身份认证体系不健全。使用智能移动终端作为支付工具,必须对参与交易各方的合法身份进行正确的识别认证,由于远程移动支付涉及到银行、商家、消费者等实体,应该更快速、可靠地进行身份识别。
         3.3 移动支付安全技术
    针对移动支付过程中可能受到的各种安全威胁,可以从以下的几种技术上考虑减小或避免支付风险,保护通信的完整性、保密性和不可否认性。
    (1)短信确认方式
    用户要进行支付的时候,不仅要输入支付口令,还要由服务提供商给用户绑定的安全手机发送一条确认短信,只有输入正确的口令并且及时回复确认短信时才会支付成功。类似支付宝,存在一个独立的支付密码,用户购买商品后,输入支付密码,此时由第三方的支付工具给用户预留给系统的手机发一条购买确认短信,包含验证码,用户必须输入此验证码才能正常支付成功,否则不能验证用户身份,支付失败。这种支付方式在一定程度上是安全的,只有同时拥有支付口令和密保手机才能完成支付。缺点是等待短信时间比较长,如果网络信号不好则还可能收不到确认短信,密保手机丢失后重新绑定比较麻烦,确认短信中需要回复的确认码通常是4-6位的数字,比较容易穷举或碰巧试出来,所以由于以上这些缺点,根据短信确认的移动支付方式只适合小额支付。
    (2)动态口令技术
    动态口令与短信确认的原理基本相同,主要是利用手机中的移动口令密码器应用程序来实现,初次使用时将密码器与对应的支付账户或者银行账户绑定,此后,密码器根据一定的算法,每隔30秒左右生成一个随机密码,当确认支付时,需要输入支付口令和密码器的密码,同时输入正确才能支付成功。
    利用电子密码应用可以比短信确认生成位数更长、更复杂的密码,几乎没有延时,安全性略有提升;但是电子密码器生成算法并不是不可攻破的,一旦密码生成算法被算出,账户就没有任何安全性,而且让用户自己输入复杂的电子密码,用户的体验性太差,也不利于技术的普及。
    (3)SSL协议
    SSL安全套接字层(Security Socket Layer)协议[2]是为网络通信提供安全以及数据完整性的一种安全协议。SSL协议分为SSL记录协议和SSL握手协议,它位于网络层和应用层之间的传输层。SSL协议使用多种加密算法,可以实现对数据加密解密、完整性验证、密钥交换、数字签名等功能,可以防止通信双方在数据传输过程中信息遭到窃听、截取或非法篡改。
    根据对SSL协议的分析,可以得出SSL提供的安全保障范围。
    1) 验证用户和服务器:SSL握手协议对通信双方使用非对称密钥进行身份的验证,可以确保数据能够传送到正确的主机。
    2) 对数据进行加密传输:SSL记录协议会根据SSL握手协议商定好的加密算法对数据利用对称密钥进行加密,这样即使数据在传输过程中被窃取,没有密钥数据也不会在有效时间内被解开。
    3) 维护数据的完整性:SSL协议是建立在可靠的传输协议之上,能够对数据的完整性进行校验,从而保护信息的完整性。
    但是SSL协议也存在如下缺陷:缺少安全认证机构,无法确定参与交易人员的身份;消费者的信息也可能被商家非法利用。
    (4)SET协议
    SET(Security Electric Transaction,安全电子交易)协议是旨在建立一个公平公正的电子付款系统而设立的协议规范,它工作于应用层,可以在客户和商家不清楚对方身份的情况下完成身份认证进行交易。SET协议是面向用卡支付的网上交易的,但随着智能手机的发展与普及,SET协议也可以应用于手机移动支付模型。
    SET协议中的角色有:消费者、商家、消费者发卡银行、商家收单银行和CA认证机构。使用SET协议进行支付时,首先消费者从商家处挑选好商品之后确认订单,商家计算好订单价格后生成订单号,此时SET开始参与进来,商家把订单号和付款金额发送给消费者,消费者就需要通过其持卡银行给相应订单号的商品支付对应款项,而商家也通过SET把订单号和金额通知商家的收单银行,待消费者付款成功后,金融网络将支付款转至商家收单账户。
    这种模式下,商家并不知道消费者的信息,所有的身份认证都交由SET协议中的CA负责,CA与每个协议中的角色都利用证书进行身份的验证,数据的传输也都使用加密算法处理,可以保证交易的机密性和完整性。缺点是没有提供不可否认性的服务,将不可否认性的验证交给银行和应用机构来完成。
    4 基于智能手机序列号和时间的双因素身份认证
    4.1 双因素身份认证
    身份认证过程是基于“某种信息片段”如密码、指纹等进行的,这些信息片段被称为认证因素(Authentication Factor)。认证因素通常分为三类:第一类指使用者所知道的事物,是存在于使用者记忆中的认证信息,如密码;第二类指使用者所拥有的事物,是认证双方约定的具有识别另一方身份的介质,如银行卡、银行U盾;第三类指使用者本身的生物特征,是利用使用者本身的生物特征作为认证信息,如指纹、虹膜。采用任意两种认证因素的的身份认证方式就可被称为双因素认证(Two-factor Authentication)。
    4.2 利用双因素认证实现远程移动支付设计
    智能手机在出厂时都有其厂商赋予的唯一的序列号IMEI码,IMEI在全球范围内唯一的,在出厂时存入手机的EEPROM中,它与每一台手机是一一对应的,利用此特性也可以实现更安全的身份认证过程。
    利用时间同步双因素认证的方法,在智能手机联网的情况下,可以实现这样的认证过程。移动支付应用程序在用户首次使用支付APP时,要求用户绑定常用的移动设备,该过程需要将用户的移动设备序列号IMEI作为时间同步双因素认证中的初始化种子发给银行发卡服务器进行保存,与此同时,用户与服务器端进行时钟校对。移动设备的支付APP即双因素认证方法中的令牌,可能会内置数种产生随机数的算法,首次绑定时,远程服务器也应该与本地支付APP进行算法的绑定,以便双方在同一时刻产生相同的随机值。
         银行发卡服务器与令牌必须要一致的有三点:一是拥有相同的初始化种子,本例中即手机序列号IMEI;二是拥有相同的算法,令牌可以有多种算法以对抗攻击,但是在令牌投入使用时必须要与银行服务器保持一致;三是双方时钟必须同步,双方使用相同的种子和相同的相对于时间的算法,所以只有在相同的时刻下,双方才会生成相同的随机值。
    当完成首次运行绑定后,用户的移动设备与远程银行发卡服务器就变成一一对应的了,只有使用绑定好的设备,并使用正确的用户名密码登录才是合法的用户。当用户申请支付服务时,由于设备之间时钟不同,首先要与银行服务器进行时钟的同步来保证时钟一致,同步成功后,本地应用根据令牌算法使用设备的序列号IMEI计算出该时刻的随机值,从中截取数位记作立刻发送至服务器。同时,服务器也利用保存的标识序列IMEI码和相同的算法计算得出数据序列,把用户发来的数据和的对应数据位进行比较,如果相同,则服务器可以认为是合法用户的访问。考虑到移动网络传输的开放性,数据传输时可以使用相应的哈希算法,银行服务器也对进行哈希处理,比较哈希值也可以进行相应的身份认证,并可保证数据传输的保密性。由于该认证方式是在移动网络下进行的同步,不考虑时延必然会影响认证的成功率,所以可以考虑将算法的时间间隔设置的略长一些,以保证通信过程中信息传递和算法计算的耗时可以忽略不计。
    使用手机序列号IMEI码进行身份认证的方式,减少了通信量,每次使用时仅需时钟校对和发送部分随机数值即可实现身份的认证,而且认证过程不依赖于用户是否更换手机号,首次使用之后也不需要再进行人工干预,安全性、实用性更高。
    5 结束语
    移动支付正在潜移默化的改变着我们的生活,随之出现的各种各样的支付方式方便了我们的生活。但是,移动支付所带来的安全隐患越来越威胁着我们的生活,我们必须尽快采取相关措施。应该在研究移动支付安全技术的同时,推广使用使用安全的通信协议、不断完善交易流程;加大对非法手机应用程序和手机病毒的打击力度,共同推动安全的移动支付产业。
    参考文献
    [1] 任昌涛. 移动支付安全技术分析[J]. 信息与电脑 (理论版), 2012, 6: 095.
    [2] 谢冬青, 冷健. PKI 原理与技术[M]. 清华大学出版社,2004.
    [3] 李兰燕, 毛雪石. 动态口令双因素认证及其应用[J].计算机时代, 2010 (004): 11-13.
    作者简介:
    曹巍(1988-),男,中国人民公安大学,硕士研究生;主要研究方向和关注领域:手机支付安全、计算机犯罪侦查。
    赵滟(1990-),女,中国人民公安大学,硕士研究生;主要研究方向和关注领域:信息检索、数据挖掘。
转载请注明来源。原文地址:https://www.7428.cn/page/2017/1207/6936/
 与本篇相关的热门内容: