主流移动支付安全漏洞分析 “垂直认证”模式建立可信


2016-4-20 10:47来源:移动支付网    作者:胡祥义 赵桂芬 马彦娇

  摘要:本文对主流移动支付的安全漏洞进行分析,阐述了基于验证码的移动支付技术特征,公开了黑客可能对其进行攻击的具体方法。同时,分析了基于PKI技术不能替代基于验证码技术的移动支付原因。提出了一种可信移动支付解决方案,方案是采用“垂直认证”技术模式,采用单钥密码算法和组合(单钥)密钥(CSK,companed single key)生成算法,或加密芯片硬件技术,将支付单进行加密和签名,建立一种可信移动支付系统,支持小额支付领域;或将单钥密码算法、摘要算法、组合(单钥)密钥(CSK)生成算法、密钥种子、加密和签名协议等存储在加密芯片里,建立一种“芯片级”的可信移动支付系统,支持大额支付领域。

  关键词:验证码,数字签名,垂直认证,组合(单钥)密钥,PKI技术,加密芯片

  胡祥义 网络密码认证北京市重点实验室 大专 研究员 密码安全协议 北京 100044

  赵桂芬 网络密码认证北京市重点实验室 博士 副研究员 密码安全协议 北京 100044

  马彦娇 大唐联诚信息系统技术有限公司 硕士 工程师 软件工程 北京 100191

  引言: 移动支付已经如火如荼进入我们的生活,主流的移动支付方法都是采用验证码认证技术,如:支付宝、财付通、银联在线、快钱、汇付天下、苹果PAY、三星移动支付等。验证码具有动态口令的特征,每次支付的验证码都不同,一次一变,且验证码对比认证效率高,同时,具有客户端APP安装方便,操作简单,成本低廉等特征,十分受广大用户的青睐。但是,基于验证码技术建立的移动支付系统,存在重大安全隐患。黑客能够可利用伪基站以及病毒程序,阻止用户手机发送给网银的支付单和验证码(见下表),并替换支付单的内容,即:将下表中收款方的姓名、开户行和账号3项内容替换成黑客指定的内容,同时,保留原验证码不变,再将替换后的支付单和原验证码一并再发送给移动支付验证服务器,实现对移动支付协议的攻击。从而,盗取用户的账户资金,即使银行支付后验证服务器回复到用户手机端的短信提示,也很难引起用户的怀疑(如:已经转出XX万元),因为转出资金的额度是用户自己输入的。且黑客能批量替换支付单即:一批用户转款资金集体被盗,造成较坏的社会影响。因此,基于验证码的移动支付安全等级十分低。

表:支付单及其验证码

  移动支付必须增添签名功能才能保证其安全。早在2008年8月全国信息安全大会上,工信部信息安全协调司欧阳司长就明确指出:网银支付只进行身份识别是不够的,还缺少一个重要环节就是签名,网银支付必须签名才能保证安全、可信,且不可抵赖。若采用带签名功能(如:PKI)技术,可防止黑客批量替换支付单。但是,移动用户支付领域的用户数量较大,PKI技术不能支持海量用户的并发签验。在非移动支付领域,银行针对PKI支付已经投入巨大,已经没有哪家银行再肯将巨额资金投入基于PKI的移动支付领域。为此,我们提出一种可信移动支付方案,方案是采用“垂直认证”模式,即:密钥种子集中生成,集中灌装,集中分发,集中销毁,并采用单钥密码算法(SM1或SM4算法)和组合(单钥)密钥(CSK)生成算法,建立基于数字签名技术(采用SM4算法)的可信移动支付系统,支持小额支付领域;或采用加密芯片硬件建立一种“芯片级”(采用SM1算法)可信移动支付系统,支持大额支付领域。

  1.0 基于验证码支付技术的安全漏洞分析

  1.1 验证码的技术特征

  动态验证码是在客户端和认证中心端,由单钥密码算法,根据时间戳同时产生一组固定长的相同随机数即:动态口令或动态验证码,其中:动态口令长度为6位,一次一变,不重复,且在每分钟的周期内变化一次。

  1.2 基于验证码的支付技术特征

  基于动态验证码的支付是在用户手机的(APP)客户端,用户输入支付单(见下图)后,动态验证码系统实时产生一组随机数,将该组随机数作为动态验证码,与支付单一并发送到银行或金融企业的认证中心,当动态验证码通过了认证中心的验证后,根据支付单的内容将支付方用户资金账户资金转到接收方用户的资金账户里。从而,完成移动支付的资金转款过程。

  1.3 基于验证码的支付技术存在的安全漏洞

  由验证码的支付技术特征可见,支付单与验证码两部分互相独立的数据,一旦验证码通过认证中心的验证后,网银的支付系统立刻实施支付(转款)。篡改支付单就是基于验证码的支付技术存在的主要安全漏洞。

  1.4 攻击基于验证码支付系统的方法

  首先,黑客通过建立伪基站并利用病毒程序的方式,阻止用户手机(APP)客户端发送给认证中心端的支付单及其验证码,并实时获得支付单及验证码。其次,黑客再篡改支付单中收款方用户的银行参数(包括:用户名、开户银行和账号),即:将收款方用户的银行参数篡改成黑客的银行参数,并保持验证码不变,最后,将篡改后支付单及原验证码一并发送给认证中心端。从而,攻克支付系统盗取支付方用户的资金。由于验证码是真实、可信的,完全能通过认证中心端的验证。

  黑客通过建立伪基站并采用病毒程序的方式,对所有正在进行支付的用户支付单资金的盗取,是一种批量盗取用户转账资金的方法,其特征是:盗取用户账户款的额度是用户支付的额度,用户资金被盗后不能马上发现。

  1.5其他盗取移动支付资金的方法

  黑客还有一种盗取移动用户的账户资金方法,是通过病毒程序获得用户手机里的账户名、账号和开户行,以及用户在支付时输入的支付口令,从而,进行资金转账盗取用户账户里的资金。利用病毒盗取用户账户资金的方法,其特征是:黑客进行精准盗款,黑客即有准备,又有目标,盗取资金额度自定,用户资金被盗后能马上发现。

  2.0 采用带签名技术的支付系统可防资金被盗

  2.1 采用带签名技术如:PKI或IBE 技术

  基于PKI或IBE 技术的支付协议是将支付单加密和签名,其加密和签名协议如下:

  1)将PKI产生的随机数作为过程密钥K;2)用SM1算法和K来加密支付单生成支付单的密文; 3)用SM2算法和用户的私钥进行签名(实现数据的完整性验证);4)用SM2算法和CA认证中心的公钥来加密过程密钥K(实现过程密钥K的交换),详见下图。

  2.2 基于签名技术的技术优势

  支付单已经被加密和签名,黑客不能篡改支付单内容。采用签名技术保证支付单可信、完整且不可抵赖,防止黑客篡改支付单。并对支付单进行加密,实现支付单的保密传输。

  2.3 基于PKI或IBE支付协议运行效率较低

  PKI或IBE的签名和加密协议的特征是,同时采用两种密码体制(对称算法和非对称算法)建立签名和加密协议,需要调用2次SM2算法,调用3种密钥。可见,PKI或IBE的安全架构复杂,签名和加密协议过程多,造成签名和加密协议的运行效率较低。若移动支付采用PKI或IBE技术,其CA认证中心的建设成本让各个移动支付企业都难以支付。因此,PKI或IBE的签名和加密协议即使安全性较高,仍然无法受到移动支付市场的青睐。

  3.0 基于“垂直认证”模式建立移动支付系统

  “垂直认证”模式是采用对称(单钥)密码算法和组合(单钥)密钥生成算法(CSK),在用户的手机端和认证中心端事先写入单钥密码算法、摘要算法、组合(单钥)密钥生成算法、密钥种子,以及签名和加密协议,利用组合(单钥)密钥生成算法(CSK)对一组“密码种子”进行选取,产生一次一变的密钥,且密钥种子集中生成,集中灌装,集中分发,集中销毁。利用“垂直认证”模式建立的签名和加密协议,可建立可信移动支付。

  3.1 密钥生成与管理

  3.1.1密钥种子生成与分发

  密钥种子由加密芯片的随机数发生器产生,直接灌装到认证中心验证服务器端,亦即,通过验证服务器设备(或加密芯片)分发认证中心端的密钥种子,再下载到客户的手机端。(若手机端嵌入SD卡)则通过SD卡里的加密芯片,分发用户手机端的密钥种子。并通过认证中心对全体用户的密钥种子进行注销。

  3.1.2 密钥生成

  采用组合对称密钥生成算法(CSK,combined,single,key)即:采用时间戳和随机数对一套密钥种子(32×32矩阵)进行选取,将选出的元素合成一组密钥,并作为签名(加密)密钥,实现签名(加密)密钥实时产生,一次一变,密钥的变化量为:2的160次方。(见:下图)。

组合(单钥)密钥(CSK)生成的过程图

  3.2“垂直认证”模式的支付协议

  “垂直认证”架构的支付协议是将支付单加密和签名,其签名和加密协议的如下:

  1)由随机数和时间戳组成的组合(单钥)密钥生成算法产生对称密钥K,再通过随机数和时间戳进行对称密钥K的安全交换;2)用SM1算法和K对支付单进行签名(实现数据完整性验证),并将支付单加密成密文。

  3.2 “垂直认证”模式的加密和签名协议优势

  “垂直认证”模式的加密和签名协议,只采用SM1算法建立签名和加密协议。安全架构简单,只需调用一组密钥对支付单进行加密和签名。可见,基于“垂直认证”模式的安全架构简单,签名和加密协议过程的环节较少,运行效率较高。各种相关教科书都阐述了一个公理:对称(单钥)密码算法,比非对称(双钥)密码算法的加/解密速度在计算机内存里快100倍,在芯片里快1000倍。如:《现代密码学》(讲义)指出:“RSA算法的速度是DES的1000分之一”。因此,基于“垂直认证”模式的移动支付协议,同时具有安全性高,速度快的优势,未来将会受到移动支付市场的广泛青睐。

  4.0 “垂直认证”模式的加密和签名协议应用分析

  4.1 基于“垂直认证”模式的纯软件加密和签名协议分析

  基于“垂直认证”模式的纯软件加密和签名协议,将支付单的内容加密并签名,黑客无法分析支付单的内容,也无法篡改支付单。其安全等级对比基于验证码技术建立的支付协议要高一个“数量级”,建立成本两者也基本相同,运行效率两者也相差不大。完全可以满足小额移动支付的需求。

  4.2 基于“垂直认证”模式的硬件加密和签名协议

  基于“垂直认证”模式的硬加密和签名协议,在用户手机里插入带加密芯片的SD卡,在SD卡加密芯片里写入对称密码算法、摘要算法、组合单钥生成算法、一组密钥种子、签名和加密协议,协议的过程在SD卡的芯片里完成,实现“芯片级”的签名和加密协议,提高签名和加密协议的安全等级。使黑客无法获得对应用户的“密钥种子”及加密和签名协议,无法分析和篡改支付单。同时,在SD卡芯片里写入指纹开机认证协议,保证用户丢失手机后,他人也无法打开手机屏幕,从而,建立高安全等级的支付协议,完全可以满足高档客户的大额移动支付的需求。

  5.结束语

  手机购物、手机钱包、手机支付是未来老百姓网络消费方式的新常态,老百姓使用手机支付便利的同时,也将面临较大的风险,据媒体报道:用户手机银行资金被盗也成为一种新常态。现有的基于验证码技术建立的移动支付体系,由于不带签名功能因此存在较大的安全隐患。若采用国际通用的带签名功能如:PKI技术,但是,PKI技术的支付协议的速度较低,造成建立和维护成本都较高,为安全需要增加过多的投资,移动支付市场也无法接受。基于“垂直认证”模式的支付协议具有安全等级高,建设和维护成本相对较低的特征,是未来移动支付市场的主流技术。能为手机用户的信息安全保驾护航。

  参考文献

  1、专利申请号:201410833988.X发明专利名称:一种手机离线认证的方法,申请人:胡祥义,专利申请日:2014 年12月 30日。基于动态口令的身份认证方法;

  2、动态口令认证方案的研究与改进;王滨, 刘刚;安全与保密技术 (2007年12期)

  3、基于手机令牌的动态口令身份认证系统;张亮,刘建伟;通信保密 (2009年01期)

  4、网上银行函数密码的设计与实现;杨茂保;系统软件与软件工程 (2009年33期)

  5、基于动态口令的身份认证方法;胡祥义,杜丽萍,郭建伟;《网络安全技术与应用》(2013年第06期)

  6、用户身份认证技术在计算机信息安全中的应用,熊俊,《信息安全技术与应用》(2013年06期)

  7、一种在网络上设置“安全层”的方法,胡祥义,徐冠宁,赵桂芬 《网络安全技术与应用》,2015年3期

  8、基于PKI技术的数字签名身份认证系统,刘知贵,杨立春,蒲洁,张霜 - 《计算机应用研究》,2004年9期

  9、《现代密码学》(主讲教师:董庆宽),西安电子科技大学。2008.12.6; 网址:http://www.cnblogs.com/hananbaum/archive/2008/12/06/1349117.html

  作者简介:

  胡祥义(1955-),男,研究员,研究方向:密码安全协议;赵桂芬,女, 副研究员,研究方向:密码安全协议 ;马彦娇,女,工程师,研究方向:软件工程。

评论加载中
相关文章

月点击排行
关于本站    联系我们    版权声明    手机版
Copyright © 2011-2022 移动支付网    粤ICP备11061396号    粤公网安备 44030602000994号
深圳市宇通互联信息技术有限公司    地址:深圳市宝安区新安街道28区宝安新一代信息技术产业园C座606