Android AVB 之 load_and_verify_vbmeta:校验vbmeta.img,rsa公钥比对,防回滚及其他dtbo,boot,vendor_boot,vbmeta_system等校验

校验过程的部分说明:

第一步要进行vbmeta.img的校验。确保vbmeta可信之后才可以用其中的数据来校验其他分区。

指路:https://www.cnblogs.com/xiululu/p/17285515.html

vbmeta.img中存了很多信息,比如用于校验自身的hash和signature以及用到的rsa公钥。

再比如,在auxiliary block中存的descriptor信息。hash descriptor所用到的salt,生成的hash值等等。

vbmeta.img校验通过之后,descriptor中的信息就能拿来用了。

对于hash类型的descriptor,直接load对应分区计算hash,与descriptor中的hash值进行比较。如boot,dtbo和vendor_boot分区。

对于chain式的descriptor,目前只有一个vbmeta_system分区,这个和vbmeta本质是一样的(同样是header + authentication + auxiliary的组成),就按照vbmeta的校验流程走一遍即可。

 

posted @ 2023-04-03 17:34  xiululu  阅读(553)  评论(0编辑  收藏  举报