CN117076201A - 数据处理方法、装置、设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117076201A CN117076201A CN202311048990.1A CN202311048990A CN117076201A CN 117076201 A CN117076201 A CN 117076201A CN 202311048990 A CN202311048990 A CN 202311048990A CN 117076201 A CN117076201 A CN 117076201A
- Authority
- CN
- China
- Prior art keywords
- image
- mirror
- verification
- verified
- array
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 34
- 238000012795 verification Methods 0.000 claims abstract description 161
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000001680 brushing effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备及计算机可读存储介质,其方法包括:获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。本申请通过校验结果以及第一镜像名称准确识别镜像的遗漏校验异常,进而准确判定校验启动失败,提升了启动校验的鲁棒性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。
背景技术
目前,AVB(android verify boot)能够为系统启动校验实现提供参考,在校验时,bootloader通过RSA密钥来保护vbmeta镜像的可信性,vbmeta镜像可信之后,再验证boot镜像、vbmeta_system镜像、vbmeta_vendor镜像等镜像的可信性,也就是说,bootloader只会校验vbmeta镜像中包含的待校验的镜像,在系统存在俩个版本时,若俩个版本之间出现新增镜像,新版本刷在老版本的情况下进行启动校验时,无法通过老版本的系统对新增镜像进行校验,造成新增镜像的遗漏校验,导致镜像的完整性和合法性难以得到保证。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种数据处理方法、装置、设备及计算机可读存储介质,旨在解决现有利用AVB进行启动校验时存在镜像的遗漏校验而难以保证镜像的完整性和合法性的技术问题。
为实现上述目的,本申请提供一种数据处理方法,所述数据处理方法包括以下步骤:
获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;
在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;
基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;
若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。
进一步地,所述基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功的步骤包括:
基于所述校验结果,确定各个所述待校验镜像是否校验成功;
若各个所述待校验镜像校验成功,则获取所述校验结果中各个所述待校验镜像对应的第二镜像名称;
基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功。
进一步地,所述基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功的步骤包括:
获取所述第一镜像名称对应的第一哈希值;
对所述第二镜像名称进行哈希处理,以获得第二哈希值;
基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功。
进一步地,所述基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功的步骤包括:
确定所述第一哈希值与所述第二哈希值是否相同;
若所述第一哈希值与所述第二哈希值相同,则确定所述镜像数组校验成功;
若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败。
进一步地,所述若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败的步骤包括:
若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败,并获取所述第一镜像名称对应的第一镜像数量,以及所述第二镜像名称对应的第二镜像数量;
若所述第一镜像数量与所述第二镜像数量相同,则确定所述镜像数组中各个待校验镜像对应的校验顺序错误;
若所述第一镜像数量与所述第二镜像数量不相同,则确定所述镜像数组中待校验镜像的校验数量错误。
进一步地,所述获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称的步骤之后,还包括:
启动Boot Loader;
通过Boot Loader采用公钥校验vbmeta镜像的签名是否可信;
如果vbmeta镜像的签名可信,则通过vbmeta镜像采用avb校验所述镜像数组中各个待校验镜像是否可信,以获得各个待校验镜像对应的校验结果。
进一步地,所述待校验镜像包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及emo镜像,和/或,所述待校验镜像还包括new镜像。
此外,为实现上述目的,本申请还提供一种数据处理装置,所述数据处理装置包括:
第一获取模块,用于获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;
第二获取模块,用于在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;
第一确定模块,用于基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;
第二确定模块,用于若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。
此外,为实现上述目的,本申请还提供一种数据处理设备,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现前述的数据处理方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现前述的数据处理方法的步骤。
本申请通过获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败,可以通过校验结果以及第一镜像名称准确识别镜像的遗漏校验异常,进而准确判定校验启动失败,提升了启动校验的鲁棒性。
附图说明
图1是本申请实施例方案涉及的硬件运行环境中数据处理设备的结构示意图;
图2为本申请数据处理方法第一实施例的流程示意图;
图3为本申请数据处理方法一实施例的场景示意图;
图4为本申请数据处理方法另一实施例的场景示意图;
图5为本申请数据处理方法又一实施例的场景示意图;
图6为本申请数据处理方法再一实施例的场景示意图;
图7为本申请数据处理装置一实施例的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境中数据处理设备的结构示意图。
本申请实施例数据处理设备可以是PC等。
如图1所示,该数据处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,数据处理设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。当然,数据处理设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
在图1所示的数据处理设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据处理程序。
在本实施例中,数据处理设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的数据处理程序,其中,处理器1001调用存储器1005中存储的数据处理程序时,并执行以下各个实施例中数据处理方法的步骤。
目前,在采用AVB进行系统启动校验时,bootloader通过RSA密钥(公钥)校验vbmeta镜像的签名是否可信,vbmeta镜像的签名可信时,通过vbmeta镜像采用avb校验boot镜像、vbmeta_system镜像、vbmeta_vendor镜像以及emo镜像等镜像的可信性,然后vbmeta_system镜像再通过root hash来保证system的完整。在校验时vbmeta镜像bootloader中先获得hash校验模式的镜像,如图3所示,其hash校验模式的镜像包括boot镜像以及oem镜像,如图4所示,其hash校验模式的镜像包括boot镜像、emo镜像以及new镜像。若new镜像被恶意串改成了非法镜像,此时将图4中框中的镜像+vbmeta版本刷到图3的老版本上进行系统启动校验,虽然vbmeta镜像中的VB blob有new镜像的描述信息,但是由于bootloader中并没有记录new img的数据,此时在校验时new镜像会直接pass,造成new镜像的遗漏校验,导致镜像的完整性和合法性难以得到保证。并且,由于vbmeta镜像中VB blob镜像描述是由打包时打包脚本决定的,所以一旦vbmeta镜像生产之后,就能知晓正常合法的启动校验流程应该是以什么样的顺序进行的,图4中,由于密钥泄露导致的非法的vbmeta镜像生成,导致oem镜像和boot镜像的校验顺序发生了变化,此时由于AVB并没有对镜像的校验顺序进行检查,这种情况下AVB的校验结果依旧是pass,导致难以检测出vbmeta镜像中各个镜像的顺序是否异常。
基于上述技术问题,提出本申请的数据处理方法,通过获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败,通过第一镜像名称与校验结果进行对比,new镜像被恶意串改成了非法镜像,在将图4中框中的镜像+vbmeta版本刷到图3的老版本上进行系统启动校验时,可通过对比结果准确判断镜像数组中各个镜像是否校验成功,在镜像遗漏校验时判定校验失败,准确失败镜像遗漏校验的异常,进一步通过第一镜像名称的第一哈希值与校验结果中第二镜像名称对应的第二哈希值进行对比,由于第一哈希值以及第二哈希值的计算过程中镜像名称的顺序一致,因此可通过对比结果准确识别vbmeta镜像中各个镜像的顺序的异常情况。
本申请还提供一种数据处理方法,参照图2,图2为本申请数据处理方法第一实施例的流程示意图。
该数据处理方法包括:
步骤S101,获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;
在采用AVB进行系统启动校验时,获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称,进一步地,还可以获取各个第一镜像名称对应的第一镜像名称数组,并采用现有的哈希算法对第一镜像名称数组进行哈希计算,得到第一哈希值。
获取到第一镜像名称之后,启动Boot Loader,通过Boot Loader采用公钥校验vbmeta镜像的签名是否可信;在vbmeta镜像的签名可信,则通过vbmeta镜像采用avb校验所述镜像数组中各个待校验镜像是否可信,以获得各个待校验镜像对应的校验结果。如图5所示,若当前通过图5的版本进行系统启动校验,则待校验镜像包括:vbmeta-system镜像、vendor-boot镜像、boot镜像以及oem镜像;如图6所示,若当前通过图6的版本进行系统启动校验,则待校验镜像包括:vbmeta-system镜像、vendor-boot镜像、boot镜像、oem镜像以及new镜像;如图5以及图6所示,若当前将图6中框中的镜像+vbmeta版本刷到图5的老版本上进行系统启动校验,则待校验镜像包括:vbmeta-system镜像、vendor-boot镜像、boot镜像、oem镜像以及new镜像,此时vbmeta镜像中的VB blob有new镜像的描述信息,但是由于bootloader中并没有记录new img的数据,在校验时new镜像会直接pass,造成new镜像的遗漏校验。
步骤S102,在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;
在采用avb校验镜像数组中各个待校验镜像之后,各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果,其中,校验结果包括每一个待校验镜像可信或者不可信。
步骤S103,基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;
获取到各个待校验镜像对应的校验结果之后,基于校验结果以及第一镜像名称,确定镜像数组是否校验成功,其中,若校验结果中存在不可信的待校验镜像,则确定镜像数组校验失败,若校验结果中不存在不可信的待校验镜像,即各个待校验镜像校验成功,则基于校验结果以及第一镜像名称,确定镜像数组是否校验成功,具体的,可获取校验结果中各个所述待校验镜像对应的第二镜像名称,基于第一镜像名称以及第二镜像名称确定镜像数组是否校验成功。例如,第一镜像名称与第二镜像名称完全相同,则可判定镜像数组校验成功,或者,获取第一镜像名称对应的第一哈希值以及第二镜像数据对应的第二哈希值,若第一哈希值与第二哈希值相同,则可判定镜像数组校验成功,否则可判定镜像数组校验失败。
步骤S104,若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。
若镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败,此时可输出校验启动失败的提示信息,可检测出镜像的遗漏校验的异常以及vbmeta镜像中各个镜像的顺序的异常,以提升启动校验的鲁棒性。
通过获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败,可以通过校验结果以及第一镜像名称准确识别镜像的遗漏校验异常,进而准确判定校验启动失败,提升了启动校验的鲁棒性。
基于第一实施例,提出本申请数据处理方法的第二实施例,其中,步骤S103包括:
步骤S201,基于所述校验结果,确定各个所述待校验镜像是否校验成功;
步骤S202,若各个所述待校验镜像校验成功,则获取所述校验结果中各个所述待校验镜像对应的第二镜像名称;
步骤S203,基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功。
获取到各个待校验镜像对应的校验结果之后,基于校验结果,确定各个待校验镜像是否校验成功,即根据校验结果确定各个待校验镜像是否可信,若各个待校验镜像中是否存在不可信的待校验镜像,则确定镜像数组校验失败,若各个待校验镜像可信,则确定各个所述待校验镜像校验成功。
若各个所述待校验镜像校验成功,则获取校验结果中各个待校验镜像对应的第二镜像名称,并基于第一镜像名称以及第二镜像名称确定镜像数组是否校验成功。例如,若第一镜像名称与第二镜像名称完全相同,则可判定镜像数组校验成功,或者,获取第一镜像名称对应的第一哈希值以及第二镜像数据对应的第二哈希值,若第一哈希值与第二哈希值相同,则可判定镜像数组校验成功,否则可判定镜像数组校验失败。
如图5所示,若当前通过图5的版本进行系统启动校验,则第一镜像名称包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及emo镜像对应的镜像名称,第二镜像名称也包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及emo镜像对应的镜像名称,进而可确定镜像数组校验成功。如图6所示,若当前通过图6的版本进行系统启动校验,则第一镜像名称包括vbmeta-system镜像、vendor-boot镜像、boot镜像、oem镜像以及new镜像对应的镜像名称,第二镜像名称也包括vbmeta-system镜像、vendor-boot镜像、boot镜像、emo镜像以及new镜像对应的镜像名称,进而可确定镜像数组校验成功。如图5以及图6所示,若当前将图6中框中的镜像+vbmeta版本刷到图5的老版本上进行系统启动校验,则第一镜像名称包括vbmeta-system镜像、vendor-boot镜像、boot镜像、emo镜像以及new镜像对应的镜像名称,第二镜像名称也包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及emo镜像对应的镜像名称,进而可确定镜像数组校验失败。
通过基于所述校验结果,确定各个所述待校验镜像是否校验成功;接着若各个所述待校验镜像校验成功,则获取所述校验结果中各个所述待校验镜像对应的第二镜像名称;而后基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功,以通过第一镜像名称以及所述第二镜像名称准确识别镜像的遗漏校验异常,进而准确判定校验启动失败,提升了启动校验的鲁棒性。
基于第二实施例,提出本申请数据处理方法的第三实施例,其中,步骤S203包括:
步骤S101,获取所述第一镜像名称对应的第一哈希值;
步骤S102,对所述第二镜像名称进行哈希处理,以获得第二哈希值;
步骤S103,基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功。
获取到第二镜像名称之后,获取第一镜像名称对应的第一哈希值,其中,可以在vbmeta镜像生产之后,获取各个待校验镜像对应的第一校验顺序,基于第一镜像名称以及第一校验顺序生成第一镜像名称数组,并采用现有的哈希算法对第一镜像名称数组进行哈希计算,得到第一哈希值。
获取到第二镜像名称之后,对所述第二镜像名称进行哈希处理,以获得第二哈希值,具体的,基于各个待校验镜像对应的校验结果,获取各个待校验镜像对应的第二校验顺序(实际校验顺序),例如,通过各个待校验镜像对应的校验时刻获得该第二校验顺序,基于第二校验顺序以及第二镜像名称生成第二镜像名称数组,并采用现有的哈希算法对第二镜像名称数组进行哈希计算,得到第二哈希值,其中,第二哈希值采用的哈希算法与第一哈希值采用的哈希算法相同。
获取到第一哈希值以及第二哈希值之后,基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功,以通过第一哈希值以及第二哈希值准确判断镜像数组是否校验成功。
通过获取所述第一镜像名称对应的第一哈希值;接着对所述第二镜像名称进行哈希处理,以获得第二哈希值;而后基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功,以通过第一哈希值以及第二哈希值准确识别镜像的遗漏校验异常,进而准确判定校验启动失败,提升了启动校验的鲁棒性。
基于第三实施例,提出本申请数据处理方法的第四实施例,其中,步骤S303包括:
步骤S401,确定所述第一哈希值与所述第二哈希值是否相同;
步骤S402,若所述第一哈希值与所述第二哈希值相同,则确定所述镜像数组校验成功;
步骤S403,若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败。
获取到第一哈希值以及第二哈希值之后,确定所述第一哈希值与所述第二哈希值是否相同。若第一哈希值与第二哈希值相同,由于第一哈希值以及第二哈希值通过相同的校验顺序以及哈希算法生成,因此可确定镜像数组校验成功。
若所述第一哈希值与所述第二哈希值不相同,由于第一哈希值以及第二哈希值通过相同的校验顺序以及哈希算法生成,此时,可能存在镜像的遗漏校验或者镜像检验的顺序不同,进而可确定所述镜像数组校验失败。进一步地,在一可能实现方式中,该步骤S403包括:
步骤S4031,若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败,并获取所述第一镜像名称对应的第一镜像数量,以及所述第二镜像名称对应的第二镜像数量;
步骤S4032,若所述第一镜像数量与所述第二镜像数量相同,则确定所述镜像数组中各个待校验镜像对应的校验顺序错误;
步骤S4033,若所述第一镜像数量与所述第二镜像数量不相同,则确定所述镜像数组中待校验镜像的校验数量错误。
若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败,并获取所述第一镜像名称对应的第一镜像数量,以及第二镜像名称对应的第二镜像数量,并判断第一镜像数量与第二镜像数量是否相同。
若所述第一镜像数量与所述第二镜像数量相同,则确定所述镜像数组中各个待校验镜像对应的校验顺序错误,如图3以及图4所示,若图4不存在new镜像,但是由于密钥泄露导致的非法的vbmeta镜像生成,导致oem镜像和boot镜像的校验顺序发生了变化,则当前将图4中框中的镜像+vbmeta版本刷到图3的老版本上进行系统启动校验,则第一镜像名称包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及oem镜像对应的镜像名称,第二镜像名称也包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及emo镜像对应的镜像名称,也就是说第一镜像数量与第二镜像数量相同,第一哈希值与所述第二哈希值不相同,是由于生成第一哈希值的第一校验顺序与生成第二哈希值的第二校验顺序不同导致的,进而确定所述镜像数组中各个待校验镜像对应的校验顺序错误,进而可准确识别启动校验异常为待校验镜像对应的校验顺序错误。
若第一镜像数量与第二镜像数量不相同,则确定镜像数组中待校验镜像的校验数量错误,如图5以及图6所示,若当前将图6中框中的镜像+vbmeta版本刷到图5的老版本上进行系统启动校验,则第一镜像名称包括vbmeta-system镜像、vendor-boot镜像、boot镜像、oem镜像以及new镜像对应的镜像名称,第二镜像名称也包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及oem镜像对应的镜像名称,由于第一镜像名称的数量与第二镜像名称的数量不同而造成第一哈希值与所述第二哈希值不相同,进而可确定镜像数组中待校验镜像的校验数量错误,进而可准确识别启动校验异常为镜像数组中待校验镜像的校验数量错误。
通过确定所述第一哈希值与所述第二哈希值是否相同;接着若所述第一哈希值与所述第二哈希值相同,则确定所述镜像数组校验成功;而后若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败,以通过第一哈希值以及第二哈希值准确识别镜像的遗漏校验异常,进而准确判定校验启动失败,提升了启动校验的鲁棒性。
基于上述各个实施例,提出本申请数据处理方法的第五实施例,其中,步骤S101之后,该数据处理方法还包括:
步骤S501,启动Boot Loader;
步骤S502,通过Boot Loader采用公钥校验vbmeta镜像的签名是否可信;
步骤S503,如果vbmeta镜像的签名可信,则通过vbmeta镜像采用avb校验所述镜像数组中各个待校验镜像是否可信,以获得各个待校验镜像对应的校验结果。
其中,待校验镜像包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及oem镜像,和/或,所述待校验镜像还包括new镜像。
在获取到第一镜像名称之后,生产vbmeta镜像,vbmeta镜像生产之后,启动BootLoader,通过Boot Loader采用公钥校验vbmeta镜像的签名是否可信。
若vbmeta镜像的签名可信,则通过vbmeta镜像采用avb校验所述镜像数组中各个待校验镜像是否可信,以获得各个待校验镜像对应的校验结果,以获得各个待校验镜像对应的校验结果。如图5所示,通过vbmeta镜像采用avb分别校验vbmeta-system镜像、vendor-boot镜像、boot镜像以及emo镜像是否可信,如图6所示,通过vbmeta镜像采用avb分别校验vbmeta-system镜像、vendor-boot镜像、boot镜像、emo镜像以及new镜像是否可信,其中,待校验镜像对应的校验结果包括该镜像可信或者不可信。
通过启动Boot Loader;接着通过Boot Loader采用公钥校验vbmeta镜像的签名是否可信;而后如果vbmeta镜像的签名可信,则通过vbmeta镜像采用avb校验所述镜像数组中各个待校验镜像是否可信,以获得各个待校验镜像对应的校验结果,以通过校验各个待校验镜像准确获得校验结果,进而准确判定校验启动失败,提升了启动校验的鲁棒性
此外,本发明实施例还提出一种数据处理装置,参照图7,数据处理装置包括:
第一获取模块10,用于获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;
第二获取模块20,用于在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;
第一确定模块30,用于基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;
第二确定模块40,用于若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。
上述各程序单元所执行的方法可参照本申请数据处理方法各个实施例,此处不再赘述。
此外,本申请还提出一种计算机可读存储介质,所述可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,所述数据处理方法包括以下步骤:
获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;
在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;
基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;
若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。
2.如权利要求1所述的数据处理方法,其特征在于,所述基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功的步骤包括:
基于所述校验结果,确定各个所述待校验镜像是否校验成功;
若各个所述待校验镜像校验成功,则获取所述校验结果中各个所述待校验镜像对应的第二镜像名称;
基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功。
3.如权利要求2所述的数据处理方法,其特征在于,所述基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功的步骤包括:
获取所述第一镜像名称对应的第一哈希值;
对所述第二镜像名称进行哈希处理,以获得第二哈希值;
基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功。
4.如权利要求3所述的数据处理方法,其特征在于,所述基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功的步骤包括:
确定所述第一哈希值与所述第二哈希值是否相同;
若所述第一哈希值与所述第二哈希值相同,则确定所述镜像数组校验成功;
若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败。
5.如权利要求4所述的数据处理方法,其特征在于,所述若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败的步骤包括:
若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败,并获取所述第一镜像名称对应的第一镜像数量,以及所述第二镜像名称对应的第二镜像数量;
若所述第一镜像数量与所述第二镜像数量相同,则确定所述镜像数组中各个待校验镜像对应的校验顺序错误;
若所述第一镜像数量与所述第二镜像数量不相同,则确定所述镜像数组中待校验镜像的校验数量错误。
6.如权利要求1至5任一项所述的数据处理方法,其特征在于,所述获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称的步骤之后,还包括:
启动Boot Loader;
通过Boot Loader采用公钥校验vbmeta镜像的签名是否可信;
如果vbmeta镜像的签名可信,则通过vbmeta镜像采用avb校验所述镜像数组中各个待校验镜像是否可信,以获得各个待校验镜像对应的校验结果。
7.如权利要求6所述的数据处理方法,其特征在于,所述待校验镜像包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及oem镜像,和/或,所述待校验镜像还包括new镜像。
8.一种数据处理装置,其特征在于,所述数据处理装置包括:
第一获取模块,用于获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;
第二获取模块,用于在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;
第一确定模块,用于基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;
第二确定模块,用于若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。
9.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311048990.1A CN117076201A (zh) | 2023-08-18 | 2023-08-18 | 数据处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311048990.1A CN117076201A (zh) | 2023-08-18 | 2023-08-18 | 数据处理方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117076201A true CN117076201A (zh) | 2023-11-17 |
Family
ID=88711131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311048990.1A Pending CN117076201A (zh) | 2023-08-18 | 2023-08-18 | 数据处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076201A (zh) |
-
2023
- 2023-08-18 CN CN202311048990.1A patent/CN117076201A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792440B1 (en) | Secure boot for vehicular systems | |
US10157050B2 (en) | Method for confirming correction program and information processing apparatus | |
CN111538517B (zh) | 一种服务器固件升级方法、系统及电子设备和存储介质 | |
US20160378990A1 (en) | Validating firmware on a computing device | |
JP5398824B2 (ja) | セキュア処理システムのアプリケーション空間において信頼性を実現するための一時的pcr利用 | |
TWI540424B (zh) | 修復軟體運行錯誤的方法、裝置及系統 | |
CN106940651B (zh) | Pos终端软件升级方法和装置 | |
US9535781B2 (en) | System file repair method and apparatus | |
CN102262574B (zh) | 操作系统启动保护方法和装置 | |
CN110908909A (zh) | 自动化测试方法、装置、存储介质及设备 | |
CN106293691A (zh) | 安全引导证书的自动发现和安装 | |
US8756414B2 (en) | Information processing apparatus, software verification method, and software verification program | |
CN109684849A (zh) | 信息处理装置、其控制方法和存储介质 | |
WO2020037613A1 (zh) | 嵌入式程序的安全升级方法、装置、设备及存储介质 | |
CN107643882A (zh) | 一种数据可靠性的存储及恢复方法、系统及存储装置 | |
CN106843947B (zh) | 代码缺陷的处理方法和装置 | |
CN111538523A (zh) | 差分升级方法、设备及存储介质 | |
CN115220796A (zh) | 安全引导设备 | |
CN113806811A (zh) | 一种被篡改固件自动恢复方法、装置及存储介质 | |
CN108196975B (zh) | 基于多校验和的数据验证方法、装置及存储介质 | |
CN117076201A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN106372523B (zh) | 一种modem文件安全保护方法及系统 | |
CN111131861B (zh) | 恢复分区的升级方法、终端和存储介质 | |
CN110678849B (zh) | 用于自动恢复的方法和计算设备 | |
CN116032484A (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 |