凭借其快速便捷的应用特性,移动支付已迅速成为中国支付领域的重要组成部分。然而,移动支付面临的复杂支付环境客观上对移动支付的安全性构成了巨大的挑战。笔者通过梳理我国移动支付的几条技术路线,从四个方面分析相关安全防护技术,并提出央行数字货币使用移动支付的安全要点,以期为合法数字货币的发行和流通提供参考。
移动支付的类型和技术路线
移动支付的类型可以根据支付场景和支付方式进行划分。根据支付场景,主要包括远程支付和近场支付。按支付方式分,主要包括线上支付和线下支付。从移动支付的技术路线来看,远程支付主要使用移动APP作为支付工具,实现在线支付。近场支付采用的技术路线并不统一,但大致可以分为三大类——基于个体支付硬件技术方案、标准近场通信(Near,NFC)技术方案和条码支付方案。从本质上讲,基于单独支付的硬件技术方案是传统智能卡支付方案的延续,标准的NFC技术方案是基于智能卡和手机支付方案,条码支付方案的工作方式与远程支付方式类似(见图1)。
移动支付面临的主要安全问题
移动支付安全系统的设计和实施难度较大,主要体现在四个方面。首先,移动支付场景和技术解决方案多样化。不同的场景和解决方案面临不同的安全需求和安全问题,导致移动支付的安全系统构建非常复杂,安全评估难度很大。第二个是移动支付应用程序的安全性。由于智能手机及其应用程序操作系统中存在各种漏洞、病毒和木马,移动支付应用程序的安全性受到严重挑战。三是移动支付中多方身份的真实性。移动支付交易根据不同的场景,往往涉及个人、商户、第三方支付、银行等多方,因此必须有效解决交易各方的身份验证。交易过程中的身份认证问题可以分为用户的身份认证和设备的身份认证。第四,移动支付信息的保密性、完整性和不可否认性。商家和用户在公网上传输的敏感信息很容易被他人窃取、误用和非法篡改,造成损失,因此需要实现信息传输的保密性和完整性,确保交易的不可抵赖性。
移动支付的安全技术
远程支付技术解决方案的安全保护技术
在远程支付中,终端APP大多通过TLS/SSL协议完成用户与远程服务器之间的网络安全连接,通过数字证书实现双端身份认证,并使用协商好的对称会话密钥对后续传输的交易信息进行加密和保护。
此类解决方案的核心安全问题是私钥的存储。目前,在大多数解决方案中,私钥都以文件的形式存储在本地手机上,但面对操作系统漏洞、木马等威胁,这种方式存在很大的安全隐患。为了解决这个问题,还可以使用基于移动密钥、安全元件 (SE) 和可信执行环境的解决方案。未来,为移动终端提供更便捷、安全可信的软硬件计算环境(或设备)将成为重要的发展方向。
基于个性化支付硬件技术方案的安全防护技术
独立的支付硬件(如IC卡)提供基于芯片技术的支付安全解决方案,可以借助IC卡提供的安全计算和安全存储能力,构建高安全性的支付系统。在这类方案中,移动支付完全由支付硬件独立完成,其安全性不依赖于手机环境,而是等同于金融IC卡。
在身份认证方面,用户身份认证大多通过密码 + 签名完成。设备身份认证可以分为两种类型:发卡机构认证和发卡认证。IC 卡通过基于对称加密算法的质询响应协议向发卡行进行身份验证。终端对卡的认证是通过IC卡使用卡中的私钥对卡数据和终端质询值进行数字签名来实现的。此方法称为动态数据身份验证。动态数据认证方式可以有效防止银行卡的复制和伪造。
在信息保密性方面,终端和服务器通过派生相同的进程密钥来加密和保护交互数据,例如金融 IC 卡发卡脚本的加密方法。
在实现信息完整性方面,主要有两种方法:一种是数字签名技术,比如金融IC卡中的静态数据认证方法,即通过数字签名来保证卡数据的完整性;二是消息鉴权码技术,比如基于对称密码算法的消息鉴权码技术,用于保护交易交互数据。
在交易的不可否认性方面,数字签名技术可以提供有效的保障。例如,金融 IC 卡的复合动态数据认证使用卡的私钥完成重要交易数据的签名认证。
标准 NFC 技术解决方案的安全保护技术
银联闪付、Pay 和 Pay 是典型的标准 NFC 技术解决方案(基于智能卡和移动电话的支付解决方案)。因此,手机和交易终端中的安全元件的交互安全性与传统的智能卡方案基本相同。该方案最大的区别在于,它充分利用了智能手机的功能和交易特性,有效地提高了用户支付的安全性和便利性,主要体现在以下四个方面。
一种是支付标记化 ( ) 技术。它使用支付令牌()来替换银行卡号进行交易,同时保证应用仅限于特定的商户、渠道或设备,从而避免卡号信息泄露的风险。
第二种是多因素身份验证。Pay 等充分利用手机的指纹识别功能,将生物识别引入持卡人身份验证过程,并基于可信执行环境技术在手机上提供生物识别信息的安全存储和比对,以确保用户隐私。
三是可信执行环境技术。可信执行环境提供了良好的安全隔离机制。它独立于通用操作系统运行,并为其提供安全服务。ARM 芯片和 中的 Zone 都是可信执行环境的典型示例。
第四,基于纯软件的本地安全存储技术已应用于 Host-Card (HCE) 方案。首先,HCE 引入了限制 key 的概念,限制 key 使用的数量和周期,并定期更新,以降低 key 存储的风险。其次,通过基于密码的密钥派生方法和白盒密码技术对敏感数据进行加密和存储,以确保数据的机密性。
条码支付解决方案的风险和预防
从安全技术的角度来看,条码支付方案仍然存在很大的风险和隐患。
在身份验证方面,目前的条码支付主要依靠用户的用户名/密码登录 APP。由于条码阅读器和条码生成器是单向信息传输,因此设备之间没有双向身份认证,很难避免设备伪造的问题。
在信息保密性方面,条码支付存在交易媒介可视化的问题。二维码在交易过程中是公开展示的,这增加了敏感信息被非法拦截和转发的风险。
在信息完整性方面,条码支付基于二维码和商家提供的信息创建线上订单,而不是传统方案中采用密码机制保护完整性,线下建立订单后发货,存在伪造线下交易场景和篡改订单的风险。
在交易不可抵赖性方面,条形码支付在交易信息上没有用户的签名,无法保证交易的不可抵赖性。
基于条码本身的技术限制,目前条码支付的安全方案主要是结合一些系统级的安全策略来降低风险,例如每个条码只允许一次支付且必须在一定时间内有效,只允许在一定金额内支付而无需密码, 和终端硬件,用于某些支付绑定。
移动支付安全技术的观点
移动支付的天然便利性将成为未来的主流支付方式。央行发行数字货币也需要结合这一趋势,探索数字货币流通与移动支付的融合模式。但是,我们也必须意识到,当前移动互联网的安全问题层出不穷,客观上也对移动支付的安全性产生了严重影响。因此,在未来法制数字货币的移动支付安全方面,需要建立涵盖底层硬件安全、终端应用安全、通信安全、场景安全和平台安全的保障体系,全方位、多层次、立体地构建金融安全防护网络。
具体来说,它应该主要包括四个方面。首先,在交易过程中,应从多个环节和多个角度考虑支付安全问题。单个链路中的安全增强功能无法解决整体问题。同时,支付安全不仅仅是一个技术问题,更是一个安全管理、用户心理和使用习惯。其次,作为移动支付的重要载体,终端的安全性应引起高度关注。基于安全芯片的支付必须具有更高的安全性,需要引入可信执行环境、APP 应用安全、生物识别等新的安全机制,以提高交易终端的安全性。第三,随着密码算法和加密货币技术的不断发展,引入新的密码机制和协议设计方法,积极推动国产密码算法的应用,实现金融系统关键技术的自主可控。第四,支付技术与应用场景的深度融合,必然会带来支付生活全景的大幅提升。我们应该充分理解支付大数据带来的风险和机遇,一方面要通过采用支付分币化等技术更好地保护用户隐私,另一方面要充分利用后端大数据分析,更好地管控风险。