CN112133356B - eMMC中RPMB的功能测试方法、装置和计算机设备 - Google Patents

eMMC中RPMB的功能测试方法、装置和计算机设备 Download PDF

Info

Publication number
CN112133356B
CN112133356B CN202010955434.2A CN202010955434A CN112133356B CN 112133356 B CN112133356 B CN 112133356B CN 202010955434 A CN202010955434 A CN 202010955434A CN 112133356 B CN112133356 B CN 112133356B
Authority
CN
China
Prior art keywords
rpmb
function
writing
data
authentication
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
CN202010955434.2A
Other languages
English (en)
Other versions
CN112133356A (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.)
Shenzhen Hongwang Microelectronics Co ltd
Original Assignee
Shenzhen Hongwang Microelectronics 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 Shenzhen Hongwang Microelectronics Co ltd filed Critical Shenzhen Hongwang Microelectronics Co ltd
Priority to CN202010955434.2A priority Critical patent/CN112133356B/zh
Publication of CN112133356A publication Critical patent/CN112133356A/zh
Application granted granted Critical
Publication of CN112133356B publication Critical patent/CN112133356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请公开了一种eMMC中RPMB的功能测试方法、装置和计算机设备,属于存储技术领域。在该方法中,主机可以对RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,以得到RPMB的功能测试结果。如此,可以对RPMB进行较为严谨且测试覆盖率较高的功能测试,从而可以保证RPMB的可靠性和其防止非法篡改的能力。

Description

eMMC中RPMB的功能测试方法、装置和计算机设备
技术领域
本申请涉及存储技术领域,特别涉及一种eMMC(Embedded Multimedia Card,嵌入式多媒体卡)中RPMB(Replay Protected Memory Block,重放保护存储块)的功能测试方法、装置和计算机设备。
背景技术
eMMC是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC至少包含三个组件,分别是多媒体卡接口、快闪存储器和控制器,并采用行业标准BGA(Ball Grid Array,球栅阵列)封装。
RPMB是eMMC中一个具有安全保密特性的分区。主机在操作RPMB之前,需要先与eMMC进行授权绑定。此绑定过程具体为:主机生成密钥,将此密钥写入RPMB的OTP(One TimeProgrammable,一次性可编程)区域,同时主机在其安全区域(如TEE(Trusted ExecutionEnvironment,可信执行环境)等)中也会保存该密钥。绑定完成后将以此密钥完成主机访问RPMB时所有交互数据的加解密动作,以满足RPMB的防止非法篡改的需求。
发明内容
本申请提供了一种eMMC中RPMB的功能测试方法、装置和计算机设备,可以保证RPMB的可靠性和其防止非法篡改的能力。所述技术方案如下:
第一方面,提供了一种eMMC中RPMB的功能测试方法,包括:
对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,得到所述RPMB的功能测试结果。
本申请中,主机可以对RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,以得到RPMB的功能测试结果。如此,可以对RPMB进行较为严谨且测试覆盖率较高的功能测试,从而可以保证RPMB的可靠性和其防止非法篡改的能力。
可选地,所述对eMMC中的RPMB的认证密钥写入功能进行测试,包括:
清除所述RPMB中存储的认证密钥;
对所述RPMB进行数据读写操作;
若所述数据读写操作失败,则向所述RPMB中写入认证密钥;
若成功向所述RPMB中写入认证密钥,则确定所述RPMB的认证密钥写入功能正常;
若未成功向所述RPMB中写入认证密钥,则确定所述RPMB的认证密钥写入功能异常。
可选地,所述清除所述RPMB中存储的认证密钥,包括:
对所述eMMC进行LLF(Low-Level Formatting,低阶格式化)操作,以清除所述RPMB中存储的认证密钥。
可选地,所述对eMMC中的RPMB的写计数器功能进行测试,包括:
读取所述RPMB中写计数器的值,将读取到的值作为第一数值;
向所述RPMB中写入认证数据后,再次读取所述RPMB中的写计数器的值,将本次读取到的值作为第二数值;
若所述第一数值加1得到的值等于所述第二数值,则确定所述RPMB的写计数器功能正常;
若所述第一数值加1得到的值不等于所述第二数值,则确定所述RPMB的写计数器功能异常。
可选地,所述对eMMC中的RPMB的认证数据写入功能进行测试,包括:
向所述RPMB中的扇区写入认证数据,和/或,根据对齐地址向所述RPMB中写入认证数据,和/或,根据非对齐地址向所述RPMB中写入认证数据;
根据认证数据写入结果,确定所述RPMB的认证数据写入功能是否正常。
可选地,所述对eMMC中的RPMB的认证数据读取功能进行测试,包括:
从所述RPMB中的扇区读取数据;
对读取出的数据进行校验;
若校验成功,则确定所述RPMB的认证数据读取功能正常;
若校验失败,则确定所述RPMB的认证数据读取功能异常。
可选地,所述对eMMC中的RPMB的错误处理功能进行测试,包括:
根据目标地址向所述RPMB中写入数据,和/或,根据目标写计数器值向所述RPMB中写入数据,和/或,根据目标数字签名向所述RPMB中写入数据,和/或,根据目标扇区数向所述RPMB中写入数据;其中,所述目标地址大于所述RPMB的最大地址,所述目标写计数器值与所述RPMB中写计数器的值不同,所述目标数字签名与所述数据的数字签名不同,所述目标扇区数大于所述RPMB的最大扇区数;
根据数据写入结果,确定所述RPMB的错误处理功能是否正常。
可选地,所述对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,包括:
对所述RPMB的认证密钥写入功能进行测试;
若所述RPMB的认证密钥写入功能正常,则对所述RPMB的写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试。
第二方面,提供了一种eMMC中RPMB的功能测试装置,包括:
测试模块,用于对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,得到所述RPMB的功能测试结果。
可选地,所述测试模块用于:
清除所述RPMB中存储的认证密钥;
对所述RPMB进行数据读写操作;
若所述数据读写操作失败,则向所述RPMB中写入认证密钥;
若成功向所述RPMB中写入认证密钥,则确定所述RPMB的认证密钥写入功能正常;
若未成功向所述RPMB中写入认证密钥,则确定所述RPMB的认证密钥写入功能异常。
可选地,所述测试模块用于:
对所述eMMC进行LLF操作,以清除所述RPMB中存储的认证密钥。
可选地,所述测试模块用于:
读取所述RPMB中写计数器的值,将读取到的值作为第一数值;
向所述RPMB中写入认证数据后,再次读取所述RPMB中的写计数器的值,将本次读取到的值作为第二数值;
若所述第一数值加1得到的值等于所述第二数值,则确定所述RPMB的写计数器功能正常;
若所述第一数值加1得到的值不等于所述第二数值,则确定所述RPMB的写计数器功能异常。
可选地,所述测试模块用于:
向所述RPMB中的扇区写入认证数据,和/或,根据对齐地址向所述RPMB中写入认证数据,和/或,根据非对齐地址向所述RPMB中写入认证数据;
根据认证数据写入结果,确定所述RPMB的认证数据写入功能是否正常。
可选地,所述测试模块用于:
从所述RPMB中的扇区读取数据;
对读取出的数据进行校验;
若校验成功,则确定所述RPMB的认证数据读取功能正常;
若校验失败,则确定所述RPMB的认证数据读取功能异常。
可选地,所述测试模块用于:
根据目标地址向所述RPMB中写入数据,和/或,根据目标写计数器值向所述RPMB中写入数据,和/或,根据目标数字签名向所述RPMB中写入数据,和/或,根据目标扇区数向所述RPMB中写入数据;其中,所述目标地址大于所述RPMB的最大地址,所述目标写计数器值与所述RPMB中写计数器的值不同,所述目标数字签名与所述数据的数字签名不同,所述目标扇区数大于所述RPMB的最大扇区数;
根据数据写入结果,确定所述RPMB的错误处理功能是否正常。
可选地,所述测试模块用于:
对所述RPMB的认证密钥写入功能进行测试;
若所述RPMB的认证密钥写入功能正常,则对所述RPMB的写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试。
第三方面,提供了一种计算机设备,该计算机设备包括存储器、处理器以及存储在该存储器中并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现上述的eMMC中RPMB的功能测试方法。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述的eMMC中RPMB的功能测试方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的eMMC中RPMB的功能测试方法的步骤。
可以理解的是,上述第二方面、第三方面、第四方面、第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种eMMC中RPMB的功能测试方法的流程图;
图2是本申请实施例提供的一种eMMC中RPMB的功能测试装置的结构示意图;
图3是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在对本申请实施例进行详细地解释说明之前,先对本申请实施例的应用场景予以说明。
RPMB是eMMC中一个具有安全保密特性的分区。主机使用RPMB来存储保密信息,如存储用户密码、指纹信息、公钥、序列号等。因而主机制造商或eMMC开发商必须确保RPMB的可靠性和其防止非法篡改的能力。
为此,本申请实施例提供了一种eMMC中RPMB的功能测试方法,来对RPMB的功能进行测试,以保证RPMB的可靠性和其防止非法篡改的能力,此测试过程较为严谨,且测试覆盖率较高。
下面对本申请实施例提供的eMMC中RPMB的功能测试方法进行说明。
图1是本申请实施例提供的一种eMMC中RPMB的功能测试方法的流程图。该方法应用于主机,该主机中内嵌有eMMC。参见图1,该方法包括以下步骤。
步骤101:主机对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,得到RPMB的功能测试结果。
认证密钥写入功能是指向RPMB中正常写入认证密钥的功能。使用该认证密钥可以完成主机访问RPMB时所有交互数据的加解密动作,如此可以满足RPMB的防止非法篡改的需求,提高RPMB的可靠性。
写计数器功能是指向RPMB写入数据时RPMB中的写计数器正常计数的功能。
认证数据写入功能是指向RPMB中正常写入认证数据的功能。该认证数据是指根据认证密钥加密后的数据。
认证数据读取功能是指从RPMB中正常读取数据的功能。
错误处理功能是指在发生读写错误时RPMB正常处理的功能。
本申请实施例中,主机可以对RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,以得到RPMB的功能测试结果。如此,可以对RPMB进行较为严谨且测试覆盖率较高的功能测试,从而可以保证RPMB的可靠性和其防止非法篡改的能力。
值得说明的是,本申请实施例中,主机可仅对RPMB的一个功能进行快速测试,或对RPMB的多个功能进行混合测试,测试灵活性较高。并且,可通过增加测试时长、测试次数等来提高RPMB的功能测试的可靠性。
下面对主机对RPMB的认证密钥写入功能进行测试的过程进行说明。
具体地,主机先清除RPMB中存储的认证密钥,再对RPMB进行数据读写操作。若数据读写操作失败,则主机向RPMB中写入认证密钥。若主机成功向RPMB中写入认证密钥,则确定RPMB的认证密钥写入功能正常;若主机未成功向RPMB中写入认证密钥,则确定RPMB的认证密钥写入功能异常。
其中,主机在清除RPMB中存储的认证密钥时,可以对eMMC进行LLF操作,以清除RPMB中存储的认证密钥。LLF操作也可以称为开卡。LLF操作通常会清除eMMC中的分区中的所有文件。如此,也就实现了RPMB中存储的认证密钥的清除。当然,主机也可以以其他方式清除RPMB中存储的认证密钥,本申请实施例对此不作唯一限定。
在主机清除RPMB中存储的认证密钥后,主机可以先对eMMC进行初始化,以便后续能够对RPMB进行数据读写操作。
在主机清除RPMB中存储的认证密钥后,由于缺少认证密钥,所以主机此时对RPMB进行数据读写操作应该是失败的。因而主机可以在数据读写操作失败时,向RPMB中写入认证密钥,并根据认证密钥写入结果确定RPMB的认证密钥写入功能是否正常。反之,若数据读写操作成功了,那主机可以直接确定RPMB的认证密钥写入功能异常,无需再进行后续向RPMB中写入认证密钥的操作。
其中,主机向RPMB中写入认证密钥时,主机可以向eMMC中的控制器发送一条携带认证密钥的命令,这条命令的操作类型可以为预设操作类型。控制器接收到这条命令后,在确定这条命令的操作为预设操作类型时,可以将这条命令中携带的认证密钥写入RPMB。预设操作类型可以预先进行设置,预设操作类型用于指示这条命令是用于写入认证密钥的命令。
下面对主机对RPMB的写计数器功能进行测试的过程进行说明。
具体地,主机读取RPMB中写计数器的值,将读取到的值作为第一数值。主机向RPMB中写入认证数据后,再次读取RPMB中的写计数器的值,将本次读取到的值作为第二数值。若第一数值加1得到的值等于第二数值,则主机确定RPMB的写计数器功能正常;若第一数值加1得到的值不等于第二数值,则主机确定RPMB的写计数器功能异常。
主机读取RPMB中写计数器的值之前,可以先对eMMC进行初始化并启动RPMB,以便后续能够读取RPMB中写计数器的值。
其中,主机读取RPMB中写计数器的值时,可以根据认证密钥向eMMC中的控制器发送写计数器读取命令。控制器接收到该写计数器读取命令后,读取RPMB中写计数器的值,并将读取到的值返回给主机。
若第一数值加1得到的值等于第二数值,说明RPMB中的写计数器在主机向RPMB中写入认证数据时能够正确计数,因而主机可以确定RPMB的写计数器功能正常。若第一数值加1得到的值不等于第二数值,说明RPMB中的写计数器在主机向RPMB中写入认证数据时不能正确计数,因而主机可以确定RPMB的写计数器功能异常。
下面对主机对RPMB的认证数据写入功能进行测试的过程进行说明。
具体地,主机向RPMB中的扇区写入认证数据,和/或,根据对齐地址向RPMB中写入认证数据,和/或,根据非对齐地址向RPMB中写入认证数据。主机根据认证数据写入结果,确定RPMB的认证数据写入功能是否正常。
主机向RPMB中写入认证数据之前,可以先对eMMC进行初始化并启动RPMB,以便后续能够向RPMB中写入认证数据。
不同eMMC开发商对认证数据的写入要求不同。根据不同的认证数据写入要求,主机可以确定RPMB的认证数据写入功能是否正常。
一种可能的情况中,eMMC开发商要求能够单次同时对RPMB中的n个扇区进行认证数据的写入。n可以预先进行设置,如n可以为1、2、32等,本申请实施例对此不作唯一限定。
这种情况下,主机可以同时向RPMB中的n个扇区写入认证数据,若认证数据成功写入,则可以确定RPMB的认证数据写入功能正常,反之,若认证数据未成功写入,则可以确定RPMB的认证数据写入功能异常。
假设n为1、2、32,则主机可以先向RPMB中的1个扇区写入认证数据,在认证数据成功写入时,再同时向RPMB中的2个扇区写入认证数据,在认证数据成功写入时,接着同时向RPMB中的32个扇区写入认证数据,在认证数据成功写入时,确定RPMB的认证数据写入功能正常。反之,若主机未成功向RPMB中的1个扇区、2个扇区或32个扇区写入认证数据,则确定RPMB的认证数据写入功能异常。
一种可能的情况中,eMMC开发商要求需要根据对齐地址向RPMB中写入认证数据。
这种情况下,若主机根据对齐地址成功向RPMB中写入认证数据,则可以确定RPMB的认证数据写入功能正常;若主机根据对齐地址未成功向RPMB中写入认证数据,则可以确定RPMB的认证数据写入功能异常。
其中,主机根据对齐地址向RPMB中写入认证数据是指,主机向RPMB中写入认证数据,该认证数据的写入地址是RPMB中的对齐地址。
一种可能的情况中,eMMC开发商要求可以根据非对齐地址向RPMB中写入认证数据。
这种情况下,若主机根据非对齐地址成功向RPMB中写入认证数据,则可以确定RPMB的认证数据写入功能正常;若主机根据非对齐地址未成功向RPMB中写入认证数据,则可以确定RPMB的认证数据写入功能异常。
其中,主机根据非对齐地址向RPMB中写入认证数据是指,主机向RPMB中写入认证数据,该认证数据的写入地址是RPMB中的非对齐地址。
下面对主机对RPMB的认证数据读取功能进行测试的过程进行说明。
具体地,主机从RPMB中的扇区读取数据;对读取出的数据进行校验;若校验成功,则确定RPMB的认证数据读取功能正常;若校验失败,则确定RPMB的认证数据读取功能异常。
主机从RPMB中的扇区读取数据之前,可以先对eMMC进行初始化并启动RPMB,以便后续能够从RPMB中的扇区读取数据。
主机可以从RPMB中的多个不同扇区读取数据。比如,主机从RPMB中的某个扇区读取数据时,可以根据认证密钥向eMMC中的控制器发送针对RPMB中这个扇区的数据读取命令。控制器接收到该数据读取命令后,读取这个扇区的数据,并将读取到的数据返回给主机。
主机可以预先在RPMB中的某个扇区中写入数据,并保存所写的数据。之后,主机可以从RPMB中的这个扇区读取该数据,并将读取出的数据与之前保存的数据进行比对,以此实现对读取出的数据的校验。若读取出的数据与之前保存的数据相同,则主机可以确定校验成功,确定RPMB的认证数据读取功能正常。若读取出的数据与之前保存的数据不同,则主机可以确定校验失败,确定RPMB的认证数据读取功能异常。
下面对主机对RPMB的错误处理功能进行测试的过程进行说明。
具体地,主机根据目标地址向RPMB中写入数据,和/或,根据目标写计数器值向RPMB中写入数据,和/或,根据目标数字签名向RPMB中写入数据,和/或,根据目标扇区数向RPMB中写入数据。主机根据数据写入结果,确定RPMB的错误处理功能是否正常。
主机向RPMB中写入数据之前,可以先对eMMC进行初始化并启动RPMB,以便后续能够向RPMB中写入数据。
主机根据目标地址向RPMB中写入数据是指主机尝试将数据写入RPMB中的目标地址。目标地址大于RPMB的最大地址,主机根据目标地址向RPMB中写入数据应该是无法写入的。因而当主机根据目标地址向RPMB中写入数据时,若eMMC返回的数据写入结果是地址错误,则可以确定RPMB的错误处理功能正常;若eMMC返回的数据写入结果不是地址错误,则可以确定RPMB的错误处理功能异常。其中,主机可以事先获取RPMB的最大地址,然后将大于RPMB的最大地址的一个地址作为目标地址。
主机根据目标写计数器值向RPMB中写入数据是指主机尝试向RPMB中写入携带有目标写计数器值的数据。目标写计数器值与RPMB中写计数器的值不同,主机根据目标写计数器值向RPMB中写入数据应该是无法写入的。因而当主机根据目标写计数器值向RPMB中写入数据时,若eMMC返回的数据写入结果是写计数器错误,则可以确定RPMB的错误处理功能正常;若eMMC返回的数据写入结果不是写计数器错误,则可以确定RPMB的错误处理功能异常。其中,主机可以事先获取RPMB中写计数器的值,然后将与RPMB中写计数器的值不同的一个数值作为目标写计数器值。
主机根据目标数字签名向RPMB中写入数据是指主机尝试向RPMB中写入携带有目标数字签名的数据。目标数字签名与该数据的数字签名不同,主机根据目标数字签名向RPMB中写入数据应该是无法写入的。因而当主机根据目标数字签名向RPMB中写入数据时,若eMMC返回的数据写入结果是数字签名错误,则可以确定RPMB的错误处理功能正常;若eMMC返回的数据写入结果不是数字签名错误,则可以确定RPMB的错误处理功能异常。其中,主机可以事先计算该数据的数字签名,例如,主机可以将该数据用SHA(Secure HashAlgorithm,安全散列算法)编码加密产生数字摘要,再使用认证密钥对该数字摘要进行加密,得到该数据的数字签名。然后主机可以将与该数据的数字签名不同的一个数字签名作为目标数字签名。
主机根据目标扇区数向RPMB中写入数据是指主机尝试同时向RPMB中的目标扇区数个的扇区写入数据。目标扇区数大于RPMB的最大扇区数,主机根据目标扇区数向RPMB中写入数据应该是无法写入的。因而当主机根据目标扇区数向RPMB中写入数据时,若eMMC返回的数据写入结果是通用错误,则可以确定RPMB的错误处理功能正常;若eMMC返回的数据写入结果不是通用错误,则可以确定RPMB的错误处理功能异常。其中,主机可以事先获取RPMB的最大扇区数,然后将大于RPMB的最大扇区数的一个扇区数作为目标扇区数。
可选地,主机对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试时,可以先对RPMB的认证密钥写入功能进行测试。若RPMB的认证密钥写入功能正常,则主机继续对RPMB的写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试。如此,可以保证在对RPMB的写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试时的准确性。
在本申请实施例中,主机可以对RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,以得到RPMB的功能测试结果。如此,可以对RPMB进行较为严谨且测试覆盖率较高的功能测试,从而可以保证RPMB的可靠性和其防止非法篡改的能力。
图2是本申请实施例提供的一种eMMC中RPMB的功能测试装置的结构示意图。参见图2,该装置包括测试模块201。
测试模块201,用于对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,得到RPMB的功能测试结果。
可选地,测试模块201用于:
清除RPMB中存储的认证密钥;
对RPMB进行数据读写操作;
若数据读写操作失败,则向RPMB中写入认证密钥;
若成功向RPMB中写入认证密钥,则确定RPMB的认证密钥写入功能正常;
若未成功向RPMB中写入认证密钥,则确定RPMB的认证密钥写入功能异常。
可选地,测试模块201用于:
对eMMC进行LLF操作,以清除RPMB中存储的认证密钥。
可选地,测试模块201用于:
读取RPMB中写计数器的值,将读取到的值作为第一数值;
向RPMB中写入认证数据后,再次读取RPMB中的写计数器的值,将本次读取到的值作为第二数值;
若第一数值加1得到的值等于第二数值,则确定RPMB的写计数器功能正常;
若第一数值加1得到的值不等于第二数值,则确定RPMB的写计数器功能异常。
可选地,测试模块201用于:
向RPMB中的扇区写入认证数据,和/或,根据对齐地址向RPMB中写入认证数据,和/或,根据非对齐地址向RPMB中写入认证数据;
根据认证数据写入结果,确定RPMB的认证数据写入功能是否正常。
可选地,测试模块201用于:
从RPMB中的扇区读取数据;
对读取出的数据进行校验;
若校验成功,则确定RPMB的认证数据读取功能正常;
若校验失败,则确定RPMB的认证数据读取功能异常。
可选地,测试模块201用于:
根据目标地址向RPMB中写入数据,和/或,根据目标写计数器值向RPMB中写入数据,和/或,根据目标数字签名向RPMB中写入数据,和/或,根据目标扇区数向RPMB中写入数据;其中,目标地址大于RPMB的最大地址,目标写计数器值与RPMB中写计数器的值不同,目标数字签名与数据的数字签名不同,目标扇区数大于RPMB的最大扇区数;
根据数据写入结果,确定RPMB的错误处理功能是否正常。
可选地,测试模块201用于:
对RPMB的认证密钥写入功能进行测试;
若RPMB的认证密钥写入功能正常,则对RPMB的写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试。
在本申请实施例中,主机可以对RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,以得到RPMB的功能测试结果。如此,可以对RPMB进行较为严谨且测试覆盖率较高的功能测试,从而可以保证RPMB的可靠性和其防止非法篡改的能力。
需要说明的是:上述实施例提供的eMMC中RPMB的功能测试装置在测试eMMC中RPMB的功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的eMMC中RPMB的功能测试装置与eMMC中RPMB的功能测试方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图3为本申请实施例提供的一种计算机设备的结构示意图。如图3所示,计算机设备3包括:处理器30、存储器31以及存储在存储器31中并可在处理器30上运行的计算机程序32,处理器30执行计算机程序32时实现上述实施例中的eMMC中RPMB的功能测试方法中的步骤。
计算机设备3可以是PC(Personal Computer,个人计算机)、手机、PDA(PersonalDigital Assistant,个人数字助手)、可穿戴设备、平板电脑、智能车机、智能电视、智能音箱等。本领域技术人员可以理解,图3仅仅是计算机设备3的举例,并不构成对计算机设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
处理器30可以是中央处理单元(Central Processing Unit,CPU),处理器30还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器。
存储器31在一些实施例中可以是计算机设备3的内部存储单元,例如计算机设备3的硬盘或内存。存储器31在另一些实施例中也可以是计算机设备3的外部存储设备,例如计算机设备3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器31还可以既包括计算机设备3的内部存储单元也包括外部存储设备。存储器31用于存储操作***、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的eMMC中RPMB的功能测试方法的步骤。例如,该计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。该计算机指令可以存储在上述计算机可读存储介质中。
也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中的eMMC中RPMB的功能测试方法的步骤。
以上所述为本申请提供的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.一种嵌入式多媒体卡eMMC中重放保护存储块RPMB的功能测试方法,其特征在于,包括:
对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,得到所述RPMB的功能测试结果;
其中,所述对eMMC中的RPMB的认证密钥写入功能进行测试,包括:
清除所述RPMB中存储的认证密钥;
对所述RPMB进行数据读写操作;
若所述数据读写操作成功,则确定所述RPMB的认证密钥写入功能异常;
若所述数据读写操作失败,则向所述RPMB中写入认证密钥;
若成功向所述RPMB中写入认证密钥,则确定所述RPMB的认证密钥写入功能正常;
若未成功向所述RPMB中写入认证密钥,则确定所述RPMB的认证密钥写入功能异常。
2.如权利要求1所述的方法,其特征在于,所述清除所述RPMB中存储的认证密钥,包括:
对所述eMMC进行低阶格式化LLF操作,以清除所述RPMB中存储的认证密钥。
3.如权利要求1所述的方法,其特征在于,所述对eMMC中的RPMB的写计数器功能进行测试,包括:
读取所述RPMB中写计数器的值,将读取到的值作为第一数值;
向所述RPMB中写入认证数据后,再次读取所述RPMB中的写计数器的值,将本次读取到的值作为第二数值;
若所述第一数值加1得到的值等于所述第二数值,则确定所述RPMB的写计数器功能正常;
若所述第一数值加1得到的值不等于所述第二数值,则确定所述RPMB的写计数器功能异常。
4.如权利要求1所述的方法,其特征在于,所述对eMMC中的RPMB的认证数据写入功能进行测试,包括:
向所述RPMB中的扇区写入认证数据,和/或,根据对齐地址向所述RPMB中写入认证数据,和/或,根据非对齐地址向所述RPMB中写入认证数据;
根据认证数据写入结果,确定所述RPMB的认证数据写入功能是否正常。
5.如权利要求1所述的方法,其特征在于,所述对eMMC中的RPMB的认证数据读取功能进行测试,包括:
从所述RPMB中的扇区读取数据;
对读取出的数据进行校验;
若校验成功,则确定所述RPMB的认证数据读取功能正常;
若校验失败,则确定所述RPMB的认证数据读取功能异常。
6.如权利要求1所述的方法,其特征在于,所述对eMMC中的RPMB的错误处理功能进行测试,包括:
根据目标地址向所述RPMB中写入数据,和/或,根据目标写计数器值向所述RPMB中写入数据,和/或,根据目标数字签名向所述RPMB中写入数据,和/或,根据目标扇区数向所述RPMB中写入数据;其中,所述目标地址大于所述RPMB的最大地址,所述目标写计数器值与所述RPMB中写计数器的值不同,所述目标数字签名与所述数据的数字签名不同,所述目标扇区数大于所述RPMB的最大扇区数;
根据数据写入结果,确定所述RPMB的错误处理功能是否正常。
7.如权利要求1-6任一所述的方法,其特征在于,所述对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,包括:
对所述RPMB的认证密钥写入功能进行测试;
若所述RPMB的认证密钥写入功能正常,则对所述RPMB的写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试。
8.一种嵌入式多媒体卡eMMC中重放保护存储块RPMB的功能测试装置,其特征在于,包括:
测试模块,用于对eMMC中的RPMB的认证密钥写入功能、写计数器功能、认证数据写入功能、认证数据读取功能、错误处理功能中的一个或多个功能进行测试,得到所述RPMB的功能测试结果;
其中,所述测试模块具体用于:
清除所述RPMB中存储的认证密钥;
对所述RPMB进行数据读写操作;
若所述数据读写操作成功,则确定所述RPMB的认证密钥写入功能异常;
若所述数据读写操作失败,则向所述RPMB中写入认证密钥;
若成功向所述RPMB中写入认证密钥,则确定所述RPMB的认证密钥写入功能正常;
若未成功向所述RPMB中写入认证密钥,则确定所述RPMB的认证密钥写入功能异常。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7任一项所述的方法。
CN202010955434.2A 2020-09-11 2020-09-11 eMMC中RPMB的功能测试方法、装置和计算机设备 Active CN112133356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010955434.2A CN112133356B (zh) 2020-09-11 2020-09-11 eMMC中RPMB的功能测试方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010955434.2A CN112133356B (zh) 2020-09-11 2020-09-11 eMMC中RPMB的功能测试方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN112133356A CN112133356A (zh) 2020-12-25
CN112133356B true CN112133356B (zh) 2023-05-16

Family

ID=73845253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010955434.2A Active CN112133356B (zh) 2020-09-11 2020-09-11 eMMC中RPMB的功能测试方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN112133356B (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108306A (ja) * 2009-11-16 2011-06-02 Sony Corp 不揮発性メモリおよびメモリシステム
JP5624510B2 (ja) * 2011-04-08 2014-11-12 株式会社東芝 記憶装置、記憶システム及び認証方法
TWI489474B (zh) * 2011-10-25 2015-06-21 Silicon Motion Inc 內嵌閃存卡燒機方法以及測試板、以及內嵌閃存卡
US9292712B2 (en) * 2012-09-28 2016-03-22 St-Ericsson Sa Method and apparatus for maintaining secure time
US9117533B2 (en) * 2013-03-13 2015-08-25 Sandisk Technologies Inc. Tracking erase operations to regions of non-volatile memory
CN106650464A (zh) * 2016-12-29 2017-05-10 深圳市金立通信设备有限公司 一种安全检测方法及终端
CN108108631A (zh) * 2017-11-29 2018-06-01 晨星半导体股份有限公司 一种根密钥处理方法及相关装置
CN108037938B (zh) * 2017-12-21 2021-08-10 北京兆易创新科技股份有限公司 一种eMMC的开卡方法
KR102501776B1 (ko) * 2018-01-31 2023-02-21 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20190099693A (ko) * 2018-02-19 2019-08-28 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11088845B2 (en) * 2018-07-03 2021-08-10 Western Digital Technologies, Inc. Non-volatile memory with replay protected memory block having dual key

Also Published As

Publication number Publication date
CN112133356A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
US8751786B1 (en) Method and integrated circuit for loading and executing firmware based on programing of one-time programmable memory
EP1638033A2 (en) Self testing and securing RAM system and method
CN102077204B (zh) 安全内存管理***和方法
JP5639709B2 (ja) 記憶装置における物理的識別子を生成する方法及び機械可読記憶媒体
US9298565B1 (en) System and method for identification of memory
US9256756B2 (en) Method of encryption and decryption for shared library in open operating system
JP2014524628A (ja) デジタル署名するオーソリティ依存のプラットフォームシークレット
JP2022527069A (ja) ランタイムコード実行検証
CN113177201A (zh) 程序校验、签名方法及装置、soc芯片
US11847209B2 (en) Memory device and system
CN112199740B (zh) 一种加密锁的实现方法及加密锁
CN112133356B (zh) eMMC中RPMB的功能测试方法、装置和计算机设备
CN109871327B (zh) 可信执行环境安全存储安全性测试方法及装置
EP4261713A1 (en) License file management method and apparatus, and device
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及***
CN115935396A (zh) 一种计算设备、数据加密方法、数据解密方法及存储介质
CN115688120A (zh) 安全芯片固件导入方法、安全芯片及计算机可读存储介质
CN111125723A (zh) 加密卡识别方法、装置、设备及存储介质
CN114780981A (zh) 安全数据的存储方法、计算机装置及计算机可读存储介质
CN115062330A (zh) 基于tpm的智能密码钥匙密码应用接口的实现方法
CN113835645A (zh) 数据处理方法、装置、设备及存储介质
CN110601846B (zh) 一种校验虚拟可信根的***及方法
US10691586B2 (en) Apparatus and method for software self-test
CN112016336A (zh) 检测复制卡的方法、装置、设备及存储介质
CN110443070A (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