首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对没有硬件安全元素的设备进行安全引导

对没有硬件安全元素的设备进行安全引导
EN

Security用户
提问于 2021-05-13 17:35:46
回答 2查看 477关注 0票数 2

据我所知,信任之根对于在设备上实现安全引导是必要的。如果信任的根来自于硬件安全元素,如HSM/TPM/.

因此,对于没有硬件安全元素的设备,是否有办法在软件中实现信任根?实现RoT从而在此类设备上安全引导的正确/最佳实践是什么?

EN

回答 2

Security用户

发布于 2021-05-13 21:01:54

是的你可以。可以使用eFuse存储根证书的公钥。这就成了信任的根源。eFuses只能写一次,一旦eFuses被写入到eFuse数组中就会被吹坏,这是不可逆的。为了防止对第一阶段引导加载程序的物理篡改,必须在非可编程存储上刻录,这种存储必须是物理上难以替换的,如果攻击者试图破坏PCB,则可能会损坏PCB。为此您可以使用CPU芯片。使用公钥,可以使用PKI在第二阶段引导加载器上验证签名。第二阶段,可以用公钥硬编码引导加载程序,以验证内核和内核验证系统。

要撤销根证书的公钥,您必须提供空的eFuse数组,这些数组以后可以通过推送OTA更新来写入新的公钥。若要撤消信任链中后期阶段的公钥,请替换其硬编码公钥并重新命名其签名。对于回滚保护,还可以在eFuse中存储第二阶段引导加载程序的最后已知运行版本,该版本可以在每次引导时验证。如果eFuse数组用完,您就不能再撤销根公钥,因此在绝对必要时应该使用它们。

众所周知,高通、Snap巨龙和三星Exynos使用eFuse来启动信任的根,并验证保修状态。

票数 2
EN

Security用户

发布于 2021-05-13 17:49:26

因此,对于没有硬件安全元素的设备,是否有办法在软件中实现信任根?

不是的。当软件被不可信的硬件加载时,您已经失败了。当它甚至不安全的时候,不能称之为安全引导。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/249341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档