“移动支付”真的“安全”吗?

移动支付真的安全吗?

最近在悟空问答里经常被小伙伴们邀请回答"移动支付是否安全的问题"今天我以本篇文章内容详细解答一下,目前给大家带来方便的"移动支付"是否安全?

近年来兴起的移动支付, 是指用户通过使用各类移动终端, 在各种消费场景中对商品或者服务, 进行账户支付的过程。 通常情况下,移动终端可以通过运营商提供的 GPRS 移动数据网络、场所提供的 WiFi 网络、基于 NFC 的近场通信环境等,向收单机构(如银行、第三方支付公司等)发送支付请求,再通过传统支付网络和业务体系完成之后的结算,完成支付过程。移动支付的出现,极大的方便了人们的生活,加速了人们的消费节奏;手机变成钱包,想就买,变成了一种习惯。

那么目前移动支付到底安不安全?当然"世界上没有百分之百的安全,只有相对安全"。那么我们分析一下移动支付到底存在哪些安全隐患?目前移动支付的安全体系架构是如何实现的?"以及作为我们自己应该如何保护自己的"个人隐私"和"钱袋"不被窃取?

一、 移动支付存在哪些安全风险隐患?

1.1、普通手机本地存储内容没有加密

普通手机通常没有加密技术,手机里的信息都是明文存储,在支付过程中往往会容易造成信息泄露,这已成为移动支付发展的一大难题。用户在使用手机进行支付时,未进行加密等安全措施保护,而黑客们通过钓鱼网站或木马程序就可以窃取用户信息,将被移动支付功能进行非法复制,从而造成用户的损失。

1.2、手机进行支付易接入不安全网络

移动支付需要手机联网,如今很多场所都部署了免费网络,然而这些网络很容易被罪犯劫持并监控,通过分析软件窃取用户个人资料、银行账户、网络支付账户密码,实施资金的盗刷。

1.3、交易方的身份识别

手机支付须解决的一大问题就是对参与交易各方的身份识别,特别是商家和消费者合法身份的确认。由于移动支付将银行、商家紧密联系,涉及现金的往来,如何解决合法身份认证就显得尤为重要。

1.4、用户登录支付认证方式存在缺陷

目前,大部分金融支付机构均采取单一因素进行身份认证,无论是短信验证码认证、指纹认证、人脸识别等认证方式,都因为认证因素过于单一,而在安全性上得不到强有力的保障。

1.5、用户易被恶意软件蒙蔽,安装盗版软件

由于安卓平台的开放性,允许第三方应用加入,应用软件很容易被盗版。这些盗版软件中暗含信息窃取、流量消耗等恶意行为,用户下载并安装了这些恶意软件,很可能造成个人隐私泄露、资金损失。

1.6、手机丢失

由于手机的便捷携带,也使得手机在日常生活中会出现频繁丢失的情况,而移动支付通常是手机卡与银行卡、信用卡相关联,由此可能造成用户在丢失手机后自己的移动支付帐户被他人冒用的风险。

1.7、支付软件自身存在漏洞,易被攻击

移动应用在设计、开发、运行等过程中,由于开发人员技术水平参差不齐,很容易产生一些不可避免的漏洞,一旦被不法分子利用,就会导致手机软件崩溃或者盗取用户信息、账号密码,造成资金损失等安全事件。

1.8、简单移动支付流程

移动支付是由银行、商家、移动支付服务提供商、认证中心、用户等多元素组成,该系统还与移动网络运营商,移动网络内容服务商,信用卡服务等其他机构产生业务往来,这样一个庞大而复杂的移动支付产业链,其安全问题不仅只涉及其技术本身的安全防范,还会考虑到和其他系统之间的信息的安全传递。

二、目前移动支付的实现方式和安全体系架构?

1、移动支付的实现方式。

移动支付的实现方式主要有两种: ①通过移动互联网对业务后台账户进行访问和控制; ②通过近距离通信的无线技术将移动终端自带的账户授权和指令传递出去。

1.1 远程访问方式。

这是最常见的移动支付方式, 即通过移动终端的浏览器或 app,访问到远程线上的业务后台账户,对当前的线上或者线下消费利用账户进行在线支付。 用户在移动支付远程访问具体使用过程中,有着丰富的实现方法,如在形成交易订单后采用短信随机码查验和输入的方式作为最终的支付确认凭证,或者通过输入账号密码直接完成支付授权,或者通过输入银行卡的特征信息完成支付授权等等。

1.2 近距离通信方式。

在线下消费场景中, 目前最具应用前景和潜力的便是基于近距离通信的移动支付技术。

1.2.1 RF-SIM 卡技术。

