0%

三级证书

证书和签名制作过程

真正的签名image hash的key是最底层的⼀把key,这个key在每次签名的时候都会随机⽣成,即使是同⼀个机型不同⽇期编出来的包,这把key都不会⼀样,取⽽代之的是,这对keypair的公钥会在服务器上被attestation key签发⼀个证书,⽽attestation privatekey⼜是被rootkey签发的,形成⼀套证书链校验,这样的好处是OEM和⾼通可以灵活的控制签名的流程,⽐如ODM就不能和OEM拥有同⼀个key,但是每个机型都重新⽣成fuse⼜显得⼗分冗余和难以维护,这样的解决⽅案会显得更加灵活可以在不变更fuse的情况下,允许secureboot有多位参与者 001

服务器会调⽤openssl进⾏签名,具体的流程是,服务器上已经有了固定的rootkey和attestation key以及相应的证书,签名过程中会随机⽣成⼀把attesst key,并且使⽤attestationkey进⾏签名颁发证书,最后使⽤这把随机⽣成的attestkey对⽂件的hash进⾏签名,最后把签名以及三份证书已经签名传回客户端 001

三份证书和签名返回客户端并按照既定格式组装到未签名的⽂件中,形成签名⽂件.最后覆盖源⽂件 001

签名流程图