李晓枫:对Apple Pay安全机制分析后的政策启示
在移动支付领域,关于安全性与易用性的孰重孰轻的讨论从未停止,安全性与易用性是否是“鱼和熊掌不可兼得”呢?
Apple Pay自2014年10月20日正式登陆美国市场,上线仅3天信用卡激活量就突破100万。Apple Pay在设计上兼顾了易用性、安全性和私密性,突出体现了苹果最擅长的软硬件整合能力,这不仅在于苹果将NFC支付技术、指纹识别Touch ID及Passbook虚拟卡集合功能整合在一起,其设计思想更是贯穿于整个软硬件平台的设计中。
一、Apple Pay的体系架构
为了实现交易的安全性,Apply Pay不仅在平台上采用了可信Boot chain架构,确保正确的固件和软件加载在经过验证的硬件上,并继承了符合金融行业标准认证体系的安全芯片架构。同时支持基于NFC的模拟卡支付模式和基于应用的线上支付模式。关于Boot chain架构,不作展开。本文重点讨论Apple Pay的用户验证和交易流程,挖掘安全性与易用性设计相结合的设计理念。
首先,在对现有支付体系的生态环境尊重与兼容的前提下,苹果公司不失时机地将安全芯片、NFC控制器、Passbook、Touch ID和Apple Pay服务器等技术关键点整合进来(如图1所示)。
为提升用户体验,Apple Pay有效整合了Touch ID与安全芯片技术,可使用指纹对交易进行授权。同时,用户可以在设置助理的引导下设置并加载银行账号到Passbook,实现付款操作。 Passbook中的敏感数据(如用户输入的信用卡号等)会通过Secure Enclave加密发送到服务器端进行验证,用户还可以通过Passbook的客户端实现管理银行卡的相关记录、通过Apple Pay实现收款和付款操作,以及查看银行卡信息、有关发卡银行信息(如隐私政策等)、近期交易。
为实现交易的私密性,在iPhone的安全芯片中承载了两类Java卡应用程序。一类是Apple Pay应用程序,主要由Apple Pay服务器来管理。另一类是支付应用程序,由银行或支付网络公司管理。两类应用各司其职,从技术层面上看,两类应用分别属于两个不同的安全域,符合 Global Platform安全芯片技术规范。
Apple Pay服务器在Apple Pay的安全体系架构中占有重要位置,与目前一些支付系统不同的是,Apple Pay服务器不直接存储用户的银行账号和交易信息,取而代之的是在iPhone安全芯片上存储与用户银行账号相对应的终端账号(DAN)。DAN是加密的,与IOS隔离,Apple Pay服务器不可以访问DAN。实际上,DAN是支付中使用的Token数据,完全由支付网络运营商或银行管理。
Apple Pay服务器主要功能如下:与安全芯片加密通信,实现对Passbook中银行卡的状态管理和对终端账号的管理;与银行或支付网络的支付服务器通信,完成对银行卡的验证;对基于应用的线上交易支付凭证重新加密。
二、在Apple Pay中添加银行卡
当用户添加信用卡和借记卡时,Apple Pay Passbook将用户输入的相关信息加密,并经由Apple Pay服务器发送给支付服务器,支付服务器在收到用户账户信息、移动终端信息和用户同意添加银行卡的协议后,首先执行账户信息验证,然后决定是否批准将该银行卡绑定到Apple Pay。通信内容经SSI协议加密。
在Apple Pay中添加银行卡的简要流程解析如图2所示,当信用卡和借记卡添加完成时,在安全芯片上会安装与发卡银行或支付网络(Apple Pay已支持Visa、Master—card)对应的Payment Applet。为保证安全性,支付服务器与iPhone安全芯片之间需要建立安全通道,对Payment Applet进行个人化。针对Apple Pay目前主要承载在嵌入式安全芯片上,分析表明,苹果公司应当持有安全芯片的主密钥。因此,在安全芯片上安装Payment Applet可能有多种实现模式,例如可能采用代理模式或授权模式等,因此在图2中第10步,实际使用的模式要由苹果公司与支付网络或发卡银行具体协商。图2中第11步涉及到DAN的生成与更新,以及在支付服务器侧与PAN的映射,具体实施方法可能有多种,取决于银行的策略。DAN在安全芯片中存储对 Apple Pay意义深远。
安全芯片上的Payment Applet个人化完成后,Apple Day的终端应用会下载该银行卡或银行账号对应的Pass file,其中包含指向银行卡的相关应用及状态的链接。
图2举例说明在Apple Pay中添加银行卡的流程解析时,Touch ID等应用承载在Secure Enclave中。有关Secure Enclave的具体说明详见文章最后的名词解释,而Secure Enclave与安全芯片之间的具体交互是保证系统安全性的重要体现,后续章节会详细介绍。
三、Apple Pay的用户身份验证
Apple Pay支持通过Touch ID或通过输入密码完成用户身份验证。用户须设定一个解锁密码作为在指纹识别器失效时的后备措施。只有在接收到正确的身份验证信息后,安全芯片才会启动相应的支付操作。
值得一提的是,在iPhone 6上,无论是基于Touch ID还是基于密码的用户身份验证都是在与应用处理器相隔离Secure Enclave中执行的。事实上,苹果公司从iPhone 5s开始使用ARM公司的A7架构的处理器,除了A7架构在性能上比A6架构快两倍以外,更重要的是A7架构处理器支持TrustZone技术。 TrustZone技术通过其内部总线的精巧设计使在同一颗ARM处理器上分隔出两个隔离的软件和硬件资源区。根据Global Platform TEE体系架构的定义,ARM公司的Trust Zone技术是TEE技术的一种实现方式。
在iPhone 6设计中,安全处理单元与安全芯片通过串口加密通信,加密通信所使用的密钥对由Secure Enclave生成(关联安全处理单元UID和安全芯片的标识),并通过iCloud的加密机在工厂预置在安全芯片中。
当用户身份验证成功,Secure Enclave对交易数据用预置密钥签名,并附加AR(Authentication Random)然后发送到安全芯片,安全芯片可使用上述预置密钥对相关交易数据进行解密,由此实现安全芯片与Secure Enclave之间的安全数据交换。
四、Apple Pay的NFC支付过程
当iPhone 6处于上电状态靠近读卡器并被读卡器检测到时,Apple Pay会被NFC控制器启动,向用户呈现预先设定的借记卡或信用卡信息。经用户选择确认后,再通过身份验证(使用Touch ID或Passcode),NFC控制器会启动安全芯片通道,用户再次刷读卡器启动Payment Applet。向商户传递交易信息、终端信息和动态安全码。当然,用户也可以首先主动使用Touch ID或Passcode验证身份,使iPhone处于“已通过验证”的状态,然后刷一次读卡器完成支付。
苹果公司的公开文献表明,其会收集匿名的交易信息(如交易时间、地点)用于完善Apple Pay系统。大数据应用的可持续发展之路应在用户隐私得到充分尊重的前提下实现,Apple Pay的做法值得借鉴。
五、Apple Pay的线上支付过程
Apple Pay支持通过iOS应用支付,当iOS应用请求支付时首先调用PassKit API检查当前用户终端设备是否支持Apple Pay,以及是否绑定有效的银行卡。当用户提供足够的信息后,Apple Pay要求用户进行身份验证。Touch ID是缺省的验证方法,密码验证作为备选。
如图3所示,身份验证成功后,iOS应用会向Apple Pay服务器发出请求,以获取一个随机数。随机数和交易数据会被发送到安全芯片,在安全芯片加密后与DAN和动态交易安全码数据一起发送到Apple Pay服务器,Apple Pay服务器解密交易信息,再使用商户的密码重新加密,经iOS应用发送到商户。
六、对中国移动支付产业政策的启迪
Apple Pay基于安全芯片的软硬件相结合的有卡支付模式,是实现易用性、安全性与私密性统一的有效途径,Google公司三年前创新的Google wallet也是有卡支付的模式。我国金融移动支付实施的是有卡支付技术路线,也是兼顾到安全性与易用性的统一。
1.产业链整合者
苹果公司为Apple Pay的实现做了充分准备,申请了多项专利,收购了一些关键技术厂商,并与芯片商高度合作,集成TrustZcne技术,与商业银行和卡组织合作创新了商业模式。这些产业生态链上的紧密合作是Apple Pay能够提出兼具安全性、易用性和私密性解决方案的前提。
可喜的是,在可信执行环境(TEE)技术和指纹识别技术方面,目前国内厂家的研发技术实力也在不断增强,应用开发趋于活跃。2014年6月起,中国移动和中国银联先后在国际标准组织Global Platform终端技术委员会和MTF(Mobile Task Force)中提交了TEE技术的相关提案。中国移动研究院正在负责基于UICC配置TEE的技术白皮书。2014年8月,握奇与中国银联联合发布了 WatchTrust。以华为海思为代表的终端和芯片厂家在终端处理器可信执行环境的技术研发中崭露头角。2014年9月支付宝在指纹应用技术上开始与硅谷NokNokLabs(NNL)合作。在FIDO标准制定和实施中,中国公司(如联想公司)表现活跃,在可穿戴设备技术方面国内企业也开始起步。但我国移动支付产业链仍然缺乏有力的整合者,建议在国家政策引导下,加快组建移动支付产业联盟,以安全性、易用性整合者为使命,汇聚产业实力,构建出健康的产业生态链,引导创新商业模式,加强国际合作,做到与发达国家同水准要求发展我国的移动支付产业。
2. 关注支付网络Tokenization技术
美国的银行卡EMV进展较为迟缓。而Apple Pay采用安全芯片与支付服务器相结合的支付网络Tokenization技术的应用,是创新领先一步的体现。
在美国市场上,由于磁条卡还占相当比例,当用户添加磁条卡到Apple Pay中时,其PAN会被映射成DAN(DAN是一种Token数据,存储在安全芯片中,并用于在线和离线交易中),从而增强了对磁条卡的数据保护。
在交易处理过程中,加密的Token数据在应用、交易网关、商户及清算处理实体间交换,对个人隐私数据保护起到积极的作用。
在支付网络Tokenization体系下,交易处理流程被进一步简化。尤其是在EMVco标准体系下,加密的Token数据可穿透互联网连结点实体传递,理论上可以简化用户登录不同商户的流程,通过使用存储在安全芯片中的Token数据完成交易。
支付网络Tokenization技术对交易数据处理提出了新的要求,同时在设计上尽量做到现有受理终端可以支持基于Token的交易。
3. 关于使用Tokenization数据保护隐私数据
Tokenization在互联网上的实施,能为保护身份证号、护照号、银行卡号、历史交易等个人隐私数据提供较好的保障,使用户在使用基于互联网的支付业务时,不必输入各项敏感度极高的隐私数据,取而代之的是通过使用存储于安全芯片的Token数据进行支付。
为了有利于互联网上更好地保护个人隐私数据,我国现在应着手考虑建设金融行业移动支付Tokenization业务服务中心的计划与方案。该中心服务于商业银行、商户、银行卡组织或通信运营商及手机厂商,是独立、可信的第三方中介服务商。此举措有利于实现“线上线下、安全传输”的Token业务服务,杜绝客户敏感信息泄露、网络交易中间遭截持的安全事件发生。
4.关于Apple Pay准入政策
有关研究与发达国家应用实践表明,Apple Pay在支付易用性、安全性与私密性方面的设计提升了用户体验,当然其实际应用还有待进一步检验。我们应对Apple Pay准入持欢迎态度,并根据中国政策法规实施有效监管。
依据我国个人隐私数据保护的要求,在涉及用户银行账号、交易等敏感信息方面,Apple Pay所使用的Tokenization业务服务中心是关键,应落地在我国境内。须有监管授权以便于信息安全监管。与此同时,虽然Apple Pay采用匿名收集交易信息,但其储存的交易数据涉及民生的各个方面,因此,Apple Pay架构下的服务器也要设在我国境内,以便于在我国法律框架下实施监管。作者简介:金融信息化研究所所长 李晓枫 金融信息化研究所 汪东艳