RF-SIM,是射频用户识别模块的英文缩写,其自带的 SIM卡模块,可以有效实现短信电话通信这一类基础业务需求。 此外,由于其拥有 RFID 射频模块,还能够实施近距离的无线通信应用。 考虑到实际应用环境的有效性和安全性限制,支付场景的 RFID 最长采用 13.56MHz,有效通信距离在 10cm 以内。

此技术最大的优点是用户更换一张 SIM 卡便可使用移动支付功能,而缺点是银行普遍采用的 NFC 标准与当前运营商采用的 RF-SIM 技术存在一定的通信障碍。

1.2.2 双界面 SIM 卡技术。

此技术最大的特点是,通过给 SIM 卡增加一个天线组件,便可是 SIM 卡装载的手机具备近距离无线通信的移动支付能力。 最常见的方法是将 SIM 卡装入一个具备天线组件的卡套内, 再将卡套装入手机 (过程中可能需要对传统 SIM 进行裁剪)。 其缺点是 SIM 卡的天线会占用 OTA 接口,对电话语音通信信号产生影响,以及如果手机壳是金属材质,将会对天线信号产生干扰或屏蔽,造成移动支付过程的通信障碍。

1.2.3 NFC 技术。

此技术是通过 RFID 技术演化而来的,移动支付则是 NFC的一个最主要的功能。 基于 NFC 的移动支付可以让人们完全抛离银行卡刷卡消费行为,通过手机或 NFC 设备近距离完成支付过程. NFC 技术有主动模式、被动模式、双向模式三种工作模式, 目前的 Apple Pay 是世界范围内应用最广泛的 NFC移动支付业务方式。

2、移动支付安全体系架构分析与应用。

2.1移动支付的安全体系架构。

理论上,移动支付付的安全,可以包括实体安全、实体间互联交互的安全,以及为实现实体、实体间互联交互安全提供支撑的安全基础这三部分。

实体是指移动支付数据传输与处理网络中, 承担着各种业务处理功能的逻辑组成体,例如:金融 IC 智能卡、移动终端、数据传输与处理系统等。 而实体间互联交互,主要有:移动终端、金融 IC 智能卡、支付平台、TSM 平台、商户平台等实体之间的数据通信机制。 安全体系架构中的安全基础,是为移动支付业务的整体安全,提供理论与技术保障(如目前国际范围内的各种密钥算法体系、各种功能密钥的生命周期管控机制、数字证书加解密认证体系等)。 移动支付业务各实体之间的连接结构和逻辑拓扑如图 1 所示。

“移动支付”真的“安全”吗?

由以上移动支付业务实体连接的逻辑拓扑图, 我们可以将移动支付业务场景分为近场远程支付业务和、支付业务、可信服务管理(TSM)三大类。

远程支付业务:用户,即消费者,通过智能移动终端携带的浏览器或支付应用软件浏览和选定商品或服务后, 浏览器携带的支付插件或支付应用软件,调用金融 IC 智能卡与后台移动支付平台系统连接,并实施支付过程。

近场支付业务: 是由用户通过具备非接触式功能的手机与 POS 终端的读卡位置交互(如将手机的非接模块位置靠近或者贴近读卡位置等),并通过收单系统和清算组织的转接系统完成支付过程。

可信服务管理(TSM):该系统不直接提供移动支付的交易逻辑处理, 是向移动支付过程提供应用和介质的安全管理服务,它可归为移动支付业务的核心基础部分;通过手机等移动智能终端与 TSM 平台进行数据交互, 对移动支付智能 IC卡上诸多应用实施远程的即时管理, 其中包括: 生命周期管理、芯片个人化、嵌入式软件下载等。

安全实体主要包括了移动终端安全、 金融智能 IC 卡安全、信息处理系统安全、支付应用软件安全等。 针对这些实体,在移动支付业务过程中, 应当实现对使用者的身份信息进行认证识别和访问控制, 以及确保交易过程中传输数据的机密性、完整性和不可抵赖性。

实体间互联交互安全主要移动终端与移动支付平台之间的连接安全、移动终端与商户平台之间的连接安全、移动终端与 TSM 平台之间的连接安全、商户平台与支付平台之间的连接安全、TSM 平台与 TSM 平台之间的连接安全。 移动支付过程中应当确保实体间互联交互的传输安全, 传输数据应当选用诸如 TLS/SSL 等安全通道, 且过程中应当确保实现数字证书的双向认证。

安全基础则包括了密钥管理、认证体系、密码算法、安全基础设施、电子凭证等。

密钥管理是对移动支付业务过程中, 使用密钥整个生命周期的管理,包括密钥的生成、分发、存储、备份、使用、更新、销毁等,涉及对软硬件系统的安全功能要求、机构实体的管理职责要求、以及贯穿整体过程的流程控制要求。

认证体系包括手机银行电子认证服务和移动支付双因素认证体系。 在认证体系中,涉及数据传输和身份鉴别的数字证书管理、数据存储安全、数字证书的调用接口等,均为手机银行安全的重要组成。

密码算法,包括各类国际通用密码算法(包括对称密钥、非对称密钥、摘要算法等)在移动支付业务过程中的应用和我国自主研发的国密算法的配用。 例如,针对移动支付业务的安全需求,采用对称密钥体系分别设计了智能 IC 卡类和传输类的密钥部署方案,采用非对称密钥设计了客户端、移动支付智能 IC 卡、支付处理平台、商户平台、支付内容提供方系统等实体间身份认证方案。

安全基础设施主要指 PKI 公钥基础设施的安全, 包括不同实体(如智能卡、TSM、支付应用软件、商户平台、移动支付平台等)间的认证过程要求,认证中心(CA)证书的申请、传递、验证、废止的全流程安全管理要求.

电子凭证是用于证明用户消费的依据, 常见于通过移动支付交易产生的用户退款, 此刻需要用户提供支付时产生的电子凭证作为消费记录依据。

2.2 移动支付的安全技术。

2.2.1 Hash 函数。

Hash 函 数 ,即摘要函数 ,是将任意长度的输入字符串转化成为固定长度的字符串,也称为杂凑函数或散列函数。 若将Hash 函 数表示为 H,要进行变换的数字串表示为 M,则 摘要值为 S=H (M)。 这主要依赖于 Hash 函数是一个多对一的函数,可将不定长度的输出数据处理后形成一个固定长度(通常很短)的摘要输出,其重要作用就是能校验输入数据是否发生变化,用于确保传输消息的完整性。

2.2.2 身份认证技术。

身份认证的主要用途是确保消息拥有真是可靠的来源,通常在移动支付业务安全策略中, 平台系统通过身份认证技术,对当前用户的身份真实性进行识别。 身份认证系统,通常有三个主要过程:第一步是被验证者出示有效身份凭证(如账号和密码、U 盾中的数据证书等); 第二步是系统确定被验证者的身份真实性;第三步是如果验证未通过,则拒绝访问资源。

2.2.3 公共基础设施。

公钥基础设施(PKI Public Key Infrastructure)是一种以公钥加密理论及相关技术为基础的, 向用户提供信息安全服务的基础设施。 因此,通过该定义可见,PKI 的主要用途是管理数据通信过程中使用的密钥和证书, 确保数据通信网络处在安全可靠的通信环境中。 所以,它从技术实践方面,有效解决了移动支付交易过程中身份验证和访问权限等问题, 为该过程提供了安全可靠的应用环境。 通过第三方证书认证中心(CA 中心),PKI 技术将用户的公钥和其他的标识信息关联起来,对网络数据通信传统提供安全环境。 终端实体通常是支付端的使用者,也可能是通过身份验证的实体。 CA 认证中心的主要工作是生成和发放数字证书, 同时对所生成和发放的证书进行管理;RA 注册机构负责信息录用、审核,以及数字证书的发放、管理等;证书存储库则是用于提供数字证书的部分使用方法,大多数情况下是数字证书的存取和吊销列表方法。

2.2.4 数字签名。

数字签名是在待传输的数据中, 附加一些特定的验证元素,或对待发送的信息进行一定程度的密码变换。 消息或数据的接收者, 则通过这些元素或数据来确认收到消息或数据的安全性和完整性。 通常仲裁机构,将在发生纠纷时,依靠消息或数据中的数字签名,来确认出消息货数据的真实性。 因此,数字签名拥有不可抵赖的特性, 也可以保证交易过程的完整性,即确保交易过程中的数据不被篡改。

2.2.5 密码技术。

密码技术主要研究信息加解密,以及如何实现密码破译。

通常密码系统包含以下五个部分:明文空间 M、密文空间 C、密钥空间 K、加密算法 E 以及解密算法 D. 而密码技术主要有非对称密码和对称密码这两种类型。 对于非对称密码,加密和解密使用的是相同算法,差异在使用的密钥不同,由于私钥是不能公开的, 因此只获得密文的情况下, 是无法破解密文的。 同时,获得密码算法以及密钥和密文中的其中一个,是无法确定或计算出另一个密钥的。 而对称密码的密钥是要严格保密的,因此只获得密文的时,无法确定或计算出密钥,也就无法获得明文原文。

2.2.6 指纹支付技术。

常见的用于移动支付的生物识别技术是指纹支付技术,如支付宝、微信支付、京东支付都已采用基于 FIDO 协议的指纹支付方式。 该技术基于手机自带的指纹识别模块,对用户的指纹信息进行采集和加密存储, 在手机应用请求验证使用者身份时,启动指纹验证程序,让此刻的手机持有者按指纹进行识别, 通过后则向手机应用返回此刻的使用者是账户持有者本人,从而使得应用后台完成支付的后续环节。

