本申请涉及数据处理,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。
背景技术:
1、目前,avb(android verify boot)能够为系统启动校验实现提供参考,在校验时,bootloader通过rsa密钥来保护vbmeta镜像的可信性,vbmeta镜像可信之后,再验证boot镜像、vbmeta_system镜像、vbmeta_vendor镜像等镜像的可信性,也就是说,bootloader只会校验vbmeta镜像中包含的待校验的镜像,在系统存在俩个版本时,若俩个版本之间出现新增镜像,新版本刷在老版本的情况下进行启动校验时,无法通过老版本的系统对新增镜像进行校验,造成新增镜像的遗漏校验,导致镜像的完整性和合法性难以得到保证。
2、上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本申请的主要目的在于提供一种数据处理方法、装置、设备及计算机可读存储介质,旨在解决现有利用avb进行启动校验时存在镜像的遗漏校验而难以保证镜像的完整性和合法性的技术问题。
2、为实现上述目的,本申请提供一种数据处理方法,所述数据处理方法包括以下步骤:
3、获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;
4、在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;
5、基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;
6、若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。
7、进一步地,所述基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功的步骤包括:
8、基于所述校验结果,确定各个所述待校验镜像是否校验成功;
9、若各个所述待校验镜像校验成功,则获取所述校验结果中各个所述待校验镜像对应的第二镜像名称;
10、基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功。
11、进一步地,所述基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功的步骤包括:
12、获取所述第一镜像名称对应的第一哈希值;
13、对所述第二镜像名称进行哈希处理,以获得第二哈希值;
14、基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功。
15、进一步地,所述基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功的步骤包括:
16、确定所述第一哈希值与所述第二哈希值是否相同;
17、若所述第一哈希值与所述第二哈希值相同,则确定所述镜像数组校验成功;
18、若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败。
19、进一步地,所述若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败的步骤包括:
20、若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败,并获取所述第一镜像名称对应的第一镜像数量,以及所述第二镜像名称对应的第二镜像数量;
21、若所述第一镜像数量与所述第二镜像数量相同,则确定所述镜像数组中各个待校验镜像对应的校验顺序错误;
22、若所述第一镜像数量与所述第二镜像数量不相同,则确定所述镜像数组中待校验镜像的校验数量错误。
23、进一步地,所述获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称的步骤之后,还包括:
24、启动boot loader;
25、通过boot loader采用公钥校验vbmeta镜像的签名是否可信;
26、如果vbmeta镜像的签名可信,则通过vbmeta镜像采用avb校验所述镜像数组中各个待校验镜像是否可信,以获得各个待校验镜像对应的校验结果。
27、进一步地,所述待校验镜像包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及emo镜像,和/或,所述待校验镜像还包括new镜像。
28、此外,为实现上述目的,本申请还提供一种数据处理装置,所述数据处理装置包括:
29、第一获取模块,用于获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;
30、第二获取模块,用于在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;
31、第一确定模块,用于基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;
32、第二确定模块,用于若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败。
33、此外,为实现上述目的,本申请还提供一种数据处理设备,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现前述的数据处理方法的步骤。
34、此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现前述的数据处理方法的步骤。
35、本申请通过获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称;在各个待校验镜像校验完成时,获取各个待校验镜像对应的校验结果;基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功;若所述镜像数组校验失败,则确定所述vbmeta镜像对应的校验启动失败,可以通过校验结果以及第一镜像名称准确识别镜像的遗漏校验异常,进而准确判定校验启动失败,提升了启动校验的鲁棒性。
1.一种数据处理方法,其特征在于,所述数据处理方法包括以下步骤:
2.如权利要求1所述的数据处理方法,其特征在于,所述基于所述校验结果以及所述第一镜像名称,确定镜像数组是否校验成功的步骤包括:
3.如权利要求2所述的数据处理方法,其特征在于,所述基于所述第一镜像名称以及所述第二镜像名称,确定所述镜像数组是否校验成功的步骤包括:
4.如权利要求3所述的数据处理方法,其特征在于,所述基于所述第一哈希值以及所述第二哈希值,确定所述镜像数组是否校验成功的步骤包括:
5.如权利要求4所述的数据处理方法,其特征在于,所述若所述第一哈希值与所述第二哈希值不相同,则确定所述镜像数组校验失败的步骤包括:
6.如权利要求1至5任一项所述的数据处理方法,其特征在于,所述获取vbmeta镜像对应的镜像数组,并获取镜像数组中各个待校验镜像的第一镜像名称的步骤之后,还包括:
7.如权利要求6所述的数据处理方法,其特征在于,所述待校验镜像包括vbmeta-system镜像、vendor-boot镜像、boot镜像以及oem镜像,和/或,所述待校验镜像还包括new镜像。
8.一种数据处理装置,其特征在于,所述数据处理装置包括:
9.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。