CN116524987A - Rpmb测试方法、装置、计算机设备及存储介质 - Google Patents

Rpmb测试方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116524987A
CN116524987A CN202310450158.8A CN202310450158A CN116524987A CN 116524987 A CN116524987 A CN 116524987A CN 202310450158 A CN202310450158 A CN 202310450158A CN 116524987 A CN116524987 A CN 116524987A
Authority
CN
China
Prior art keywords
ssd
tested
rpmb
test
key
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.)
Pending
Application number
CN202310450158.8A
Other languages
English (en)
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.)
Suzhou Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System Co Ltd
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 Suzhou Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202310450158.8A priority Critical patent/CN116524987A/zh
Publication of CN116524987A publication Critical patent/CN116524987A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56004Pattern generation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/54Arrangements for designing test circuits, e.g. design for test [DFT] tools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明实施例公开了RPMB测试方法、装置、计算机设备及存储介质。所述方法包括:获取待测SSD相关信息;根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能;若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥;初始化待测SSD的RPMB数据区域;生成测试激励参数,并存储到所述测试用例池内。利用所述测试用例池内的测试激励参数测试所述待测SSD。通过实施本发明实施例的方法可实现提高功能测试的覆盖率,降低测试成本,缩短测试时间。

Description

RPMB测试方法、装置、计算机设备及存储介质
技术领域
本发明涉及固态硬盘,更具体地说是指RPMB测试方法、装置、计算机设备及存储介质。
背景技术
RPMB(重放保护内存块,Replay Protected Memory Block)是SSD(固态硬盘,Solid State Drive)中一块具有安全特性的存储区域,访问该区域必须经过身份验证,并提供防止重放攻击的功能。目前主流的SSD测试工具DriverMaster,nvme-cli等只提供对特定的应用场景进行串行测试,测试人员很难对SSD测试工具进行扩展,导致一些功能的边界点和交叉点无法进行测试,同时针对RPMB区域内的数据,需要人为再次进行判断是否被篡改,导致测试效率非常低下,不利于大规模的批量测试。
因此,有必要设计一种新的方法,实现提高功能测试的覆盖率,降低测试成本,缩短测试时间。
发明内容
本发明的目的在于克服现有技术的缺陷,提供RPMB测试方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:RPMB测试方法,包括:
获取待测SSD相关信息;
根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能;
若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥;
初始化待测SSD的RPMB数据区域;
生成测试激励参数,并存储到所述测试用例池内。
利用所述测试用例池内的测试激励参数测试所述待测SSD。
其进一步技术方案为:所述根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能,包括:
通过NVMe协议规定的identify命令获取待测SSD相关信息中的controllerdatastructure的RPMBS字段;
判断所述RPMBS字段中的number of RPMB units是否等于零;
若所述RPMBS字段中的number of RPMB units不等于零,则确定所述待测SSD具备RPMB功能;
若所述RPMBS字段中的number of RPMB units等于零,则确定所述待测SSD不具备RPMB功能。
其进一步技术方案为:所述根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥,包括:
通过待测SSD相关信息的SUBNQN使用python的hashlib标准库提供的sha256摘要算法生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥。
其进一步技术方案为:所述初始化待测SSD的RPMB数据区域,包括:
以512字节作为读写RPMB的数据区域的最小单元,并以每个最小单元的前8字节作为起始地址的CRC校验值,每个最小单元的最后8字节作为前504字节的CRC校验值,初始化待测SSD的RPMB数据区域。
其进一步技术方案为:所述利用所述测试用例池内的测试激励参数测试所述待测SSD之后,还包括:
记录测试过程的日志。
其进一步技术方案为:所述根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥之后,还包括:
记录密钥生成的日志。
本发明还提供了RPMB测试装置,包括:
信息获取单元,用于获取待测SSD相关信息;
检测单元,用于根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能;
密钥生成单元,用于若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥;
初始化单元,用于初始化待测SSD的RPMB数据区域;
存储单元,用于生成测试激励参数,并存储到所述测试用例池内。
测试单元,用于利用所述测试用例池内的测试激励参数测试所述待测SSD。
其进一步技术方案为:所述检测单元包括:
字段获取子单元,用于通过NVMe协议规定的identify命令获取待测SSD相关信息中的controller data structure的RPMBS字段;
判断子单元,用于判断所述RPMBS字段中的number of RPMB units是否等于零;
第一确定子单元,用于若所述RPMBS字段中的number of RPMB units不等于零,则确定所述待测SSD具备RPMB功能;
第二确定子单元,用于若所述RPMBS字段中的number of RPMB units等于零,则确定所述待测SSD不具备RPMB功能。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过判断待测SSD是否具备RPMB功能,在确保待测SSD具备RPMB功能之后,生成密钥,并初始化对应的RPMB数据区域,从测试用例池内每选择一组测试激励参数执行一次待测SSD的测试,测试用例池内可以拓展多种用例,实现提高功能测试的覆盖率,降低测试成本,缩短测试时间。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的RPMB测试方法的应用场景示意图;
图2为本发明实施例提供的RPMB测试方法的流程示意图;
图3为本发明实施例提供的RPMB测试方法的子流程示意图;
图4为本发明实施例提供的RPMB测试装置的示意性框图;
图5为本发明实施例提供的RPMB测试装置的检测单元的示意性框图;
图6为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的RPMB测试方法的应用场景示意图。图2为本发明实施例提供的RPMB测试方法的示意性流程图。该RPMB测试方法应用于服务器中。该服务器与SSD进行数据交互,基于NVMe(非易失性内存主机控制器接口规范,NVMExpress)协议的规定,用python对RPMB自动产生测试激励和自动校验数据结果,提高功能测试的覆盖率,可在大规模的批量测试中,降低测试成本,缩短测试时间;服务器也就是测试主机,内存>=8G;支持M.2接口;操作系统:Ubuntu 20.04.1;编程语言:Python 2.7.18。
如图1所示,测试系统运行在系统为ubuntu 20.04.1的测试主机上,测试主机上带有的M.2接口与被测SSD通过m.2接口进行连接,用于测试系统跟被测SSD之间的控制信号和数据通信,整个测试系统使用python2进行编程,调用ubuntu提供的NVMe驱动对被测SSD发起控制请求和获取相应结果,数据流或控制流的路径为:测试系统、linux PC、PC的板载M.2接口、SSD侧的M.2接口、SSD、RPMB。
图2是本发明实施例提供的RPMB测试方法的流程示意图。如图2所示,该方法包括以下步骤S110至S180。
S110、获取待测SSD相关信息。
在本实施例中,待测SSD相关信息包括controller data structure信息、SUBNQN信息等。
S120、根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能。
判断所述待测SSD是否具备RPMB功能,实现对测试边界的确定。
在一实施例中,请参阅图3,上述的步骤S120可包括步骤S121~S124。
S121、通过NVMe协议规定的identify命令获取待测SSD相关信息中的controllerdata structure的RPMBS字段;
S122、判断所述RPMBS字段中的number of RPMB units是否等于零;
S123、若所述RPMBS字段中的number of RPMB units不等于零,则确定所述待测SSD具备RPMB功能;
S124、若所述RPMBS字段中的number of RPMB units等于零,则确定所述待测SSD不具备RPMB功能。
具体地,通过NVMe协议规定的identify命令获取controller data structure的RPMBS字段,如果RPMBS字段中的number of RPMB units不等于0,表明该SSD支持RPMB,获取待测SSD的特性capabilities,包括RPMB的totalsize,access size,authenticationmethod等关键信息,用于整个测试系统,在后续的测试过程中依据这些特征值产生合理的边界例子和不同参数混合交叉的例子。当测试执行单元在linux PC上运行后就会初始化该模块并运行,一直检测有没有被测SSD连接到测试系统,一旦检测到被测SSD成功连接测试系统就会生成报告。
S130、若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥。
在本实施例中,通过待测SSD相关信息的SUBNQN使用python的hashlib标准库提供的sha256摘要算法生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥。
具体地,测试系统运行测试时根据不同的SSD产生相应的密钥,通过读取SSD的SUBNQN(存储每块SSD唯一不重复的值)作为生成Authentication Key的依据,并使用python的hashlib标准库提供的sha256摘要算法生成针对每个待测SSD使用的密钥,并烧入到待测SSD中,这样保证了在大批量测试环境下不需要再去维护那一个密钥被烧入到那个SSD上用于测试,在回归测试阶段只要根据同样的算法步骤,得到随机挑选的待测SSD已经存在的密钥。实现针对每个被测SSD使用不同的密钥进行测试,且不需要外部存储该密钥,减少了对大量不同密钥的管理。
S140、记录密钥生成的日志。
S150、初始化待测SSD的RPMB数据区域。
在本实施例中,以512字节作为读写RPMB的数据区域的最小单元,并以每个最小单元的前8字节作为起始地址的CRC校验值,每个最小单元的最后8字节作为前504字节的CRC校验值,初始化待测SSD的RPMB数据区域。
S160、生成测试激励参数,并存储到所述测试用例池内。
在本实施例中,根据确定的测试边界,产生合理的随机测试激励,覆盖正常和异常测试,实现了对SSD的RPMB真实运用场景的输入模拟。
在本实施例中,测试用例池用来存放产生的测试激励,供测试执行过程,随机挑选一个符合执行条件的激励进行测试,它也在测试测试激励产生模块与测试执行单元之间同步作用,每条测试激励的格式为:
S170、利用所述测试用例池内的测试激励参数测试所述待测SSD。
在本实施例中,从测试用例池中每取出一组测试激励参数就启动一个进程对RPMB进行访问请求并检查相应结果,这样可以产生对RPMB的高频率访问,验证RPMB的功能可靠性。
为保证有效的测试执行,当系统中同时存在验证数据读和写请求时,保证同一时间内不会存在对RPMB的相同地址进行访问;读取writer counter访问类型不会与验证数据区的写访问请求并行执行;验证设备控制块的写访问在同一时间内只会存在一个。
对不同类型的请求测试执行单元模块会分别做不同的动作:读writer counter:从RPMB中读出counter,并与测试系统中维护的期望值作比较;验证设备控制块写:配置boot partition和namesapce的保护权限,并在得到RPMB的正确响应后把配置权限记录到测试系统中;验证设备控制块读:从RPMB中读出数据,并与测试系统中维护的期望值作比较;验证数据写:按照测试激励的要求的构建数据,发起数据写入RPMB请求后,判断RPMB的响应是否符合预期;验证数据读:成功读出数据后会对每512字节的数据做CRC校验。
在测试过程中,对整个测试系统产生出合理的测试场景,当测试执行过程,对RPMB的整个数据区域成功初始化后,就会初始化并启动测试激励产生模块执行,当下列所有条件都满足后停止测试工作:RPMB访问类型覆盖读writercounter,验证设备控制块读,验证设备控制块写,验证数据区写和验证数据区读;Address覆盖了RPMB数据区域每个有效地址以及一个不存在的无效地址;Sector counter基于address覆盖以512字节为最小长度单元到整个可用的RPMB区域末尾;Algotithm覆盖HMAC-SHA256和SHA256(RPMB不支持的认证)。
测试过程,初始化其它子模块,维护系统状态和运行测试,实现RPMB功能的自动化验证。
S180、记录测试过程的日志。
在日志记录过程中,一般都会记录系统的运行记录,测试激励的被执行的序列记录,如果测试执行过程遇到失败会立即停止整个测试系统,并刷新日志记录环节,测试系统会按照每组测试激励参数的执行顺序按时间顺序完整的测试过程中的日志,当测试结果打印失败的时候,可以分析日志的顺序,方便测试人员快速的定位问题。
在本实施例中,记录测试过程的细节,缩短测试人员定位问题的时间。
若所述待测SSD具备RPMB功能,则进入结束步骤。
上述的RPMB测试方法,通过判断待测SSD是否具备RPMB功能,在确保待测SSD具备RPMB功能之后,生成密钥,并初始化对应的RPMB数据区域,从测试用例池内每选择一组测试激励参数执行一次待测SSD的测试,测试用例池内可以拓展多种用例,实现提高功能测试的覆盖率,降低测试成本,缩短测试时间。
图4是本发明实施例提供的一种RPMB测试装置300的示意性框图。如图4所示,对应于以上RPMB测试方法,本发明还提供一种RPMB测试装置300。该RPMB测试装置300包括用于执行上述RPMB测试方法的单元,该装置可以被配置于服务器中。具体地,请参阅图4,该RPMB测试装置300包括信息获取单元301、检测单元302、密钥生成单元303、第一记录单元304、初始化单元305、存储单元306、第二记录单元307以及测试单元308。
信息获取单元301,用于获取待测SSD相关信息;检测单元302,用于根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能;密钥生成单元303,用于若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥;第一记录单元304,用于记录密钥生成的日志。初始化单元305,用于初始化待测SSD的RPMB数据区域;存储单元306,用于生成测试激励参数,并存储到所述测试用例池内。第二记录单元307,用于记录测试过程的日志。测试单元308,用于利用所述测试用例池内的测试激励参数测试所述待测SSD。
在一实施例中,如图5所示,所述检测单元302包括字段获取子单元3021、判断子单元3022、第一确定子单元3023以及第二确定子单元3024。
字段获取子单元3021,用于通过NVMe协议规定的identify命令获取待测SSD相关信息中的controller data structure的RPMBS字段;判断子单元3022,用于判断所述RPMBS字段中的number of RPMB units是否等于零;第一确定子单元3023,用于若所述RPMBS字段中的number of RPMB units不等于零,则确定所述待测SSD具备RPMB功能;第二确定子单元3024,用于若所述RPMBS字段中的number of RPMB units等于零,则确定所述待测SSD不具备RPMB功能。
在一实施例中,所述密钥生成单元303,用于通过待测SSD相关信息的SUBNQN使用python的hashlib标准库提供的sha256摘要算法生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥。
在一实施例中,所述初始化单元305,用于以512字节作为读写RPMB的数据区域的最小单元,并以每个最小单元的前8字节作为起始地址的CRC校验值,每个最小单元的最后8字节作为前504字节的CRC校验值,初始化待测SSD的RPMB数据区域。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述RPMB测试装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述RPMB测试装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
请参阅图6,图6是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图6,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种RPMB测试方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种RPMB测试方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
获取待测SSD相关信息;根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能;若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥;初始化待测SSD的RPMB数据区域;生成测试激励参数,并存储到所述测试用例池内。利用所述测试用例池内的测试激励参数测试所述待测SSD。
在一实施例中,处理器502在实现所述根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能步骤时,具体实现如下步骤:
通过NVMe协议规定的identify命令获取待测SSD相关信息中的controllerdatastructure的RPMBS字段;判断所述RPMBS字段中的number of RPMB units是否等于零;若所述RPMBS字段中的number of RPMB units不等于零,则确定所述待测SSD具备RPMB功能;若所述RPMBS字段中的number of RPMB units等于零,则确定所述待测SSD不具备RPMB功能。
在一实施例中,处理器502在实现所述根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥步骤时,具体实现如下步骤:
通过待测SSD相关信息的SUBNQN使用python的hashlib标准库提供的sha256摘要算法生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥。
在一实施例中,处理器502在实现所述初始化待测SSD的RPMB数据区域步骤时,具体实现如下步骤:
以512字节作为读写RPMB的数据区域的最小单元,并以每个最小单元的前8字节作为起始地址的CRC校验值,每个最小单元的最后8字节作为前504字节的CRC校验值,初始化待测SSD的RPMB数据区域。
在一实施例中,处理器502在实现所述利用所述测试用例池内的测试激励参数测试所述待测SSD步骤之后,还实现如下步骤:
记录测试过程的日志。
在一实施例中,处理器502在实现所述根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥步骤之后,还实现如下步骤:
记录密钥生成的日志。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
获取待测SSD相关信息;根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能;若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥;初始化待测SSD的RPMB数据区域;生成测试激励参数,并存储到所述测试用例池内。利用所述测试用例池内的测试激励参数测试所述待测SSD。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能步骤时,具体实现如下步骤:
通过NVMe协议规定的identify命令获取待测SSD相关信息中的controllerdatastructure的RPMBS字段;判断所述RPMBS字段中的number of RPMB units是否等于零;若所述RPMBS字段中的number of RPMB units不等于零,则确定所述待测SSD具备RPMB功能;若所述RPMBS字段中的number of RPMB units等于零,则确定所述待测SSD不具备RPMB功能。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥步骤时,具体实现如下步骤:
通过待测SSD相关信息的SUBNQN使用python的hashlib标准库提供的sha256摘要算法生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥。
在一实施例中,所述处理器在执行所述计算机程序而实现所述初始化待测SSD的RPMB数据区域步骤时,具体实现如下步骤:
以512字节作为读写RPMB的数据区域的最小单元,并以每个最小单元的前8字节作为起始地址的CRC校验值,每个最小单元的最后8字节作为前504字节的CRC校验值,初始化待测SSD的RPMB数据区域。
在一实施例中,所述处理器在执行所述计算机程序而实现所述利用所述测试用例池内的测试激励参数测试所述待测SSD步骤之后,还实现如下步骤:
记录测试过程的日志。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥步骤之后,还实现如下步骤:
记录密钥生成的日志。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.RPMB测试方法,其特征在于,包括:
获取待测SSD相关信息;
根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能;
若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥;
初始化待测SSD的RPMB数据区域;
生成测试激励参数,并存储到所述测试用例池内。
利用所述测试用例池内的测试激励参数测试所述待测SSD。
2.根据权利要求1所述的RPMB测试方法,其特征在于,所述根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能,包括:
通过NVMe协议规定的identify命令获取待测SSD相关信息中的controller datastructure的RPMBS字段;
判断所述RPMBS字段中的number of RPMB units是否等于零;
若所述RPMBS字段中的number of RPMB units不等于零,则确定所述待测SSD具备RPMB功能;
若所述RPMBS字段中的number of RPMB units等于零,则确定所述待测SSD不具备RPMB功能。
3.根据权利要求1所述的RPMB测试方法,其特征在于,所述根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥,包括:
通过待测SSD相关信息的SUBNQN使用python的hashlib标准库提供的sha256摘要算法生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥。
4.根据权利要求1所述的RPMB测试方法,其特征在于,所述初始化待测SSD的RPMB数据区域,包括:
以512字节作为读写RPMB的数据区域的最小单元,并以每个最小单元的前8字节作为起始地址的CRC校验值,每个最小单元的最后8字节作为前504字节的CRC校验值,初始化待测SSD的RPMB数据区域。
5.根据权利要求1所述的RPMB测试方法,其特征在于,所述利用所述测试用例池内的测试激励参数测试所述待测SSD之后,还包括:
记录测试过程的日志。
6.根据权利要求1所述的RPMB测试方法,其特征在于,所述根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥之后,还包括:
记录密钥生成的日志。
7.RPMB测试装置,其特征在于,包括:
信息获取单元,用于获取待测SSD相关信息;
检测单元,用于根据所述待测SSD相关信息判断所述待测SSD是否具备RPMB功能;
密钥生成单元,用于若所述待测SSD具备RPMB功能,则根据待测SSD相关信息生成密钥,并将所述密钥发送至待测SSD,以使得待测SSD烧入所述密钥;
初始化单元,用于初始化待测SSD的RPMB数据区域;
存储单元,用于生成测试激励参数,并存储到所述测试用例池内。
测试单元,用于利用所述测试用例池内的测试激励参数测试所述待测SSD。
8.根据权利要求7所述的RPMB测试装置,其特征在于,所述检测单元包括:
字段获取子单元,用于通过NVMe协议规定的identify命令获取待测SSD相关信息中的controller data structure的RPMBS字段;
判断子单元,用于判断所述RPMBS字段中的number of RPMB units是否等于零;
第一确定子单元,用于若所述RPMBS字段中的number of RPMB units不等于零,则确定所述待测SSD具备RPMB功能;
第二确定子单元,用于若所述RPMBS字段中的number of RPMB units等于零,则确定所述待测SSD不具备RPMB功能。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
CN202310450158.8A 2023-04-24 2023-04-24 Rpmb测试方法、装置、计算机设备及存储介质 Pending CN116524987A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310450158.8A CN116524987A (zh) 2023-04-24 2023-04-24 Rpmb测试方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310450158.8A CN116524987A (zh) 2023-04-24 2023-04-24 Rpmb测试方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116524987A true CN116524987A (zh) 2023-08-01

Family

ID=87404074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310450158.8A Pending CN116524987A (zh) 2023-04-24 2023-04-24 Rpmb测试方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116524987A (zh)

Similar Documents

Publication Publication Date Title
US9361449B2 (en) Platform integrity verification system and information processing device
CN100454322C (zh) 具有启动验证功能的信息处理装置
US8489888B2 (en) Processor apparatus having a security function
US11579893B2 (en) Systems and methods for separate storage and use of system BIOS components
US20110307633A1 (en) Preventing access to a device from an external interface
KR20080048545A (ko) 하드웨어―지원 장치 구성 검출
US9262631B2 (en) Embedded device and control method thereof
CN110659171A (zh) 一种测试方法、电子设备和计算机可读存储介质
CN115762625A (zh) 验证eMMC功能的方法、系统、电子设备及存储介质
CN112133357B (zh) 一种eMMC的测试方法及装置
KR20230091660A (ko) 소프트웨어의 무결성 검증 방법 및 그 장치
CN114048484A (zh) 多路服务器的可信度量的方法、装置、计算机设备
US7181641B2 (en) Data storage verification techniques for disk drivers
CN117391099A (zh) 智能卡的数据下载及校验方法及其系统、存储介质
CN115496021B (zh) 系统芯片的自动化测试方法、装置、芯片、设备及系统
CN111897685A (zh) 掉电时校验数据的方法、装置、存储介质及电子设备
CN116524987A (zh) Rpmb测试方法、装置、计算机设备及存储介质
US20220188221A1 (en) Regression testing method and regression testing apparatus
JP4475621B2 (ja) メモリ制御回路の論理検証装置及び方法
CN114036042A (zh) 一种模型测试方法、装置、计算机和可读存储介质
US11216552B2 (en) System and method for verifying first time use of an information handling system
CN111338678A (zh) 一种存储系统升级校验的方法和设备
CN108292260B (zh) 用于软件自测试的装置和方法
US11928210B2 (en) Module and method for monitoring systems of a host device for security exploitations
CN113094221B (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