随着移动通信技术和物联网技术的发展,人们的日常消费方式逐步从银行卡、信用卡和实体公交卡转变为智能手机的移动支付,该方式十分便捷且适合在购物、乘车等不同场景的不同支付方式下应用。
多数用户在搭乘公交、地铁时开始采用刷手机APP二维码的方式进站乘车,但是苹果手机用户在使用公交车刷卡机或者地铁闸机扫码时经常会弹出Apple Pay支付界面,并存在以下疑问:(1)在使用苹果手机其他APP二维码时会触发Apple Pay支付的原因是什么;(2)哪些设备会触发Apple Pay操作,并导致支付界面弹出;(3)如果被别有用心的人利用了,用户的电子支付账户是否安全;(4)其他具有NFC功能的电子产品,在上述场景下是否也会被自动激活,是否会出现支付安全问题。上述是苹果手机用户质疑较多的问题,其中用户最关心的是个人隐私与财产安全问题以及公众的基本权益能否得到保障。
1、Apple Pay(苹果支付)射频技术
Apple Pay(苹果支付)是移动通信技术、物联网技术、移动支付技术以及智能手机应用等共同发展的产物,是苹果公司发布的一种基于近场通信(NFC)技术的手机支付功能。Apple Pay业务于2016年2月在中国上线,支持该功能的手机包括iPhone 6和iPhone 6 Plus系列以上型号的手机。该服务采用近场通信(NFC)技术,用户可用苹果手机进行非接触支付,免去刷卡支付的操作流程,使用前需要在苹果系统自带的Wallet程序里添加本人的的信用卡、借记卡信息,支付时不需要将手机接入互联网。
使用Apple Pay进行线下应用时也不需要点击进入APP,甚至无须唤醒显示屏,只要将苹果手机的NFC天线靠近有银联闪付标志的POS机,并将手指放在手机的HOME键上验证指纹即可进行支付,整个过程方便快捷并且所有的支付信息都是经过加密处理的。线上应用时可以在手机处于黑屏锁定状态时,轻点两下HOME键进入Wallet进行快速购买,如交易终端显示需要输入密码,输入银联卡密码就可以完成Apple Pay线上支付。
近场通信(Near Field Communication,NFC)作为物联网应用中物-物相连的常见、通用和关键的技术之一,是由诺基亚(Nokia)、飞利浦(Philips)和索尼(Sony)在2003年共同制定的一种通信标准,是在ISO 18092、ECMA 340和ETSI TS 102 190框架下推动标准化,同时也兼容应用广泛的ISO 14443、ISO 15693以及Felica标准下非接触式智能卡的基础架构。近场通信技术是一种短距高频的无线电技术,以13.56 MHz频率在10 cm距离内进行通信,其传输速度有106 Kb/s、212 Kb/s或者424 Kb/s三种可选。
手机的NFC功能在单一芯片上结合了感应式读卡器模式、感应式卡片模式和点对点的通信模式,能在10 cm距离内与兼容设备进行识别和数据交换。Apple Pay的NFC支付模式工作在感应式卡片模式下,就是将手机模拟成一张非接触卡,如门禁卡、银行卡等。
卡模拟模式主要用于商业、交通等非接触移动支付中,用户只要将手机靠近POS机,并输入密码确认交易或者直接接收交易即可,此种方式下手机NFC天线通过POS机的射频场来获取能量供电。在该应用模式中,具有银联闪付标志的读取终端从具备NFC支付功能的手机中采集数据,然后将数据传送到后台的应用处理系统进行支付操作。
2、Apple Pay(苹果支付)的安全认证
由于Apple Pay采用的是NFC技术,所以支付方式须符合NFC通信相关的安全认证流程。NFC的安全处理单元与安全芯片通过串口加密通信,加密通信所使用的密钥对由Secure Enclave生成,并通过iCloud的加密机预置在安全芯片中。交易时安全芯片生成与交易相关的校验数据,传递并加密DAN(终端账号)。Apple Pay采用的相关安全技术如下:
(1)Token(令牌技术)
Apple Pay服务器不直接存储用户的银行账号和交易信息,而是以DAN(终端账号)替代PAN(银行卡号),DAN是加密的,且与苹果操作系统(iOS)隔离(Apple Pay服务器不可以访问DAN),DAN就是支付中使用的Token技术。随机生成的银行卡号格式与实体银行卡号保持一致(如16~19位数字),可以在能够识别该Token的受理环境中替代真实的银行卡进行交易,用户的真实银行卡号不会被传递,避免了敏感信息的泄漏,一旦存储Token的设备丢失或被盗,令牌可以立即作废或换发,而不影响原有银行卡的安全性。
(2)Touch ID(身份识别)
Apple Pay可以通过Touch ID或输入密码完成用户身份验证。为了保障安全性,用户须设定一个解锁密码作为在指纹识别器失效时的后备措施,只有在接收到正确的身份验证信息后,安全芯片才会启动相应的支付操作。
Apple Pay的支付过程(如图1所示)具体如下:
图1 Apple Pay支付流程和系统架构
(1)将手指放在手机的指纹识别传感器上,受理终端POS机通过NFC通信获取靠近的手机用户的移动终端账号(Token)以及支付交易信息提交给支付网络服务商。此步骤中的安全单元用于存储安全数据或者用户的隐私数据等,如用户的银行卡信息、交易关键数据等,确保敏感数据和用户隐私的安全性和交易的不可否认性,安全单元以SIM卡、SD卡或单芯片的形式存在。
(2)支付网络服务商完成Token转换,得到用于实际支付的银行卡号(PAN),收单系统负责产生和转发交易信息以及收集、整理和提交结算数据等,转账清算系统实现账务的转接和结算功能。
(3)支付网络服务商将PAN和支付交易信息提交给发卡行,发卡行验证PAN完成支付,账户管理系统中银行提供资金管理和账务结算。
(4)在线支付的处理流程:Apple Pay通过第三方可信服务管理(Trusted Service Management,TSM)平台Wallet相关信息可以实现在线移动支付安全管理等操作。
3、Apple Pay(苹果支付)弹出的工作流程和效果测试
3.1 NFC支付基本流程
Apple Pay的线下支付物理上基于NFC技术相关标准,而NFC是兼容应用广泛的ISO/IEC 14443标准的智能卡,所以Apple Pay移动支付就是将苹果手机模拟成了一张银行卡或者公交卡。线下交易中受理终端和移动终端的交互流程如图2所示,用户将移动终端放置于受理终端射频场中,受理终端向移动终端主动发送命令,以获取发起交易所需的数据信息,交易请求中包含了ISO/IEC 14443标准下的卡片相关找卡、选卡等流程,只有接收了移动终端的正确应答才能进行下一步支付操作,而目前Apple Pay的弹出界面也主要发生在此过程。
图2 线下支付时受理终端和移动终端的交互流程
3.2 ISO/IEC 14443标准工作流程
NFC手机支付采用射频识别(RFID)技术,是符合ISO/IEC 14443国际标准[10]的非接触式智能卡,工作频率为13.56 MHz,通常情况下的读取距离为0~10 cm。目前市场上应用的法定证件(二代身份证、电子护照、港澳通行证等)、银行借记卡、信用卡、门禁卡、公交卡、社保卡、医疗卡等智能卡的读取模式均符合该标准的相关要求,如图3所示。
图3 ISO/IEC 14443常用的智能卡
ISO/IEC 14443国际标准中规定的工作状态分别是:断电状态、空闲状态、准备状态、激活状态、暂停状态。各状态及变换流程如图4所示,具体说明如下:
(1)断电状态:
非接触式智能卡(苹果手机)处于无能源状态下,也就是没有进入通信范围内无法工作。
(2)空闲状态:
当非接触式智能卡进入通信范围内(0~10 cm)时,智能卡获得能量,芯片被激活并进入空闲状态,准备接收终端发出的信号(手机与受理终端之间虽然出现了射频耦合,但是实际没有数据交换)。
(3)准备状态:
当非接触式智能卡接收到相关指令(REQA/REQB)并完成应答校验后就会进入准备状态,如果存在多卡在场时开始进行抗碰撞检测,以确保通信过程的准确性,抗碰撞的过程是反复进行的。
(4)激活状态:
抗碰撞检测通过后,智能卡进入激活状态,该状态下智能卡(移动终端)可以与读卡器(受理终端)进行数据传输。
(5)暂停状态:
在激活状态下发送HALT命令到智能卡时,便会进入暂停状态,等待下一次通信激活指令WAKE UP再开始。
图4 ISO/IEC 14443国际标准中的工作流程
3.3 效果验证
采用自制的符合ISO/IEC 14443标准的读卡器模块进行指令测试,读卡器周期性地发出REQA/REQB找卡指令。测试对比效果见表1所列,可见Apple Pay弹出的界面会被激活,即使在没有进行数据交换的情况下也会出现此类情况;但是由于电磁场和指令虽然能够激活Apple Pay支付操作,但不会进行下一步认证操作,所以用户账户绝对安全,并且不会获取乘客手机隐私信息。对其他安卓手机也做了相同的NFC指令测试,结果相同。
表1 操作流程对比
使用符合ISO/IEC14443标准的读卡器(包括二代身份证读卡器、门禁卡读卡器、POS机以及地铁刷卡闸机等)进行了各种NFC手机的接近测试,如图5所示支付界面会弹出,但同样也没有支付信息的交互。
图5 支付界面弹出情况
4、解决方法
由于Apple Pay支付的激活方法是采用磁场和指令激活,因此在没有收到应答信息的情况下就弹出支付界面,读写器无法识别该手机是否入场,所以从读写器端解决的难度很大,但可以从具有NFC功能的手机端进行分析和解决。目前解决方式有如下几种:
(1)对于安卓手机和系统版本为iOS14(含)以上的iPhone手机,目前可以通过系统设置中的NFC功能开关进行选择,在确定不使用NFC支付时关闭该功能,就不会随意弹出支付界面,如图6所示。
图6 安卓手机和iPhone手机关闭NFC功能界面
(2)某些安卓手机可对NFC的开启进行智能设置,例如华为手机在“华为钱包”中开启“双击电源键唤起刷卡界面”,这样在刷卡前双击电源键,手机才会打开NFC功能,可避免NFC功能被意外激活;刷完卡后手机自动关闭NFC,设置方法是“华为钱包—我的—便捷设置”中开启“双击电源键唤起刷卡界面”,如图7所示。
图7 华为手机NFC智能开启设置界面
(3)系统版本为iOS14以下的iPhone手机由于没有系统开关,一旦绑定银行卡开启NFC支付后无法自动关闭,只能通过删除卡片解除或参考专利《一种屏蔽苹果手机NFC支付功能界面弹出的方法与流程》中通过调用底层库文件PassKit加载一个已经配置好的本地凭证数据PKPass,在新建底层库文件PassKit下的票据中添加控制器PKAddPassesViewController类,添加本地凭证数据PKPass,阻止凭证预览界面弹出,从而屏蔽NFC支付功能界面弹出。
5、结语
手机使用的NFC技术是物联网应用中最常见、最基础的物联技术之一,可以很方便地实现物物相连。基于NFC的功能特点和工作模式,多个NFC设备可相互靠近和感应,如支持NFC的手机、可穿戴设备、笔记本电脑等。由于手机既可以模拟卡片(银行卡、公交卡等),也可以模拟读卡器读取NFC卡片信息,因此模拟卡片的手机会感应到模拟读卡器的手机,虽然双方未进行任何通信,仅仅是感应触发而已,没有任何数据交流,不会产生交易行为,也不会造成支付方面的影响,但也会做出相应的触发响应。
很多时候这样的误触发会对乘客的其他应用行为(如使用APP、扫码支付、看视频等)造成一定的干扰和不便,而目前的处理方法是从移动设备端入手进行相关配置来解决弹窗,当前安卓手机和系统版本iOS14(含)以上的iPhone手机比较容易通过NFC设置项解决,即在确定不使用NFC的时候关闭该功能,但是系统版本iOS14以下的iPhone手机无法通过自身系统配置解决,添加或删除卡片操作又比较复杂,暂时无法找到比较快捷而完美的解决方法,今后将继续探索更加合适的解决方案。