一种NFC设备安全测试方法与流程

文档序号:17922504发布日期:2019-06-15 00:12阅读:584来源:国知局
一种NFC设备安全测试方法与流程

本发明涉及一种nfc设备安全测试方法,属于nfc设备测试技术领域。



背景技术:

随着无线通信技术的发展以及智能终端的普及,nfc刷卡机具已经广泛应用于公共交通、移动支付、物联网和物业管理等方面,nfc技术容易遭到窃听、数据篡改、数据损坏、克隆和网络钓鱼等攻击,造成用户隐私数据泄漏,严重威胁金融信息和用户的财产安全。基于nfc技术的金融交易近几年持续增长,使用nfc技术的各种场景也逐渐渗透到人们的日常生活中,相应的对nfc设备的安全性要求和行业化应用测试需求也将日益强烈。

nfc设备测试包含物理测试、nfc协议测试以及nfc应用测试。其中物理测试包含材料测试、芯片测试、天线测试、射频测试,市面上比较成熟的针对nfc设备的测试仪产品大部分都能提供物理测试以及nfc协议测试,nfc应用协议的测试包含行业标准规范应用测试,如:金融卡、交通一卡通等,我们可以看到nfc测试仪测试侧重于国际标准协议规范和行业标准应用规范的功能覆盖度测试,明显的缺陷是缺乏针对设备安全性的专项测试,而且对于物联网应用快速发展的现状,使用nfc技术的智能终端机具必将越来越多地定义行业私有协议,以满足各领域行业应用的需要,但是现有标准化的测试工具,满足不了快速发展的nfc技术应用的测试需求。

nfc(nearfieldcommunication)设备可以工作在三种模式下:读写器模式、卡模拟模式和p2p模式。

读写器模式(reader/writermode),也称作主动工作模式。在读写器模式下,nfc设备作为普通读写器对非接触智能卡进行操作,当多个卡片处于读写器的场内时,读写器采用防冲突算法,选中一张卡进行通讯。nfc读写器会判断被选中的卡是iso14443-a/b还是felica应用。这种模式下nfc设备是主动发起通信的一方,可以读并改变nfc被动设备的数据。

卡模拟模式(cardemulationmode),也称被动工作模式或标签模式。它与读写器模式相反,nfc设备在通信中模拟一个非接触标签,仅仅工作于被动模式,没有自己的工作场,而是利用发起设备产生的场,通过负载调制技术将数据以相同的速率回传给发起方。这种模式下,nfc设备可以作为真正的智能卡使用。nfc设备可以包含一个安全模块,用于存储保密信息。这种模式主要用于非接触支付和票据应用。

p2p模式(peer-to-peermode),p2p模式遵从iso18092规范,该规范允许nfc使能设备监理双向链接用以交互接触。nfc设备一旦建立了链接,ndef(thenearfieldcommuncationdataexchangeformat)就会用于数据传输,数据的长度是任意可选的,最大传输单元是256字节。

目前nfc主要应用场景集中在前两种模式,同时这两种使用模式给人们实际生活带来的便利体验,也使得这样的使用场景具有广阔的应用前景,因此测试方法重点围绕前两种模式下的设备实际通信过程设计实施,测试方式主要有两种:使用测试及协议测试。

使用测试常见于nfc手机测试,当nfc手机作为阅读器时,收集各种标准和格式的标签,用被测nfc手机作为阅读器读取各种标签的数据,然后观察交互界面和交易值是否正确。当nfc手机作为模拟卡时,可下载多个采用不同标准实现的非接触式智能卡应用,在非接触智能卡阅读器上设置交易金额,刷卡测试功能是否正确。当测试p2p模式通信时,设置nfc手机相应的功能,并开启nfcp2p连接成功后获得特定的信息即可完成功能测试。

