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

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

Info

Publication number
CN106021117B
CN106021117B CN201610398384.6A CN201610398384A CN106021117B CN 106021117 B CN106021117 B CN 106021117B CN 201610398384 A CN201610398384 A CN 201610398384A CN 106021117 B CN106021117 B CN 106021117B
Authority
CN
China
Prior art keywords
smart card
attack
verification platform
card
management module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610398384.6A
Other languages
English (en)
Other versions
CN106021117A (zh
Inventor
杨元原
张笑笑
陆臻
顾健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Third Research Institute of the Ministry of Public Security
Original Assignee
Third Research Institute of the Ministry of Public Security
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Third Research Institute of the Ministry of Public Security filed Critical Third Research Institute of the Ministry of Public Security
Priority to CN201610398384.6A priority Critical patent/CN106021117B/zh
Publication of CN106021117A publication Critical patent/CN106021117A/zh
Application granted granted Critical
Publication of CN106021117B publication Critical patent/CN106021117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种智能卡系统中间人攻击验证平台及测试方法,其中验证平台包括所述的验证平台一端与智能卡进行通信,另一端与读卡器进行通信,所述的验证平台内设置有控制管理模块,所述的控制管理模块用以加载攻击测试程序,对读卡器和智能卡发送的指令和响应进行存储和处理。采用该种结构的智能卡系统中间人攻击验证平台及测试方法,能够验证智能卡系统设计方案与实际运行过程的一致性,保证安全测评结果的真实性和有效性;评估结果更具说服力和权威性;本发明由于需要实际执行中间攻击,因此能够有效且准确地量化实现中间人攻击所耗费的成本,因而能够准确评估智能卡系统抵御中间人攻击的能力,从而确认待测智能卡系统的安全强度。

Description

智能卡系统中间人攻击验证平台及测试方法
技术领域
本发明涉及信息安全技术领域,尤其涉及智能卡系统的安全性测试和验证,具体是指一种智能卡系统中间人攻击验证平台及测试方法。
背景技术
智能卡系统通常由智能卡和读卡器(包括后台)两部分组成。智能卡系统可以分为接触式智能卡系统和非接触式智能卡系统。
典型的接触式智能卡系统如银行的芯片卡、SIM卡;典型的非接触式智能卡系统如公交卡。接触式智能卡与读卡器通过智能卡的触点进行通信;非接触式智能卡通过无线射频进行通信。智能卡通信是主从式,读卡器发送APDU命令,智能卡发送APDU响应。所有通信都由读卡器发起,智能卡只是被动的响应。
当前我国智能卡发行量巨大,动辄以数百万、千万甚至亿计,智能卡的应用已深入到人民生活的方方面面,智能卡已成为国家政治、经济、社会以及军事等各个部门不可分割的一部分,已成为关系到国计民生的重大课题。但是,由于智能卡应用环境的复杂性,使其本身面临着各种安全威胁。因此,在当前形势下,对智能卡的安全性进行全面、系统的测评,已经上升成为保障国家主权、国家安全、社会稳定、经济安全与发展和公民合法权益的核心问题,它不仅关系到人民财产安全,同时也是保护国家利益、促进产业发展的重要手段,已成为关系国家安全的战略课题。
当前国际上对智能卡系统的安全性测试主要是通过各种攻击方法,对智能卡进行渗透性测试,以检验智能卡系统的安全性。在渗透性测试中,中间人攻击是最重要的测试项目之一(参考《Application of Attack Potential to Smartcards》)。现有技术中的测试主要是理论分析,没有实际的测试工具。
在中间人攻击中,攻击者位于智能卡系统的读卡器和智能卡通信链路中间,通过监听读卡器与智能卡的通信数据,并对其进行修改、转发或拦截,以实现身份冒充、敏感信息窃取、核心数据篡改等目的,破坏智能卡系统安全性。因此,对智能卡系统进行中间人攻击测试非常重要。
然而,由于当前缺乏实用的中间人攻击测试和验证平台,测评机构只能针对待测智能卡系统的数据传输流程,从理论上评估该系统是否存在中间人攻击。虽然理论分析能够发现潜在的中间人攻击,从一定程度上确认系统的安全性,但如果仅使用理论分析,而不进行实际的测试验证,将会存在以下问题:
(1)由于理论分析仅针对设计方案,不能保证该方案与智能卡系统实际交互数据的一致性。因此,即使设计方案中未发现中间人攻击,也不能保证待测智能卡系统不存在中间人攻击;
(2)由于理论分析并不对智能卡系统进行实际的测试和验证,因此不能有效且准确地量化攻击成本,包括搭建测试环境需要的硬件和软件、编程和测试需要的时间等,因此无法准确评估智能卡系统的抗攻击能力,即待测智能卡系统能否抵御低级、中级或高级别中间人攻击,从而无法确认智能卡系统的安全强度。
发明内容
本发明的目的是克服上述现有技术的缺点,针对当前智能卡系统安全性测试过程中,没有中间人攻击测试及验证工具的问题,提出了一种智能卡系统中间人攻击验证平台及测试方法,以实现智能卡系统的中间人攻击的测试、验证及展示,从而确认待测智能卡系统的抗中间人攻击能力,最终评估智能卡系统的安全性。
为了实现上述目的,本发明具有如下构成:
该智能卡系统中间人攻击验证平台,其主要特点是,所述的验证平台一端与智能卡进行通信,另一端与读卡器进行通信,所述的验证平台内设置有控制管理模块,所述的控制管理模块用以加载攻击测试程序,对读卡器和智能卡发送的指令和响应进行存储和处理。
较佳地,所述的验证平台还设置有USB接口,所述的控制管理模块通过所述的USB接口接收外部的预定义的测试程序。
较佳地,所述的智能卡系统为接触式智能卡系统,所述的验证平台一端通过读卡器卡槽触点与接触式智能卡相连接,另一端通过符合ISO7816标准的智能卡触点与接触式读卡器相连接。
更佳地,所述的读卡器卡槽触点和智能卡触点均符合ISO7816标准,所述的读卡器卡槽触点和智能卡触点分别通过UART接口与控制管理模块进行通信。
较佳地,所述的智能卡系统为非接触式智能卡系统,所述的验证平台一端通过智能卡射频模块与非接触式智能卡进行通信,另一端通过读卡器射频模块与非接触式读卡器进行通信。
更佳地,所述的读卡器射频模块和智能卡射频模块均支持ISO14443协议,所述的读卡器射频模块通过读卡器天线与非接触式读卡器进行通信,通过SPI接口与控制管理模块进行通信,所述的智能卡射频模块通过智能卡天线与非接触式智能卡进行通信,通过SPI接口与控制管理模块进行通信。
更进一步地,所述的读卡器天线和智能卡天线均为PCB环型天线。
本发明还涉及一种基于所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的方法包括以下步骤:
(1)验证平台接收读卡器发送的指令,并存储至控制管理模块;
(2)控制管理模块根据预加载的测试程序,对读卡器发送的指令进行处理;
(3)验证平台将处理后的新指令发送至智能卡;
(4)验证平台接收智能卡返回的响应,并存储至控制管理模块;
(5)控制管理模块根据预加载的测试程序,对智能卡发送的响应进行处理;
(6)验证平台将处理后的新指令发送至读卡器;
(7)判断读卡器和智能卡之间的通信是否结束,如果是,则继续步骤(8),否则继续步骤(1);
(8)根据控制管理模块存储的指令和响应判断中间人是否成功。
较佳地,所述的验证平台还设置有USB接口,所述的步骤(1)之前,还包括以下步骤:
(0)控制管理模块通过USB接口接收外部的预定义的测试程序。
较佳地,所述的步骤(2),包括以下步骤:
(2-1)控制管理模块对读卡器发送的指令进行解析,将其与预加载的测试程序中的指令攻击映射表进行匹配,如果匹配失败,则继续步骤(2-2),如果匹配成功则继续步骤(2-3);
(2-2)智能卡系统的协议一致性验证失败,返回错误并结束退出;
(2-3)根据指令攻击映射表中匹配的攻击行为,对读卡器发送的指令进行修改、转发或拦截。
更佳地,所述的步骤(5),包括以下步骤:
(5-1)控制管理模块对读卡器发送的指令进行解析,将其与预加载的测试程序中的响应攻击映射表进行匹配,如果匹配失败,则继续步骤(5-2),如果匹配成功则继续步骤(5-3);
(5-2)智能卡系统的协议一致性验证失败,返回错误并结束退出;
(5-3)根据响应攻击映射表中匹配的攻击行为,对智能卡发送的响应进行修改、转发或拦截。
采用了该发明中的智能卡系统中间人攻击验证平台及测试方法,具有如下有益效果:
(1)本发明由于能够监听并存储待测智能卡系统读卡器和智能卡之间的通信数据,因此能够验证智能卡系统设计方案与实际运行过程的一致性,保证安全测评结果的真实性和有效性;
(2)本发明由于能够按照预定义中间人攻击程序修改、转发或拦截读卡器和智能卡之间通信数据,从而发起中间人攻击,并进行攻击效果展示,因此评估结果更具说服力和权威性;
(3)本发明由于需要实际执行中间攻击,因此能够有效且准确地量化实现中间人攻击所耗费的成本,包括测试人员的经验、搭建测试环境需要的硬件和软件、编程和测试需要的时间等,因而能够准确评估智能卡系统抵御中间人攻击的能力,从而确认待测智能卡系统的安全强度。
附图说明
图1为本发明的智能卡系统中间人攻击验证平台的结构示意图。
图2为本发明的APDU指令攻击映射表框图;
图3为本发明的APDU响应攻击映射表框图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明提供了一种智能卡系统中间人攻击验证平台及测试方法,它属于信息安全技术领域。其智能卡系统中间人攻击验证平台包括:读卡器卡槽,用于连接待测接触式智能卡;智能卡触点,用于连接待测接触式读卡器;读卡器射频模块,用于与待测非接触式智能卡通信;智能卡射频模块,用于与待测非接触式读卡器通信;读卡器天线,用于连接待测非接触式智能卡;智能卡天线,用于连接待测非接触式智能卡;控制管理模块,用于对待测智能卡系统读卡器发送的APDU指令和智能卡发送的APDU响应进行存储、解析和处理;USB接口模块,用于与控制管理模块进行数据传输。在测试过程中,智能卡系统中间人攻击验证平台串接在待测智能卡系统的读卡器和智能卡之间,通过监听、存储、分析待测智能卡系统的读卡器和智能卡之间传输的APDU指令和APDU响应,并根据预定义攻击程序对APDU指令和APDU响应进行修改、转发或拦截,从而达到窃取敏感信息、非法访问非授权信息等目的,实现中间人攻击。本发明能够对待测智能卡进行协议一致性检测,能够进行中间人攻击的验证和展示,并且可以量化中间人攻击的成本,因此能够评估智能卡系统抵御中间人攻击的能力,确认待测智能卡系统的安全强度。
因此,实现本发明目的技术方案是:将中间人攻击验证平台串接在待测智能卡系统的读卡器(接触式或非接触式)和智能卡(接触式或非接触式)之间,通过中间人攻击验证平台监听、修改、转发或拦截读卡器和智能卡之间传输的APDU指令或APDU响应,发起中间人攻击,从而对待测智能卡系统进行中间人攻击的测试和验证。
具体而言,在对接触式智能卡系统进行中间人攻击测试时,将待测接触式智能卡插入中间人攻击验证平台的读卡器卡槽,将读卡器触点插入待测接触式读卡器中,使用上位机通过USB接口将预定义的测试程序加载至控制管理模块,完成接触式智能卡系统测试环境的搭建。
在对非接触式智能卡系统进行中间人攻击测试时,将待测非接触式智能卡放在中间人攻击验证平台的读卡器天线之上,将中间人攻击验证平台智能卡天线放在待测接触式读卡器之上中,使用上位机通过USB口将预定义中间人攻击程序加载至控制管理模块,完成非接触式智能卡系统测试环境的搭建。
在测试过程中,通过中间人攻击验证平台监听待测读卡器与待测智能卡之间的APDU指令和APDU响应,并根据控制管理模块中存储的预定义中间人攻击程序对APDU指令和APDU响应进行修改、转发或拦截。程序执行结束后,通过检查待测智能卡或待测读卡器的状态信息,判断是否达到预期攻击效果。
智能卡系统中间人攻击验证平台包括:
(1)用于连接接触式智能卡的读卡器卡槽;
(2)用于连接接触式读卡器的智能卡触点;
(3)用于与非接触式智能卡通信的读卡器射频模块;
(4)用于与非接触式读卡器通信的智能卡射频模块;
(5)用于连接非接触式智能卡的读卡器天线;
(6)用于连接非接触式读卡器的智能卡天线;
(7)用于对控制管理模块进行编程的USB接口模块;
(8)用于智能卡系统APDU指令/APDU响应解析和信息处理、接触式和非接触式通信模式切换的控制管理模块。
在一种较佳的实施方式中,所述的智能卡系统为接触式智能卡系统,读卡器卡槽触点符合ISO 7816标准,通过接触式接口与待测接触式智能卡连接,能够将智能卡的APDU响应通过UART接口传输至控制管理模块,同时也能够将控制管理模块的APDU指令传输给待测接触式智能卡。
对应地,智能卡触点符合ISO7816标准,通过触点与待测接触式读卡器连接,能够将读卡器发送的APDU指令通过UART接口传输至控制管理模块,同时也能够将控制管理模块的APDU响应传递给待测接触式读卡器。
在一种较佳的实施方式中,所述的智能卡系统为非接触式智能卡系统,读卡器射频模块支持ISO14443协议,能够通过SPI接口将控制管理模块的APDU指令进行调制,并传递给读卡器天线;也能够将读卡器天线收到的信息进行解调为APDU响应,传递给控制管理模块。
对应地,智能卡射频模块支持ISO14443协议,通过SPI接口将控制管理模块的APDU指令进行调制,并传递给智能卡天线;或者将智能卡天线接收到的信号解调转换为APDU响应,传递给控制管理模块。
在一种较佳的实施方式中,读卡器天线采用PCB环型天线,能够通过无线信道接收待测非接触式智能卡发送的载波信号,并传递给读卡器射频模块进行解调;也能够将读卡器射频模块发送的信号通过无线信道发送给待测非接触式智能卡。
对应地,智能卡天线采用PCB环型天线,能够通过无线信道接收待测非接触式智能卡发送的载波信号,并传递给智能卡射频模块进行解调;也能够将智能卡射频模块发送的信号通过无线信道发送给待测非接触式读卡器。
在一种较佳的实施方式中,USB接口具备传输端口,能够连接上位机为控制管理模块加载预定义中间人攻击程序。
在一种较佳的实施方式中,控制管理模块具备UART接口、SPI接口和USB接口,能够加载预定义中间人攻击程序,并根据预定义中间人攻击程序对待测读卡器和待测智能卡之间传输的APDU指令和APDU响应进行存储、分析、修改、转发或拦截等处理。
通过采用上述的验证平台,本发明的智能卡系统中间人攻击测试方法包括:
(1)通过上位机,使用USB接口向控制管理模块加载预定义的中间人攻击验证程序,根据待测智能卡系统的通信方式,设置其为接触式工作模式或非接触式工作模式;
(2)在接触式工作模式下,通过智能卡触点接收待测智能卡系统接触式读卡器发送的APDU指令,并将其存储在控制管理模块;在非接触式工作模式下,通过智能卡天线接收待测智能卡系统非接触式读卡器发送的APDU指令,并将其存储在控制管理模块;
(3)控制管理模块对收到的APDU指令进行分析,并与其中的APDU指令攻击映射表进行匹配,如果匹配失败,则协议一致性验证失败,并返回错误;如果匹配成功,则根据APDU指令攻击映射表中对应的攻击行为,对接收到的APDU指令进行修改、转发或拦截,并将新的APDU指令发送给中间人攻击验证平台;
(4)待测接触式或非接触式智能卡收到APDU指令后,将返回APDU响应给中间人攻击验证平台;
(5)在接触式工作模式下,控制管理模块通过智能卡卡槽接收待测接触式智能卡发送的APDU响应,并将其存储在控制管理模块;在非接触式工作模式下,控制管理模块通过读卡器射频模块和读卡器天线接收待测非接触式智能卡发送的APDU响应,并将其存储在控制管理模块;
(6)控制管理模块对收到的APDU响应进行分析,并与其中的APDU响应攻击映射表进行匹配,如果匹配失败,则协议一致性验证失败,控制管理模块返回错误信息;如果匹配成功,则根据APDU响应攻击映射表中对应的攻击行为,对接收到的APDU响应进行修改、转发或拦截,并将新的APDU响应发送给中间人攻击验证平台;
(7)控制管理模块根据APDU指令攻击映射表和APDU响应攻击映射表对待测读卡器和智能卡之间传输的所有APDU指令和APDU响应进行修改、转发或拦截,直至待测读卡器和待测智能卡的通信结束;
(8)测试人员分析中间人攻击验证平台存储的APDU指令和APDU响应,查看待测智能卡系统中读卡器或智能卡内部数据和状态,验证中间人攻击是否成功。
本发明中,智能卡系统中间人攻击验证平台能够对待测智能卡系统进行中间人攻击测试和验证,同时能够检验协议的一致性。智能卡系统中间人攻击验证平台包括读卡器卡槽、智能卡触点、读卡器射频模块、智能卡射频模块、读卡器天线、智能卡天线、USB接口模块和控制管理模块。
参照图1,本发明测试的步骤如下:
步骤1,将智能卡中间人攻击验证平台的USB接口与上位机的USB接口连接。
使用USB数据线连接智能卡中间人攻击验证平台的USB接口与上位机的USB接口,USB接口符合USB 2.0协议。
步骤2,通过USB接口,使用上位机将预定义中间人攻击程序加载至智能卡中间人攻击验证平台的控制管理模块。
上位机USB底层驱动使用WinDriver提供的USB驱动函数库设计,实现了USB的连接和通信功能。测试人员在测试之前,首先对待测智能卡系统通信过程进行分析,根据待测智能卡系统可能存在的中间人攻击,使用C语言编写中间人攻击程序,并通过USB接口将该程序加载至中间人攻击验证平台的控制管理模块中。中间人攻击程序主要用于窃听和存储待测智能卡系统传输的APDU指令和APDU响应,并对窃听到的APDU指令或APDU响应进行分析,将其与中间人攻击程序中的APDU指令攻击映射表和APDU响应攻击映射表进行匹配,根据映射规则执行修改、转发或拦截等攻击行为。
步骤3,将待测智能卡系统与中间人攻击验证平台连接。
本发明既可与接触式智能卡系统进行连接,也可与非接触式智能卡系统进行连接,以实现对接触式智能卡系统或非接触式智能卡系统的中间人攻击测试:
(1)在对接触式智能卡系统进行中间人攻击测试时,将待测接触式智能卡插入中间人攻击验证平台的读卡器卡槽中,同时,将中间人攻击验证平台的智能卡触点插入待测接触式读卡器中,完成与待测接触式智能卡系统的连接。其中,智能卡触点位置符合ISO7816协议要求。
(2)在对非触式智能卡系统进行中间人攻击测试时,将待测非接触式智能卡放入中间人攻击验证平台的读卡器天线的场强范围内,同时,将中间人攻击验证平台的智能卡天线放入待测非接触式读卡器的场强范围内,完成与待测非接触式智能卡系统的连接。中间人攻击验证平台的智能卡天线和读卡器天线由微带天线与匹配电阻相互连接而成,用于发射和接收信号,发射或接收的射频信号频率为13.56MHZ。通信符合ISO 14443标准。
步骤4,待测智能卡系统的读卡器发送APDU指令至中间人攻击验证平台。
待测智能卡系统(接触式或非接触式)与中间人攻击验证平台连接成功后,测试人员启动待测智能卡系统,之后,待测智能卡系统的读卡器将发送APDU指令至中间人攻击验证平台,并等待待测智能卡返回的APDU响应。
步骤5,中间人攻击验证平台收到步骤4的APDU指令后,对其进行分析,将该APDU与APDU指令攻击映射表进行匹配和修改,将新的APDU指令转发给待测智能卡。
中间人攻击验证平台收到待测读卡器(接触式或非接触式)发送的APDU指令,之后,其控制管理模块将记录该APDU指令的顺序值i(i=1,2,…),并将该APDU指令进行存储,然后将其分解为CLA、INS、P1、P2、Lc、DATA、Le等字段,之后,查找APDU指令攻击映射表中第i条指令索引值对应的APDUi,按照CLA、INS、P1、P2的顺序依次与APDUi中的CLAi、INSi、P1i、P2i进行匹配,如果匹配失败,则说明智能卡系统未按照预定协议执行,则协议一致性验证失败,控制管理模块返回失败信息;如果匹配成功,则根据APDUi对应的攻击行为Attacki执行攻击,攻击行为Attacki包括指令修改、指令转发和指令拦截三种:
如果Attacki为指令修改,则对收到的APDU,将其CLA、INS、P1、P2、Lc、DATA或Le字段的内容进行修改,并将新的APDU指令存储在指令缓存单元;
如果Attacki为指令转发,则不改变APDU指令内容,直接将其存储在指令缓存单元;
如果Attacki为指令拦截,则不向待测智能卡发送任何APDU指令。
之后,根据待测智能卡系统为接触式系统或非接触式系统,控制管理模块调用UART通道或SPI通道将指令缓存单元的信息发送至中间人攻击验证平台的接触式接口或非接触式接口,并最终发送给待测智能卡。
步骤5,待测智能卡根据收到的APDU指令,返回APDU响应并发送至中间人攻击验证平台。
待测智能卡收到中间人攻击验证平台的APDU指令后,将根据指令内容进行指令处理,之后发送APDU响应至中间人攻击验证平台。
步骤6,中间人攻击验证平台收到步骤5的APDU响应后,对其进行分析,将该APDU响应与APDU响应攻击映射表进行匹配和修改,并将新的APDU响应转发给中间人攻击验证平台。
中间人攻击验证平台收到智能卡(接触式或非接触式)发送的APDU响应后,其控制管理模块将记录该APDU响应的顺序值i(i=1,2,…),并将该APDU响应进行存储,然后将其分解为DATA、SW1、SW2等字段,之后,查找APDU响应攻击映射表中第i条指令索引值对应的APDU_Ri,按照DATA,SW1,SW2的顺序依次与APDU_Ri中的DATAi、SW1i、SW2i进行匹配,如果匹配失败,则说明智能卡系统未按照预定协议执行,则协议一致性验证失败;如果匹配成功,则根据APDU_Ri对应的攻击行为Attack_Ri执行攻击,攻击行为Attack_Ri包括指令修改、指令转发和指令拦截三种:
如果Attack_Ri为响应修改,则对收到的APDU响应的DATA、SW1或SW2的字段进行修改,并将新的APDU响应存储在指令缓存单元。
如果Attack_Ri为响应转发,则不改变指令内容,直接将收到的APDU响应存储在指令缓存单元;
如果Attack_Ri为响应拦截,则将空信息存储在指令缓存单元,不向待测智能卡发送任何数据。
之后,根据待测智能卡系统为接触式系统或非接触式系统,控制管理模块调用UART通道或SPI通道将指令缓存单元的信息发送至中间人攻击验证平台的接触式接口或非接触式接口,并最终发送给待测智能卡。
步骤7,重复执行步骤4至步骤6,直至待测智能卡系统通信结束。
对于待测智能卡读卡器和智能卡之间传输的APDU指令和APDU响应,中间人攻击验证平台将根据指令攻击映射表和响应攻击映射表,对APDU指令和APDU响应执行修改、转发或拦截行为,直至待测智能卡系统所有通信过程结束。
步骤8,通信结束后,测试人员通过分析中间人攻击验证平台存储的APDU指令和APDU响应,查看智能卡系统中读卡器或智能卡内部数据和状态,判断是否达到预期的攻击效果,从而确认待测智能卡系统是否存在中间人攻击。
待测智能卡系统通信结束后,测试人员分析中间人攻击验证平台存储的APDU指令和APDU响应,查看待测智能卡系统中读卡器或智能卡内部数据和状态,例如,APDU指令或APDU响应中的PIN码是否为明文,智能卡敏感数据是否被获取,待测智能卡文件系统的访问控制规则是否被旁路,普通用户是否非法获得管理员权限,待测智能卡内部鉴别或外部鉴别过程是否被绕过等等。如果存在这些问题,则中间人攻击成功,说明待测智能卡系统存在上述安全漏洞;否则,则中间人攻击失败,说明待测智能卡系统不存在上述安全漏洞。
采用了该发明中的智能卡系统中间人攻击验证平台及测试方法,具有如下有益效果:
(1)本发明由于能够监听并存储待测智能卡系统读卡器和智能卡之间的通信数据,因此能够验证智能卡系统设计方案与实际运行过程的一致性,保证安全测评结果的真实性和有效性;
(2)本发明由于能够按照预定义中间人攻击程序修改、转发或拦截读卡器和智能卡之间通信数据,从而发起中间人攻击,并进行攻击效果展示,因此评估结果更具说服力和权威性;
(3)本发明由于需要实际执行中间攻击,因此能够有效且准确地量化实现中间人攻击所耗费的成本,包括测试人员的经验、搭建测试环境需要的硬件和软件、编程和测试需要的时间等,因而能够准确评估智能卡系统抵御中间人攻击的能力,从而确认待测智能卡系统的安全强度。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (10)

1.一种智能卡系统中间人攻击验证平台,其特征在于,所述的验证平台一端与智能卡进行通信,另一端与读卡器进行通信,所述的验证平台监听并存储智能卡和读卡器之间的通信数据,所述的验证平台内设置有控制管理模块,所述的控制管理模块用以加载攻击测试程序,当控制管理模块收到读卡器发送的指令后,将其与预加载的攻击测试程序中的指令攻击映射表进行匹配,并根据匹配结果,对数据进行存储、修改、转发或拦截。
2.根据权利要求1所述的智能卡系统中间人攻击验证平台,其特征在于,所述的验证平台还设置有USB接口,所述的控制管理模块通过所述的USB接口接收外部的预定义的攻击测试程序。
3.根据权利要求1所述的智能卡系统中间人攻击验证平台,其特征在于,所述的智能卡系统为接触式智能卡系统,所述的验证平台一端通过读卡器卡槽触点与接触式智能卡相连接,另一端通过符合ISO7816标准的智能卡触点与接触式读卡器相连接。
4.根据权利要求3所述的智能卡系统中间人攻击验证平台,其特征在于,所述的读卡器卡槽触点和智能卡触点均符合ISO7816标准,所述的读卡器卡槽触点和智能卡触点分别通过UART接口与控制管理模块进行通信。
5.根据权利要求1所述的智能卡系统中间人攻击验证平台,其特征在于,所述的智能卡系统为非接触式智能卡系统,所述的验证平台一端通过智能卡射频模块与非接触式智能卡进行通信,另一端通过读卡器射频模块与非接触式读卡器进行通信。
6.根据权利要求5所述的智能卡系统中间人攻击验证平台,其特征在于,所述的读卡器射频模块和智能卡射频模块均支持ISO14443协议,所述的读卡器射频模块通过读卡器天线与非接触式读卡器进行通信,通过SPI接口与控制管理模块进行通信,所述的智能卡射频模块通过智能卡天线与非接触式智能卡进行通信,通过SPI接口与控制管理模块进行通信。
7.根据权利要求6所述的智能卡系统中间人攻击验证平台,其特征在于,所述的读卡器天线和智能卡天线均为PCB环型天线。
8.一种基于权利要求1至7中任一项所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的方法包括以下步骤:
(1)验证平台接收读卡器发送的指令,并存储至控制管理模块;
(2)控制管理模块根据预加载的攻击测试程序,对读卡器发送的指令进行处理;
(3)验证平台将处理后的新指令发送至智能卡;
(4)验证平台接收智能卡返回的响应,并存储至控制管理模块;
(5)控制管理模块根据预加载的攻击测试程序,对智能卡发送的响应进行处理;
(6)验证平台将处理后的新指令发送至读卡器;
(7)判断读卡器和智能卡之间的通信是否结束,如果是,则继续步骤(8),否则继续步骤(1);
(8)根据控制管理模块存储的指令和响应判断中间人是否成功;
所述的步骤(2),包括以下步骤:
(2-1)控制管理模块对读卡器发送的指令进行解析,将其与预加载的测试程序中的指令攻击映射表进行匹配,如果匹配失败,则继续步骤(2-2),如果匹配成功则继续步骤(2-3);
(2-2)智能卡系统的协议一致性验证失败,返回错误并结束退出;
(2-3)根据指令攻击映射表中匹配的攻击行为,对读卡器发送的指令进行修改、转发或拦截。
9.根据权利要求8所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的验证平台还设置有USB接口,所述的步骤(1)之前,还包括以下步骤:
(0)控制管理模块通过USB接口接收外部的预定义的攻击测试程序。
10.根据权利要求8所述的验证平台的智能卡系统中间人攻击测试方法,其特征在于,所述的步骤(5),包括以下步骤:
(5-1)控制管理模块对读卡器发送的指令进行解析,将其与预加载的攻击测试程序中的响应攻击映射表进行匹配,如果匹配失败,则继续步骤(5-2),如果匹配成功则继续步骤(5-3);
(5-2)智能卡系统的协议一致性验证失败,返回错误并结束退出;
(5-3)根据响应攻击映射表中匹配的攻击行为,对智能卡发送的响应进行修改、转发或拦截。
CN201610398384.6A 2016-06-07 2016-06-07 智能卡系统中间人攻击验证平台及测试方法 Active CN106021117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610398384.6A CN106021117B (zh) 2016-06-07 2016-06-07 智能卡系统中间人攻击验证平台及测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610398384.6A CN106021117B (zh) 2016-06-07 2016-06-07 智能卡系统中间人攻击验证平台及测试方法

Publications (2)

Publication Number Publication Date
CN106021117A CN106021117A (zh) 2016-10-12
CN106021117B true CN106021117B (zh) 2018-11-20

Family

ID=57090789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610398384.6A Active CN106021117B (zh) 2016-06-07 2016-06-07 智能卡系统中间人攻击验证平台及测试方法

Country Status (1)

Country Link
CN (1) CN106021117B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108449229B (zh) * 2018-03-06 2020-10-27 数据通信科学技术研究所 一种并发测试系统和方法
CN109542699A (zh) * 2018-10-31 2019-03-29 北京中电华大电子设计有限责任公司 一种7816接口唤醒智能卡芯片Standby的验证方法
CN110705324B (zh) * 2019-09-12 2022-10-25 北京维普无限智能技术有限公司 一种防止非接触读卡器错误退出的方法
CN113010404A (zh) * 2019-12-20 2021-06-22 北京紫光青藤微系统有限公司 一种大容量智能卡的成品测试方法
CN115086072B (zh) * 2022-07-20 2022-12-16 紫光同芯微电子有限公司 一种智能卡攻击测试方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059657A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 이동통신단말기의 스마트카드 상태 점검 방법
CN102495797A (zh) * 2011-11-25 2012-06-13 大唐微电子技术有限公司 智能卡测试装置和测试方法
CN104869534A (zh) * 2015-05-22 2015-08-26 东信和平科技股份有限公司 一种基于手机应用远程检测智能卡的方法及系统
CN105068910A (zh) * 2015-08-13 2015-11-18 大唐微电子技术有限公司 一种智能卡的测试方法和装置
CN105335285A (zh) * 2014-08-13 2016-02-17 上海华虹集成电路有限责任公司 兼容多测试平台的双界面智能卡测试系统实现方法
CN105527508A (zh) * 2015-07-10 2016-04-27 北京中电华大电子设计有限责任公司 一种评估智能卡芯片cpu抗干扰能力的测试装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060059657A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 이동통신단말기의 스마트카드 상태 점검 방법
CN102495797A (zh) * 2011-11-25 2012-06-13 大唐微电子技术有限公司 智能卡测试装置和测试方法
CN105335285A (zh) * 2014-08-13 2016-02-17 上海华虹集成电路有限责任公司 兼容多测试平台的双界面智能卡测试系统实现方法
CN104869534A (zh) * 2015-05-22 2015-08-26 东信和平科技股份有限公司 一种基于手机应用远程检测智能卡的方法及系统
CN105527508A (zh) * 2015-07-10 2016-04-27 北京中电华大电子设计有限责任公司 一种评估智能卡芯片cpu抗干扰能力的测试装置及方法
CN105068910A (zh) * 2015-08-13 2015-11-18 大唐微电子技术有限公司 一种智能卡的测试方法和装置

Also Published As

Publication number Publication date
CN106021117A (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
CN106021117B (zh) 智能卡系统中间人攻击验证平台及测试方法
EP1755061B1 (en) Protection of non-promiscuous data in an RFID transponder
AU2006203517B2 (en) Using Promiscuous and Non-Promiscuous Data to Verify Card and Reader Identity
Guyot Smart card, the stealth leaker
US20090201133A1 (en) Method For Enhancing Anti-Cloning Protection of RFID Tags
CN103714295B (zh) 一种金融集成电路卡个人化数据的检测方法及系统
WO2009073745A1 (en) Method for enhancing anti-cloning protection of rfid tags
CN105324777A (zh) 装置及认证系统
CN103516517A (zh) 制作方法、rfid应答器、认证方法、和阅读器设备
CN104935548A (zh) 基于智能纹身设备的身份验证方法、装置及系统
CN108734828A (zh) 云门禁信息验证方法、终端及服务器
CN106056192B (zh) 一种具有防复制可验证功能的智能卡的验证方法及系统
KR20220083713A (ko) 악성 emv 거래 차단을 위한 시스템, 방법 및 컴퓨터에서 액세스할 수 있는 매체
CN109309916A (zh) 一种rfid数据传输与认证系统及方法
US9058551B2 (en) RFID tag and operating method thereof
Souvignet et al. Payment card forensic analysis: From concepts to desktop and mobile analysis tools
CN105894622A (zh) 门禁识别方法、装置、系统及终端
CN101751581A (zh) 一种射频识别设备标签数据欺骗威胁的测试系统及方法
Fraj et al. A global approach for the improvement of UHF RFID safety and security
Wang et al. Low-cost RFID: Security problems and solutions
EP2495690B1 (en) Transponder and method for monitoring access to application data in the transponder
Yan et al. Hardware-fingerprint Based Authentication for NFC Devices in Power Grids
CN100424714C (zh) 电子证件阅读设备
CN106446731A (zh) 一种读卡器装置真伪判别方法和读卡器装置
Suliman et al. RFID malware fragmentation attacks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant