我知道,例如,摩托罗拉曾经为 der Milestone/Droids 签署了他们的引导加载程序,这使得改装场景很难应用他们的服装 rom。
我的问题是这在抽象层面上是如何工作的?我想可能是这样的:
- 制造商(即摩托罗拉)将其公钥放入智能手机的 EEPROM/非易失性存储器 (NVM)
- 引导加载程序使用制造商的私钥签名
- 在设备启动时,引导加载程序在从 eeprom/NVM 加载的公钥的帮助下以某种方式检查自己的签名
- 仅当签名正确时,引导加载程序才会继续。
a) 那么,如果这是正确的,那么第 3 步如何真正起作用?已签名的应用程序如何检查自己的签名?
b)我猜在签名的引导加载程序之前还有其他一些代码在运行,但引导加载程序不是第一个运行的程序吗?(除了startup.S)
希望有人能启发我,因为我只找到了签名引导加载程序的定义,但没有找到它是如何真正实现的。
问候