协议测试常见于测试仪测试,测试仪将标准规范实例化,为测试脚本对nfc设备进行功能覆盖性测试,对传输协议测试辅以波形分析。测试仪支持以上三种工作模式的nfc设备测试,在协议规范覆盖度测试方面,测试仪产品目前已经比较成熟了。

以上两种测试方式均为正向测试,也就是从常规功能出发,依据协议规范进行验证性测试,缺乏安全性测试是比较明显的缺陷,随着无线通信技术与物联网应用的发展,nfc技术将会越来越多地使用到各个领域,nfc设备的安全性问题会越来越突出。



技术实现要素:

本发明所要解决的技术问题是提供一种nfc设备安全测试方法,基于现有测试平台,实现对nfc设备的模糊性安全测试,保证nfc设备使用的稳定性。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种nfc设备安全测试方法,基于工控协议攻击测试平台,应用具有nfc设备识别、以及与nfc设备通信功能的测试引擎,完成目标nfc传输协议下、待测nfc设备的安全测试,包括待测nfc设备分别处于卡模拟模式下、以及处于读写器模拟模式下的安全测试,其中,待测nfc设备处于卡模拟模式下的安全测试包括如下步骤:

步骤a1.工控协议攻击测试平台下的测试组件根据目标nfc传输协议,构建对应于目标nfc传输协议的脚本模型,然后进入步骤a2;

步骤a2.测试组件由工控协议攻击测试平台中的经验变异数据库内,按照测试需求选取变异策略加入至目标nfc传输协议所对应的脚本模型中,构成目标nfc传输协议所对应的测试脚本,同时测试组件由经验变异数据库中获得该变异策略所对应的结果数据,作为参照结果数据,然后进入步骤a3;

步骤a3.测试引擎针对测试脚本进行解析,生成测试数据包,然后测试引擎通过nfc非接触式读写器持续向待测nfc设备发送测试数据包,并进入步骤a4;

步骤a4.待测nfc设备批量接收测试数据包,并向nfc非接触式读写器返回结果数据,然后由nfc非接触式读写器针对所接收到的结果数据,通过测试引擎转发给测试组件,作为待比对结果数据,再进入步骤a5;

步骤a5.测试组件比较待比对结果数据与参照结果数据是否相符,是则判定待测nfc设备不存在安全漏洞,否则判定待测nfc设备存在安全漏洞。

作为本发明的一种优选技术方案:所述步骤a1中,工控协议攻击测试平台下的测试组件根据目标nfc传输协议,采用模糊测试语言构建对应于目标nfc传输协议的脚本模型。

作为本发明的一种优选技术方案:所述步骤a3中,所述测试引擎通过nfc非接触式读写器,调用目标nfc传输协议所对应的数据接口,持续向待测nfc设备发送测试数据包。

作为本发明的一种优选技术方案:所述待测nfc设备处于读写器模拟模式下的安全测试包括如下步骤:

步骤b1.所述测试组件下的发行组件生成包含变异数据返回值的测试数据流,并将测试数据流发送给非接触式测试卡,更新非接触式测试卡,然后进入步骤b2;

步骤b2.基于待测nfc设备与非接触式测试卡之间的通信交互,包含变异数据返回值的交互数据存储于非接触式测试卡中,然后进入步骤b3;

步骤b3.所述测试引擎通过读卡器获取非接触式测试卡中的交互数据,并返回给发行组件,然后进入步骤b4;

步骤b4.发行组件根据交互数据所对应的测试日志、以及变异数据返回值,与测试数据流所对应的预期日志进行比较,判断待测nfc设备是否存在安全漏洞。

本发明所述一种nfc设备安全测试方法采用以上技术方案与现有技术相比,具有以下技术效果:

本发明所设计nfc设备安全测试方法,基于工控协议攻击测试平台,应用具有nfc设备识别、以及与nfc设备通信功能的测试引擎,完成目标nfc传输协议下、待测nfc设备的安全测试,以验证nfc终端和机具端的安全性,弥补目前模糊测试主要集中于网络流量方面的缺陷,也弥补了nfc设备在安全性方面缺乏攻击测试的缺陷,同时提供了对nfc应用中行业私有协议的定制测试。

附图说明

图1是本发明设计一种nfc设备安全测试方法的系统架构图;

图2是本发明设计应用中待测nfc设备处于卡模拟模式下安全测试的示意图;

图3是本发明设计应用中待测nfc设备处于读写器模拟模式下安全测试的示意图;

图4是本发明设计中发行组件对测试数据流的存储示意图;

图5是本发明设计中测试数据流所对应发行脚本的示意图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

本发明设计了一种nfc设备安全测试方法,能满足对nfc设备行业应用扩展协议的快速定制测试,是基于一个已经研发成功的面向工控及物联网协议的高效模糊测试语言及测试引擎进行设计开发的,称为工控协议攻击测试平台,该测试平台针对工控网络设备中的协议漏洞,采用模糊测试的方法对被测设备展开攻击性测试,几乎涵盖了以太网主流工业协议的漏洞测试,形成了丰富的测试用例库,即该测试平台在对工控网络设备协议漏洞进行模糊测试的过程中,积累了大量的经验变异数据库,具备nfc协议安全性模糊测试的基础。因此,本发明基于此测试平台,提供了一种nfc设备安全测试方法,结合平台已有的测试用例经验库,开发符合nfc协议特征的变异策略库,以满足nfc设备的安全性测试要求。

本发明所设计一种nfc设备安全测试方法,如图1所示,基于工控协议攻击测试平台,应用具有nfc设备识别、以及与nfc设备通信功能的测试引擎,完成目标nfc传输协议下、待测nfc设备的安全测试,这里工控协议攻击测试平台与测试引擎的设计,参照专利申请号为201810182350.2,名称为一种基于xml的模糊测试语言协议测试脚本与测试引擎的专利申请文件,具体对待测nfc设备的安全测试,包括待测nfc设备分别处于卡模拟模式下、以及处于读写器模拟模式下的安全测试。

其中,待测nfc设备处于卡模拟模式下的安全测试,首先执行如下初始化操作,识别测试脚本为nfc设备与被测设备,则建立连接;初始化安全环境,通过读卡器与nfc设备进行认证以及密钥导入;获取nfc设备状态,确认nfc设备达到可以接收指令的状态。然后基于图2所示,执行如下步骤a1至步骤a5。

步骤a1.工控协议攻击测试平台下的测试组件根据目标nfc传输协议,采用模糊测试语言构建对应于目标nfc传输协议的脚本模型,然后进入步骤a2。

步骤a2.测试组件由工控协议攻击测试平台中的经验变异数据库内,按照测试需求选取变异策略加入至目标nfc传输协议所对应的脚本模型中,构成目标nfc传输协议所对应的测试脚本,同时测试组件由经验变异数据库中获得该变异策略所对应的结果数据,作为参照结果数据,然后进入步骤a3。

本发明设计中对于满足nfc传输协议的脚本实际设计应用中,当有新的行业应用协议用于nfc设备,或者标准应用协议扩展升级时,本发明设计中所提供的一套高效的模糊测试语言,能够快速灵活地根据新协议构建脚本模型,并将变异策略应用于脚本模型中,实例化为测试脚本,满足行业扩展协议的安全性测试需求。

实际应用中,基于测试平台提供的高效模糊测试语言,与开发以太网工业协议测试脚本类似,可用于编写nfc测试脚本,测试引擎扩展对transport=“nfc”的识别,并与读卡器进行初始化连接。protocol定义nfc传输协议,测试引擎根据不同协议采用不同的发包机制,测试脚本示例如下:

步骤a3.测试引擎针对测试脚本进行解析,生成测试数据包,然后测试引擎通过nfc非接触式读写器,调用目标nfc传输协议所对应的数据接口,持续向待测nfc设备发送测试数据包,相当于测试引擎通过nfc非接触式读写器对待测nfc设备进行攻击性测试,并进入步骤a4。

步骤a4.待测nfc设备批量接收测试数据包,并向nfc非接触式读写器返回结果数据,然后由nfc非接触式读写器针对所接收到的结果数据,通过测试引擎转发给测试组件,作为待比对结果数据,再进入步骤a5。

步骤a5.测试组件比较待比对结果数据与参照结果数据是否相符,是则判定待测nfc设备不存在安全漏洞,否则判定待测nfc设备存在安全漏洞。

对待测nfc设备安全测试中,待测nfc设备处于读写器模拟模式下的安全测试中,还涉及到测试组件下的发行组件,具体来说所涉及到的发行组件包含如下功能:测试数据流开发、测试数据流存储管理、以及调用非接触式测试卡接口将测试数据流写入非接触式测试卡中、和读取测试日志判定是否存在漏洞功能。

其中,测试数据流开发功能的应用中,测试数据流一部分为卡片操作系统,通过改变非接触式测试卡处理指令的返回值,引导处于读写器模拟模式的待测nfc设备发送不同的指令序列,检测待测nfc设备是否符合安全要求;另一部分为应用数据,通过改变应用数据的状态,探测待测nfc设备的应用安全性,测试待测nfc设备是否能够识别出非接触式测试卡的异常状态。

测试数据流的存储管理功能的应用中,建立数据库表用于存储测试数据流,如图4所示,测试数据流按照协议、功能分类管理,管理方式与测试脚本相同。测试平台提供管理界面接口导入测试数据流,与测试脚本建立对应关系。

调用非接触式测试卡接口将测试数据流写入非接触式测试卡功能的应用中,当新建测试任务时,测试平台根据用户选择的测试脚本在数据库中查找到对应的测试数据流,并生成发行脚本,如图5所示,发行组件将非接触式测试卡从使用状态切换至发行状态,并将测试数据流写入非接触式测试卡里。

发行组件读取测试日志判定是否存在漏洞功能的应用中,测试完成后,发行组件读取非接触式测试卡的测试日志,并与预期的日志比较检查漏洞。

待测nfc设备处于读写器模拟模式下的安全测试中,基于图3所示,包括如下步骤b1至步骤b5。

步骤b1.所述测试组件下的发行组件生成包含变异数据返回值的测试数据流,并将测试数据流发送给非接触式测试卡,更新非接触式测试卡,然后进入步骤b2。

步骤b2.基于待测nfc设备与非接触式测试卡之间的通信交互,包含变异数据返回值的交互数据存储于非接触式测试卡中,然后进入步骤b3。

步骤b3.所述测试引擎通过读卡器获取非接触式测试卡中的交互数据,并返回给发行组件,然后进入步骤b4。

步骤b4.发行组件根据交互数据所对应的测试日志、以及变异数据返回值,与测试数据流所对应的预期日志进行比较,判断待测nfc设备是否存在安全漏洞。

在上述待测nfc设备处于读写器模拟模式下的安全测试中,

理论上非接触式测试卡只需要一张就可以完成测试,如果提供多张非接触式测试卡则可以提高测试效率。通过测试组件给非接触式测试卡灌入不同测试用例的测试数据流,分别与处于读写器模拟模式的待测nfc设备进行通信完成测试。

上述技术方案所设计一种nfc设备安全测试方法,基于工控协议攻击测试平台,应用具有nfc设备识别、以及与nfc设备通信功能的测试引擎,完成目标nfc传输协议下、待测nfc设备的安全测试,以验证nfc终端和机具端的安全性,弥补目前模糊测试主要集中于网络流量方面的缺陷,也弥补了nfc设备在安全性方面缺乏攻击测试的缺陷,同时提供了对nfc应用中行业私有协议的定制测试。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1