首页 / RPMB分区绑定的处理方法、装置、设备及存储介质

RPMB分区绑定的处理方法、装置、设备及存储介质实质审查 发明

技术领域

[0001] 本公开涉及数据处理领域,尤其涉及一种RPMB分区绑定的处理方法、装置、设备及存储介质。

相关背景技术

[0002] RPMB(Replay Protected Memory Block)是一种回放保护的存储区域,用于存储设备安全相关的数据,如加密密钥、设备识别信息等,可以通过将RPMB分区与设备硬件进行绑定的方式,确保数据的机密性和完整性。
[0003] 目前,通常是在设备重启开机后自动进行RPMB绑定,由于RPMB绑定是不可逆的,如果出现芯片失效或需要更换CPU(Central Processing Unit,中央处理器)的情况,则需要将绑定的设备硬件一同进行更换,显然,这种RPMB绑定方式会产生较多的设备硬件成本损失。
[0004] 因此,如何降低RPMB绑定过程中对设备硬件成本的损失,是目前亟需解决的技术问题。

具体实施方式

[0035] 为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
[0036] 在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
[0037] RPMB(Replay Protected Memory Block)是一种回放保护的存储区域,用于存储设备安全相关的数据,如加密密钥、设备识别信息等,可以通过将RPMB分区与设备硬件进行绑定的方式,确保数据的机密性和完整性。
[0038] 目前,通常是在设备重启开机后自动进行RPMB绑定,由于RPMB绑定是不可逆的,如果出现芯片失效或需要更换CPU(Central Processing Unit,中央处理器)的情况,则需要将绑定的设备硬件一同进行更换,显然,这种RPMB绑定方式会产生较多的设备硬件成本损失。
[0039] 为此,本公实施例提供了一种RPMB分区绑定的处理方法,该方法包括:响应于目标设备重启过程中的预加载消息,从Proinfo分区中读取目标标志位的取值,并确定目标标志位的取值是否为第一预设值,其中,第一预设值为在目标设备首次开机成功时写入至Proinfo分区中的目标标志位;如果确定目标标志位的取值为第一预设值,则建立RPMB分区与EMMC存储器之间的绑定关系,其中,该绑定关系具体用于支持eMMC存储器对RPMB分区进行访问。可见,本公开实施例通过Proinfo分区中的目标标志位的取值来判断是否执行RPMB绑定的流程,降低了设备开机后自动执行RPMB绑定可能会造成的eMMC成本损失,提高了生产效率。
[0040] 基于此,本公开实施例提供了一种RPMB分区绑定的处理方法,参考图1,为本公开实施例提供的一种RPMB分区绑定的处理方法流程图,该方法包括:
[0041] S101:响应于目标设备重启过程中的预加载消息,从Proinfo分区中读取目标标志位的取值,并确定所述目标标志位的取值是否为第一预设值。
[0042] 其中,所述Proinfo分区属于所述目标设备的eMMC存储器,所述Proinfo分区用于存储所述目标设备的生产信息,所述第一预设值为在所述目标设备首次开机成功时写入至所述Proinfo分区中的所述目标标志位。
[0043] 本公开实施例中,目标设备可以为智能手机、平板电脑等终端设备中的任意一个设备。
[0044] 实际应用中,设备重启是指将计算机系统关闭并重新启动的过程,在安卓设备或计算机上,可以通过执行重启命令使设备的系统重新启动。在设备启动过程中通常会提前加载一些常用的数据、应用程序或资源,以便设备在开机后可以快速访问该资源或应用程序。
[0045] 本公开实施例中,Proinfo分区是指用于存储目标设备生产相关信息的区域,例如可以包括目标设备的硬件配置参数、生产序列号、生产测试数据等信息,Proinfo分区可以用于设备的生产和控制,以及在维修和调试过程中的识别和验证。
[0046] Proinfo闪存分区位于eMMC存储器中的指定位置处,其中,eMMC(Embedded MultiMedia Card)是一种用于存储目标设备的操作系统和数据的存储器,具体的,eMMC存储器可以由一个嵌入式存储解决方案构成,带有MMC(多媒体卡)接口、快闪存储器及主控制器。
[0047] 实际应用中,可以使用标志位控制程序的流程、决策或指示特定事件是否发生,例如可以在条件语句中使用标志位来判断是否执行特定的代码块,本公开实施例主要利用目标标志位来判断是否执行RPMB绑定的流程。
[0048] 本公开实施例中,可以预先在Proinfo分区中存储有目标标志位,后续在接收到目标设备重启过程中的预加载消息时,首先从Proinfo分区中读取目标标志位的取值,在获取到目标标识位的取值后,确定目标标志位的取值是否为第一预设值。
[0049] 其中,第一预设值是指在目标设备首次开机成功时写入至Proinfo分区中的目标标志位,第一预设值可以设置为任意一个十六进制数,例如十六进制数0x55。目标设备首次开机成功时写入Proinfo分区,可以包括目标设备空板刷机(此时目标设备未烧写ATO版本)后成功开机时写入Proinfo分区。
[0050] 一种可选的实施方式中,还可以在接收到目标设备重启过程中的预加载消息时,首先从Proinfo分区中读取目标标志位的当前取值,然后,将当前取值与目标标志位的初始值进行比较,如果当前取值与初始值不相同,则说明目标标志位的值发生了变化,此时建立RPMB分区与eMMC存储器之间的绑定关系。
[0051] S102:如果确定所述目标标志位的取值为所述第一预设值,则建立所述RPMB分区与所述eMMC存储器之间的绑定关系。
[0052] 其中,所述RPMB分区属于所述eMMC存储器,所述RPMB分区用于存储所述目标设备的安全信息,所述绑定关系用于支持所述eMMC存储器对所述RPMB分区进行访问。
[0053] 实际应用中,RPMB分区是eMMC存储器中用于存储目标设备安全相关信息的区域,例如目标设备的加密密钥、设备识别信息等,保存在RPMB分区中的关键数据不容易被篡改或重放攻击。
[0054] 本公开实施例中,如果确定目标标志位的取值为第一预设值,则建立RPMB分区与eMMC存储器之间的绑定关系,通过建立RPMB分区与eMMC存储器之间的绑定关系,确保只有经过授权的eMMC存储器才可以对RPMB分区中的数据进行访问。
[0055] 本公开实施例中,由于目标设备在重启开机后不直接进行RPMB分区绑定,而是在确定目标标志位的取值发生了变化时才进行RPMB绑定,因此,这种延迟绑定方式相较于现有技术中直接进行RPMB绑定的方案能够降低eMMC成本损失,提高生产效率。另外,本公开实施例提高的RPMB延迟绑定方法还可以增加数据的安全性,由于数据在存储时不与特定设备或密钥相关联,因此能够减少数据泄露或被未授权访问的风险。
[0056] 一种可选的实施方式中,在确定目标标志位的取值为第一预设值时,还可以通过将RPMB分区对应的密钥编程至eMMC存储器的方式,建立RPMB分区与eMMC存储器之间的绑定关系。
[0057] 本公实施例提供的RPMB分区绑定的处理方法中,首先响应于目标设备重启过程中的预加载消息,从Proinfo分区中读取目标标志位的取值,并确定目标标志位的取值是否为第一预设值,其中,第一预设值为在目标设备首次开机成功时写入至Proinfo分区中的目标标志位;如果确定目标标志位的取值为第一预设值,则建立RPMB分区与EMMC存储器之间的绑定关系,其中,该绑定关系具体用于支持eMMC存储器对RPMB分区进行访问。可见,本公开实施例通过Proinfo分区中的目标标志位的取值来判断是否执行RPMB绑定的流程,降低了了因设备开机后自动RPMB绑定可能会造成的eMMC成本损失,提高了生产效率。
[0058] 实际应用中,在从Proinfo分区中读取目标标志位的取值,并确定目标标志位的取值是否为第一预设值之前,还需要将目标标志位写入至Proinfo分区中。
[0059] 具体的,在Proinfo分区的标志位存储文件中定义目标标志位,并对目标标志位进行初始化,得到第二预设值,其中,第二预设值为目标标志位的初始值,例如可以设置为十六位进制数0x00。值得注意的是,第一预设值和第二预设值为不同的数值。
[0060] 一种可选的实施方式中,还可以通过以下方式将目标标志位写入至Proinfo分区中:首先,确定在Proinfo分区中用于存储目标标志位的文件,即标志位存储文件,然后,利用编程接口等方式将目标标志位写入至标志位存储文件;在将目标标志位写入至标志位存储文件之后,还可以对标志位存储文件中的目标标志位的值进行数据持久化,以便在系统重新启动或断电后能够正常地恢复。
[0061] 本公开实施例中,在Proinfo分区的标志位存储文件中定义目标标志位并进行初始化之后,还可以响应于针对目标设备的开机指令,以可读写的方式打开Proinfo分区中的标志位存储文件,并在标志位存储文件打开成功时,将目标标志位的取值更新为第一预设值。
[0062] 其中,标志位存储文件用于存储目标设备的标志数据等,实际应用中,标志位存储文件中可以存储有不同的标志数据,例如确定是否执行RPMB绑定的流程的目标标志位、确定用户是否有权执行特定操作的用户权限标志位等。
[0063] 一种可选的实施方式中,在标志位存储文件中定义目标标志位以及对应的第二预设值之后,还可以在确定目标设备的控制面板中接收到用户输入的开机指令时,以可读写的方式打开标志位存储文件。
[0064] 本公开实施例中,在目标设备读写阶段,如果确定目标设备的控制面板中接收到用户输入的开机指令,则以可读写的方式打开标志位存储文件,并在确定标志位存储文件打开成功时,将目标标志位的取值更新为第一预设值;在目标设备重启阶段,在接收到目标设备重启过程中的预加载消息时,从Proinfo分区中读取目标标志位的取值,并确定目标标志位的取值是否为第一预设值,如果确定目标标志为的取值为第一预设值(说明目标标志位的值发生了变化),则建立RPMB分区与eMMC存储器之间的绑定关系。
[0065] 一种可选的实施方式中,在目标设备读写阶段确定标志位存储文件打开成功,并将目标标志位的取值之后,还可以将目标标志位对应的第一预设值存储至Proinfo分区的偏移地址中,避免目标标志位在目标设备的重启阶段被重置而无法读取到目标标志位的取值。
[0066] 本公开实施例提供的RPMB分区绑定的处理方法中,首先响应于针对目标设备的开机指令,以可读写的方式打开Proinfo分区中的标志位存储文件,并在确定标志位存储文件打开成功时,将目标标志位的取值更新为第一预设值,以及将目标标志位的第一预设值存储至Proinfo分区的偏移地址中;然后,响应于目标设备重启过程中的预加载消息,从Proinfo分区中读取目标标志位的取值,并确定目标标志位的取值是否为第一预设值,如果确定目标标志位的取值是第一预设值,则建立RPMB分区与eMMC存储器之间的绑定关系。可见,本公开实施例能够在Proinfo分区的标志位存储文件中新增用于判断是否执行RPMB绑定流程的目标标志位,通过目标标志位的取值来判断是否执行RPMB绑定,这种绑定方式可以有效降低设备重启后自动执行RPMB绑定而造成的eMMC成本损失,提高了生产效率。
[0067] 在上述实施例的基础上,本公开实施例提供了一种RPMB分区绑定的流程示意图,具体以标志位写入阶段和设备重启阶段为例,参考图2为本公开实施例提供的一种RPMB分区绑定的流程示意图。
[0068] 标志位写入阶段:首先,在Proinfo分区中定义目标标志位的取值为第二预设值,例如0x00;然后,判断控制面板中是否接收到用户输入的开机启动指令,如果确定控制面板中接收到用户输入的开机启动指令,则以可读写的方式打开Proinfo分区中的标志位存储文件,并在标志位存储文件打开成功时,将目标标志位的取值更新为第一预设值,例如0x55,以及,将目标标志位对应的第一预设值存储至Proinfo分区的偏移量地址中,能够避免目标标志位在目标设备的重启阶段被重置而无法读取到目标标志位的取值。
[0069] 设备重启阶段:响应于目标设备重启过程中的预加载消息,从Proinfo分区中读取目标标志位的取值,并确定目标标志位的取值是否为第一预设值;如果确定目标标志位的取值是第一预设值,则说明目标标志位的取值发生了变化(即由第二预设值0x00变为第一预设值0x55),此时执行将RPMB分区与eMMC存储器进行绑定的流程。
[0070] 可见本公开实施例通过将目标标志位写入到Proinfo分区中,并在确定目标标志位的取值发生变化时,执行RPMB绑定的流程,从而降低了设备重启后自动执行RPMB绑定而造成的eMMC成本损失,提高了生产效率。
[0071] 基于上述方法实施例,本公开还提供了一种RPMB分区绑定的处理装置,参考图3,为本公开实施例提供的一种RPMB分区绑定的处理装置的结构示意图,所述装置包括:
[0072] 读取模块301,用于响应于目标设备重启过程中的预加载消息,从Proinfo分区中读取目标标志位的取值,并确定所述目标标志位的取值是否为第一预设值;其中,所述Proinfo分区属于所述目标设备的eMMC存储器,所述Proinfo分区用于存储所述目标设备的生产信息,所述第一预设值为在所述目标设备首次开机成功时写入至所述Proinfo分区中的所述目标标志位;
[0073] 建立模块302,用于如果确定所述目标标志位的取值为所述第一预设值,则建立所述RPMB分区与所述eMMC存储器之间的绑定关系;其中,所述RPMB分区属于所述eMMC存储器,所述RPMB分区用于存储所述目标设备的安全信息,所述绑定关系用于支持所述eMMC存储器对所述RPMB分区进行访问。
[0074] 一种可选的实施方式中,所述装置还包括:
[0075] 打开模块,用于响应于针对所述目标设备的开机指令,以可读写的方式打开所述Proinfo分区中的标志位存储文件;其中,所述标志位存储文件用于存储所述目标设备的标志数据;
[0076] 更新模块,用于如果确定所述标志位存储文件打开成功,则将所述目标标志位的取值更新为所述第一预设值。
[0077] 一种可选的实施方式中,所述装置还包括:
[0078] 初始化模块,用于在所述标志位存储文件中定义所述目标标志位,并对所述目标标志位进行初始化,得到第二预设值;其中,所述第二预设值与所述第一预设值为不同的数值。
[0079] 一种可选的实施方式中,所述装置还包括:
[0080] 存储模块,用于将所述目标标志位的所述第一预设值存储至所述Proinfo分区的偏移地址中;其中,所述偏移地址用于标识所述Proinfo分区在所述eMMC存储器中的位置和偏移量。
[0081] 一种可选的实施方式中,所述建立模块,包括:
[0082] 编程子模块,用于如果确定所述目标标志位的取值为所述第一预设值,则将所述RPMB分区对应的密钥编程至所述eMMC存储器中。
[0083] 本公开实施例提供的RPMB分区绑定的处理装置中,响应于目标设备重启过程中的预加载消息,从Proinfo分区中读取目标标志位的取值,并确定目标标志位的取值是否为第一预设值,其中,第一预设值为在目标设备首次开机成功时写入至Proinfo分区中的目标标志位;如果确定目标标志位的取值为第一预设值,则建立RPMB分区与EMMC存储器之间的绑定关系,其中,该绑定关系具体用于支持eMMC存储器对RPMB分区进行访问。可见,本公开实施例通过Proinfo分区中的目标标志位的取值来判断是否执行RPMB绑定的流程,避免了设备重启后自动RPMB绑定可能会造成的eMMC成本损失,提高了设备生产效率。
[0084] 除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的RPMB分区绑定的处理方法。
[0085] 本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例所述的RPMB分区绑定的处理方法。
[0086] 另外,本公开实施例还提供了一种RPMB分区绑定的处理设备,参见图4所示,可以包括:
[0087] 处理器401、存储器402、输入装置403和输出装置404。RPMB分区绑定的处理设备中的处理器401的数量可以一个或多个,图4中以一个处理器为例。在本公开的一些实施例中,处理器401、存储器402、输入装置403和输出装置404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。
[0088] 存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行RPMB分区绑定的处理设备的各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置403可用于接收输入的数字或字符信息,以及产生与RPMB分区绑定的处理设备的用户设置以及功能控制有关的信号输入。
[0089] 具体在本实施例中,处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现上述RPMB分区绑定的处理设备的各种功能。
[0090] 需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0091] 以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页 第1页 第2页 第3页
相关技术
处理方法相关技术
存储介质相关技术
程鑫茹发明人的其他相关专利技术