一种掉电测试的系统、方法及装置与流程

文档序号:12063528阅读:202来源:国知局
一种掉电测试的系统、方法及装置与流程

本发明涉及信息安全领域,尤其涉及一种掉电测试的系统、方法及装置。



背景技术:

USBKey,亦称U盾,是一种USB接口的硬件设备,它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USBKey内置的公钥算法实现对用户身份的认证,USBKey身份认证也是一种非常安全的身份认证方式。

实际中,USBKey在更新FLASH中的数据时,需要进行掉电保护操作,防止在更新数据时突然掉电而导致数据意外损坏,保证数据的完整性,这样,进行掉电测试就非常重要,即检测USBKey的掉电保护方法是否有效,若掉电测试结果不准确,可能也就无法保证USBKey中数据的安全性,而现有技术中并没有针对USBKey的掉电测试。



技术实现要素:

本发明实施例提供一种掉电测试的系统、方法及装置,以简单可靠地实现对USBKey的掉电测试。

本发明实施例提供的具体技术方案如下:

一种掉电测试的系统,包括,掉电测试装置和计算机,所述掉电测试装置包括控制器和继电器,其中,

控制器,与计算机相连,用于接收计算机发送的控制命令,并根据所述控制命令,控制继电器断开和闭合;

继电器,连接计算机与待测USBKey,用于通过自身的断开和闭合,控制待测USBKey掉电并重新上电;

计算机,用于在每次所述待测USBKey重新上电后,执行对所述待测USBKey的读操作,判断读取的数据是否异常,若是,则判定所述待测USBKey掉电保护功能不正常;若否,则进一步判断读取的数据与预设的写入的第一数据是否相等,在确定相等时,判定所述待测USBKey掉电保护功能正常;在确定不相等时,根据设定时间步长和初始上电时间,重新执行对所述待测USBKey的写操作,并在写的过程中,根据预设的掉电时间控制所述待测USBKey掉电并重新上电,执行下一次测试,直到确定读取的数据异常或与写入的第一数据相等为止,结束测试。

较佳的,所述计算机进一步用于:

向待测USBKey写入第二数据,并测量所述待测USBKey读取所述第二数据的时间,将所述时间作为初始上电时间和掉电时间。

较佳的,执行对所述待测USBKey的读操作之前,所述计算机进一步用于:

确定待测USBKey处于接入状态。

较佳的,所述控制器通过USB接口与计算机相连;

所述继电器,分别与待测USBKey和计算机通过USB接口相连。

一种掉电测试的方法,包括:

在每次待测USBKey重新上电后,执行对所述待测USBKey的读操作;

判断读取的数据是否异常,若是,则判定所述待测USBKey掉电保护功能不正常;若否,则进一步判断读取的数据与预设的写入的第一数据是否相等。

在确定相等时,判定所述待测USBKey掉电保护功能正常;在确定不相等时,根据设定时间步长和初始上电时间,重新执行对所述待测USBKey的写操作,并在写的过程中,根据预设的掉电时间控制所述待测USBKey掉电并重新上电,执行下一次测试,直到确定读取的数据异常或与写入的第一数据相等为止,结束测试。

较佳的,进一步包括:

向待测USBKey写入第二数据,并测量所述待测USBKey读取所述第二数据的时间,将所述时间作为初始上电时间和掉电时间。

较佳的,执行对所述待测USBKey的读操作之前,进一步包括:

确定待测USBKey处于接入状态。

一种掉电测试装置,包括:应用于本发明上述掉电测试系统的继电器和控制器。

