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的校验流程走一遍即可。