最近iphone 7的上市引起了媒体和大众的关注,关于苹果,不论你是否为“果粉”的一员,该公司有很多革新和尝试都在推动着整个行业的发展和人们生活习惯的改变。其中,苹果公司在2014年年底发布的Apple Pay就是众多尝试中的一个。Apple Pay作为NFC支付的其中一个代表,本文以Apple Pay为例,浅析一下基于信用卡的NFC支付安全性。
本文作为上篇,主要从Apple Pay的架构体系以及添加信用卡机制两方面进行分析。关于身份安全和支付行为安全则在下篇进行分析。
一、架构体系
为了实现交易的安全性,Apply Pay 不仅在平台上采用了可信 Boot Chain 架构,同时支持基于 NFC 的模拟卡支付模式和基于应用的线上支付模式。简而言之,就是将信用卡的安全芯片、NFC 控制器、Passbook、Touch ID 和 Apple Pay 服务器等技术关键点有机地整合起来。Apple Pay的体系简图如下图所示:
原理实际上并不复杂,关键是科学地整合,在这点上Apple Pay还是发挥了苹果公司的研发优势,总体来说运行起来十分流畅。在交易的私密性方面,iphone的安全芯片在其中也发挥了作用,一方面通过Apple Pay服务器进行统一管理应用程序,另一方面银行管理支付应用程序。两者的各司其职提升了这套支付体系的安全性。
在这个体系中,不难看出,支付服务器占据十分重要的地位,与很多支付系统(包括支付宝在内)更安全的是,Apply Pay服务器不存储用户的账户信息,通过手机固有的安全芯片存储与账户信息的终端账号进行配对,这个终端账号既是加密的,又与手机系统隔离。终端账号在支付中使用的信息,则由银行进行管理。
此外,Apple Pay服务器则实现了passbook中对信用卡状态以及终端账号的管理,同时也与银行的支付服务器通信完成验证。还有对交易凭证重新加密的功能。可见,安全性的设计上做得还是比较严密。
二、添加银行卡
添加银行卡也是安全方面的重要一环,关于Apple Pay的添加银行卡流程,见下图所示:
结合上图,当信用卡添加完成时,在安全芯片上会安装与发卡银行或支付网络对应的 Payment Applet。为保证安全性,支付服务器与 iPhone安全芯片之间需要建立安全通道。针对Apple Pay 目前主要承载在嵌入式安全芯片上。在安全芯片上安装 Pay-ment Applet (苹果公司安全芯片上安装的应用,由苹果公司设计管理),一般是采用授权模式。可见在第十步中,实际使用要由苹果公司与支付网络或发卡银行具体协商。而第十一步涉及到终端账户的生成与更新,以及在支付服务器侧与PAN 的映射,具体实施方法主要取决于信用卡发卡银行的标准。总之,终端账户在安全芯片中存储对安全性有十分关键的作用。
三、小结
本文主要从Apple Pay的架构体系以及添加信用卡机制两方面对NFC支付实际应用安全性进行了一定的分析。不难看出,该模式下的体系的严密性和安全性是其他在线支付形式不具备的,对于信用卡安全在这两方面具有一定的保障性。而关于身份安全和支付行为安全则在下一篇的文章中继续进行分析。