三、移动支付中的"黑色产业链"

“移动支付”真的“安全”吗?

黑色产业链示意图

前不久特别流行一个名叫"微信支付大盗"的手机支付木马,该木马高度模仿真正的"微信",诱骗用户激活设备管理器,通过钓鱼方式获取用户输入的手机号、身份证号、银行账号等信息。同时该木马还会在后台截获用户的银行验证短信,并把这些信息发送到黑客指定的邮箱。

值得特别关注的是该木马使用了"梆梆加固"的保护来逃避逆向分析和安全厂商病毒检测。实验室近期发现了多款病毒均使用第三方加固厂商提供的加壳服务,这已慢慢变成一种趋势。加固服务提供商需要加强对待加固应用的安全审计,以免被恶意开发者利用。

病毒分析:

“移动支付”真的“安全”吗?

“移动支付”真的“安全”吗?

山寨版本 正版

通过对比我们可以发现,山寨微信和正版微信高度相似, 一般用户根本无法区分。仔细观察我们发现山寨微信无法识别用户输入的银行卡号所属银行,而正版能识别出研究员输入的银行卡号为招商银行储蓄卡。

2、代码脱壳对比:

“移动支付”真的“安全”吗?

加固过的病毒代码

“移动支付”真的“安全”吗?

脱壳后的病毒代码

病毒加壳后关键代码全部被隐藏起来,给安全研究人员带来了很大的分析难度。同时给病毒检测也带来了一定的难度。

3、木马流程分析:

“移动支付”真的“安全”吗?

病毒组建功能及交互图

“移动支付”真的“安全”吗?

获取用户储蓄卡或信用卡信息

“移动支付”真的“安全”吗?

拦截用户短信

4、山寨支付黑色产业链追踪:

研究员在截获的病毒样本中发现了黑客用于发送用户银行信息的邮箱及密码。

“移动支付”真的“安全”吗?

登录邮箱后发现了大量已经被发送的用户银行卡信息、以及被拦截的短信。

“移动支付”真的“安全”吗?

拦截的短信包括了用户的银行及支付验证信息

“移动支付”真的“安全”吗?

根据邮箱中的接收邮件的地址,研究员进行了进一步调查。发现木马作者克隆官方的手机网银客户端和支付工具,建立木马交流群,对木马进行免杀改造,把木马出售给包马人牟利。而这些包马人通过论坛等渠道进行传播,获取用户银行信息后,又有专业的黑客清洗拦截资料,转移用户资金。这已经形成了一条完整的黑色产业链。

四、我们应该如何保护自己手机的"个人隐私"和"钱袋"不被窃取?

1.手机默认不开wifi,只使用家里和办公场所自建的wifi,iPhone 开启询问是否加入网络,手机不存放个人信息如身份证、银行卡号、某些密码以及一些敏感照片:);

2.不使用任何非自己的充电设备给自己手机充电,非个人充电宝使用需谨慎;Freebuf;

3.身份证不和银行卡、手机放一起,市内通勤不带身份证,很多app找回密码功能需要验证身份证 + 手机验证码;

4.用于办理各种证件的身份证复印件请写上"仅用于xxx用途,他用无效,日期签名",防止被用于恶意开户,有些机构公司验证并不严格,不是真人到场也可以开各种账户;

5.多个iOS设备不要用一个Apple ID 帐号;

6.手机收到的任何验证码都不要转发出去,注意手机收到的莫名业务开通信息。

7.看见400打头的电话一般都是诈骗,因为这种电话一般只用于呼入;

8.快捷支付只绑定钱财比较少的卡,需要时再转账充值;

9.安卓手机不要乱root,不要下载乱七八糟的应用;手机设置里,关闭USB调试模式,增加通过电脑解锁的难度;

10.收到各种电信电话信息以及社交网络信息,要求借钱或者转账之类,一定要电话确认是本人,才采取进一步行动。

11.信用卡不建议设置(交易)密码,国内政策是设置了(交易)密码,自己负责信用卡丢失、盗刷风险,设置个短信通知提醒,每一笔钱划走都会发短信;可以将背面的三位cvv码划掉或者胶布遮住,避免泄露导致被盗刷,特别是境外网站只需要帐号、身份证号、cvv码、过期时间就能刷信用卡。

12.尽量不要刷储蓄卡,避免卡被复制,特别是一些小商店,要刷pos机尽量用信用卡

13.更有安全需要的人,可以把移动支付绑定的手机号设置为另一台设备;

14.多个站点密码不要雷同,不要设置弱密码,推荐使用 keePass 生成并保存复杂密码;


分享到:


相關文章: