“金融知识万里行”——移动支付的安全问题
随着智能手机的普及,手机已经成为 “人体”的一部分, 随之而来的是移动支付的广泛应用。 所谓移动支付,是指消费者使用移动电子设备通过移动运营商向约定银行提供的计算机网络系统发出支付指令,由银行通过计算机网络将货币支付给商业机构的一种消费支付方式。移动支付将智能终端设备、互联网、应用提供商和金融机构相融合,为用户提供货币支付、缴费等服务。
一
移动支付系统存在的安全问题
目前,移动支付已经非常普及,包括国外的PayPal、Venmo, 国内的支付宝、微信支付等。不论移动支付采用何种技术来实现,其安全性都是影响支付业务能否持续发展的关键因素。移动支付的安全性涉及用户信息的保密、用户资金和支付信息的安全等问题,其面临的安全风险主要来自于无线链路、服务网络和终端。移动支付可能存在的安全问题大致包括以下几个方面。
1
移动智能终端本身的安全问题。
一般来说,用户在使用手机进行支付时,由于手机本身未采用加密等安全措施进行保护,所以黑客们通过钓鱼网站或木马程序就可以窃取用户信息,对移动支付功能进行非法复制,造成用户重要信息的泄露。
在用户个人的重要信息无法得到安全保障的前提下,对参与移动支付交易各方的身份识别问题就更加凸显出来。用户的账户信息、身份信息甚至密码信息等均可能已经暴露在外,恶意分子可以冒用用户的信息和身份来实施消费或转账等操作。因此,移动支付须解决的一大问题就是商家、金融机构和消费者合法身份的确认问题。
手机丢失会给移动支付用户带来巨大的损失。广泛使用的智能手机难以避免的一个情况就是手机的丢失问题,由于使用了移动支付功能的手机通常已经是手机卡与银行卡、信用卡相关联,现在的支付方式越来越趋近于操作便捷,对应的安全措施略显薄弱,由此可能造成用户在丢失手机后自己的移动支付帐户被他人冒用的风险。
2
通信过程中的安全问题。
在移动支付的过程中,窃听是最简单的获取非加密网络信息的形式,尤其是对于无线网络而言,由于无线网络本身的开放性,以及短消息等数据一般都是明文传输等原因,恶意分子通过无线空中接口进行窃听便成为了可能。通过窃听有可能了解支付流程,获取用户的隐私信息,甚至破解支付协议中的秘密信息。
如果恶意分子截获了传输中的交易信息,并把交易信息多次传送给服务网络,则被多次重复传送的信息就有可能给支付方或接收方带来损失。如果恶意分子设法使用户和服务提供商之间的通信变成由攻击者转发,那么该中间人就可以完全控制移动支付的过程,并从中非法牟利。从另一个角度分析,由于存在中间人冒用用户信息进行交易的情况,移动支付还可能存在交易抵赖行为,用户可能对发出的支付行为进行否认,也可能对花费的费用和业务资料来源进行否认。随着移动支付开放程度的加强,来自服务提供商的抵赖的可能性也会有所增加。
通信过程中可能存在的另一个安全问题就是拒绝服务攻击。恶意分子可以通过破坏移动支付服务网络,使得系统丧失服务功能,影响移动支付的正常运行,阻止用户发起或接受相关的支付行为。
3
移动支付方案的设计缺陷。
近年来,社会上普遍发生的电信诈骗案件大多数都是围绕 “验证码” 这个关键词, 现行的很多移动支付手段都是通过用户的验证码来加强交易的安全强度,以及增加支付过程中口令的随机性和时效性。但是,验证码本身的安全性就存在隐患。支付系统在向用户发送交易验证码时大多以明文传输至用户手机,但由于存在上述讨论的通信过程中的安全问题,因此验证码易被窃取;由于验证码本身大多数情况是6位数字且有效期大多为1min,因此破解难度较小;此外,恶意分子还可以通过其他哄骗手段来获取用户的验证码信息。
弱口令问题是另一个制约移动支付安全的关键因素,由于银行卡的交易密码大部分都为简单的 6位数字,因此破解容易,网银或支付APP的交易密码虽然限制使用弱口令,但是其要求的密码强度基本上也是通过增加密码的位数和复杂度来实现的,在现阶段计算机的计算能力下,破解这类的交易密码并非难事。
随着智能手机的发展,大多数智能手机都已具备指纹识别功能,相应地移动支付应用 APP 也随之增加了指纹支付的功能。使用指纹这一生物特征作为交易口令在一定程度上提高了复杂度,但是指纹支付并不是绝对安全的,国外一些黑客组织试图破解指纹解锁,最终成功。具体的做法为:首先,获得一张足够清晰的指纹图片;然后,经过复杂的工艺,将指纹通过模仿人类皮肤的方法弄到一种材料上,就可以成功地解锁指纹密码。但是,这种方法的操作难度大且针对性强,因此,采用指纹技术进行移动支付还是相对安全的。
二
移动支付安全方法研究
移动支付安全的实现,也可以从智能终端、通信协议和安全支付机制等3个方面进行。
1
加强移动终端本身的安全性。
经过前面的安全分析可知,指纹支付是相对而言较安全的一种方法,如果用户使用的智能手机具有内置指纹传感器,同时支付应用又支持指纹验证的话,那么开启这项功能可以在一定程度上提高移动支付的安全性;如果不支持则需要设置锁屏密码。另外,就是注重手机的安全设置问题,用户通过设置手机的隐私及其相关访问功能的禁用或开启,保障应用程序访问权限的合理性。
移动支付存在的安全隐患可能来自于非官方验证的应用,这一问题对于使用安卓系统的智能手机的用户尤其突出。例如:用户从任意非官方应用商店下载安装的支付APP,都可能存在携带可盗取用户信息的恶意代码,用户使用这样未知安全性的应用程序就存在重要信息泄露的风险,进而增加移动支付的安全风险。
2
加强通信网络的信息安全。
如果用户在公共区域进行移动支付,则建议不要连接使用公共WiFi. 因为一些恶意分子往往喜欢潜伏于此,通过侵入并攻击安全性较低的公共无线网络来获取用户的信息。在这种情况下,即便用户的支付信息是加密的,也有可能被恶意分子破解,从而造成用户的支付账户、卡号和密码等重要信息被泄漏。
移动支付系统与用户之间的通信如果采用端到端的安全模式则可以大大地提高移动支付的安全性。 在移动用户终端与移动支付系统之间直接建立安全传输层协议 (TLS: Transport Layer Security)的安全连接,交易事务链的两端进行数据加密处理,中间环节不解密,全部传输过程为密文传送,即便传输的信息被恶意分子截获,其破解的难度和成本也会较高。
从移动支付系统安全的角度分析,为了保证移动支付的交易过程中数据在网络传输中的安全, 移动支付系统须建立完善的网络安全机制。例如:在网络边界部署防火墙、病毒防范系统和入侵检测系统等设备并配置相关的安全选项和规则等;系统的关键节点和链路采用双链路的方式,防止单点设备故障和链路故障,从而保证整个网络的畅通;系统硬件双备份,具有设置冗余和负载均衡机制,提高网络的可用性和可靠性;通过数据校验和保密等措施来保证数据传输过程和存储过程的安全;对接入到支付系统的各银行、移动通信网元等实体作网段隔离处理。
3
用户身份认证与支付确认的机制。
支付系统采用双重身份验证可以提高支付的安全性。除了使用用户名口令这种方式以外,增加使用生物特征、数字证书或其他有效的方式,可以增加冒用的难度。现阶段广泛使用的双因子认证的方法是验证码机制,由于验证码本身的简单性和易泄露等特点,用户需要提高信息安全防范意识,妥善保管收到的验证码信息。
基于公钥密码的数字签名技术需要CA证书权威向移动支付中心、商业机构、支付平台运营商和支付用户终端发放数字证书、CA证书权威作为验证数字证书的可信实体。通过使用数字签名,移动支付系统一方面可以实现身份验证,另一方面可以保证商业机构、支付平台运营商、支付用户和银行等对支付行为的不可否认性,避免各个实体拒绝承认交易而使运营商面临被欺骗的风险。