浅析安全启动(Secure Boot)附带EFUSE解析

https://bbs.pediy.com/thread-260399.htm

所有支持 Secure Boot 的 CPU 都会有一块很小的一次性编程储存模块,我们称之为 FUSE 或者 eFUSE,因为它的工作原理跟现实中的保险丝类似:CPU 在出厂后,这块 eFUSE 空间内所有的比特都是 1,如果向一个比特烧写 0,就会彻底烧死这个比特,再也无法改变它的值,也就是再也回不去 1 了。

一般 eFUSE 的大小在 1KB 左右,OEM 从 CPU 厂家购买了芯片,组装了产品后,一般都要焼写 eFUSE 的内容,包括产品的运行模式:测试、开发、生产等。面向终端消费者的产品都会被焼写为生产模式。这个模式下 bootROM 会禁用很多权限,更大面积地限制用户的能力。

另外一个很重要的焼写内容就是根密钥了,一般有两种根密钥:一个是加密解密用的对称密钥 Secure Boot Key,一般是 AES 128 的,每台设备都是随机生成不一样的;另一个是一个 Secure Boot Signing Key 公钥,一般用的 RSA 或 ECC,这个是每个 OEM 自己生成的,每台设备用的都一样,有些芯片会存公钥的 Hash 来减少 eFUSE 的空间使用。

只有 Secure World(后面会介绍)才能访问 eFUSE 的寄存器。除了读写 eFUSE 的基础寄存器之外,还有一些控制寄存器可以禁止别的程序访问 eFUSE,来保护其中的密钥。因此 eFUSE 中的根密钥以及 bootROM 将作为 Secure Boot 的根信任。

  • 1
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
eFuse是一种电子设备中的可编程保护元件,用于在系统启动时进行安全验证和防止非法访问。eFuse通常由一个可编程的多级存储器和一个比较器组成,用于存储和比较系统的安全配置信息。 eFuse在系统启动时起到了关键的安全保护作用。在系统开始启动之前,eFuse会被预编程以存储预先定义的安全配置信息,如设备的唯一标识符、启动密钥、数字签名等。在启动过程中,eFuse会将存储的安全配置信息与实际配置进行比较,以验证系统的完整性和安全性。 安全启动是通过eFuse实现的一种技术,它在系统启动过程中提供了一系列认证和验证步骤,以确保系统只能启动可信任的软件和固件。安全启动的目的是防止恶意软件和未经授权的访问,从而保护系统的安全性和机密性。 安全启动通常包括以下步骤:首先,系统在启动时会将eFuse中存储的安全配置信息读取到比较器中进行比较。如果比较结果是一致的,系统将继续启动。如果比较结果不一致,系统可能会中断启动或采取其他安全措施,如锁定设备或报警。 除了对比eFuse中的配置信息,安全启动还涉及其他安全检查,如签名验证、启动密钥的匹配等。通过这些多层次的安全认证,系统可以确保只有经过授权的软件和固件才能被加载和执行,从而保证系统的安全性。 总结起来,eFuse是一种可编程保护元件,用于存储和比较系统的安全配置信息。安全启动是通过eFuse实现的一种技术,通过认证和验证步骤保证系统只能启动可信任的软件和固件。通过eFuse安全启动,系统可以提供更高的安全保护,防止非法访问和恶意软件的攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值