移动支付安全技术对数字货币的借鉴

未央网 作者: 中国人民银行数字货币研究项目组

移动支付以其快捷便利的应用特点,迅速成为我国支付领域的重要组成部分。然而,移动支付面临的复杂支付环境,在客观上对移动支付的安全性提出了巨大挑战。通过梳理我国目前移动支付的几种技术路线,笔者拟从四个方面分析相关的安全防护技术,并提出央行数字货币采用移动支付安全关注要点,从而为法定数字货币发行流通提供参考。

移动支付的种类与技术路线

移动支付的种类可按支付场景、支付方式进行划分。按支付场景划分,主要包括远程支付和近场支付。按支付方式划分,主要包括联机支付和脱机支付。从移动支付的技术路线上看,远程支付主要采用手机APP作为支付工具实现联机支付。近场支付采用的技术路线并不统一,但大致可分为三类——基于单独支付硬件技术方案、标准近场通信(Near Field Communication,NFC)技术方案和条码支付方案。从本质上讲,基于单独支付硬件技术方案是传统智能卡支付方案的延续,标准NFC技术方案是基于智能卡和手机的支付方案,而条码支付方案的工作模式则类似于远程支付方式(见图1)。

移动支付安全技术对数字货币的借鉴

移动支付面临的主要安全问题

移动支付安全系统的设计和实施难度较高,主要体现在四个方面。一是移动支付场景和技术方案多样化。不同的场景和方案面临的安全需求和安全问题各不相同,导致移动支付的安全体系构建十分复杂,安全测评的难度也十分大。二是移动支付应用的安全性。由于智能手机的操作系统及其APP存在各种漏洞、病毒和木马问题,移动支付应用的安全性受到严峻挑战。三是移动支付多方身份的可认证性。移动支付交易根据不同的场景往往涉及个人、商户、第三方支付、银行等多个参与方,因此,必须有效解决交易各方的身份认证问题。而交易过程中的身份认证问题又可分为用户的身份认证和设备的身份认证。四是移动支付信息的机密性、完整性和不可否认性。商家和用户在公用网络上传送的敏感信息易被他人窃取、滥用和非法篡改,造成损失,所以必须实现信息传输的机密性和完整性,并确保交易的不可否认性。

移动支付的安全防护技术

远程支付技术方案的安全防护技术

远程支付中,终端APP多通过TLS/SSL协议完成用户和远程服务器间的网络安全连接,通过数字证书实现双端身份认证,并使用协商的对称会话密钥对后续传输的交易信息进行加密和完整性保护。

此类方案的核心安全问题在于私钥的存贮问题。目前大多数的方案中,私钥是以文件的形式保存在手机本地的,然而面对操作系统漏洞、木马等威胁,此类方式存在很大的安全隐患。为了解决这一问题,目前也出现了基于手机Key、安全元件(Secure Element,SE)以及可信执行环境的解决方案。未来,为移动终端提供更为便捷和安全可信的软硬件计算环境(或设备)将成为重要的发展方向。

基于单独支付硬件技术方案的安全防护技术

单独支付硬件(如IC卡)提供了一种基于芯片技术的支付安全解决方案,它借助于IC卡所提供的安全计算和安全存储能力,可构建高安全性的支付体系。在此类方案中,移动支付完全由支付硬件独立完成,其安全性不依赖于手机环境,而等同于金融IC卡。

在身份认证方面,用户身份认证多通过口令+签名的方式来完成。设备身份认证又可分为发卡行认证和卡片认证两种。IC卡对发卡行的认证采用基于对称密码算法的挑战响应协议来实现;终端对卡片的认证则通过IC卡使用卡内私钥对卡片数据和终端挑战值进行数字签名来实现。这一方法被称为动态数据认证。动态数据认证方法可有效地防止银行卡的复制伪造。

在信息机密性方面,终端和服务器通过派生出相同的过程密钥,对交互数据进行加密保护,如金融IC卡发卡行脚本的加密方法。

在实现信息完整性方面,主要有两种方法:一是数字签名技术,如金融IC卡中的静态数据认证方法即通过数字签名来保证卡片数据的完整性;二是消息认证码技术,如交易交互数据的保护多采用基于对称密码算法的消息认证码技术。

在交易不可否认性方面,数字签名技术可以提供有效保证。如金融IC卡的复合动态数据认证,使用卡片私钥完成对重要交易数据的签名认证。

标准NFC技术方案的安全防护技术

银联云闪付、Apple Pay和Samsung Pay都是典型的标准NFC技术方案(基于智能卡和手机的支付方案)。因此,手机中的安全元件与交易终端的交互安全问题同传统智能卡方案是基本一致的。而这一方案的最大不同在于它充分利用了智能手机的功能和交易特点来有效地提高用户支付的安全性和便捷性,这主要体现在如下四个方面。

一是支付标记化(Payment Tokenization) 技术。它通过支付标记(Token)代替银行卡卡号进行交易,同时确保该Token的应用被限定在特定的商户、渠道或设备,从而避免卡号信息泄露所带来的风险。

二是多因素身份认证。Apple Pay等充分利用了手机端的指纹识别功能,将生物特征识别引入了持卡人身份认证过程,并且基于可信执行环境技术,提供了生物特征信息手机端的安全存储和比对,以确保用户隐私。

三是可信执行环境技术。可信执行环境提供了良好的安全隔离机制。它独立运行于通用操作系统之外,并向其提供安全服务。ARM芯片中的Trust Zone和苹果手机中的Secure Enclave都是可信执行环境的典型代表。

四是基于纯软件的本地安全存储技术,在主机卡模拟(Host-based Card Emulation,HCE)方案中得到了应用。首先,HCE引入了限制密钥的概念,密钥使用次数和周期受限并定期更新,从而降低密钥存储的风险;其次,通过基于口令的密钥派生方法和白盒密码技术对敏感数据进行加密存储,以保障数据的机密性。

条码支付方案的风险及防范

条码支付方案从安全技术的角度看,尚存在较大的风险和隐患。

在身份认证方面,目前的条码支付多依赖于用户登录APP的用户名/口令。由于条码读取方和条码生成器之间为单向信息传输,因此不存在设备间的双向身份认证,难以避免设备伪造问题。

在信息机密性方面,条码支付存在交易介质可视化问题。在交易过程中二维码被公开呈现,这增加了敏感信息被非法截取及转发的风险。

在信息完整性方面,条码支付凭借二维码及商户提供的信息创建线上订单,并非传统方案中在线下建立订单后使用密码学机制进行完整性保护后上送,存在伪造线下交易场景、篡改订单的风险。

在交易不可否认性方面,条码支付无用户对交易信息的签名,无法保证交易的不可否认性。

基于条码本身的技术局限性,目前条码支付的安全方案主要是结合一些系统级的安全策略来降低风险,比如,每一个条码仅允许一次支付并且必须在一定的时间内有效,仅在一定的额度范围内允许无口令支付,和终端硬件进行一定的支付绑定等。

移动支付安全技术展望

移动支付天然具有的便利性,将使其成为未来的主流支付方式。央行发行数字货币也需要结合这一趋势,探索数字货币流通与移动支付的融合模式。然而,我们也必须意识到,目前移动互联网的安全问题层出不穷,客观上也对移动支付的安全产生了严重影响。因此,在未来法定数字货币的移动支付安全方面,必须建立涵盖底层硬件安全、终端应用安全、通信安全、场景安全和平台安全的保障体系,全方位、多层次、立体化地构筑金融安全防护网。

具体讲,主要应包括四个方面。第一,支付安全的问题应从交易过程的多环节、多视角考虑。单一环节的安全增强不能解决总体问题。同时,支付安全不仅是技术问题,也是安全管理、用户心理和使用习惯问题。第二,终端作为移动支付的重要载体,其安全性应被高度关注。基于安全芯片的支付必然具有更高的安全性,同时也需引入可信执行环境、APP应用安全、生物识别等新的安全机制来提高交易终端的安全性。第三,随着密码算法和密码货币技术的不断发展,我们应引入新的密码机制和协议设计方法,积极推进国产密码算法的应用,实现金融系统关键技术的自主可控。第四,支付技术和应用场景的深度融合,必然会带来支付生活全景大数据的显著增长。应充分认识到支付大数据所带来的风险和机遇,一方面通过采用如支付标记化技术来更好地保护用户隐私,另一方面也应充分利用后台大数据分析来更好地管控风险。