基于SWP方案的近场通信终端测试
2015-05-13
中国联通研究院 北京 100032
前言
近场通信(Near Field Communication,NFC)是一种工作频率为13.56MHz、由RFID技术演变而来的近距离无线通信技术,允许电子设备通过简单触碰的方式完成信息交换及内容访问。支持NFC功能的终端有三种工作模式:点对点模式、读写器模式和卡模拟模式。
随着移动支付业务的不断发展,NFC凭借着安全、迅速、能耗低的优势成为移动支付市场的热点。而对NFC终端的测试工作是保证NFC终端稳定快速完成刷卡支付的关键。NFC测试主要包括三个方面,即一致性测试、功能性测试和兼容性测试。
1 SWP-NFC终端
1.1 NFC终端技术实现方案
NFC移动支付产业链较长,涉及电信运营商、SIM卡商、金融机构、手机制造商、TSM平台商等参与方,在市场上也存在着多种NFC终端的技术实现方案。这些实现方案的主要区别是安全模块SE、NFC控制器与NFC天线的位置不同。目前,主流的方案有SD卡方案、全终端方案与SWP方案。
SD卡方案是将安全模块集成在SD卡中。该方案得到银行的支持,因为银行可以自行发放SD卡。但是支持该方案的终端数量较少,且SD卡成本较高,导致SD卡方案发展规模受到较大限制[1]。
NFC全终端方案(如图1所示)将安全模块SE集成在终端内,优点是可以将NFC芯片与安全模块SE芯片集成在一个芯片内,并且能够有效避免机卡接口和机卡兼容性的问题。缺点是安全模块SE无法与手机分离,用户换手机后需要将业务转移到新手机上[1]。
图1 NFC终端实现方案
国内外电信运营商主推的是SWP实现方案。该方案用SIM卡作为安全模块,存储用户支付账户、密钥等敏感数据,运行支付应用。用户更换新手机后,由于敏感数据都储存在SIM卡中,仅需更换SIM卡即可继续使用NFC业务。
1.2 SWP-NFC终端软硬件架构
SWP-NFC终端软硬件架构如图2所示,括号内红色字体为技术规范,绿色字体为测试规范。
基于SWP方案的NFC终端硬件主要由NFC控制器(CLF)、SWP-SIM卡、安全模块SE、应用处理器及基带芯片和NFC射频天线等单元组成。1)NFC控制器。即NFC芯片,实现NFC卡模拟、读写器、点对点模式所定定的测试环境下,对被测实体(IUT)进行黑盒测试,通过比较被测终端的实际输出与标准和规范中规定的预期输出的异同,来验证被测终端是否符合相应的标准或规范[2]。
图2 SWP NFC终端硬件架构
NFC终端的一致性测试是对终端与NFC相关的各模块间接口进行技术标准符合度检测,确保终端在接口协议上满足行业定义的技术标准要求。这是整个NFC测试中最基本的一部分。这一部分测试属于终端的自测,可以采用行业内已经认证过的一致性测试仪表或工具,或者根据技术规范自行开发测试工具包来完成一致性的测试(如图3所示)。义的模拟、数字协议的处理。2)安全模块SE。即安全芯片,所有涉及敏感数据、加密运算等的业务(如银行卡、公交卡)均需要单独安全芯片处理,在SWP方案中,SE位于SIM卡中。3)SWP接口。主要用于非接触读写器,通过NFC控制器与SWP-SIM卡安全模块进行的非接触通信。4)7816接口。主要用于手机应用客户端程序与SWP-SIM卡之间的数据交互。
基于SWP方案的NFC终端软件主要由NFC应用、NFC API、SIM/SE访问API、访问控制模块和NFC协议栈等单元组成。1)NFC应用。NFC客户端应用程序,实现NFC终端的卡模拟、读写器、点对点工作模式相关业务功能,如电子钱包等。2)NFC API。根据不同的底层平台向客户端应用程序提供访问NFC协议栈的接口;提供对读写器模式、点对点模式的功能调用,同时,支持对NFC Forum定义的各种数据格式进行解析。3)NFC协议栈。主要实现NFC读写器、点对点模式相关协议的分析处理。4)SIM访问API。提供应用访问SWP-SIM卡的接口,实现客户端应用程序与SWP-SIM卡之间的APDU交互。5)访问控制模块。完成SWP-SIM卡的安全访问控制,阻止对SWP-SIM卡中资源的非授权访问和非法攻击。
2 一致性测试
终端的一致性测试是指利用一组测试序列,在特
图3 NFC终端的一致性测试
基于SWP方案的NFC终端的一致性测试应包括射频一致性测试、协议一致性测试、SWP/HCI测试、Open Mobile API测试和GPAC测试。
2.1 射频一致性测试
NFC技术由RFID射频识别技术演变而来,NFC射频标准主要由NFC Forum制定,NFC Forum是行业性组织,必须遵循国际标准,在底层的规范中纳入了ISO/IEC 14443、ISO 18902及ISO 15693。
射频一致性测试主要是测量NFC设备射频的模拟特性,NFC Forum定义的NFC设备具有侦听(Listening)和轮询(Polling)功能(如图4所示)。
图4 NFC Forum轮询和侦听设备
轮询设备产生射频场并发送轮询命令,侦听设备不产生射频场,利用轮询设备的射频场为自己供能。射频一致性测试需使用NFC参考设备,NFC参考设备是NFC Forum定义的特性化的轮询或侦听设备,可以产生各种参数从而提供定义明确的、可比较的测量[2]。
NFC Forum射频模拟测试的规范为NFC Forum-TS-Analogue,对NFC设备的射频测试分为两个部分,即轮询模式(polling mode)和侦听模式(listening mode),图5和图6是射频模拟测试的架构。
图5 侦听设备测试
图6 轮询设备测试
轮询设备指令生成器用来产生与一条轮询指令对应的调制,通过NFC Forum参考轮询设备发送命令给被测侦听设备。参考轮询设备还可以观察侦听设备通过负载调制方式发送来的数据。负载调制测量工具用来测量被测侦听设备响应的负载调制的振幅,对于NFC-A和NFC-B设备,以fc/16的频率测量副载波调制的电压峰值,对于NFC-F设备,以fc/64和fc/32的频率测量载波调制的电压峰值(fc代表载波频率)。
在侦听模式下,测试内容包括:负载调制测试,测量出的负载调制信号强度必须在要求的范围内;载波频率测试,在最大最小频率范围内,侦听设备也必须能做出正确回应;帧延迟时间测试,帧延迟时间是指从查询指令结束到手机卡模拟模式传输开始的响应时间;侦听设备最大负载测试,侦听设备的负载会减小工作域的磁场强度,因此,其负载需在限定范围内。
NFC Forum参考侦听设备用来分析被测轮询设备发出的射频场功率和数据传输,通过配置不同的电阻负载来模拟不同场景下的轮询设备。侦听设备响应生成器用来产生与侦听设备响应相一致的调制,通过负载调制的方式向轮询设备发送响应消息,从而观察轮询设备的数据接收能力。磁场测量工具用来测量NFC Forum参考侦听设备传递的直流电压振幅,需要测量不小于10 s的直流电压平均值。
在轮询模式下,测试内容包括载波频率精度测试;功率级别测试,能够保证设备工作在查询模式时有足够的电源;波形特性测量,测量一些时间参数,如上升时间,下降时间等;负载调制灵敏度测试,工作在查询模式的设备应能够正确接收负载调制;射频冲突避免测试,周围存在射频场时,NFC设备为避免冲突应关闭自身的射频场;载波频率测试,测量出的载波频率应在规范所限定的13.553~13.567MHz范围内。
2.2 数字协议一致性测试
数字协议规范规定了NFC-A、NFC-B、NFC-F三种技术,这三种技术有着不同的调制方式、编码格式、传输速率、帧格式和命令集。数字协议的内容如图7所示。
图7 NFC Forum数字协议规范架构
初始化阶段设备会完成侦听、RF冲突避免、技术发现和冲突检测。数字协议规范定义了4种标签平台,能够让设备支持读写器和卡模拟模式。支持点对点的设备采用NFC-DEP协议交换数据,支持ISO 14443的读写器或卡模拟采用ISO-DEP作为传输协议来交换数据,对于类型1/2/3标签平台采用半双工通信协议[2]。
NFC Forum数字协议测试的规范为NFC Forum-TS-For Digital Protocol,NFC设备的数字协议测试分为三个部分,即支持NFC-A、NFC-B、NFC-F技术的NFC Forum设备的安装,轮询模式下的NFC Forum设备和侦听模式下的NFC Forum设备。
轮询模式下NFC Forum设备测试包括NFC-A、NFC-B、NFC-F技术的NFC Forum设备的安装,类型1标签(T1T)平台,类型2标签(T2T)平台,类型3标签(T3T)平台,类型4A标签(T4AT)平台,类型4B标签(T4BT)平台,NFC-A技术的点对点,NFC-F技术的点对点。
侦听模式下的NFC Forum设备测试包括NFC-A、NFC-B技术的NFC Forum设备的安装,类型3标签(T3T)平台,类型4A标签(T4AT)平台,类型4B标签(T4BT)平台,NFC-A技术的点对点,NFC-F技术的点对点。
2.3 SWP/HCI测试
SWP/HCI测试是SWP方案的NFC终端的特有测试(如表1所示)。SWP用于UICC和CLF之间的物理层和数据链路层协议,SWP在一条单线上实现了全双工通信。HCI(Host Control Interface,主机控制接口)用于主机之间的通信接口,在SWP协议之上负责UICC和CLF之间逻辑传输管道的建立和路由[2]。
表1 SWP/HCI测试规范
SWP协议技术标准为ETSI 102 613,测试标准为ETSI TS 102 694;HCI协议技术标准为ETSI 102 622,测试标准为ETSI TS 102 695。
SWP的测试涵盖物理特性测试、电气特性测试、物理传输层测试、数据链路层测试、SHDLC LLC定义测试、CTL LLC定义测试、时序和性能测试等。
HCI的测试涵盖HCI架构测试、HCP测试、指令测试、HCI流程测试、非接触卡模拟测试、非接触阅读器测试、连通性测试等。
全球认证论坛GCF对于支持NFC功能的移动终端也做了测试认证要求,选取ETSI 694-1和695-1中的部分测试用例作为认证测试,具体测试用例详见GCF WI-133-SWP/HCI和GCF WI-190-SWP/HCI Enhancements for UICC Based NFC Services[3]。
2.4 Open Mobile API测试
Android 2.3以上的安卓手机系统提供了NFC API,但这些API只支持点对点通信模式和读写器模式,而卡模式由SIM Alliance组织推出标准规范的OpenMobile API接口,使安卓手机上层应用可以访问Secure Elements。技术规范为SIMAlliance_Open_Mobile_API_Specification。测试规范为SIMAlliance_OMAPI_transport_test_plan。
Open Mobile API共定义了5个类,每个类里面还包含若干方法(如表2所示)。SIMAlliance OMAPI Transport Test Plan规范按照Transport Layer API接口中的五个类分成五个测试部分,包含了类中所有的公共方法,每个方法又分为三项一致性需求,具体如下文。
第一,正常执行需求。测试目的为检查该接口方法的基本功能是否正确,是否按照规范要求实现接口的基本能力。第二,参数错误需求。测试目的为检查该方法对异常参数的处理能力,包括参数类型、边界值等等。第三,环境错误需求。测试目的为检查该方法对异常状态的处理能力。
针对这些API,OMA的测试主要实现了API功能调用、输入参数遍历、各种异常测试,保证上层APK在调用OMA API时可以得到规范定义的预期执行结果。
2.5 Access Control测试
为保证移动支付业务的安全可靠运行,在软件架构中加入访问控制模块,即Access Control。访问控制流程如图8所示。
图8 Access Control访问控制流程
存放在SWP-SIM卡安全模块中的访问规则文件定义了哪些应用可以访问安全模块中特定的资源或使用哪些APDU指令。访问控制模块负责完成证书获取、规则管理、规则匹配的功能。访问控制模块的规范由Global Platform组织发布。技术规范为Global Platform Device Technology Secure Element Access Control。
访问控制部分测试规范为SEAC_DeviceSide_ComplianceTests。测试的内容主要是检测在不同的AC规则下,不同APK对SE内部卡应用Applet的访问权限[4]。
3 功能性测试
NFC功能性测试是围绕NFC终端应用场景的软件性功能测试,从终端用户的角度来验证NFC终端能否完成相应的功能,是最直观最接近用户使用场景的测试。根据NFC的三种工作模式,可分为点对点功能、读写器功能和卡模拟功能的验证[5]。
3.1 点对点功能测试
使用点对点功能,两个支持NFC的设备通过近距离触碰可以进行数据交互。点对点功能常用于手机联系人信息、电子名片、图片、视频、网页等内容的交换,测试包含以下内容。
读取传输测试。配对传输单张图片,配对传输多张图片,配对传输视频,在设备播放视频时配对传输视频,配对传输word、text、pdf等其他文件。
并发事件测试。并发测试考虑的是NFC手机正在某种业务执行过程中,如刷卡、多媒体业务互传等时出现来电、短信、彩信、闹钟及低电等情况时,不会影响NFC手机正在进行的通信业务。在配对传输视频时接收来电通话,在配对传输视频时接收短信息,在配对传输视频时接收彩信,在配对传输视频时接收视频电话,在传输视频时使用数据连接。
在点对点模式下,NFC功能帮助两部设备完成配对,之后的传输功能是由蓝牙或WiFi直连完成的;因此,如果传输照片、文本等较小文件,传输时间过短,用户来不及选择取消,建议传送视频等较大文件。在设备A的媒体库(相册)上选择视频文件,使用NFC进行配对,轻触屏幕传送视频文件,在设备B上选择取消传输,传输应停止,并在设备B上没有该视频文件。建立配对开始传输文件时,设备B锁屏,传输应能够继续,并可以成功传输文件到设备B上。
传输成功率测试。可以选取不同大小不同类型的文件,使用NFC点对点功能进行传输,并统计传输成功率。
3.2 读写器功能测试
通过NFC读写器功能,手机终端可以识别并读取非接触标签(tag)中的内容。可以实现数字内容传输、下载智能广告牌信息、公交站点信息查询、物流防伪追踪等,应用装载在NFC手机客户端上。
NFC标签的规范主要由NFC论坛定义,标签的数据格式要求符合NFC Forum定义的数据交换格式协议NDEF。NFC论坛一共定义了4类标签,分别为标签1、标签2、标签3、标签4。对于每类标签,NFC论坛定义了相应的标签操作规范。标签可以支持文本、图片、音频等格式的文件,还可以支持一些运算或加密来控制其数据段的读写[5],各类型的标签技术规格如表3所示。
表3 NFC Forum非接触标签
NFC Forum规定的标签类型有4种,在读写器功能的测试中要能遍历终端所能支持的标签类型,在标签内预先写入text、URL、联系人、电话号码、SMS等数据,使用NFC终端去读标签,看是否能够准确读取并显示所读标签信息。然后使用NFC终端向各个标签内写入数据,并检查是否写入成功。在测试过程中,注意反应速度、工作距离及准确度。
3.3 卡模拟功能测试
在卡模拟工作模式中,NFC手机模拟成一张底层兼容ISO 14443A、ISO 14443B或ISO 15693标准的非接触式智能卡。安卓系统并没有预制NFC卡模拟功能,NFC卡模拟功能主要通过第三方应用软件来实现。联通、移动、电信均推出了“手机钱包”应用程序,配合SWP-SIM卡可以模拟成银行卡、加油卡、停车卡、交通卡、电子票据和门禁卡等非接触卡片,可以用于支付、票务、门禁、考勤等应用场景,应用装载在NFC安全模块中[5]。
卡模拟功能性测试可以分为两个部分,一部分是对实现卡模拟功能应用程序(如手机钱包等)的软件测试,主要是对该应用程序的UI、应用下载安装和常规功能的测试。另一部分是涉及NFC刷卡功能的测试,需要涵盖低电模式下的刷卡测试,保证手机在低电关机情况下也可以完成交易或获得鉴权;刷卡距离测试,以不同距离进行刷卡,并测试NFC手机的最大刷卡距离;并发测试,在接打电话、收发短信等场景下,能够正常完成卡模拟功能;交易时间测试,测试终端卡模拟从刷卡到完成交易的时间[6]。
4 兼容性测试
NFC终端在移动支付领域的刷卡应用是行业研究的重点。2012年中国移动与中国银联达成协议,NFC行业标准统一为13.56M频段,扫清了NFC普及的标准障碍。2014年,中国移动计划NFC手机销售目标达到3 000万部,而中国电信、联通也纷纷针对NFC手机给出相应的补贴政策。中国银联也加快部署支持“闪付”的POS机。2014年9月,苹果在发布的iphone 6/6+上,第一次引入了通过NFC技术实现的APPLE PAY。NFC移动支付生态系统日趋成熟。
NFC支付具有许多跨行业的属性,NFC与POS的兼容性成为NFC支付面临的重要挑战。这主要是由于:第一,产业链长,相关POS硬件厂商众多(银联、各地市公交卡、地铁等),因硬件性能、实现技术带来的兼容性问题亟待解决;第二,行业标准众多,且不完全一致[7];因此,为保证NFC终端能够模拟非接触卡刷卡成功,不仅需要对NFC终端射频协议、机卡接口进行测试,还需要对NFC终端与POS机的兼容性进行测试,将NFC相关的各设备进行交叉使用,检测不同厂家提供的设备能否很好地兼容,包括实验室商用POS兼容性测试、模拟POS兼容性测试两种。
1) 实验室商用POS兼容性测试。即根据市场占有率或类型选取典型POS机,使用NFC手机进行离线或在线刷卡测试。要实现刷卡,需要在NFC终端和POS端预置或开发应用,POS端还需导入证书或插入PSAM卡,并搭建后台计费服务器。实验室商用POS兼容性测试是NFC终端与真实商用POS之间的测试,最接近使用场景,但是该测试方法覆盖市面上所有POS机型,且需要较多人力来完成测试,测试问题不易复现。
2) 模拟POS兼容性测试。即使用仪表模拟不同传输参数的POS机对终端的兼容性进行测试。该测试方法可以弥补实验室商用POS兼容性测试无法覆盖市面上所有POS机的不足。仪表可以通过对POS机的发射载波功率、发射载波频率、通信速率、调制的时间参数、传输间隔时间、传输帧大小等参数进行不同的组合,来模拟不同的POS进行兼容性测试。虽然仪表兼容性测试POS机类型范围较广,但是实际使用的POS机封装,内部电路等会更为复杂。
5 结束语
NFC在移动支付等领域有着不错的前景,越来越多的手机将会支持NFC功能,而对NFC设备的一致性测试、兼容性测试以及功能性测试能够有效确保NFC终端正常稳定工作,在移动支付、门禁、文件交换、智能海报等多应用场景给用户提供更好的使用体验;因此,需要产业链各方开展多方面的检测认证,从而确保整个NFC以及移动支付产业的可持续性发展。
参考文献
[1]刘鎏.基于SWP接口的NFC-SIM芯片的测试方法及验证[D].西安:西安电子科技大学,2014
[2]王淼.NFC技术原理与应用[M].北京:化学工业出版社,2014
[3]董原,买望.NFC技术与测试标准[J].世界电信,2013(9):75-80
[4] 李庆艳,张文安,谢云.NFC技术标准体系揭密[J].电信技术,2013(6):62-68
[5]郭寰.NFC技术与NFC手机测试方法[J].信息通信技术,2012,6(4):58-62
[6]孙倩,夏丽娇.近场通信测试简介[J].电信网技术,2013(5):60-64
[7]杨军.NFC技术的应用、标准进展及测试[J].现代电信技术,2009(10):1-5