Apple Pay发展与安全

这个是无线网络安全最后留的一份作业了。去知网弄了点论文,又百度了点资料,总结出来的一份文档。

年初,也就是二月份刚上线的时候,苹果支付那叫一个火啊,现在也不怎么听人说了。但是三星和华为还有小米最近倒是都在弄自己的pay,希望以后能选择的越来越多也同时希望越来越安全吧。

再分享一个Apple Pay的笑话,今天我去楼下便利店买东西,问店员能不能使用Apple Pay。店员说,啥?你说啥?可能店员听不懂英语,那就问,能不能苹果支付。店员说,苹果支付你个大西瓜,我还拿猕猴桃支付呢。

以下是正文

一、       概述

1.      移动支付背景

随着手机日益成为人们日常生活中必备的一种随身工具,电信运营商以及手机厂商开始思考,手机是否能够更多地实现日常生活服务。如手机将取代现代信用卡,积分卡,优惠券。帮助人们完成交通购票,支付账单,积分购物等。还可以实现下载音乐,电子门锁,精准推荐等等功能,这些都蕴含的巨大的价值,因为能够让人们变得更方便的产品一定会成功。

现在,近场支付技术(NFC)的诞生,让上述功能的实现,变成了可能。随着消费者移动支付需求增长的刺激,以及移动互联网的兴起和电子商务的快速发展,移动支付行业得到了快速的发展。

据Gartner公司的最新数据显示,从2009~2012年,全球移动支付业务用户年复合增长率达到44.75%,预计到2015年,全球移动支付用户将达到3.84亿。移动支付不受空间和时间的限制,能够为消费者提供差异化、个性化和多样化的服务,消费者通过移动支付业务,能够快速有效地完成支付、缴费等金融服务,极大地方便人们的生活。

2.         移动支付概述

移动支付是指用户为了某种物品或服务,通过移动终端设备实现的在线交易。用户使用移动终端设备完成商品或服务的支付业务,不受时间和空间等限制,极大地方便了人们的工作和生活。移动支付按照支付距离可以分为:近距离支付和远距离支付。其中,近距离支付一般采用RFID(无线射频技术)、NFC(近距离通信)、SIM Pass等技术实现,远距离支付主要有短信支付、WAP支付等、二维码扫描等等。

3.         面临的风险

随着移动电子业务的发展,移动支付面临来自互联网和移动通信系统的各种安全性攻击产生的风险。这些风险主要包括主动攻击和被动攻击。其中,主动攻击利用对数据进行篡改、伪造、拒绝服务等方式,试图对整个移动支付系统的运行加以干扰,以此达到对移动支付系统的破坏或其他目的;被动攻击是指攻击者以非法身份监听或监测通信网络中的信息,它对系统资源利用不产生干扰,而是通过试图对移动通信系统中传输的信息进行窃听。

由于移动支付是基于无线通信的开放性传输,在给人们的生活带来方便和快捷的同时,其安全性也受到越来越多的关注。为了使移动支付能够安进行,移动支付系统必须满足的安全要求有:

(1)信息的有效性。移动支付以无线通信为载体,在移动支付过程中,电子信息取代了纸质信息,这就需要保证电子形式信息的有效性。因此,需要预防在发生网络故障、系统软件错误、操作错误等情况下交易数据的有效性

(2)信息的机密性。用户在进行交易的过程中,保证其信息不被非授权的人或实体非法窃取,并确保只有合法的用户才能进行看到用户数据。

(3)数据的完整性。防止买卖双方和支付平台之间传送的机密信息和数据在传输过程中遭到恶意篡改、插入等形式的破坏。

(4)信息的不可否认性。主要用于防止发送方或接收方对所传送的信息抵赖。在信息发布、支付合同签署、支付谈判等关键交易步骤时,接收方或发送方有一方予以否认,就可以用另一方已签名的记录作为依据。

二、       NFC支付与安全

1.      NFC简介

NFC(Near FieldCommunication,近场通信技术)是一种短距离非接触式的通信方式, 它结合了非接触式感应以及无线连接技术,作用于13.56MHz 频带,传输距离大约 10cm。 传输速度目前为 106kbit / s、212kbit / s 或者 424kbit / s,将来可提高至 1Mb/s 左右。

