信陵神州王建新:移动支付的安全分析
移动支付网 2017/1/12 10:45:34

2017年1月11日,《2017中国移动支付年会》在北京召开,北京信陵神州科技有限公司创始合伙人兼CTO王建新与会并发表演讲,主要内容包括移动支付的概述、安全解析以及安全提升方式。

以下为演讲实录:

大家好,很高兴能有机会跟大家做交流。

主要三方面的议题。一个是移动支付的概述,一个就是移动支付安全解析。然后再说一下如何提高安全性?

首先移动支付,我们认为它是改变了我们现在的生活方式,手机替代了现金,替代了银行卡,替代了我们其他领域的公交卡,校园卡等等,另外我们把我们的原来的网购,有PC机转移到了移动支付,移动支付的优势主要是3个,我们总结的就是无所不能,无处不在,无时不在。因为手机支付基于是智能手机,目前智能手机的操作系统无论是IOS还是安卓,它的功能十分强大,基本上你能想到的功能,他都可以有应用帮你去实现,所以说功能上基于智能的操作系统,它是十分强大的。大家早上起来第一件事是拿起手机,睡觉前最后一件事是放下手机,所以说基本上随时你都可以用手机去做这个支付,这是它的优势。

而推动移动支付发展的技术优势两方面,一个就是智能手机的发展普及。在2007年之前,我们的非智能机用短信来实现移动支付的时候,它不可能发展到现在的移动支付这样一个形式,另外就是无线通讯技术的发展,如果我们是基于GPRS和CDMA,2G,2.5G的方式,我们现在的移动支付也不可能像现在这样全面发展的趋势,这两项技术是推动移动支付发展的基础的技术。

移动支付的分类,进场和远程,进场就是我用手机至少有一方是要手机参与面对面地完成支付,包括个人与个人之间或者个人与商户之间,面对面地完成支付,面对面的需要数据传输,数据传输方式不同,你用二维码传输就是条码的支付,就是我们常见的进场。

而远程支付,就相当于我们之前用PC机,在网站购物,淘宝买东西,现在转成了用手机来买,你跟商户其实不是面对面的,是隔着很远的距离的,你完成了整个的购物过程,这是远程支付。我们看移动支付的安全分析,我们数据安全研究安全的话,有一句话最能体现,透过现象看本质,研究安全的话你研究的越深入,你会觉得东西越接触到本质的东西,简单来说我们移动支付要解决的事,敏感信息的存储和传输两方面的安全问题,我们看现实中数据之外,食物他是如何解决安全问题的,我们看银行的现金,他一方面存在银行的金库里边。另一方面存在银行的营业厅和银行的金库,是一个物理上的安全环境,银行的营业厅也是安全措施很高,而且有保险柜,ATM机本身公安部就要求它要防止物理的攻击,而且把钞箱本身也是放在保险柜里的,所以说它存储的环境是安全的传输。如何保证的?是通过武装押运。如何保证安全传输储量方面的安全性,而只涉及到数据。

我们看手机的传输,无论是进场的二维码,还是NFC还是远程的,我用3G,4G以及wifi,还是我用不远不近的蓝牙传输,它都是一个开放的环境,无线的传输,物理传输路径,我不可能做到武装押运一样,物理上保证它的安全性,那怎么办?我们要保证物理传输的安全就必须用加密算法来解决,数据传输安全两方面来解决一个就是我不传输敏感数据,就敏感数据只在本地处理,处理完了之后不参与传输,但是我们整个支付过程中,手机通常只是一个起点或者是中间环节,我们肯定要发到收单行发卡行去验证,很多数据难以避免要传输出去,如果传输出去就需要用加密算法,来保证数据传输的安全性,基本上就是常用的数字签名来解决。

数据传输的真实性,我传输的过程中,传输的是数据本身和签名,然后我接收到验证签名是否正确,如果被修改了,攻击者没有公钥算不出来一个正确的签名,我接收方能发现,但是如果我传说的是密码是123456,我密码本身参与传输,我一个中间人截获这个数据,就知道你的密码了,也就是数字签名能防止数据被篡改,保证数据得真实性,但是不能防止数据泄露,要防止数据泄露就必须加密传输,这个就是说,我传输过程中只传输加密后的结果,接收端用解密密钥去解密,最后得到明文,整个过程不参与传输密码是123456,我传输的可能是AB C D E F是一个表面上看,没有任何逻辑关联的数据。

我没有攻击者,没有密钥,得不到我实际的明文,大家看我加密,算法应用了之后,我把需要保护传输数据传输路径转变为需要保护密钥,而密钥不参与传输,我只需要解决存储问题,就解决了安全问题,因为我们引入加密算法之前,我既要保证存储的安全,要保证数据传输的安全,现在把加密算法,数字签名放上,改加密,防泄漏,但是我用了算法之后,保证这个算法安全的密钥,是不参与传输的,所以说等于我的传输路径,就不需要保护了,这就是加密算法的本质,他把需要保护传输路径,转变为只需要保护本地的密钥,而密钥不参与传输,所以说我只要解决本地数据的存储问题,就解决了传输问题。

数据传输安全签名保证了数据的完整性和真实性,不能为篡改,加密传输保证了数据的机密性。现在我们数据传输的安全,我通过加密算法解决了,我们再看如何解决数据存储的安全,数据存储,解决由硬件和软件共同来决定,硬件决定了安全的上限,而软件决定安全的下限,这什么概念?我把东西要想藏在一个拉杆箱里,我无论做什么保护,保护的安全级别肯定不如我藏在一个保险柜里,因为这个拉杆箱,它的硬件决定了,他达不到保险柜的级别。你一个人再怎么训练,你跑不过博尔特,这是硬件来决定的。软件决定下线是什么意思?如果博尔特吃成一个200斤的胖子,我相信他跑百米的时候也会跑到20秒以上,他虽然有天赋,但是它的软件决定了他的下线,硬件决定上线了,这就决定了我移动支付,他的硬件的安全级别决定了移动支付,它能达到最高的级别,是多高?S E。通常要过人民银行和银联的芯片安全的认证,这是同级别的,他的认证难度,硬件上高于TEE。基于APP的应用软件,这是从硬件的角度来说,它能够达到的上限,是这样一个级别,这个具体的测试,因为时间关系我就不可能去讲了。

下面来看到软件,软件两方面的安全,一个是软件的运行环境,手机操作系统的安全性。一个就是软件本身的安全性。

操作系统的三方面,一个操作系统公开的漏洞。第二就是操作系统因为权限管理。第三是,输入法等等一些操作系统自带的应用。他也可能泄露敏感信息,操作系统的安全我们知道,各种漏洞,公开的漏洞,无论是安卓系统还是IOS系统频繁的出现,而且被利用的案例,也比较多,这我就不再做多解释,还有就是基于操作系统的应用权限管理,我们现在安装安卓系统安装一个软件,基本上都会提示我获取,多少的权限,而且你要如果不接受,软件你就别装了,基本上用户都是默认接受,但是每一个应用,用不到的权限都会去申请,这样的话它就有可能获取到其他应用或者操作系统内的敏感信息,这是应用权限决定,超出了自己的必须的一些权限会导致敏感信息的泄露,还有手机输入法,我们现在都有一些智能记忆功能,你经常输的密码,有时候你打一个开头,它就会弹出来数据让你直接选择,不用全部打,不用全部输入就出来了,这说明输入法记忆了,你常输的数据。另外还有基于云端的输入法,那就更夸张了,等于他把你的密码上封到了云服务器,这是它的安全性,另外还有一些,那个手机出厂之后自带的一些应用,自带的一些应用有可能会窃取一些数据,还有应用本身的漏洞,也会泄露数据,还有就是安卓系统可以通过逆向分析来获取数据,或者是找到数据的漏洞。

另外还有就是移动支付,现在短线还是一个移动支付重要的验证手段,短信信息的泄露验证码,临时秘钥的泄露这个也是移动支付安全隐患。

短信拦截。前面我们说了,各种应用程序都会申请读取短信的权限,那你收到一个移动支付的验证码的短信,很有可能被你手机上七八个应用都获取到了,如果他把获取到的数据发给攻击者,意味着你的那个短信验证码已经泄露了,甚至在一个短信拦截,可以把你的那个收到的短信验证码删除。只是攻击者自己用,你本人反而看不到这条短信都可以实现。

这是移动支付方面的安全性,另外移动支付,现在用的最多的是指纹识别,刷脸也有,指纹识别是不是就一定安全?也不完全是这样。因为指纹识别它的安全性基于两方面,一个就是我生物上是不是能模拟,你的指纹因为每个人都不同,但是他专门做出一个模仿的工具,像现在的考勤机,指纹套其实有一些事可以欺骗考勤机的,这是一方面。另外指纹采集到手机之后,它是一串数据,数据的存储和传输,也面临其他像你的密码你账户信息一样的安全的问题。我们看一个实际指纹攻击的例子,这个就是他用这种材料,验上指纹,然后用了另外一种材料,通过刚才做那个指纹模具做出指纹,他拿这个去刷,很简单就把一些手机的指纹给绕过了,也就是说实际上我们现实生活中,你拿一下杯子,你出去摸了,哪都有可能泄露你的指纹,它是有可能仿制,就是仿制模拟出类似的指纹,能够通过指纹的验证,指纹采集设备的验证。

另外,无论什么生物识别技术,采集到终端设备之后都是数据,一样面临着数据的安全。

我们最后再讲第三方面,如何提高安全性?我们主要,一个我们说了硬件决定了安全的上限,我们增加外部的安全部件,像我们增加一个,基于sim卡的安全芯片,基于SD卡的安全性变,还有手机CPU或者NFC模块上,集成安全芯片,都是我在增加了一个安全芯片的部件,还有外部的硬件的手机蓝牙,这也是一种方式,还有我们支付的时候,外界一个刷卡头和外加一个输密码的设备,这个都是通过Y加硬件来提高手机本身的安全性,对于软件三方面的保护要安全。一个就是技术方面的,软件要检查,我运行环境本身是不是中了木马,还有就是软件自身要做防篡改的自检,还有与后台进行双向认证,还有审计功能就是我重要的操作记录日志,方便追溯。

另外敏感信息加密传输,支付验证的时候,双因素验证,软件更新要验证真实性和完整性,防止假的软件安装在手机上。

管理方面的话,软件的开发过程要经过严格的管理,防止程序员抓住恶意的代码,或者说开发过程中出现软件上出现漏洞,另外软件的发布及验证,软件发布在权威的可信的安卓市场或者平台上,定期下载下来验证有没有被篡改,还有业务方面,交易限制如果完全性达不到的话,我限制他交易的类型或者交易的金额,比如说我们便利支付只限制300元以下,这个是通过业务方面的限制来保证,来降低持卡人的损失,这是软件这三方面的保护。

另外就是关于移动支付的检测认证,目前是人民银行和银联都有相关的检测认证,大家如果有这方面的服务,可以咨询我们。对于这方面的检测相当熟,这是我们的联系人和联系方式,我要讲的内容就这些,谢谢大家。


展开全文
相关阅读
资讯查询取消