问题6:Apple Pay如何避免对支付交易回放攻击? Apple Pay避免支付交易回放攻击的方法是特定于交易的动态安全码(Dynamic Security Code)。所有自Secure Element中的支付applet发起的交易都包含一个附带有特定于交易的动态安全码的设备帐号(Device Account Number)信息。动态安全码是一次性的,并且使用Secure Element中的支付Applet在个人化时预置的密钥(该支付Applet和发卡行共享)以及其他信息进行计算所得,这些信息包括: -- 每次交易都会增加的单向计数器的值; -- 支付Applet产生的随机数; -- POS终端产生的随机数——NFC交易时适用; -- Apple Pay服务器产生的随机数——应用内交易时适用。 动态安全码在交易时被提供给支付网络(Payment Network)和发卡行,可用来对交易进行校验。根据交易类型的不同,动态安全码的长度是可变的。不过,虽然使用了动态安全码进行保护,Apple Pay在正式推出后的确发生了重复交易的问题,目前还不能判断是因为何种原因导致了重复交易的问题。 问题7:Apple Pay如何控制支付功能的激活? Secure Element只在收到来自Secure Enclave的授权信息后才会允许支付交易进行。Apple Pay的Secure Element内有一个特别设计的、专门用来管理Apple Pay的Applet,支付交易是否可以进行即是由该Applet进行控制。 当用户授权一个交易后,Secure Enclave签发一个有关认证方式和交易类型(非接触式交易或应用内交易)的数据,然后绑定授权随机数(AR,Authorization Random)给Secure Element。授权随机数AR是用户第一次部署信用卡的时候在Secure Enclave内部产生、并且使用Secure Enclave的加密和防回滚攻击(Anti-rollback)存储机制保存。当AR产生后,Secure Element利用同Secure Element之间共享的配对密钥将其安全的分发给Secure Element。授权随机数还有其他用处,一旦接收到新的AR值,Secure Element就将所有已添加的卡删除,这个机制可以用来擦除预置的卡信息。 问题8:Secure Enclave中运行何种操作系统? Apple Pay的Secure Enclave需要能处理Touch ID产生的指纹识别数据,安全存储敏感信息、还需要具备对称、非对称等密码学计算等能力,其功能已经比较复杂,我们都知道越精简的系统越容易保证其安全, 而越庞大的系统越不容易。Secure Enclave系统已经比较复杂,因此其上运行的操作系统是何种类型是我们要关注的。从Apple 的官方文档可知,Secure Enclave运行的是一个L4家族的微内核操作系统,当然Apple对其进行了一些定制。 L4微内核操作系统是一个操作系统家族,微内核操作系统是一种操作系统的设计风格,目的在于将操作系统内核尽可能的小,使系统架构简单,为了保证 系统资源的安全性,微内核操作系统特别强调对内核资源的访问控制,通过诸如能力集管理等机制,控制系统内所有资源的访问,因此很适合安全领域应用。 问题9:Secure Enclave中是否运行一个GP TEE? GlobalPlatform(简称GP) TEE(Trusted Execution Environment),是国际标准组织GP,在分析了移动安全需求场景以及现有硬件安全技术的基础上,制定的可信执行环境标准。TEE在移动设备的安 全执行环境(例如ARM TrustZone)中执行,是与设备上的Rich OS(例如Android等)隔离的运行环境,并且可以给Rich OS提供安全服务。GP TEE是一系列规范的总称,目前正式发布的主要有:Client API规范:用于Rich OS访问TEE、Internal Core规范:TEE的内部接口以及可信应用(Trusted Application)模型定义、可信用户界面规范(TUI,Trusted User Interface):用于安全的给用户呈现用户界面,防止钓鱼等形式的攻击。由于其符合市场需求,因此GP TEE是目前热门安全技术标准。 通过上述GP TEE的介绍可以看出,Secure Enclave所对外提供的功能同GP TEE很相似,但是目前没有任何信息表明Secure Element中运行的是GP TEE兼容的实现。不过,随着Apple作为GP组织的Full member加入到该组织中,以及要求Secure Enclave给iOS开放更多的安全功能的呼声越来越高,可以预想,Apple实现完整的GP TEE规范是指日可待的事情。 值得一提的是,GP TEE标准一经推出,就获得了国内相关金融安全组织和机构的重视。目前国内对该标准的研究已经经过多年的发展,对GP TEE不利于本地化和行业合作的缺点已经进行了充分的分析,并启动了国内标准(例如:中国银联的TEEI和N3TEE规范)的制定工作,目前相关标准已经 基本成熟,预计2015年就会面向全行业公布。 问题10:何为Apple Pay的有卡和无卡模式? 有卡模式(Card-present)和无卡模式(Card-not-present)是支付卡交易的两种模式,其中无卡模式是指在进行支付交易 时,持卡人没有或不能通过物理的方式出示卡片给商户,因而商户无法通过可视的方式检查持卡人的交易方式,一般来说通过电子邮件、电话、传真或互联 网等方式进行交易的场景就属于无卡模式。有卡模式与此相反,即持卡人必须物理的将卡片呈现给商户进行交易的方式。无卡模式由于持卡人不直接出现, 很容易通过卡片复制(特别是磁条卡)的方式进行欺诈交易,风险要高于有卡模式,因而两种的交易费率是不同的。 对于Apple Pay来说,通过NFC和POS之间非接通信通道进行的交易被视作有卡模式,而同Apple早前推出的iBeacon支付类似,Apple Pay的应用内支付被视作无卡模式。不过,就我们的分析而言,无论是Apple Pay的NFC非接触式交易还是应用内支付,交易都是从Secure Element中发起,且用户都需要使用Touch ID或密码的方式进行授权才能进行交易,而且,由于Apple使用的是EMVCo的令牌化方案,因此整个交易过程中都不会有真正的PAN(Primary Account Number)出现,因此将Apple Pay的应用内支付视为无卡模式是很难理解的,或许未来所有的Apple Pay交易都被视为有卡模式也是可能的。 问题11:Secure Element中的支付Applet是如何个人化的? 向Apple Pay中添加信用卡或借记卡的过程其实就是支付Applet个人化的过程,Apple Pay主要使用两个服务器端调用(同银行或卡发行商)来进行个人化的处理:卡片信息检查(Check Card)、连接&预置(Link and Provision)来验证、承认将要添加到Apple Pay的卡信息,并且预置卡信息到Apple Pay设备中。目前用户有两种实施该流程的方法:通过Passbook和通过iTunes。通过iTunes的方式因为有些支付卡或借记卡的信息输入和用 户身份校验可以自动进行,因此较为简单,不过,无论哪一种方式都涉及到卡片信息录入、用户身份校验、Apple Pay许可条款承认以及将卡片信息同Secure Element绑定的过程。 Apple Pay的核心组件Secure Element是GP卡规范兼容的Java卡,其中可包含多个对应不同发卡行或支付网络实体的安全域(Security Domain),这些安全域同对应的管理方共享用于验证管理方身份和安全通信的密钥。来自发卡行或支付网络的个人化数据,使用这些共享密钥进行加密,可以 安全的被分发到对应的安全域中,由此即可完成支付Applet的个人化过程,这和传统支付卡的个人化过程比较类似。 对于那些在Secure Element中还不存在的支付Applet是如何进行部署的,目前还没有较为详细的介绍资料,Apple官方文档中对其有过简单的描述,但是由于信息太 少目前还无法进行更进一步的分析,目前只能判断新安装的支付Applet是通过OTA方式部署的。 问题12:Apple Pay是否兼容EMVCo Tokenisation规范? 我们得承认,虽然几乎所有的国外或国内的分析文章都在有意无意的提到Apple Pay实现了EMVCo的规范,但是到目前为止,没有任何Apple或EMVCo的官方资料提到Apple Pay实现了EMVCo的Tokenisation规范,那么这种论断是否令人信服呢? EMVCo的Tokenisation规范是2014年3月推出的(该技术框架起初由Visa、MasterCard和AmEx推出,后考虑到行 业合作的问题遂移交给EMVCo负责),其特点是:以令牌(令牌的格式基本同现有PAN格式相同,可以在传递PAN的地方使用令牌)来替代 PAN、同现有支付行业的报文格式以及业务流程基本兼容、并引入了新的角色:令牌服务提供商(TSP,Token Service Provider)和令牌请求者(Token Requester),其中令牌请求者是那些发起请求将用户的PAN映射为令牌的实体,而TSP则是提供此项映射服务的实体。另外,在一些应用场景,例 如:通过NFC设备在POS上支付(类似于Apple Pay的非接触式支付),移动钱包/电子钱包的电子商务支付(类似于Apple Pay的应用内支付)两种场景,EMVCo的规范要求提供Token Cryptogram来保证交易的安全。不难看出,EMVCo的规范目的在于减少欺诈行为、以及降低新技术对现有支付行业生态圈的影响。 而添加卡到Apple Pay的过程非常类似于EMVCo的请求令牌的过程,此时Apple扮演了“令牌请求者”的角色(EMVCo的规范明确提到,使得移动支付可以进行的设备 制造商是令牌请求者的主要类别之一),银行或支付网络扮演了令牌服务提供商的角色。另外,为Apple Pay交易提供基础安全保障的动态安全码,同EMVCo规范的Token Cryptogram产生方法以及使用方式也是非常相似的。再联想到Visa和MasterCard在Apple Pay推出后纷纷公开自己的令牌化服务,我们有理由相信,Apple Pay实际上是实现了EMVCo的Tokenisation规范,只是什么时候会公布具体细节,目前还不得而知。 问题13:Apple如何利用Apple Pay盈利? 我们知道,传统的卡片支付采用的是6-3-1或7-2-1的分成模式,其中发卡行获得最多的份额,结算机构收取最小的份额,而收单行获取中间大小 的份额。Apple Pay为移动支付提供了一个新的通道,因此里所应当,Apple会从整个蛋糕中分得一小块。从目前公开的信息来看,Apple Pay分得的份额是来自发卡行的那块蛋糕,具体就是对于信用卡交易,Apple每次收取交易金额的0.15%,而对于借记卡交易,Apple收取固定收 益,即每次交易收取0.5美分。 可以看到,发卡方将自己的收益的小部分让给了Apple,不过没人愿意将自己的蛋糕轻易分给别人,有消息显示,令牌服务提供商 (TSP,Token Service Provider)发行令牌时,发卡行需要给Visa和MasterCard这样的TSP支付费用,例如:每发行一个令牌,MasterCard收取50 美分,而Visa收取7美分。最近有消息显示,Visa为了促进令牌交易模式的发展,已经准备免除发行令牌的费用了。 虽然看起来Apple Pay分得的份额很少,不过移动支付是非常庞大的市场,而且还在快速发展中。根据央行消息,2014年第三季度国内支付业务统计数据显示,第三季度移动支 付业务12.84亿笔,金额6.16万亿元,同比分别增长157.81%和112.70%,发展势头非常好。如果将Apple Pay的分成模式放在国内市场,可以看到整个智能设备行业将会因此额外获得巨额收益,这会极大的促进移动支付技术的发展。 问题14:Apple Pay是否足够安全? Apple Pay主要的支付流程处理是在Secure Element中进行,其安全程度基本等同于现有的基于芯片卡的支付,而用于激活Apple Pay交易的用户身份认证过程是在Secure Enclave中进行,一般来说,Secure Enclave虽然没有Secure Element安全,但是对于认证手机用户的身份来说已经足够了,毕竟传统的有卡交易也只是对持卡人进行简单认证(例如检查签名)。如果交易金额较 大,Apple Pay也需要用户在商户的专用设备输入PIN(Personal Identification Number)进行认证(这和传统芯片卡交易完全一致),显然,我们可以很容易得出结论:Apple Pay是非常安全的,否则也不会有这么多金融机构和支付机构为其摇旗呐喊了。 问题15:“Android Pay”是否可以做到同Apple Pay一样安全? 现在终于到了很多人都关心的问题了: “Android Pay”是否可以做到同Apple Pay一样安全?基于我们先前的分析,这个问题是不难回答的:在整个Apple Pay的支付过程中,主要的支付数据处理全部在Secure Element内进行,而激活支付流程的处理是在Secure Enclave中进行,iOS手机操作系统仅在某些数据传输过程中才参与其中,而且由于经由其传输的数据(指纹数据和认证结果数据)都经过加密,手机操作 系统对传输数据内容一无所知,因此,手机操作系统本身的安全性对整个Apple Pay的安全性很难构成威胁,无论对iOS系统还是Android系统,或是其他系统来说都是如此。因此我们可以得出结论:只要手机操作系统控制范围以外 的硬件和软件系统遵循必要的安全原则设计,“Android Pay”可以做到同Apple Pay一样安全。 |