CN107729196A - 智能卡断电测试方法 - Google Patents
智能卡断电测试方法 Download PDFInfo
- Publication number
- CN107729196A CN107729196A CN201710939390.2A CN201710939390A CN107729196A CN 107729196 A CN107729196 A CN 107729196A CN 201710939390 A CN201710939390 A CN 201710939390A CN 107729196 A CN107729196 A CN 107729196A
- Authority
- CN
- China
- Prior art keywords
- smart card
- data
- power
- instruction
- write
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种智能卡断电测试方法,包括:在智能卡与读写器执行交易的过程中,对更新记录指令的执行过程断电;在智能卡上电复位后,判断在本次交易中智能卡内记录数据是否更新;若否,则依次执行本次交易的各条指令,在执行写数据指令时,按照第一断电定时器设定的时间对写数据指令的执行过程断电;其中,在每次对写数据指令的执行过程断电后,循环执行如下过程:在智能卡再次上电复位,依次执行本次交易的各条指令,在执行数据恢复指令时,按照第二断电定时器设定的时间对数据恢复指令的执行过程断电,直至出现数据恢复指令执行成功则停止循环。本发明方法解决了现有的单指令断电测试无法检测在卡片执行数据恢复时断电保护机制是否正确的问题。
Description
技术领域
本发明涉及智能卡技术领域,特别是涉及一种智能卡断电测试方法。
背景技术
IC卡(Integrated Circuit Card)即集成电路卡,又称智能卡、微电路卡或者微芯片卡等,IC卡基于其固有的信息安全、便于携带、比较完善的标准化等优点,被广泛应用在银行、身份认证、电信、公共交通、车场管理等领域。
在IC卡应用中,不同的持卡人有着不同的刷卡习惯,经常会出现交易未完成IC卡已经离开了工作场强区域。对于非接触界面挥卡交易IC卡,是依靠芯片处于工作场强区域时产生感应电流来提供工作能量,因此在卡片离开工作场强区域时场强消失,会导致IC卡在交易中执行指令时意外断电。若该条指令涉及到在数据存储区写数据操作,断电恰好发生在写数据过程中,为了保证卡内数据完整性和安全性,在下笔交易时,卡片必须要将数据存储区内数据恢复到执行断电指令前状态;如果在数据恢复过程中,卡片再次断电,导致数据未完全恢复。卡片应当放弃本次恢复,在下下笔交易时,重新进行数据恢复。因此,为了检验卡片断电保护机制设计合理,就需要对智能卡进行二次断电测试。
传统的断电测试是单指令断电,仅能测试该条指令采取了断电保护机制,但在断电情况发生时,卡片在执行数据恢复过程中若卡片再次断电,很可能导致卡片数据恢复不完整,甚至出现恢复错误,而现有的单指令断电测试对这种卡片设计缺陷是无法检测的。
发明内容
鉴于此,本发明提供一种智能卡断电测试方法,解决了现有的单指令断电测试无法检测在卡片执行数据恢复时断电保护机制是否正确的问题。
为实现上述目的,本发明提供如下技术方案:
一种智能卡断电测试方法,包括:
在智能卡与读写器执行交易的过程中,对更新记录所在的写数据指令的执行过程断电;
在所述智能卡上电复位后,判断在本次交易中所述智能卡内记录数据是否更新;
若否,由所述智能卡依次执行本次交易的各条指令,并且在执行写数据指令时,按照第一断电定时器设定的时间对所述写数据指令的执行过程断电;
其中,在每次按照所述第一断电定时器设定的时间对所述写数据指令的执行过程断电后,循环执行如下过程:对所述智能卡再次上电复位,依次执行本次交易的各条指令,在执行数据恢复指令时,按照第二断电定时器设定的时间对所述数据恢复指令的执行过程断电,并检测所述数据恢复指令是否执行成功,直至出现数据恢复指令执行成功则停止循环。
可选地,所述在执行数据恢复指令时,按照第二断电定时器设定的时间对所述数据恢复指令的执行过程断电包括:
在所述读写器向所述智能卡发出数据恢复指令后,在到达所述第二断电定时器所设定的时刻时,对所述数据恢复指令的执行过程断电,所述第二断电定时器表示为T2=t2+(Δt2*j),其中t2表示断电起始时间点,Δt2表示断电步长,j表示对数据恢复指令的执行过程断电的次数,j从1开始取值且小于预设值,并在每次对数据恢复指令的执行过程断电后j的取值加一。
可选地,所述在执行写数据指令时,按照第一断电定时器设定的时间对所述写数据指令的执行过程断电包括:
在所述读写器向所述智能卡发出写数据指令后,在到达所述第一断电定时器所设定的时刻时,对所述写数据指令的执行过程断电,所述第一断电定时器表示为T1=t1+(Δt1*i),其中t1表示断电起始时间点,Δt1表示断电步长,i表示对写数据指令的执行过程断电的次数,i从1开始取值且小于预设值,并在每次对写数据指令的执行过程断电后i的取值加一;
所述方法还包括:若出现数据恢复指令执行成功,则再一次判断在本次交易中所述智能卡写数据指令所记录数据是否更新,并根据判断结果执行对应步骤。
可选地,还包括:预先获取所述智能卡在写数据指令执行过程中进行写数据的时间段,根据得到的该时间段设定所述第一断电定时器,使所述第一断电定时器所设定的时刻位于该时间段内。
可选地,获取写数据指令执行过程中进行写数据的时间段的方法包括:
在读写器与智能卡执行交易的过程中,监测所述智能卡的电流是否发生突增或者突增量是否达到设定值,根据监测结果,确定所述智能卡在写数据指令执行过程中进行写数据的时间段。
可选地,获取写数据指令执行过程中进行写数据的时间段的方法包括:
获取一次交易过程中执行写数据指令过程中进行写数据的开始时间点,从S0=0开始,i=1,循环执行以下步骤:
S40:在智能卡与读写器执行交易的过程中,在到达第三断电定时器所设定的时刻时,对写数据指令的执行过程断电,所述第三断电定时器表示为T3=S0+(Δt3*i),其中S0表示写数据指令开始执行时间点,Δt3表示断电步长;
S41:在所述智能卡上电复位,由所述智能卡与所述读写器执行完整交易后,统计数据恢复指令的执行时长R,判断R是否大于(R2’+设定值),其中R2’表示当写数据指令的执行过程中不发生断电的情况下所述数据恢复指令的执行时长;
若否,则进入步骤S42;
若是,则将所述第三断电定时器当前所设定的时刻作为执行写数据指令过程中执行写数据操作的开始时间点S1;
S42:设置i=i+1,若i小于预设值,循环进入步骤S40;
获取智能卡执行写数据指令过程中进行写数据的完成时间点,以S3为基准,i=1,循环执行以下步骤:
S50:在智能卡与读写器执行交易的过程中,在到达第四断电定时器所设定的时刻时,对所述写数据指令的执行过程断电,所述第四断电定时器表示为T4=S3-(Δt4*i)。其中S3表示写数据指令执行总时间,Δt4表示断电步长;
S51:在所述智能卡上电复位,由所述智能卡与所述读写器执行完整交易后,统计数据恢复指令的执行时长R,判断R是否大于(R2’+设定值),其中R2’表示当写数据指令的执行过程中不发生断电的情况下所述数据恢复指令的执行时长;
若否,则进入步骤S52;
若是,则将所述第四断电定时器当前所设定的时刻作为执行写数据指令过程中进行写数据操作的完成时间点S2;
S52:设置i=i+1,若i小于预设值,循环进入步骤S50。
可选地,还包括:
根据S1=S1-a*Δt3,对获得的执行写数据操作指令过程中进行写数据的开始时间点S1修正,其中a表示噪声补偿因子;
根据S2=S2+b*Δt4,对获得的执行写数据操作指令过程中进行写数据的完成时间点S2修正,其中b表示噪声补偿因子。
可选地,检测所述智能卡内数据恢复指令是否执行成功包括:
在所述数据恢复指令执行完成后,检测数据恢复标识的值是否为0,若是,则所述智能卡内记录数据恢复成功;若否,则所述智能卡内记录数据恢复失败;
在所述智能卡与所述读写器的一次交易中,在所述智能卡执行写数据指令过程中,在写数据操作前将所述数据恢复标识置为1,在写数据操作完成后,或在所述智能卡执行数据恢复指令成功后,所述数据恢复标识置为0。
可选地,所述判断在本次交易中所述智能卡内记录数据是否更新具体为:
判断本次交易中所述智能卡内记录数据是否为初始值或者为预期更新值;
若是初始值,则本次交易中所述智能卡内记录数据未更新;
若是预期更新值,则本次交易中所述智能卡写数据指令执行成功,所述智能卡内记录数据更新,结束测试;
若不是初始值且不是预期更新值,则返回错误提示,智能卡断电保护机制设计有缺陷。
可选地,所述智能卡与所述读写器执行一次完整交易的过程包括以下步骤:
S20:读写器上电启动,请求智能卡应答;
S21:读写器在接收到智能卡的响应后,读写器向智能卡依次发送指令1至指令r-1,智能卡依次执行指令1至指令r-1,并对应依次向读写器响应;
S22:读写器向智能卡发送指令r,指令r为数据恢复指令,并接收智能卡的响应;
S23:读写器向智能卡依次发送指令r+1至指令t-1,智能卡依次执行指令r+1至指令t-1,并向读写器依次响应;
S24:读写器向智能卡发送指令t,指令t为写数据指令,而后接收智能卡的响应;
S25:读写器向智能卡依次发送指令t+1至指令n,智能卡依次执行指令t+1至指令n,并向读写器依次响应。
由上述技术方案可知,本发明所提供的智能卡断电测试方法,在智能卡与读写器执行交易的过程中,对更新记录所在的写数据指令的执行过程断电,在智能卡上电复位后,判断在本次交易中智能卡内记录数据是否更新,若否,则由智能卡依次执行本次交易的各条指令,并且在执行写数据指令时,按照第一断电定时器设定的时间对写数据指令的执行过程断电;其中,在每次按照第一断电定时器设定的时间对写数据指令的执行过程断电后,循环执行如下过程:对智能卡再次上电复位,依次执行本次交易的各条指令,在执行数据恢复指令时,按照第二断电定时器设定的时间对数据恢复指令的执行过程断电,直至出现数据恢复指令执行成功则停止循环。
本发明智能卡断电测试方法,包括了对智能卡写数据指令执行过程中的断电测试以及在数据恢复指令执行过程中的断电测试,测试覆盖全面,解决了现有的单指令断电测试无法检测在卡片执行数据恢复时断电保护机制是否正确的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种智能卡断电测试方法的流程图;
图2为本发明实施例中智能卡与读写器进行一次完整交易的流程图;
图3为本发明又一实施例提供的一种智能卡断电测试方法的流程图;
图4为智能卡执行写数据指令过程的耗时分布图;
图5为智能卡在上笔交易中执行写数据指令过程中发生断电,本次交易中执行数据恢复指令时需执行数据恢复的耗时分布图;
图6为智能卡在执行数据恢复指令时不执行数据恢复的耗时分布图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参考图1,本发明实施例提供的一种智能卡断电测试方法,包括以下步骤:
S10:在智能卡与读写器执行交易的过程中,对更新记录所在的写数据指令的执行过程断电。
S11:在所述智能卡上电复位后,判断在本次交易中所述智能卡内记录数据是否更新,若是,则结束测试;若否,则进入步骤S12。
S12:由所述智能卡依次执行本次交易的各条指令,并且在执行写数据指令时,按照第一断电定时器设定的时间对所述写数据指令的执行过程断电。
本步骤中对智能卡与读写器的交易过程中,对写数据指令的执行过程断电,进行测试。
在每次按照第一断电定时器设定的时间对写数据指令的执行过程断电后,循环执行如下步骤:
S13:对所述智能卡再次上电复位,依次执行本次交易的各条指令,在执行数据恢复指令时,按照第二断电定时器设定的时间对所述数据恢复指令的执行过程断电,并检测所述数据恢复指令是否执行成功。
直至出现数据恢复指令执行成功则停止循环。本步骤中,对智能卡在第一次断电并再次上电复位后,对数据恢复指令的执行过程断电,对数据恢复过程进行断电测试。
可以看出,本实施例智能卡断电测试方法,包括了对智能卡写数据指令执行过程中的断电测试以及在数据恢复指令执行过程中的断电测试,测试覆盖全面,解决了现有的单指令断电测试无法检测在卡片执行数据恢复时断电保护机制是否正确的问题。
下面结合具体实施方式对本实施例智能卡断电测试方法进行详细说明。
首先说明的是,智能卡与读写器进行一次完整的交易流程,过程包括:读写器向智能卡依次发送本次交易的各条指令,智能卡在接收到指令后,执行指令并向读写器发送响应数据。其中,在本次交易的各条指令中包括数据恢复指令,数据恢复指令为由于上笔交易执行写数据指令过程中读写器断电所导致的智能卡内记录数据需要执行恢复所在的指令,智能卡在接收到读写器发送的数据恢复指令时,检查智能卡与读写器在执行上笔交易过程中是否存在向智能卡内写数据时断电的情况,来决定是否执行数据恢复,若存在则进行数据恢复;若不存在则不进行数据恢复。
请参考图2,智能卡与读写器进行一次完整的交易流程具体包括以下过程:
S20:读写器上电启动,请求智能卡应答。
S21:读写器在接收到智能卡的响应后,读写器向智能卡依次发送指令1至指令r-1,智能卡依次执行指令1至指令r-1,并对应依次向读写器响应。
S22:读写器向智能卡发送指令r,指令r为数据恢复指令。并接收智能卡的响应。
数据恢复指令是指由于上笔交易执行写数据指令过程中读写器断电所导致的智能卡内记录数据需要执行恢复所在的指令。智能卡在接收到指令r后,检查智能卡与读写器在执行上笔交易过程中是否存在写数据时(写E方时)断电,来决定是否执行数据恢复,若存在则执行E方数据恢复;若不存在则不执行E方数据恢复。然后,智能卡向读写器响应。
S23:读写器向智能卡依次发送指令r+1至指令t-1,智能卡依次执行指令r+1至指令t-1,并向读写器依次响应。
S24:读写器向智能卡发送指令t,指令t为写数据指令,而后接收智能卡的响应。写数据指令是指该指令中包含向智能卡数据存储区内写数据的操作。智能卡在接收到指令t时,执行写数据操作,更新智能卡内记录数据,并向读写器响应。
写数据是指向智能卡数据存储区内写入数据,智能卡数据存储区一般采用电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,E2PROM或EEPROM),它是一种掉电后数据不丢失的数据存储区,可重复清除存储数据和再编程(重写),因此写数据也简称为写E方。
S25:读写器向智能卡依次发送指令t+1至指令n,智能卡依次执行指令t+1至指令n,并向读写器依次响应。
智能卡依次执行完读写器发送的n条指令,则本次交易完成,本次交易结束。在实际应用中,读写器向智能卡发送应用协议数据指令(APDU),卡片在接收到APDU指令后会响应2个字节的状态字和可选的响应数据,APDU指令在执行成功时返回0x9000状态字。
本实施例智能卡断电测试方法中,首先,智能卡与读写器进行一次完整交易。以验证智能卡内是否具备测试条件,具体包括以下步骤:
S30-1:读写器读取智能卡内的初始交易数据。
比如,若本次交易是更新智能卡内某应用记录文件,则初始交易数据为智能卡内初始的某应用记录文件。在其它应用中初始交易数据可能是卡内账户余额、交易日志文件等数据。
初始交易数据定义为Value0,数据长度假设为100字节。
S30-2:智能卡与读写器执行一次完整的交易流程。
智能卡从上电复位开始,依次执行读写器发送的n条指令。若本步骤中更新数据成功,则在智能卡内记录的交易数据为100字节的全“11”。
在智能卡与读写器执行完成一次完整的交易流程后,检测智能卡内记录的交易数据是否为100字节的全“11”,若否,则验证不通过,返回错误提示,结束测试;若是,设置该值为Value0,进行下一流程。
第二测试流程为在读写器与智能卡执行交易的过程中,对写数据指令的执行过程进行断电,请参考图3,具体包括以下过程:
S31-1:在智能卡与读写器执行交易的过程中,对更新记录所在的写数据指令的执行过程断电。
S31-2:在所述智能卡上电复位后,判断在本次交易中所述智能卡内记录数据是否更新。
在智能卡上电复位后读取智能卡记录数据,若智能卡内记录数据成功更新,记录数据应为100字节全“22”,设置该值为Value1。
本步骤中,判断本次交易中智能卡内记录数据是否更新具体为:判断本次交易中智能卡内记录数据是否为初始值或者为预期更新值;
若是初始值,即记录数据=Value0,则本次交易中所述智能卡内记录数据未更新;进入步骤S31-3。
若是预期更新值,即记录数据=Value1,则本次交易中所述智能卡写数据指令执行成功,所述智能卡内记录数据更新,结束测试。
若不是初始值Value0且不是预期更新值Value1,则返回错误提示,智能卡断电保护机制设计有缺陷。
S31-3:在智能卡上电复位开始,由所述智能卡依次执行本次交易的各条指令,并且在执行写数据指令时,按照第一断电定时器设定的时间对所述写数据指令的执行过程断电。
具体的,智能卡依次执行本次交易的各条指令,当读写器向智能卡发出写数据指令,即指令t后,在到达所述第一断电定时器所设定的时刻时,对所述写数据指令的执行过程断电,所述第一断电定时器表示为T1=t1+(Δt1*i),其中t1表示断电起始时间点,Δt1表示断电步长,i表示对写数据指令的执行过程断电的次数,i从1开始取值且小于预设值,并在每次对写数据指令的执行过程断电后i的取值加一。
在具体实施时,示例性的可设置t1为0ms,断电步长为0.1ms。
然后在智能卡再次上电后,对数据恢复指令的执行过程断电,具体包括以下步骤:
S32-1:由智能卡依次执行本次交易的各条指令,在执行数据恢复指令时,按照第二断电定时器设定的时间对所述数据恢复指令的执行过程断电。
本步骤具体为,在读写器向智能卡发出数据恢复指令即指令r后,在到达所述第二断电定时器所设定的时刻时,对所述数据恢复指令的执行过程断电,所述第二断电定时器表示为T2=t2+(Δt2*j),其中t2表示断电起始时间点,Δt2表示断电步长,j表示对数据恢复指令的执行过程断电的次数,j从1开始取值且小于预设值,并在每次对数据恢复指令的执行过程断电后j的取值加一;
在具体实施时,示例性的可设置t2为0ms,断电步长为0.1ms。
S32-2:检测所述智能卡数据恢复指令是否执行成功。
若所述智能卡内记录数据恢复成功,则跳出当前循环,进入步骤S31-2。
若所述智能卡内记录数据恢复未完成,则循环进入步骤S32-1。
本方法中,在所述智能卡与所述读写器的一次交易中,在所述智能卡执行写数据指令过程中,在写数据操作前将所述数据恢复标识置为1,在写数据操作完成后,或在所述智能卡执行数据恢复指令成功后,将所述数据恢复标识置为0。因此相应的,本步骤中检测智能卡内数据恢复指令是否执行成功包括:在所述数据恢复指令执行完成后,检测数据恢复标识的值是否为0,若是,则所述智能卡内记录数据恢复成功;若否,则所述智能卡内记录数据恢复失败。
在具体实施时,可以判断数据恢复指令执行完成后返回的状态字是否等于0x9000。若返回的状态字等于0x9000,则智能卡数据恢复指令执行成功,则跳出当前循环,进入步骤S31-2。若返回的状态字不等于0x9000,则智能卡数据恢复指令执行未完成,则循环进入步骤S32-1。
循环过程执行完成,则测试完成,智能卡通过二次断电测试,结束。
传统二次断电测试执行太耗时,若智能卡执行完成写数据指令耗时100ms,执行数据恢复指令耗时30ms,测试步长为0.1ms,起始点为0ms。则断电共需执行(100/0.1)*(30/0.1),即30万次。但卡片执行写数据指令时,大部分时间都是在检查该指令执行条件,验证数据格式等,真正写E方的时间占比不到10%。参考图4所示,图中S0表示写数据指令开始执行时间点,S1表示执行写数据指令过程中开始写E方时间点,S2表示执行写数据指令过程中写E方结束时间点,S3表示写数据指令执行总时间。真正写E方数据只有在S1至S2之间时间段,在这一时间段设置断电定时器进行断电测试才是有效的,其它时间段进行断电测试都是无效测试。
鉴于此本方法中,通过预先确定写数据指令执行过程中进行写数据的开始时间点和完成时间点,只在进行写数据的时间段内进行断电测试,具体根据得到的执行写数据的时间段设定第一断电定时器,使第一断电定时器所设定的时刻位于该时间段内。进行断电测试,可以提高测试效率。
本智能卡断电测试方法中,作为一种实施方式,获取写数据指令执行过程中进行写数据的时间段的方法,包括:
在读写器与智能卡执行交易的过程中,监测所述智能卡的电流是否发生突增或者突增量是否达到设定值,根据监测结果,确定所述智能卡在写数据指令执行过程中进行写数据的时间段。
在具体实施时,可以通过具备一简易硬件设备的断电读写器,监测在读写器发出写数据指令后,同时对智能卡的电流进行监测,判断是否发生突增且突增量达到设定值。根据监测结果得到该条写数据指令写E方时间段(即图4中所示S1至S2时间段)。通过监测智能卡的电流变化,也可以确定出数据恢复指令执行过程中进行数据恢复的开始时间点R1。
在另一种实施方式中,若当前测试环境缺少方案一中的简易硬件设备。还可以通过以下方法获取写数据指令执行过程中进行写数据的时间段,本方法包括以下过程:
获取一次交易过程中执行写数据指令过程中进行写数据(即写E方)的开始时间点,从S0=0开始,i=1,循环执行以下步骤:
S40:在智能卡与读写器执行交易的过程中,在到达第三断电定时器所设定的时刻时,对写数据指令的执行过程断电,第三断电定时器表示为T3=S0+(Δt3*i),其中S0表示写数据指令开始执行时间点,Δt3表示断电步长。
S41:在所述智能卡上电复位,由所述智能卡与所述读写器执行完整交易后,统计数据恢复指令的执行时长R,判断R是否大于(R2’+设定值),其中R2’表示当写数据指令的执行过程中不发生断电的情况下所述数据恢复指令的执行时长。可参考图5和图6,图5为智能卡在上笔交易中执行写数据指令过程中发生断电,本次交易中执行数据恢复指令时需执行数据恢复的耗时分布图,图6为智能卡在执行数据恢复指令时不执行数据恢复的耗时分布图。
若否,则进入步骤S42;
若是,则将所述第三断电定时器当前所设定的时刻作为执行写数据指令过程中执行写数据的开始时间点S1。
其中优选的,考虑到智能卡每次执行写数据指令时间存在轻微误差,可对上述获得的执行写数据的开始时间点S1修正,可将S1提前,根据S1=S1-a*Δt3对开始时间点S1修正。其中a为噪声补偿因子,可根据Δt3的精细程度设置合理的噪声补偿因子。
S42:设置i=i+1,若i小于预设值,循环进入步骤S40。
通过上述过程可获取智能卡执行写数据指令过程中进行写数据的开始时间点S1。
获取智能卡执行写数据指令过程中进行写数据的完成时间点,以S3为基准,i=1,循环执行以下步骤:
S50:在智能卡与读写器执行交易的过程中,在到达第四断电定时器所设定的时刻时,对所述写数据指令的执行过程断电,所述第四断电定时器表示为T4=S3-(Δt4*i),其中S3表示写数据指令执行总时间,Δt4表示断电步长。
S51:在所述智能卡上电复位,由所述智能卡与所述读写器执行完整交易后,统计数据恢复指令的执行时长R,判断R是否大于(R2’+设定值),其中R2’表示当写数据指令的执行过程中不发生断电的情况下所述数据恢复指令的执行时长。可参考图5和图6,图5为智能卡在上笔交易中执行写数据指令过程中发生断电,本次交易中执行数据恢复指令时需执行数据恢复的耗时分布图,图6为智能卡在执行数据恢复指令时不执行数据恢复的耗时分布图。
若否,则进入步骤S52;
若是,则将所述第四断电定时器当前所设定的时刻作为执行写数据指令过程中进行写数据的完成时间点S2。
其中优选的,考虑到智能卡每次执行写数据指令时间存在轻微误差,可对上述获得的S2修正,可将S2延后,根据S2=S2+b*Δt4对完成时间点S2修正。其中b为噪声补偿因子,可根据Δt4的精细程度设置合理的噪声补偿因子。
S52:设置i=i+1,若i小于预设值,循环进入步骤S50。
通过该过程可以获取一次交易过程中执行写数据指令过程中进行写数据的完成时间点S2。
这样可以在执行二次断电测试前获取写数据指令写E方的时间段S1至S2,只需在S1和S2区域内执行断电测试,可以极大地提升二次断电的测试效率。
需要说明的是,本发明智能卡断电测试方法中提供的二次断电测试思想也适用于其它数字设备的断电机制测试。
以上对本发明所提供的一种智能卡断电测试方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种智能卡断电测试方法,其特征在于,包括:
在智能卡与读写器执行交易的过程中,对更新记录所在的写数据指令的执行过程断电;
在所述智能卡上电复位后,判断在本次交易中所述智能卡内记录数据是否更新;
若否,由所述智能卡依次执行本次交易的各条指令,并且在执行写数据指令时,按照第一断电定时器设定的时间对所述写数据指令的执行过程断电;
其中,在每次按照所述第一断电定时器设定的时间对所述写数据指令的执行过程断电后,循环执行如下过程:对所述智能卡再次上电复位,依次执行本次交易的各条指令,在执行数据恢复指令时,按照第二断电定时器设定的时间对所述数据恢复指令的执行过程断电,并检测所述数据恢复指令是否执行成功,直至出现数据恢复指令执行成功则停止循环。
2.根据权利要求1所述的智能卡断电测试方法,其特征在于,所述在执行数据恢复指令时,按照第二断电定时器设定的时间对所述数据恢复指令的执行过程断电包括:
在所述读写器向所述智能卡发出数据恢复指令后,在到达所述第二断电定时器所设定的时刻时,对所述数据恢复指令的执行过程断电,所述第二断电定时器表示为T2=t2+(Δt2*j),其中t2表示断电起始时间点,Δt2表示断电步长,j表示对数据恢复指令的执行过程断电的次数,j从1开始取值且小于预设值,并在每次对数据恢复指令的执行过程断电后j的取值加一。
3.根据权利要求2所述的智能卡断电测试方法,其特征在于,所述在执行写数据指令时,按照第一断电定时器设定的时间对所述写数据指令的执行过程断电包括:
在所述读写器向所述智能卡发出写数据指令后,在到达所述第一断电定时器所设定的时刻时,对所述写数据指令的执行过程断电,所述第一断电定时器表示为T1=t1+(Δt1*i),其中t1表示断电起始时间点,Δt1表示断电步长,i表示对写数据指令的执行过程断电的次数,i从1开始取值且小于预设值,并在每次对写数据指令的执行过程断电后i的取值加一;
所述方法还包括:若出现数据恢复指令执行成功,则再一次判断在本次交易中所述智能卡写数据指令所记录数据是否更新,并根据判断结果执行对应步骤。
4.根据权利要求1-3任一项所述的智能卡断电测试方法,其特征在于,还包括:预先获取所述智能卡在写数据指令执行过程中进行写数据的时间段,根据得到的该时间段设定所述第一断电定时器,使所述第一断电定时器所设定的时刻位于该时间段内。
5.根据权利要求1-3任一项所述的智能卡断电测试方法,其特征在于,获取写数据指令执行过程中进行写数据的时间段的方法包括:
在读写器与智能卡执行交易的过程中,监测所述智能卡的电流是否发生突增或者突增量是否达到设定值,根据监测结果,确定所述智能卡在写数据指令执行过程中进行写数据的时间段。
6.根据权利要求1-3任一项所述的智能卡断电测试方法,其特征在于,获取写数据指令执行过程中进行写数据的时间段的方法包括:
获取一次交易过程中执行写数据指令过程中进行写数据的开始时间点,从S0=0开始,i=1,循环执行以下步骤:
S40:在智能卡与读写器执行交易的过程中,在到达第三断电定时器所设定的时刻时,对写数据指令的执行过程断电,所述第三断电定时器表示为T3=S0+(Δt3*i),其中S0表示写数据指令开始执行时间点,Δt3表示断电步长;
S41:在所述智能卡上电复位,由所述智能卡与所述读写器执行完整交易后,统计数据恢复指令的执行时长R,判断R是否大于(R2’+设定值),其中R2’表示当写数据指令的执行过程中不发生断电的情况下所述数据恢复指令的执行时长;
若否,则进入步骤S42;
若是,则将所述第三断电定时器当前所设定的时刻作为执行写数据指令过程中执行写数据的开始时间点S1;
S42:设置i=i+1,若i小于预设值,循环进入步骤S40;
获取智能卡执行写数据指令过程中进行写数据的完成时间点,以S3为基准,i=1,循环执行以下步骤:
S50:在智能卡与读写器执行交易的过程中,在到达第四断电定时器所设定的时刻时,对所述写数据指令的执行过程断电,所述第四断电定时器表示为T4=S3-(Δt4*i)。其中S3表示写数据指令执行总时间,Δt4表示断电步长;
S51:在所述智能卡上电复位,由所述智能卡与所述读写器执行完整交易后,统计数据恢复指令的执行时长R,判断R是否大于(R2’+设定值),其中R2’表示当写数据指令的执行过程中不发生断电的情况下所述数据恢复指令的执行时长;
若否,则进入步骤S52;
若是,则将所述第四断电定时器当前所设定的时刻作为执行写数据指令过程中进行写数据操作的完成时间点S2;
S52:设置i=i+1,若i小于预设值,循环进入步骤S50。
7.根据权利要求6所述的智能卡断电测试方法,其特征在于,还包括:
根据S1=S1-a*Δt3,对获得的执行写数据操作指令过程中进行写数据的开始时间点S1修正,其中a表示噪声补偿因子;
根据S2=S2+b*Δt4,对获得的执行写数据操作指令过程中进行写数据的完成时间点S2修正,其中b表示噪声补偿因子。
8.根据权利要求1所述的智能卡断电测试方法,其特征在于,检测所述智能卡内数据恢复指令是否执行成功包括:
在所述数据恢复指令执行完成后,检测数据恢复标识的值是否为0,若是,则所述智能卡内记录数据恢复成功;若否,则所述智能卡内记录数据恢复失败;
在所述智能卡与所述读写器的一次交易中,在所述智能卡执行写数据指令过程中,在写操作前将所述数据恢复标识置为1,在写操作完成后,或在所述智能卡执行数据恢复指令成功后,所述数据恢复标识置为0。
9.根据权利要求1所述的智能卡断电测试方法,其特征在于,所述判断在本次交易中所述智能卡内记录数据是否更新具体为:
判断本次交易中所述智能卡内记录数据是否为初始值或者为预期更新值;
若是初始值,则本次交易中所述智能卡内记录数据未更新;
若是预期更新值,则本次交易中所述智能卡写数据指令执行成功,所述智能卡内记录数据更新,结束测试;
若不是初始值且不是预期更新值,则返回错误提示,智能卡断电保护机制设计有缺陷。
10.根据权利要求1所述的智能卡断电测试方法,其特征在于,所述智能卡与所述读写器执行一次完整交易的过程包括以下步骤:
S20:读写器上电启动,请求智能卡应答;
S21:读写器在接收到智能卡的响应后,读写器向智能卡依次发送指令1至指令r-1,智能卡依次执行指令1至指令r-1,并对应依次向读写器响应;
S22:读写器向智能卡发送指令r,指令r为数据恢复指令,并接收智能卡的响应;
S23:读写器向智能卡依次发送指令r+1至指令t-1,智能卡依次执行指令r+1至指令t-1,并向读写器依次响应;
S24:读写器向智能卡发送指令t,指令t为写数据指令,而后接收智能卡的响应;
S25:读写器向智能卡依次发送指令t+1至指令n,智能卡依次执行指令t+1至指令n,并向读写器依次响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710939390.2A CN107729196B (zh) | 2017-09-30 | 2017-09-30 | 智能卡断电测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710939390.2A CN107729196B (zh) | 2017-09-30 | 2017-09-30 | 智能卡断电测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729196A true CN107729196A (zh) | 2018-02-23 |
CN107729196B CN107729196B (zh) | 2020-11-27 |
Family
ID=61209968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710939390.2A Active CN107729196B (zh) | 2017-09-30 | 2017-09-30 | 智能卡断电测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729196B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032845A (zh) * | 2018-05-04 | 2018-12-18 | 马晨光 | 一种智能型控制断电的电路及方法 |
CN111651309A (zh) * | 2020-05-08 | 2020-09-11 | 星汉智能科技股份有限公司 | 计算机系统的可靠性测试方法及其系统 |
CN113571107A (zh) * | 2020-07-14 | 2021-10-29 | 台湾积体电路制造股份有限公司 | 操作集成电路的方法和集成电路 |
CN114942871A (zh) * | 2022-07-19 | 2022-08-26 | 北京紫光青藤微系统有限公司 | 一种nfc芯片的测试方法、装置、可读介质及电子设备 |
CN118016143A (zh) * | 2024-03-21 | 2024-05-10 | 星汉智能科技股份有限公司 | 智能卡断电测试方法、终端以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090012622A (ko) * | 2007-07-30 | 2009-02-04 | 삼성전자주식회사 | 파워다운 모드를 갖는 전원 제어 장치 및 그 방법, 상기전원 제어 장치를 구비하는 반도체 장치 |
CN105137227A (zh) * | 2015-08-03 | 2015-12-09 | 昆腾微电子股份有限公司 | 智能卡掉电保护的测试装置及方法 |
CN205809211U (zh) * | 2016-07-22 | 2016-12-14 | 工业和信息化部电子工业标准化研究院 | 智能卡断电保护测试装置及系统 |
CN106371996A (zh) * | 2016-09-07 | 2017-02-01 | 东信和平科技股份有限公司 | 一种断电测试方法及系统 |
CN106970280A (zh) * | 2017-03-30 | 2017-07-21 | 东信和平科技股份有限公司 | 一种智能卡断电测试的方法以及装置 |
-
2017
- 2017-09-30 CN CN201710939390.2A patent/CN107729196B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090012622A (ko) * | 2007-07-30 | 2009-02-04 | 삼성전자주식회사 | 파워다운 모드를 갖는 전원 제어 장치 및 그 방법, 상기전원 제어 장치를 구비하는 반도체 장치 |
CN105137227A (zh) * | 2015-08-03 | 2015-12-09 | 昆腾微电子股份有限公司 | 智能卡掉电保护的测试装置及方法 |
CN205809211U (zh) * | 2016-07-22 | 2016-12-14 | 工业和信息化部电子工业标准化研究院 | 智能卡断电保护测试装置及系统 |
CN106371996A (zh) * | 2016-09-07 | 2017-02-01 | 东信和平科技股份有限公司 | 一种断电测试方法及系统 |
CN106970280A (zh) * | 2017-03-30 | 2017-07-21 | 东信和平科技股份有限公司 | 一种智能卡断电测试的方法以及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032845A (zh) * | 2018-05-04 | 2018-12-18 | 马晨光 | 一种智能型控制断电的电路及方法 |
CN111651309A (zh) * | 2020-05-08 | 2020-09-11 | 星汉智能科技股份有限公司 | 计算机系统的可靠性测试方法及其系统 |
CN113571107A (zh) * | 2020-07-14 | 2021-10-29 | 台湾积体电路制造股份有限公司 | 操作集成电路的方法和集成电路 |
CN114942871A (zh) * | 2022-07-19 | 2022-08-26 | 北京紫光青藤微系统有限公司 | 一种nfc芯片的测试方法、装置、可读介质及电子设备 |
CN118016143A (zh) * | 2024-03-21 | 2024-05-10 | 星汉智能科技股份有限公司 | 智能卡断电测试方法、终端以及存储介质 |
CN118016143B (zh) * | 2024-03-21 | 2024-08-16 | 星汉智能科技股份有限公司 | 智能卡断电测试方法、终端以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107729196B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729196A (zh) | 智能卡断电测试方法 | |
CN101976217B (zh) | 网络处理器异常检测方法及系统 | |
CN109358893A (zh) | 一种fpga程序的在线升级方法、装置及系统 | |
CN103902399B (zh) | 软件系统修复处理方法及装置 | |
CN105137227A (zh) | 智能卡掉电保护的测试装置及方法 | |
CN113409881B (zh) | 闪存擦除中断恢复测试方法、装置、电子设备及存储介质 | |
CN106708680A (zh) | 一种掉电测试的系统、方法及装置 | |
CN103150188A (zh) | 非x86指令集计算机的x86兼容显卡快速初始化方法 | |
CN105279543A (zh) | 射频应答器电路 | |
CN109685190A (zh) | 一种ic卡掉电保护方法及装置 | |
CN102169442B (zh) | 使用usb设备进行系统引导的方法、设备、装置及系统 | |
CN107704258A (zh) | Uboot升级方法、系统及终端设备 | |
CN111785315B (zh) | 降低擦除干扰和擦除时间的方法、系统、存储介质及终端 | |
CN105426268B (zh) | 一种防止继电保护装置断电时文件系统损坏的方法 | |
CN105938445B (zh) | 数据备份方法以及装置 | |
CN106709386A (zh) | 智能卡数据写入方法及装置 | |
CN104570821B (zh) | 集成电路及其运作方法 | |
CN109408099A (zh) | 远程fpga固件代码更新系统、方法及介质 | |
US6722572B2 (en) | Recording medium control method, data management apparatus, and recording medium | |
CN103020672B (zh) | 列车行驶时与其上的无线电子标签进行数据交互的方法 | |
US10140197B2 (en) | Method performed by an electronic device capable of communicating with a reader with improved self-testing | |
CN107316659A (zh) | 存储器掉电时间段定位方法及系统掉电保护方法 | |
CN109558413B (zh) | 一种基于云存储的设备序列号自动恢复方法 | |
CN104575605B (zh) | 存储器装置及使用非易失性存储器对系统进行开机的方法 | |
CN109102839A (zh) | 一种坏块标记方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |