智能卡系统中间人攻击验证平台及测试方法

文档序号:10654474阅读:445来源:国知局
智能卡系统中间人攻击验证平台及测试方法
【专利摘要】本发明涉及一种智能卡系统中间人攻击验证平台及测试方法,其中验证平台包括所述的验证平台一端与智能卡进行通信,另一端与读卡器进行通信,所述的验证平台内设置有控制管理模块,所述的控制管理模块用以加载攻击测试程序,对读卡器和智能卡发送的指令和响应进行存储和处理。采用该种结构的智能卡系统中间人攻击验证平台及测试方法,能够验证智能卡系统设计方案与实际运行过程的一致性,保证安全测评结果的真实性和有效性;评估结果更具说服力和权威性;本发明由于需要实际执行中间攻击,因此能够有效且准确地量化实现中间人攻击所耗费的成本,因而能够准确评估智能卡系统抵御中间人攻击的能力,从而确认待测智能卡系统的安全强度。
【专利说明】
智能卡系统中间人攻击验证平台及测试方法
技术领域
[0001]本发明涉及信息安全技术领域,尤其涉及智能卡系统的安全性测试和验证,具体是指一种智能卡系统中间人攻击验证平台及测试方法。
【背景技术】
[0002]智能卡系统通常由智能卡和读卡器(包括后台)两部分组成。智能卡系统可以分为接触式智能卡系统和非接触式智能卡系统。
[0003]典型的接触式智能卡系统如银行的芯片卡、SIM卡;典型的非接触式智能卡系统如公交卡。接触式智能卡与读卡器通过智能卡的触点进行通信;非接触式智能卡通过无线射频进行通信。智能卡通信是主从式,读卡器发送APDU命令,智能卡发送APDU响应。所有通信都由读卡器发起,智能卡只是被动的响应。
[0004]当前我国智能卡发行量巨大,动辄以数百万、千万甚至亿计,智能卡的应用已深入到人民生活的方方面面,智能卡已成为国家政治、经济、社会以及军事等各个部门不可分割的一部分,已成为关系到国计民生的重大课题。但是,由于智能卡应用环境的复杂性,使其本身面临着各种安全威胁。因此,在当前形势下,对智能卡的安全性进行全面、系统的测评,已经上升成为保障国家主权、国家安全、社会稳定、经济安全与发展和公民合法权益的核心问题,它不仅关系到人民财产安全,同时也是保护国家利益、促进产业发展的重要手段,已成为关系国家安全的战略课题。
[0005]当前国际上对智能卡系统的安全性测试主要是通过各种攻击方法,对智能卡进行渗透性测试,以检验智能卡系统的安全性。在渗透性测试中,中间人攻击是最重要的测试项目之一(参考《Applicat1n of Attack Potential to Smartcards》)。现有技术中的测试主要是理论分析,没有实际的测试工具。
[0006]在中间人攻击中,攻击者位于智能卡系统的读卡器和智能卡通信链路中间,通过监听读卡器与智能卡的通信数据,并对其进行修改、转发或拦截,以实现身份冒充、敏感信息窃取、核心数据篡改等目的,破坏智能卡系统安全性。因此,对智能卡系统进行中间人攻击测试非常重要。
[0007]然而,由于当前缺乏实用的中间人攻击测试和验证平台,测评机构只能针对待测智能卡系统的数据传输流程,从理论上评估该系统是否存在中间人攻击。虽然理论分析能够发现潜在的中间人攻击,从一定程度上确认系统的安全性,但如果仅使用理论分析,而不进行实际的测试验证,将会存在以下问题:
[0008](I)由于理论分析仅针对设计方案,不能保证该方案与智能卡系统实际交互数据的一致性。因此,即使设计方案中未发现中间人攻击,也不能保证待测智能卡系统不存在中间人攻击;
[0009](2)由于理论分析并不对智能卡系统进行实际的测试和验证,因此不能有效且准确地量化攻击成本,包括搭建测试环境需要的硬件和软件、编程和测试需要的时间等,因此无法准确评估智能卡系统的抗攻击能力,即待测智能卡系统能否抵御低级、中级或高级别中间人攻击,从而无法确认智能卡系统的安全强度。

【发明内容】

[0010]本发明的目的是克服上述现有技术的缺点,针对当前智能卡系统安全性测试过程中,没有中间人攻击测试及验证工具的问题,提出了一种智能卡系统中间人攻击验证平台及测试方法,以实现智能卡系统的中间人攻击的测试、验证及展示,从而确认待测智能卡系统的抗中间人攻击能力,最终评估智能卡系统的安全性。
[0011 ]为了实现上述目的,本发明具有如下构成:
[0012]该智能卡系统中间人攻击验证平台,其主要特点是,所述的验证平台一端与智能卡进行通信,另一端与读卡器进行通信,所述的验证平台内设置有控制管理模块,所述的控制管理模块用以加载攻击测试程序,对读卡器和智能卡发送的指令和响应进行存储和处理。
[0013]较佳地,所述的验证平台还设置有USB接口,所述的控制管理模块通过所述的USB接口接收外部的预定义的测试程序。
[0014]较佳地,所述的智能卡系统为接触式智能卡系统,所述的验证平台一端通过读卡器卡槽触点与接触式智能卡相连接,另一端通过符合IS07816标准的智能卡触点与接触式读卡器相连接。
[0015]更佳地,所述的读卡器卡槽触点和智能卡触点均符合IS07816标准,所述的读卡器卡槽触点和智能卡触点分别通过UART接口与控制管理模块进行通信。
[0016]较佳地,所述的智能卡系统为非接触式智能卡系统,所述的验证平台一端通过智能卡射频模块与非接触式智能卡进行通信,另一端通过读卡器射频模块与非接触式读卡器进行通?目。
[0017]更佳地,所述的读卡器射频模块和智能卡射频模块均支持IS014443协议,所述的读卡器射频模块通过读卡器天线与非接触式读卡器进行通信,通过SPI接口与控制管理模块进行通信,所述的智能卡射频模块通过智能卡天线与非接触式智能卡进行通信,通过SPI接口与控制管理模块进行通信。
[0018]更进一步地,所述的读卡器天线和智能卡天线均为PCB环型天线。
[0019]本发明还涉及一种基于所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的方法包括以下步骤:
[0020](I)验证平台接收读卡器发送的指令,并存储至控制管理模块;
[0021](2)控制管理模块根据预加载的测试程序,对读卡器发送的指令进行处理;
[0022](3)验证平台将处理后的新指令发送至智能卡;
[0023](4)验证平台接收智能卡返回的响应,并存储至控制管理模块;
[0024](5)控制管理模块根据预加载的测试程序,对智能卡发送的响应进行处理;
[0025](6)验证平台将处理后的新指令发送至读卡器;
[0026](7)判断读卡器和智能卡之间的通信是否结束,如果是,则继续步骤(8),否则继续步骤(I);
[0027](8)根据控制管理模块存储的指令和响应判断中间人是否成功。
[0028]较佳地,所述的验证平台还设置有USB接口,所述的步骤(I)之前,还包括以下步骤:
[0029](O)控制管理模块通过USB接口接收外部的预定义的测试程序。
[0030]较佳地,所述的步骤(2),包括以下步骤:
[0031](2-1)控制管理模块对读卡器发送的指令进行解析,将其与预加载的测试程序中的指令攻击映射表进行匹配,如果匹配失败,则继续步骤(2-2),如果匹配成功则继续步骤(2-3);
[0032](2-2)智能卡系统的协议一致性验证失败,返回错误并结束退出;
[0033](2-3)根据指令攻击映射表中匹配的攻击行为,对读卡器发送的指令进行修改、转发或拦截。
[0034]更佳地,所述的步骤(5 ),包括以下步骤:
[0035](5-1)控制管理模块对读卡器发送的指令进行解析,将其与预加载的测试程序中的响应攻击映射表进行匹配,如果匹配失败,则继续步骤(5-2),如果匹配成功则继续步骤(5-3);
[0036](5-2)智能卡系统的协议一致性验证失败,返回错误并结束退出;
[0037](5-3)根据响应攻击映射表中匹配的攻击行为,对智能卡发送的响应进行修改、转发或拦截。
[0038]采用了该发明中的智能卡系统中间人攻击验证平台及测试方法,具有如下有益效果:
[0039](I)本发明由于能够监听并存储待测智能卡系统读卡器和智能卡之间的通信数据,因此能够验证智能卡系统设计方案与实际运行过程的一致性,保证安全测评结果的真实性和有效性;
[0040](2)本发明由于能够按照预定义中间人攻击程序修改、转发或拦截读卡器和智能卡之间通信数据,从而发起中间人攻击,并进行攻击效果展示,因此评估结果更具说服力和权威性;
[0041](3)本发明由于需要实际执行中间攻击,因此能够有效且准确地量化实现中间人攻击所耗费的成本,包括测试人员的经验、搭建测试环境需要的硬件和软件、编程和测试需要的时间等,因而能够准确评估智能卡系统抵御中间人攻击的能力,从而确认待测智能卡系统的安全强度。
【附图说明】
[0042]图1为本发明的智能卡系统中间人攻击验证平台的结构示意图。
[0043]图2为本发明的APDU指令攻击映射表框图;
[0044]图3为本发明的APDU响应攻击映射表框图。
【具体实施方式】
[0045]为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0046]本发明提供了一种智能卡系统中间人攻击验证平台及测试方法,它属于信息安全技术领域。其智能卡系统中间人攻击验证平台包括:读卡器卡槽,用于连接待测接触式智能卡;智能卡触点,用于连接待测接触式读卡器;读卡器射频模块,用于与待测非接触式智能卡通信;智能卡射频模块,用于与待测非接触式读卡器通信;读卡器天线,用于连接待测非接触式智能卡;智能卡天线,用于连接待测非接触式智能卡;控制管理模块,用于对待测智能卡系统读卡器发送的APDU指令和智能卡发送的APDU响应进行存储、解析和处理;USB接口模块,用于与控制管理模块进行数据传输。在测试过程中,智能卡系统中间人攻击验证平台串接在待测智能卡系统的读卡器和智能卡之间,通过监听、存储、分析待测智能卡系统的读卡器和智能卡之间传输的APDU指令和APDU响应,并根据预定义攻击程序对AroU指令和APDU响应进行修改、转发或拦截,从而达到窃取敏感信息、非法访问非授权信息等目的,实现中间人攻击。本发明能够对待测智能卡进行协议一致性检测,能够进行中间人攻击的验证和展示,并且可以量化中间人攻击的成本,因此能够评估智能卡系统抵御中间人攻击的能力,确认待测智能卡系统的安全强度。
[0047]因此,实现本发明目的技术方案是:将中间人攻击验证平台串接在待测智能卡系统的读卡器(接触式或非接触式)和智能卡(接触式或非接触式)之间,通过中间人攻击验证平台监听、修改、转发或拦截读卡器和智能卡之间传输的APDU指令或APDU响应,发起中间人攻击,从而对待测智能卡系统进行中间人攻击的测试和验证。
[0048]具体而言,在对接触式智能卡系统进行中间人攻击测试时,将待测接触式智能卡插入中间人攻击验证平台的读卡器卡槽,将读卡器触点插入待测接触式读卡器中,使用上位机通过USB接口将预定义的测试程序加载至控制管理模块,完成接触式智能卡系统测试环境的搭建。
[0049]在对非接触式智能卡系统进行中间人攻击测试时,将待测非接触式智能卡放在中间人攻击验证平台的读卡器天线之上,将中间人攻击验证平台智能卡天线放在待测接触式读卡器之上中,使用上位机通过USB 口将预定义中间人攻击程序加载至控制管理模块,完成非接触式智能卡系统测试环境的搭建。
[0050]在测试过程中,通过中间人攻击验证平台监听待测读卡器与待测智能卡之间的APDU指令和APDU响应,并根据控制管理模块中存储的预定义中间人攻击程序对APDU指令和APDU响应进行修改、转发或拦截。程序执行结束后,通过检查待测智能卡或待测读卡器的状态信息,判断是否达到预期攻击效果。
[0051 ]智能卡系统中间人攻击验证平台包括:
[0052](I)用于连接接触式智能卡的读卡器卡槽;
[0053](2)用于连接接触式读卡器的智能卡触点;
[0054](3)用于与非接触式智能卡通信的读卡器射频模块;
[0055](4)用于与非接触式读卡器通信的智能卡射频模块;
[0056](5)用于连接非接触式智能卡的读卡器天线;
[0057](6)用于连接非接触式读卡器的智能卡天线;
[0058](7)用于对控制管理模块进行编程的USB接口模块;
[0059](8)用于智能卡系统APDU指令/AroU响应解析和信息处理、接触式和非接触式通信模式切换的控制管理模块。
[0060]在一种较佳的实施方式中,所述的智能卡系统为接触式智能卡系统,读卡器卡槽触点符合ISO 7816标准,通过接触式接口与待测接触式智能卡连接,能够将智能卡的APDU响应通过UART接口传输至控制管理模块,同时也能够将控制管理模块的APDU指令传输给待测接触式智能卡。
[0061 ]对应地,智能卡触点符合IS07816标准,通过触点与待测接触式读卡器连接,能够将读卡器发送的APDU指令通过UART接口传输至控制管理模块,同时也能够将控制管理模块的APDU响应传递给待测接触式读卡器。
[0062]在一种较佳的实施方式中,所述的智能卡系统为非接触式智能卡系统,读卡器射频模块支持IS014443协议,能够通过SPI接口将控制管理模块的APDU指令进行调制,并传递给读卡器天线;也能够将读卡器天线收到的信息进行解调为APDU响应,传递给控制管理模块。
[0063]对应地,智能卡射频模块支持IS014443协议,通过SPI接口将控制管理模块的APDU指令进行调制,并传递给智能卡天线;或者将智能卡天线接收到的信号解调转换为APDU响应,传递给控制管理模块。
[0064]在一种较佳的实施方式中,读卡器天线采用PCB环型天线,能够通过无线信道接收待测非接触式智能卡发送的载波信号,并传递给读卡器射频模块进行解调;也能够将读卡器射频模块发送的信号通过无线信道发送给待测非接触式智能卡。
[0065]对应地,智能卡天线采用PCB环型天线,能够通过无线信道接收待测非接触式智能卡发送的载波信号,并传递给智能卡射频模块进行解调;也能够将智能卡射频模块发送的信号通过无线信道发送给待测非接触式读卡器。
[0066]在一种较佳的实施方式中,USB接口具备传输端口,能够连接上位机为控制管理模块加载预定义中间人攻击程序。
[0067]在一种较佳的实施方式中,控制管理模块具备UART接口、SPI接口和USB接口,能够加载预定义中间人攻击程序,并根据预定义中间人攻击程序对待测读卡器和待测智能卡之间传输的APDU指令和APDU响应进行存储、分析、修改、转发或拦截等处理。
[0068]通过采用上述的验证平台,本发明的智能卡系统中间人攻击测试方法包括:
[0069](I)通过上位机,使用USB接口向控制管理模块加载预定义的中间人攻击验证程序,根据待测智能卡系统的通信方式,设置其为接触式工作模式或非接触式工作模式;
[0070](2)在接触式工作模式下,通过智能卡触点接收待测智能卡系统接触式读卡器发送的APDU指令,并将其存储在控制管理模块;在非接触式工作模式下,通过智能卡天线接收待测智能卡系统非接触式读卡器发送的APDU指令,并将其存储在控制管理模块;
[0071](3)控制管理模块对收到的APDU指令进行分析,并与其中的APDU指令攻击映射表进行匹配,如果匹配失败,则协议一致性验证失败,并返回错误;如果匹配成功,则根据APDU指令攻击映射表中对应的攻击行为,对接收到的APDU指令进行修改、转发或拦截,并将新的APDU指令发送给中间人攻击验证平台;
[0072](4)待测接触式或非接触式智能卡收到APDU指令后,将返回APDU响应给中间人攻击验证平台;
[0073](5)在接触式工作模式下,控制管理模块通过智能卡卡槽接收待测接触式智能卡发送的APDU响应,并将其存储在控制管理模块;在非接触式工作模式下,控制管理模块通过读卡器射频模块和读卡器天线接收待测非接触式智能卡发送的APDU响应,并将其存储在控制管理模块;
[0074](6)控制管理模块对收到的APDU响应进行分析,并与其中的APDU响应攻击映射表进行匹配,如果匹配失败,则协议一致性验证失败,控制管理模块返回错误信息;如果匹配成功,则根据APDU响应攻击映射表中对应的攻击行为,对接收到的APDU响应进行修改、转发或拦截,并将新的APDU响应发送给中间人攻击验证平台;
[0075](7)控制管理模块根据APDU指令攻击映射表和APDU响应攻击映射表对待测读卡器和智能卡之间传输的所有APDU指令和APDU响应进行修改、转发或拦截,直至待测读卡器和待测智能卡的通信结束;
[0076](8)测试人员分析中间人攻击验证平台存储的APDU指令和APDU响应,查看待测智能卡系统中读卡器或智能卡内部数据和状态,验证中间人攻击是否成功。
[0077]本发明中,智能卡系统中间人攻击验证平台能够对待测智能卡系统进行中间人攻击测试和验证,同时能够检验协议的一致性。智能卡系统中间人攻击验证平台包括读卡器卡槽、智能卡触点、读卡器射频模块、智能卡射频模块、读卡器天线、智能卡天线、USB接口模块和控制管理模块。
[0078]参照图1,本发明测试的步骤如下:
[0079]步骤I,将智能卡中间人攻击验证平台的USB接口与上位机的USB接口连接。
[0080]使用USB数据线连接智能卡中间人攻击验证平台的USB接口与上位机的USB接口,USB接口符合USB 2.0协议。
[0081]步骤2,通过USB接口,使用上位机将预定义中间人攻击程序加载至智能卡中间人攻击验证平台的控制管理模块。
[0082]上位机USB底层驱动使用WinDriver提供的USB驱动函数库设计,实现了USB的连接和通信功能。测试人员在测试之前,首先对待测智能卡系统通信过程进行分析,根据待测智能卡系统可能存在的中间人攻击,使用C语言编写中间人攻击程序,并通过USB接口将该程序加载至中间人攻击验证平台的控制管理模块中。中间人攻击程序主要用于窃听和存储待测智能卡系统传输的APDU指令和APDU响应,并对窃听到的APDU指令或APDU响应进行分析,将其与中间人攻击程序中的APDU指令攻击映射表和APDU响应攻击映射表进行匹配,根据映射规则执行修改、转发或拦截等攻击行为。
[0083 ]步骤3,将待测智能卡系统与中间人攻击验证平台连接。
[0084]本发明既可与接触式智能卡系统进行连接,也可与非接触式智能卡系统进行连接,以实现对接触式智能卡系统或非接触式智能卡系统的中间人攻击测试:
[0085](I)在对接触式智能卡系统进行中间人攻击测试时,将待测接触式智能卡插入中间人攻击验证平台的读卡器卡槽中,同时,将中间人攻击验证平台的智能卡触点插入待测接触式读卡器中,完成与待测接触式智能卡系统的连接。其中,智能卡触点位置符合ISO7816协议要求。
[0086](2)在对非触式智能卡系统进行中间人攻击测试时,将待测非接触式智能卡放入中间人攻击验证平台的读卡器天线的场强范围内,同时,将中间人攻击验证平台的智能卡天线放入待测非接触式读卡器的场强范围内,完成与待测非接触式智能卡系统的连接。中间人攻击验证平台的智能卡天线和读卡器天线由微带天线与匹配电阻相互连接而成,用于发射和接收信号,发射或接收的射频信号频率为13.56MHZ。通信符合ISO 14443标准。
[0087]步骤4,待测智能卡系统的读卡器发送APDU指令至中间人攻击验证平台。
[0088]待测智能卡系统(接触式或非接触式)与中间人攻击验证平台连接成功后,测试人员启动待测智能卡系统,之后,待测智能卡系统的读卡器将发送APDU指令至中间人攻击验证平台,并等待待测智能卡返回的APDU响应。
[0089]步骤5,中间人攻击验证平台收到步骤4的APDU指令后,对其进行分析,将该APDU与APDU指令攻击映射表进行匹配和修改,将新的APDU指令转发给待测智能卡。
[0090]中间人攻击验证平台收到待测读卡器(接触式或非接触式)发送的APDU指令,之后,其控制管理模块将记录该APDU指令的顺序值i (i = I,2,…),并将该APDU指令进行存储,然后将其分解为0^、1略、?1、?2、1^、04了4、1^等字段,之后,查找4?01]指令攻击映射表中第1条指令索引值对应的APDUi,按照CLA、INS、P1、P2的顺序依次与APDUi中的CLA1、INSi,Pl1、P2i进行匹配,如果匹配失败,则说明智能卡系统未按照预定协议执行,则协议一致性验证失败,控制管理模块返回失败信息;如果匹配成功,则根据APDUi对应的攻击行为Attacki执行攻击,攻击行为Attacki包括指令修改、指令转发和指令拦截三种:
[0091]如果4?&^^为指令修改,则对收到的4?01],将其0^、1略、?1、?2、1^、04了4或1^字段的内容进行修改,并将新的APDU指令存储在指令缓存单元;
[0092]如果Attacki为指令转发,则不改变APDU指令内容,直接将其存储在指令缓存单元;
[0093]如果Attacki为指令拦截,则不向待测智能卡发送任何APDU指令。
[0094]之后,根据待测智能卡系统为接触式系统或非接触式系统,控制管理模块调用UART通道或SPI通道将指令缓存单元的信息发送至中间人攻击验证平台的接触式接口或非接触式接口,并最终发送给待测智能卡。
[0095]步骤5,待测智能卡根据收到的APDU指令,返回APDU响应并发送至中间人攻击验证
I 口 O
[0096]待测智能卡收到中间人攻击验证平台的APDU指令后,将根据指令内容进行指令处理,之后发送APDU响应至中间人攻击验证平台。
[0097]步骤6,中间人攻击验证平台收到步骤5的APDU响应后,对其进行分析,将该APDU响应与APDU响应攻击映射表进行匹配和修改,并将新的APDU响应转发给中间人攻击验证平台。
[0098]中间人攻击验证平台收到智能卡(接触式或非接触式)发送的APDU响应后,其控制管理模块将记录该APDU响应的顺序值i (i = I,2,…),并将该APDU响应进行存储,然后将其分解为DATA、SWl、SW2等字段,之后,查找APDU响应攻击映射表中第i条指令索引值对应的APDU_Ri,按照DATA,SWl,SW2的顺序依次与APDU_Ri中的DATA1、SWl1、SW2i进行匹配,如果匹配失败,则说明智能卡系统未按照预定协议执行,则协议一致性验证失败;如果匹配成功,则根据APDU_Ri对应的攻击行为Attack_Ri执行攻击,攻击行为Attack_Ri包括指令修改、指令转发和指令拦截三种:
[0099]如果Attack_Ri为响应修改,则对收到的APDU响应的DATA、SW1或SW2的字段进行修改,并将新的APDU响应存储在指令缓存单元。
[0100]如果Attack_Ri为响应转发,则不改变指令内容,直接将收到的APDU响应存储在指令缓存单元;
[0101]如果Attack_Ri为响应拦截,则将空信息存储在指令缓存单元,不向待测智能卡发送任何数据。
[0102]之后,根据待测智能卡系统为接触式系统或非接触式系统,控制管理模块调用UART通道或SPI通道将指令缓存单元的信息发送至中间人攻击验证平台的接触式接口或非接触式接口,并最终发送给待测智能卡。
[0103]步骤7,重复执行步骤4至步骤6,直至待测智能卡系统通信结束。
[0104]对于待测智能卡读卡器和智能卡之间传输的APDU指令和APDU响应,中间人攻击验证平台将根据指令攻击映射表和响应攻击映射表,对APDU指令和APDU响应执行修改、转发或拦截行为,直至待测智能卡系统所有通信过程结束。
[0105]步骤8,通信结束后,测试人员通过分析中间人攻击验证平台存储的APDU指令和APDU响应,查看智能卡系统中读卡器或智能卡内部数据和状态,判断是否达到预期的攻击效果,从而确认待测智能卡系统是否存在中间人攻击。
[0106]待测智能卡系统通信结束后,测试人员分析中间人攻击验证平台存储的APDU指令和APDU响应,查看待测智能卡系统中读卡器或智能卡内部数据和状态,例如,APDU指令或APDU响应中的PIN码是否为明文,智能卡敏感数据是否被获取,待测智能卡文件系统的访问控制规则是否被旁路,普通用户是否非法获得管理员权限,待测智能卡内部鉴别或外部鉴别过程是否被绕过等等。如果存在这些问题,则中间人攻击成功,说明待测智能卡系统存在上述安全漏洞;否则,则中间人攻击失败,说明待测智能卡系统不存在上述安全漏洞。
[0107]采用了该发明中的智能卡系统中间人攻击验证平台及测试方法,具有如下有益效果:
[0108](I)本发明由于能够监听并存储待测智能卡系统读卡器和智能卡之间的通信数据,因此能够验证智能卡系统设计方案与实际运行过程的一致性,保证安全测评结果的真实性和有效性;
[0109](2)本发明由于能够按照预定义中间人攻击程序修改、转发或拦截读卡器和智能卡之间通信数据,从而发起中间人攻击,并进行攻击效果展示,因此评估结果更具说服力和权威性;
[0110](3)本发明由于需要实际执行中间攻击,因此能够有效且准确地量化实现中间人攻击所耗费的成本,包括测试人员的经验、搭建测试环境需要的硬件和软件、编程和测试需要的时间等,因而能够准确评估智能卡系统抵御中间人攻击的能力,从而确认待测智能卡系统的安全强度。
[0111]在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
【主权项】
1.一种智能卡系统中间人攻击验证平台,其特征在于,所述的验证平台一端与智能卡进行通信,另一端与读卡器进行通信,所述的验证平台内设置有控制管理模块,所述的控制管理模块用以加载攻击测试程序,对读卡器和智能卡发送的指令和响应进行存储和处理。2.根据权利要求1所述的智能卡系统中间人攻击验证平台,其特征在于,所述的验证平台还设置有USB接口,所述的控制管理模块通过所述的USB接口接收外部的预定义的测试程序。3.根据权利要求1所述的智能卡系统中间人攻击验证平台,其特征在于,所述的智能卡系统为接触式智能卡系统,所述的验证平台一端通过读卡器卡槽触点与接触式智能卡相连接,另一端通过符合IS07816标准的智能卡触点与接触式读卡器相连接。4.根据权利要求3所述的智能卡系统中间人攻击验证平台,其特征在于,所述的读卡器卡槽触点和智能卡触点均符合IS07816标准,所述的读卡器卡槽触点和智能卡触点分别通过UART接口与控制管理模块进行通信。5.根据权利要求1所述的智能卡系统中间人攻击验证平台,其特征在于,所述的智能卡系统为非接触式智能卡系统,所述的验证平台一端通过智能卡射频模块与非接触式智能卡进行通信,另一端通过读卡器射频模块与非接触式读卡器进行通信。6.根据权利要求5所述的智能卡系统中间人攻击验证平台,其特征在于,所述的读卡器射频模块和智能卡射频模块均支持IS014443协议,所述的读卡器射频模块通过读卡器天线与非接触式读卡器进行通信,通过SPI接口与控制管理模块进行通信,所述的智能卡射频模块通过智能卡天线与非接触式智能卡进行通信,通过SPI接口与控制管理模块进行通信。7.根据权利要求6所述的智能卡系统中间人攻击验证平台,其特征在于,所述的读卡器天线和智能卡天线均为PCB环型天线。8.—种基于权利要求1至7中任一项所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的方法包括以下步骤: (1)验证平台接收读卡器发送的指令,并存储至控制管理模块; (2)控制管理模块根据预加载的测试程序,对读卡器发送的指令进行处理; (3)验证平台将处理后的新指令发送至智能卡; (4)验证平台接收智能卡返回的响应,并存储至控制管理模块; (5)控制管理模块根据预加载的测试程序,对智能卡发送的响应进行处理; (6)验证平台将处理后的新指令发送至读卡器; (7)判断读卡器和智能卡之间的通信是否结束,如果是,则继续步骤(8),否则继续步骤(I); (8)根据控制管理模块存储的指令和响应判断中间人是否成功。9.根据权利要求8所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的验证平台还设置有USB接口,所述的步骤(I)之前,还包括以下步骤: (O)控制管理模块通过USB接口接收外部的预定义的测试程序。10.根据权利要求8所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的步骤(2),包括以下步骤: (2-1)控制管理模块对读卡器发送的指令进行解析,将其与预加载的测试程序中的指令攻击映射表进行匹配,如果匹配失败,则继续步骤(2-2),如果匹配成功则继续步骤(2-3); (2-2)智能卡系统的协议一致性验证失败,返回错误并结束退出; (2-3)根据指令攻击映射表中匹配的攻击行为,对读卡器发送的指令进行修改、转发或拦截。11.根据权利要求10所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的步骤(5),包括以下步骤: (5-1)控制管理模块对读卡器发送的指令进行解析,将其与预加载的测试程序中的响应攻击映射表进行匹配,如果匹配失败,则继续步骤(5-2),如果匹配成功则继续步骤(5-3); (5-2)智能卡系统的协议一致性验证失败,返回错误并结束退出; (5-3)根据响应攻击映射表中匹配的攻击行为,对智能卡发送的响应进行修改、转发或拦截。
【文档编号】G06F21/57GK106021117SQ201610398384
【公开日】2016年10月12日
【申请日】2016年6月7日
【发明人】杨元原, 张笑笑, 陆臻, 顾健
【申请人】公安部第三研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1