本发明实施例中,采用掉电测试装置和计算机,掉电测试装置包括控制器和继电器,其中,控制器和继电器用于控制待测USBKey的掉电并重新上电,计算机用于在每次所述待测USBKey重新上电后,执行对所述待测USBKey的读操作,判断读取的数据是否异常,若是,则判定所述待测USBKey掉电保护功能不正常;若否,则进一步判断读取的数据与预设的写入的第一数据是否相等,在确定相等时,判定所述待测USBKey掉电保护功能正常;在确定不相等时,根据设定时间步长和初始上电时间,重新执行对所述待测USBKey的写操作,并在写的过程中,根据预设的掉电时间控制所述待测USBKey掉电并重新上电,执行下一次测试,直到确定读取的数据异常或与写入的第一数据相等为止,结束测试,这样,根据USBKey写数据的特性,实现了对USBKey的掉电测试,每次测试时,根据读取的数据是否异常或与写入数据是否相等,来判断待测USBKey掉电测试是否正常,并且,不仅仅是执行一次测试,每次测试时,依次增加上电时间,保证USBKey中flash数据可以更新完,保证了整个写数据的过程中各个时间段的掉电都进行了测试,掉电测试更加充分,更加完整。

附图说明

图1为本发明实施例中,掉电测试的系统结构示意图;

图2为本发明实施例中,掉电测试的方法概述流程图;

图3为本发明实施例中,掉电测试的方法详细流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了能够简单可靠地实现对USBKey的掉电测试,本发明实施例中,采用控制器、继电器和计算机实现对待测USBKey的掉电测试,计算机向控制器发送控制指令,控制器根据该控制指令,控制继电器断开和闭合,进而实现待测USBKey的掉电和重新上电,设置待测USBKey上电和掉电时间,循环测试,直到确定重新上电后读取的数据异常或与预先写入的数据相等为止。每次测试时,依次增加上电时间,写入数据,掉电并重新上电,计算机在待测USBKey重新上电后,读取待测USBKey中的数据,判断是否异常或是否与预先写入的数据相等,进而判断待测USBKey的掉电保护功能是否正常。

下面通过具体实施例对本发明方案进行详细描述,当然,本发明并不限于以下实施例。

参阅图1所示,本发明实施例中,掉电测试的系统,包括,掉电测试装置和计算机12,所述掉电测试装置包括控制器10和继电器11,其中,

控制器10,与计算机12相连,用于接收计算机12发送的控制命令,并根据所述控制命令,控制继电器11断开和闭合。

其中,控制器10是通过USB接口与计算机12相连。

继电器11,连接计算机12与待测USBKey,用于通过自身的断开和闭合,控制待测USBKey掉电并重新上电。

其中,继电器11分别与待测USBKey和计算机12通过USB接口相连,即待测USBKey通过继电器11的触点实现与计算机12相连。

计算机12,用于在每次所述待测USBKey重新上电后,执行对所述待测USBKey的读操作,判断读取的数据是否异常,若是,则判定所述待测USBKey掉电保护功能不正常;若否,则进一步判断读取的数据与预设的写入的第一数据是否相等,在确定相等时,判定所述待测USBKey掉电保护功能正常;在确定不相等时,根据设定时间步长和初始上电时间,重新执行对所述待测USBKey的写操作,并在写的过程中,根据预设的掉电时间控制所述待测USBKey掉电并重新上电,执行下一次测试,直到确定读取的数据异常或与写入的第一数据相等为止,结束测试。

其中,数据异常,表示读取的数据是错误的,或是乱码,表示数据发生了损坏。

实际中,对于USBKey进行数据更新时,是对flash中的数据进行更新,而flash是先擦后写的过程,如果在擦除过程中掉电,不能保证擦除完全,但已经擦除的部分,肯定是0xff;如果在写的过程中掉电,没有写到的部分,仍为0xff,已经写入的部分就是正确的。因此,不管在擦除过程中还是在写入过程中掉电,若掉电保护功能不正常,下次重新上电读取时就会出错。

也就是说,针对USBKey的掉电测试,若读取的数据异常,则可以判定掉电保护功能不正常,若读取的数据没有异常,进一步判断是否相等,若相等,则可以判定掉电保护功能正常;若不相等,可能是因为掉电保护功能不正常,也可能是因为数据没有更新完,即没有写完,则增加写的时间,并掉电再重新上电,再次读取待测USBKey中的数据,进行判断,直到判断相等或异常为止,掉电测试结束。

进一步地,在测试之前,上述计算机12还用于:

向待测USBKey写入第二数据,并测量上述待测USBKey读取上述第二数据的时间,将上述时间作为初始上电时间和掉电时间。

其中,第二数据与第一数据是不相同的。写入第二数据是为了测量获得待测USBKey读取数据的时间,而第一数据是用于后续测试时的数据,用于判断重新上电后读取的数据是否相等。

也就是说,在开始进行掉电测试时,先测量获得待测USBKey读取数据的时间,以便后续设定继电器11闭合的时间和断开的时间,即待测USBKey上电时间和掉电时间。

进一步地,每次上述待测USBKey重新上电之后,执行对上述待测USBKey的读操作之前,上述计算机12还用于:

判断待测USBKey是否接入到计算机12,并确定上述待测USBKey处于接入状态。

这样,目的是为了进一步确保待测USBKey与计算机12是相连的,保证掉电测试正常。

值得说明的是,本发明实施例中,提供了一种掉电测试装置,包括上述控制器10和继电器11,可应用于上述掉电测试系统,当然也可以做为单独的装置使用,该掉电测试装置用于控制待测USBKey掉电并重新上电。

参阅图2所示,本发明实施例中,掉电测试的方法具体流程如下:

步骤200:在每次待测USBKey重新上电后,执行对上述待测USBKey的读操作。

本发明实施例中,在掉电测试装置的控制器10和计算机12端设计相应的软件,控制器10的软件功能是用于接收计算机12的软件发送的控制命令,并根据该控制命令,控制继电器11闭合和断开。

执行步骤200时,具体包括:

首先,计算机12向控制器10发送闭合继电器11的控制命令。

进一步地,在该控制命令中,至少包括继电器11闭合保持时间,即待测USBKey上电时间。

然后,控制器10控制继电器11闭合,使得待测USBKey重新上电,即接入到计算机12。

最后,计算机12执行对待测USBKey的读操作。

进一步地,执行对上述待测USBKey的读操作之前,计算机12还可以判断待测USBKey是否接入到计算机12,并在确定待测USBKey处于接入状态时,执行读操作。

步骤210:判断读取的数据是否异常,若是,则判定上述待测USBKey掉电保护功能不正常,若否,则进一步判断读取的数据与预设的写入的第一数据是否相等。

执行步骤210时,具体包括:

首先,判断读取的数据是否异常。

其中,数据异常表示,读取的数据是错误的,或是乱码,表示数据发生了损坏。

然后,若确定数据异常,则判定上述待测USBKey掉电保护功能不正常,测试结束。

若确定数据不异常,则进一步判断读取的数据与预设的写入的第一数据是否相等。

其中,这里的第一数据是指在测试时写入的数据。

这是因为,对于USBKey,数据是在flash中进行读写,而flash写数据的过程是先擦再写。因此,若读取数据错误,即异常可判定待测USBKey掉电保护功能不正常,若读取的数据没有错误,需要进一步判断是否与写入的第一数据相等。

步骤220:在确定相等时,判定上述待测USBKey掉电保护功能正常,在确定不相等时,根据设定时间步长和初始上电时间,重新执行对上述待测USBKey的写操作,并在写的过程中,根据预设的掉电时间控制上述待测USBKey掉电并重新上电,执行下一次测试,直到确定读取的数据异常或与写入的第一数据相等为止,结束测试。

执行步骤220时,具体包括:

首先,在确定相等时,判定上述待测USBKey掉电保护功能正常。

然后,在确定不相等时,根据设定时间步长和初始上电时间,重新执行对上述待测USBKey的写操作。

具体为:在确定不相等时,根据设定时间步长和初始上电时间,确定当前的上电时间,并基于该当前的上电时间,向待测USBKey发写数据指令。

也就是说,向待测USBKey发写数据指令,延时当前的上电时间后再向控制器10发断开继电器11的控制命令。

最后,在写的过程中,根据预设的掉电时间控制上述待测USBKey掉电并重新上电,执行下一次测试,直到确定读取的数据异常或与写入的第一数据相等为止,结束测试。

也就是说,在写的过程中,向控制器10发断开继电器11的控制命令,使待测USBKey掉电,延时掉电时间后,再向控制器10发闭合继电器11的控制命令,使待测USBKey重新上电,开始执行下一次测试。

进一步地,执行步骤200之前,还包括:向待测USBKey写入第二数据,并测量上述待测USBKey读取上述第二数据的时间,将上述时间作为初始上电时间和掉电时间。

也就是说,本发明实施例中,不仅仅是单独设置一组或几组上电时间和掉电时间,而是每次测试时,依次增加上电时间,即待测USBKey写数据的时间。这样可以保证待测USBKey中的数据可以更新完,不仅实现了对USBKey的掉电测试,还保证了各个时间段的掉电都进行了测试,掉电测试更加完整,更加充分。

下面采用一个具体的应用场景对上述实施例作出进一步详细说明。具体参阅图3所示,本发明实施例中,掉电测试的方法执行过程具体如下:

步骤300:向待测USBKey写入与后续测试时不同的第二数据,并测量待测USBKey读第二数据的时间,设此时间为T0。

步骤301:向控制器10发闭合继电器11的控制命令。

步骤302:设置继电器11闭合保持时间TG=T0。

步骤303:判断待测USBKey是否接入到计算机12,若是,则执行步骤304,否则,继续执行步骤303。

步骤304:判断待测USBKey是否异常,若是,则执行步骤305,否则,则执行步骤306。

步骤305:判定待测USBKey的掉电保护功能不正常,测试结束。

步骤306:读取待测USBKey中的数据。

步骤307:判断读取的数据与写入的第一数据是否相等,若相等,则执行步骤308,否则,则执行步骤309。

其中,第一数据是与第二数据不相等的数据。

步骤308:判定待测USBKey掉电保护功能正常,测试结束。

步骤309:执行对待测USBKey的写操作,向待测USBKey发写数据指令。

步骤310:延时TG

即写数据的时间为TG

步骤311:向控制器10发断开继电器11的控制命令,使得待测USBKey掉电。

步骤312:延时T0后,向控制器10发闭合继电器11的控制命令。

这样,继电器断开T0时间后,重新闭合,使得待测USBKey重新上电。

步骤313:设置TG=TG+1毫秒,并转向执行步骤303。

其中,这里的设定时间步长为1毫秒,每次测试时,增加1毫秒的上电时间,当然也可以根据实际需求,设置不同的时间步长。

综上所述,本发明实施例中,采用掉电测试装置和计算机,掉电测试装置包括控制器和继电器,其中,控制器和继电器用于控制待测USBKey的掉电并重新上电,计算机用于在每次所述待测USBKey重新上电后,执行对所述待测USBKey的读操作,判断读取的数据是否异常,若是,则判定所述待测USBKey掉电保护功能不正常;若否,则进一步判断读取的数据与预设的写入的第一数据是否相等,在确定相等时,判定所述待测USBKey掉电保护功能正常;在确定不相等时,根据设定时间步长和初始上电时间,重新执行对所述待测USBKey的写操作,并在写的过程中,根据预设的掉电时间控制所述待测USBKey掉电并重新上电,执行下一次测试,直到确定读取的数据异常或与写入的第一数据相等为止,结束测试。这样,根据USBKey写数据的特性,实现了对USBKey的掉电测试,每次测试时,根据读取的数据是否异常或与写入数据是否相等,来判断待测USBKey掉电测试是否正常,并且,不仅仅是执行一次测试,每次测试时,依次增加上电时间,保证USBKey中flash数据可以更新完,保证了整个写数据的过程中各个时间段的掉电都进行了测试,掉电测试更加充分,更加完整。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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