一种大容量智能卡的成品测试方法
文献发布时间:2023-06-19 11:32:36
技术领域
本发明涉及智能卡集成电路技术领域,尤其涉及一种大容量智能卡的成品测试方法。
背景技术
智能卡(Smart Card)又称集成电路卡,即IC卡(Integrated Circuit Card)。它将集成电路芯片封装成卡片形式,通过与终端设备通讯实现身份认证、数据的处理、存储、传递等操作。IC卡是大规模集成电路、计算机技术和信息安全技术发展的产物,随着IC卡技术的日趋成熟,IC卡的应用领域日益广泛,目前在金融、通信、社保、安全证件、交通、教育、医疗健康、电子政务等众多领域当中得到规模化的发展与应用。存储器是智能卡的核心组成部分,核心功能是存储COS软件、应用数据、算法库等,其容量大小制约着智能卡的安全特性与功能,为满足日益丰富的应用场景与安全需求,智能卡的存储器容量由最初的3KB、第二代8KB~16KB和第三代的32~128KB,逐渐过渡到当前的256K及以上,存储器占用智能卡芯片70%以上的使用面积,在FT(Final Test,最终测试)阶段其受损的概率最大。根据当前的协议约定单条指令能够传输的数据为0.5~1KB,按现有的存储地址页操作方式,对存储器展开单个测试图形的遍历测试也需要几百次测试指令的收发,这个交互过程需要大量的通讯时间,如果需要完整遍历测试图形与存储空间,测试时间成本将十分昂贵。智能卡芯片在晶圆生产阶段通过存储器的测试接口对其进行筛选测试,在随后的生产过程中还有减划、封装、运输等作业环节,需要在FT阶段有效筛选出晶圆在受机械、静电等应力作用下的存储器失效。通常在FT阶段受时效、成本的制约,只能采取对少量的存储空间进行擦、写、读操作评估存储器是否受损,无法涵盖完整的存储区间。因此,在智能卡存储容量日益增大存储可靠性要求更高的今天,在成品测试阶段,迫切需要一种耗时少,覆盖率高的存储器检测方式。
发明内容
针对上述现有技术中存在的不足,本发明的目的是提供一种大容量智能卡的成品测试方法,所述大容量智能卡包括安全存储器,所述成品测试方法基于计算机、ATE设备和大容量智能卡进行测试,计算机编译测试程序,ATE设备调用计算机编译测试程序并设置预期测试向量值,大容量智能卡中安全存储器执行测试并返回测试状态结果,该成品测试方法消除传统的存储器按页发送操作指令时消耗的通讯时间,显著降低测试成本,提升测试效率与覆盖率。
为了达到上述技术目的,本发明所采用的技术方案是:
一种大容量智能卡的成品测试方法,所述成品测试方法基于测试系统,测试系统由计算机、ATE设备和大容量智能卡组成,其中,所述大容量智能卡包括安全存储器,计算机连接ATE设备,ATE设备连接大容量智能卡,所述成品测试方法的具体步骤如下:
步骤一:计算机编译测试程序并向ATE设备发出开始测试指令;
步骤二:ATE设备调用计算机编译测试程序并设置预期测试向量值;
步骤三:ATE设备向大容量智能卡发出预期测试向量中的APDU指令组合,APDU指令组合为指定大容量智能卡中安全存储器的测试起始地址和测试结束地址,以及擦测试、编程测试和校验操作的指令组合;
步骤四:大容量智能卡中安全存储器执行上述擦测试、编程测试和校验操作,并向ATE设备返回擦测试、编程测试和校验操作的各自测试状态结果;
步骤五:ATE设备获取安全存储器返回的上述测试状态结果;
步骤六:ATE设备将上述测试状态结果与预期测试向量值进行比较,并根据比较结果来判定大容量智能卡是否有效;
步骤七:ATE设备将上述判断结果发送给计算机。
本发明的大容量智能卡的成品测试方法,所获得的有益效果是,当大容量智能卡中安全存储器对收到的测试指令进行自动识别后,便按照预期测试向量中的APDU指令组合自动进行操作,以测试向量要求的存储器起止地址、操作方式、背景数据对地址区间内的存储器单元进行连续自测试,可以消除传统的存储器按页发送操作指令时消耗的通讯时间,可显著降低测试成本,极大的提升测试效率、覆盖率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明具体实施的测试系统框架图。
图2是本发明具体实施的成品测试方法流程图。
图3是本发明具体实施的擦测试指令操作流程图。
图4是本发明具体实施的编程测试指令操作流程图。
图5是本发明具体实施的安全存储器测试向量操作结构流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参看图1,为本发明具体实施的测试系统框架图。本发明的大容量智能卡的成品测试方法基于测试系统100,测试系统100由计算机10、ATE设备20和大容量智能卡30组成,其中,所述大容量智能卡30包括安全存储器31,计算机10连接ATE设备20,ATE设备20连接大容量智能卡30。
参看图2,本发明具体实施的成品测试方法流程图。
所述成品测试方法的具体步骤如下:
步骤S201:计算机编译测试程序并向ATE设备发出开始测试指令;
步骤S202:ATE设备调用计算机编译测试程序并设置预期测试向量值;
步骤S203:ATE设备向大容量智能卡发出预期测试向量中的APDU指令组合,APDU指令组合为指定大容量智能卡中安全存储器的测试起始地址和测试结束地址,以及擦测试、编程测试和校验操作的指令组合;
步骤S204:大容量智能卡中安全存储器执行上述擦测试、编程测试和校验操作,并向ATE设备返回擦测试、编程测试和校验操作的各自测试状态结果;
步骤S205:ATE设备获取安全存储器返回的上述测试状态结果;
步骤S206:ATE设备将上述测试状态结果与预期测试向量值进行比较,并根据比较结果来判定大容量智能卡是否有效;
步骤S207:ATE设备将上述判断结果发送给计算机。
参看图3,为本发明具体实施的擦测试指令操作流程图。本发明具体实施中,在安全存储器芯片的COS软件开发阶段,针对安全存储器,开发具有自检测试功能的APDU指令集,具体根据ISO 7816-4国际标准中定义的APDU指令组合,由CLA、INS、P1、P2、Lc、Data、Le组成,其中,CLA为指令类别;INS为指令码;P1、P2为参数;Lc为Data的长度;Le为希望响应时回答的数据字节数。本发明具体实施中,针对安全存储器擦测试,具体擦测试指令结构形式定义如下:
本发明具体实施的擦测试指令操作流程步骤如下:
步骤S301:安全存储器接收ATE设备测试指令;
步骤S302:安全存储器对接收的指令INS解析;
步骤S303:安全存储器对指令INS操作是否支持进行判断;若不支持指令INS操作,则返回状态字节6D00;若支持指令INS操作,则进入下一步骤S304;
步骤S304:安全存储器对擦测试指令INS是否支持进行判断;若不支持擦测试指令INS操作,则进行其他指令操作;若支持擦测试指令INS操作,则进入下一步骤S305;
步骤S305:安全存储器检查地址区间有效性;若地址区间无效,则返回状态字节6E00;若地址区间有效,则进入下一步骤S306;
步骤S306:安全存储器对地址区间安全存储器擦除,擦除完成后,进入下一步骤S307;
步骤S307:安全存储器对擦除结果回读与背景图形比对一致;若比对结果不一致,则返回状态字节6504;若比对结果一致,则返回状态字节9000。
参看图4,为本发明具体实施的编程测试指令操作流程图。本发明具体实施中,针对安全存储器编程测试指令结构形式定义如下:
本发明具体实施的编程测试指令操作流程步骤如下:
步骤S401:安全存储器接收ATE设备测试指令;
步骤S402:安全存储器对接收的指令INS解析;
步骤S403:安全存储器对指令INS操作是否支持进行判断;若不支持指令INS操作,则返回状态字节6D00;若支持指令INS操作,则进入下一步骤S404;
步骤S404:安全存储器对编程测试指令INS是否支持进行判断;若不支持编程测试指令INS操作,则进行其他指令操作;若支持编程测试指令INS操作,则进入下一步骤S405;
步骤S405:安全存储器检查地址区间有效性;若地址区间无效,则返回状态字节6E00;若地址区间有效,则进入下一步骤S406;
步骤S406:安全存储器对地址区间安全存储器编程,编程完成后,进入下一步骤S407;
步骤S407:安全存储器对编程结果回读与背景图形比对;若比对结果不一致,则返回状态字节6504;若比对结果一致,则返回状态字节9000。
参看图5,为本发明具体实施的安全存储器测试向量操作结构流程图。本发明具体实施中,根据安全存储器测试指令集与测试地址,在仿真环境下,按照对全地址空间的安全存储器相邻存储单元写入bit背景为:擦-00-擦-11-擦-01-擦-10-擦的顺序编写仿真逻辑测试向量。
验证逻辑测试向量检验测试地址是否完整涵盖,将仿真测试向量转换为完整的安全存储器APDU测试向量如下:
apdu 005A 0000 0A 00000100 00040000 1111
assert 9000
apdu 005B 0000 0A 00000100 00040000 0000
assert 9000
apdu 005A 0000 0A 00000100 00040000 1111
assert 9000
apdu 005B 0000 0A 00000100 00040000 1111
assert 9000
apdu 005A 0000 0A 00000100 00040000 1111
assert 9000
apdu 005B 0000 0A 00000100 00040000 0101
assert 9000
apdu 005A 0000 0A 00000100 00040000 1111
assert 9000
apdu 005B 0000 0A 00000100 00040000 1010
assert 9000
apdu 005A 0000 0A 00000100 00040000 1111
assert 9000
.......................
本发明具体实施的安全存储器测试向量操作结构流程步骤如下:
步骤S501:安全存储器对目标区域擦操作与校验;
步骤S502:安全存储器对目标区域bit00图形编程与校验;
步骤S503:安全存储器对目标区域擦操作与校验;
步骤S504:安全存储器对目标区域bit11图形编程与校验;
步骤S505:安全存储器对目标区域擦操作与校验;
步骤S506:安全存储器对目标区域bit01图形编程与校验;
步骤S507:安全存储器对目标区域擦操作与校验;
步骤S508:安全存储器对目标区域bit10图形编程与校验;
步骤S509:安全存储器对目标区域擦操作与校验。
在FT阶段由ATE设备按照ISO-7816-4国际标准的要求,逐条执行存储器测试指令,ATE设备对返回的状态字节与预期值进行比较判断测试执行的结果。
以上对本发明所提供的一种大容量智能卡的成品测试方法。进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种大容量智能卡的成品测试方法
- 一种大容量智能卡领卡机