其建立主要是由索尼和诺基亚创建了一个非营利性的行业协会 NFC 论坛,NFC 论坛旨在促进NFC 技术的实施和标准化,确保设备和服务之间协同合作。目前,NFC论坛在全球拥有 80 多个成员,包括万事达国际、VISA、微软、摩托罗拉、NEC、松下电工、三星、德州仪器等。

主要有三种实现模式:

(1)卡模式:在此模式下,NFC设备处于被动模式。相当于采用RFID技术的IC卡,可以替代公交卡、门禁卡等。该工作模式的优点是,NFC设备通过非接触读卡器的RF域供电,所以即使NFC设备在没电的状态下仍然能够工作。用于非接触移动支付,如商场、交通等应用中,用户只需将手机靠近读卡器,输入密码确认交易或者直接接收交易即可。例如门禁管制、车票、门票等。

   (2)点对点模式:此模式下,可用于数据交换,两个相距很近的NFC设备可以快速建立连接,并实现点对点通信,如发送图片、同步设备文件等,具有传输速度快、功耗低等优点。

   (3)读写器模式:在此模式下,NFC设备处于主动模式。NFC设备必须在有电的时候才能够工作。作为非接触读卡器使用,比如从海报或者展览信息电子标签上读取相关信息。

2.      NFC支付的实现模式

    采用第三方支付服务提供商是NFC手机实现移动支付的主要形式,其体系结构可以用图1描述。整个系统的核心是NFC手机及第三方支付平台。其中,NFC手机是存放与用户相关的支付凭证、安全密钥、支付应用程序和提供非接触通信接口;移动支付服务器为第三方支付服务的提供商,主要为用户发放支付凭证、管理用户账户金额、为商家提供支付接口和数字证书等。根据用户NFC手机的具体业务场景,移动支付可以分为在线与离线2种方式。接下来要讨论的ApplePay使用的是离线模式,所以这里我们先讨论在线模式。


图2给出了具有NFC功能手机的具体构成,其中SE ( secure element)为安全单元,是负责为NFC手机提供各种加密、签字等功能的安全模块,手机基带处理器与外界交互的接口为USM无线通信链路,而NFC芯片通过射频天线按照ISO/IEC 18092协议所定义的接口与外界NFC设备进行通信。


NFC在线移动支付流程描述如下:

1)商家NFC POS机器读取客户所选商品信息,生成商品订单,并将订单信息通过NFC链路传递给用户手机;

2) NFC手机验证商家的证书,并核对订单信息;

3)订单确认之后,手机用户需输入PIN码,验证通过后,向移动支付平台提交支付请求;

4)移动支付平台验证用户信息,根据其账户金额余额确认支付请求的有效性;

5)移动支付平台将支付请求传给商家;

6)商家确认交易有效,交易完成。

为了更详细地分析NFC手机完成一次移动支付交易的具体过程,需对NFC手机支付系统的支付交易构建数据流图。首先,明确移动支付业务所有参与方,主要包括:NFC手机用户、商家前端NFCPOS机、商家后台服务器、第三方支付平台、移动运营商。然后,按照交易流程,分析NFL手机支付交易的数据流图如图3所示。


3. NFC支付的威胁

    安全问题对于移动电子商务、尤其是移动支付至关重要,决定着移动环境下电子商务的进一步发展前景。从产生以来互联网支付一直面临着用户与业界的安全信任危机,这种情况在中国更为明显。而从实际情况看无论是无线传输中的网络数据安全、移动支付流程的安全、还是移动设备终端的物理安全问题都有待进一步加强。

   NFC面临的安全威胁分析:

   1. RF'射频通信链路窃听

   1S0/IEC 18092所定义NFC标准规定了数据链路是无线(wireless)的。众所周知开放环境下的无线数据传输有可能被窃听。受窃听威胁的数据包括用户1D、交易订单信息等非常敏感的内容,如果遭受攻击将导致用户私密信息、交易订单信息的泄漏和被滥用。

   2.  SE安全单元被损坏

    作为整个支付系统安全性的核心,NFC手机中的安全单元受损将使得整个移动支付流程无法正常进行。损坏既可能由硬件故障导致也可能由于受到恶意攻击导致。该问题的后果是安全模块的加密处理、数字签名等功能无法正常启用,进而证书的验证、用户数字签名和数据的加解密将会失败。

   3.  SE安全模块中机密隐私数据被篡改

攻击者可能破坏SE模块中数据的完整性,例如更新(update)、插入(insert) SE模块中的安全密钥、交易数据等信息;在己被认证过的会话中向SE模块添加一些恶意来源方的根证书。该问题将导致SE模块安全功能失效以及在用户不知情的情况下产生错误的信任关系。

   4.  SE安全模块被整体替换

恶意攻击者对具有NFC支付功能的手机安全模块进行整体的替换。这种情形在使用外部SE模块的NFC解决方案中更容易发生。一旦攻击达成,SE模块安全功能都能够正常使用,但其部分关键机密数据己被替换。其后果是导致身份伪造等未经授权的恶意攻击行为。

   5.  SE安全模块的访问控制被旁路

    攻击者可以通过技术手段获取用户SE模块中关键参数,以及通过密码截获/窥探(网络嗅探)等方法获得用户的个人识别码,进而得到SE模块的所有安全访问权限。其后果是身份被假冒,NFC支付未经授权被使用。

   6.恶意篡改交易订单

    攻击者通过在移动系统APP中嵌入木马提供下载从而使移动终端被恶意软件感染,这样攻击者将有机会修改用户订单、破坏数据的完整性、或者将以往订单重发进行重放攻击,导致用户经济损失。

   7.假冒交易方进行伪造交易

    攻击者假冒参与交易的另一方身份,伪造虚假订单欺骗用户进行交易,导致用户经济损失。

   8.中间人攻击

攻击者劫持网络环境下商家与用户之间的交易会话,并进一步获取用户的支付,导致用户经济利益受损。

4. 安全方面的建议

   NFC手机移动支付的安全问题的演变可以分为两个方面:技术手段和应用管理。技术解决方法着重从信息系统的技术环节入手,通过类似加密,访问控制,身份鉴别等一系列成熟的技术方法消除安全威胁;而应用管理则关注NFC移动终端用户在无线支付过程中应该注意的与人员、管理相关的事项。

    (一)技术方法

   1.安全模块中的安全性保障机制

   (1)采用访问控制机制(accesscontrol mechanism),如个人识别码的错误尝试次数、数字认证的生命周期管理;(2)相关密钥的备份/恢复机制,避免丢失密钥或密钥失效后加密数据无法被正常处理;(3)严禁机密数据以明文形式被存储和传输;(4)所有交易记录都必须附加时间戳以避免数据重放攻击;(5)系统硬件需进行完整性检测以避免运行时故障;(6)严禁下载没进行签名、无法验证来源方的软件并运行。

   2.基带处理器的安全机制

   (1)建立身份登记制度,确保手机应用的真实性、完整性;(2)防止个人识别码在输入时被截获;(3)严格划分不同的安全域;(4)与安全模块的相互认证。

   3.  NFC芯片的安全机制

    用户必须能够对NFC模块功能自主开关,以防止NFC芯片的内容被随意读取。

    (二)安全应用管理

   1.通过宣传、培训培养用户的安全使用意识

    新的技术需要新的宣传和培训。尤其是安全问题更应该受到高度重视。相应的宣传和培训应该包括以正确的使用NFC智能手机;能够识别潜在威胁并应对;掌握预防自己NFC手机失窃及损坏的正确方法;正确使用PIN码(不要读入内存等)以及手机密码的正确设置(大小写字符、数字等)。

   2.操作系统及应用的安全防护

   (1)各种不同类型的智能手机操作系统的相关安全功能及应用软件的安全使用模式;(2)在移动端操作系统安装防病毒和恶意软件工具和防火墙,对智能手机安全软件检测的威胁应给予充分重视。

三、       Apple Pay支付与安全

1.      ApplePay简介

2014年9月9日,苹果公司在加州库比蒂诺德安萨学院的弗林特艺术中心正式发布新一代产品iPhone 6/6Plus,最引人注目的是苹果公司在发布会上提出了新的支付方式Apple Payo Apple Pay由NFC近场通信技术、TouchID指纹识别、安全控件以及Passbook(电子券管理工具)组成,使用时只须手指按在home键的指纹识别上,手机靠近支付POS终端,即可完成支付。ApplePay目前已与美国运通、万事达以及Visa合作,支持包括赛百味、麦当劳等22000家商店进行支付。于2014年10月20日在美国正式上线。

Apple Pay 自上线来,已经占据数字支付市场交易额的 1%。三分之二的Apple Pay 新用户在 11 月份多次使用这项服务。Apple Pay 用户平均每周使用Apple Pay 1.4 次。

2016年2月18日凌晨5:00, Apple Pay 业务在中国上线。

2.     Apple Pay支付原理

支付标记化技术是由国际芯片卡标准化组织EMVCo于2014年正式发布的一项最新技术,原理在于通过支付标记(Token)代替银行卡号进行交易验证,从而避免卡号信息泄露带来的风险。支付标记化使用唯一数值替代传统的银行卡主账号,同时确保该值的应用被限定在特定的商户、渠道或设备上。支付标记可以运用在银行卡交易的各个环节,与现有基于银行卡号的交易一样,可以跨行使用,具有通用性。简单地说,支付标记就是银行卡卡号的别名,这个别名可以在一个开放的支付环境中使用,代理机构和银行间的网络是安全和可信的,使用时由银行信任的代理机构与银行间进行银行卡卡号和别名的交互,来完成支付操作。


图4 传统信用卡支付与Apple Pay


图5 信用卡与Apple Pay的线下支付流程

传统的支付方式中参与方包括:顾客—刷卡方;商户—提供商品,接收刷卡方式;支付通道—POS终端及通讯网络;收单方—一般为卡组织,如Visa ,Master等,在国内主要是银联或第三方支付公司;发卡行—信用卡发行银行。

在 Apple Pay 的支付流程中,iPhone 的安全模块中并不存储用户的卡号(PAN)及其余支付信息,取而代之的是苹果公司称之为 DAN(设备帐号 / DeviceAccount Number)的支付 Token。用户输入卡号、姓名、有效期与验证码,银行验证信息之后向手机下发 DAN。

DAN 存放于手机上的安全芯片(Security Element)内,仅本机可读,苹果公司不会将 DAN 上传/备份至服务器,甚至苹果公司在云端都无法访问到 DAN。

在这个过程中,Tokenization 为用户的信用卡新增了一个与卡片唯一关联的设备帐号,而且这个设备帐号仅在这台设备上可用。在用户关联了卡之后,可以通过 DAN 与 Touch ID/锁屏密码来完成支付交易的确认。为了保护用户支付信息的安全,在用户验证Touch ID/输入支付密码之前,所有的支付要素都不会被发送到收款终端上。

为了保护用户的设备帐户安全,如果用户关闭锁屏密码/注销帐户/擦除设备上的内容,这台设备中绑定的所有卡片都会被自动删除。而在你挂失这台设备的时候,苹果也会主动联系卡组织注销设备中的卡片,这样即使手机被破解,卡片也无法使用。

Apple Pay本质上还是一种联机刷卡的解决方案,没有改变传统的支付模式,虽然支付过程参与方增加,但增加的参与方仍是之前的各方,所做的改变是增加了安全保障和提升了用户体验,利益方并没有大的改变,对于使用者来说,这种改变是安全和高科技带来的便捷。

3.      ApplePay安全

使用 Apple Pay,首先要绑定信用卡,在iPhone输入信用卡信息,ApplePay把信用卡信息发送到卡组织处验证,卡组织验证通过后,会为这张信用卡生成一个Token,并将Token发送到Apple Pay,Apple Pay再把这个加密的Token发送到iPhone。 iPhone上不直接存储信用卡信息,而是将Token存放在iPhone中的独立安全芯片中(SE芯片),用它代替信用卡的卡号,可以理解为Token和信用卡的卡号等价,但即使Token泄漏,也无法逆向还原出信用卡信息。这个Token的存储和管理也不容小看,它是由苹果公司早在2012年推出的一个电子票证、登机牌、积分、优惠券等的管理工具PassBook来管理的。Token的格式其实是一个16位字符串,它与传统POS机协议里的格式是兼容的,这意味着Apple Pay兼容整个传统信用卡支付网络。无论是刷信用卡,还是用Apple Pay,在整个传统支付体系中都是透明的。在使用时,还有关键一环“TouchID",只有指纹认证通过的时候,iPhone才允许利用NFC读取Token出来。

       手机内部的核心部件有以下几部分:

  • Secure Element:简称 SE,就是我们常说的安全元件,是防物理攻击的电子元件,其内部包含微处理器、存储以及加解密硬件等,可独立使用(例如:芯片卡)或嵌入到其他设备中(例如:Apple Pay 和 Google Wallet)提供高安全服务。一般来说,SE 是普通人所能接触到的最高安全保证级别的硬件 / 软件设备了,Apple Pay 使用的即是 eSE 这种形式,具体来说就是 Apple Pay 使用的是经过工业标准认证的、运行 Java 卡平台(JCP,Java Card Platform)的、兼容金融行业电子交易要求的安全元件。SE 是 Apple Pay 安全保障的核心,本质上来说,所有和 Apple Pay 相关的支付处理和安全保障都是由 SE 负责的,其他组件只是起到辅助作用。
  • NFC controller:NFC 控制器,在 Apple Pay 的场景中,NFC 控制器相当于一个路由器,它同三个不同外部实体连接:外部近场设备(例如:销售终端 POS,Point-Of-Sale)、应用处理器(AP,Application Processor)以及 Secure Element,进而形成两个通信通道:应用处理器到 Secure Element 的通信通道,以及 POS 到 Secure Element 之间的通信通道。
  • Passbook:Passbook 是在 Apple Pay 产品推出之前就已经存在的服务,Apple Pay 推出之后,Apple 对其功能进行了扩充,使得其可以为 Apple Pay 添加和管理信用卡以及借记卡,当然还可以查看已添加的卡的信息、银行的隐私策略以及最近交易明细等等。对 Apple Pay 来说,Passbook 相当于 Secure Element 的管理客户端,Secure Element 中添加和删除信用卡或借记卡信息都可以经由 Passbook 服务进行。
  • Touch ID:也就是 iPhone 的指纹识别服务,其目的在于利用指纹识别使得访问设备更安全、更快速和更容易。Touch ID 不是对设备安全密码的替换,而是让用户可以使用复杂的设备密码,同时不损失便利性。换句话说,用户可以使用复杂的密码来保护设备,同时还可以使用 Touch ID 来方便的访问设备。
  • Secure Enclave:Secure Enclave 是 iOS 设备内部的安全执行环境,可以用来进行一些敏感信息的处理,例如:Touch ID 的指纹成像传感器获取的数据需要传递到 Secure Enclave 来进行实际的指纹识别过程。对于 Apple Pay 来说,Secure Element 负责管理认证过程和使得支付交易可以进行。
  • Apple Pay Servers:Apple Pay 服务器,其用来管理 Passbook 中的信用卡和借记卡的状态,以及存储在 Secure Element 中特定于设备的账户信息。Apple Pay 服务器同时同设备以及支付网络(Payment Network)中的服务器进行通信,对于应用内支付来说,Apple Pay 服务器还负责使用特定于商户的密钥,对 Apple Pay 产生的支付凭据(Payment Credentials)进行加密,然后将其发送到实际的商户服务器进行支付处理。

Secure Enclave 和 Touch ID 之间的通信安全

       TouchID 成像阵列获取的指纹数据需要交由 Secure Enclave 进行实际的匹配处理,而在 Apple Pay 的实现中,Touch ID 传感器通过串行外设接口总线(Serial Peripheral Interface Bus)同应用处理器进行连接,然后再连接到 Secure Enclave,换句话说,指纹传感器获取的指纹成像数据需要经由应用处理器中转,这就带来了安全隐患:恶意程序可以截获 Touch ID 传感器产生的数据。Apple Pay 通过简单的方式实现了指纹数据的安全传输,首先 Touch ID 传感器和 Secure Enclave 会预置一个共享密钥,然后利用该共享密钥协商一个会话密钥,再用协商获得的会话密钥使用 AES-CCM 算法对传输的数据进行加密,这样可以确保应用处理器无法读取指纹数据,保证了整个指纹识别过程的安全。

Secure Enclave 和 Secure Element 之间的通信安全

       前面介绍 NFC 控制器的时候已经提到,Secure Enclave 和 Secure Element 之间的物理通信通道需要经过 NFC 控制器中转,而两者之间是没有直接的物理连接的,具体就是 SecureElement 同 NFC 控制器连接,然后 NFC 控制器同应用处理器连接,而没有提到 NFC 控制器如何同 Secure Enclave 连接(Apple 的官方文档如此说,这里可以看出 Secure Enclave 很有可能不是一个独立的协处理器),那么既然 Secure Element和 SecureEnclave 之间需要经由应用处理器中转,那么也就必须要考虑到通信安全问题。

实现方式同 Touch ID 和 Secure Enclave 通信的过程类似,也是通过共享配对密钥的方式来对通信内容加密,不过因为涉及到了 Secure Element,所以共享配对密钥的预置比较复杂一些,具体就是:共享配对密钥是在生产阶段预置的,而且该密钥由 Secure Enclave 利用自己的 UID 密钥和 SecureElement 的唯一标识作为输入产生,然后在工厂内安全的传输到外部硬件安全模块(HSM,HardwareSecurity Module),再注入到 SecureElement 中。实际使用过程中,SecureElement 和 SecureEnclave 之间的通信使用基于 AES 的密码学算法进行加密,而且还使用了密码学机制防止重放攻击(replayattacks)。

Apple Pay 如何避免对支付交易回放攻击

Apple Pay 避免支付交易回放攻击的方法是特定于交易的动态安全码(Dynamic Security Code)。所有自 Secure Element 中的支付 applet 发起的交易都包含一个附带有特定于交易的动态安全码的设备帐号(Device Account Number)信息。动态安全码是一次性的,并且使用 Secure Element 中的支付 Applet 在个人化时预置的密钥(该支付 Applet 和发卡行共享)以及其他信息进行计算所得,这些信息包括:

-- 每次交易都会增加的单向计数器的值;

-- 支付 Applet 产生的随机数;

-- POS 终端产生的随机数——NFC 交易时适用;

-- Apple Pay 服务器产生的随机数——应用内交易时适用。

动态安全码在交易时被提供给支付网络(Payment Network)和发卡行,可用来对交易进行校验。根据交易类型的不同,动态安全码的长度是可变的。

四、       总结

苹果放弃了自己研发的iBeacon技术转而使用了NFC,通过闭环的生态链来保证安全,将以往NFC支付技术中难以控制的风险问题进行了有效的处理。从目前来看,苹果支付的安全性是相对较高的,所使用的芯片和相关技术都是自己设计制造研究的,可控性更高,安全性更强。但是未来也将面临着其他风险,例如身份验证中touchID的破解,第三方应用的威胁,已经最脆弱的线下商家将要面临的攻击都是具有极大的危害性的。但是移动支付的便捷和安全是我们始终要追求的,我们要做的还很多。


参考文献

1.   贾凡. NFC手机支付系统的安全威胁建模[J]. 清华大学学报(自然科学版), 2012, 52(10): 1460-1464

2.   王学刚. NFC移动支付及其安全管理[J]. 中国管理信息化, 2012, 15(21): 79-80

3.   郭先会. 基于NFC的移动支付安全解决方案研究与应用[J]. 数据通信, 2014, 5(5): 15-18

4.   陈瑞. 基于NFC移动支付的安全问题研究[J]. 商, 2015, 1(14):206-207

5.   张慧琳. 浅析基于支付标记化技术的移动支付安全方案[J]. 信息安全与技术, 2015, 1(7): 3-5

6.    Freebuf. Apple Pay终于来了,支付安全性呢?.

http://bobao.360.cn/news/detail/2748.html. 2016-02-18 19:27:54

7.    Fenggou.Apple Pay 来了,但是它安全么?

http://daily.zhihu.com/story/7893647.2016-02



猜你喜欢

转载自blog.csdn.net/sinat_18497785/article/details/51233503