功能说明
SPIENC 总线加密
SPIENC 总线加密功能是一个芯片硬件支持的安全功能。芯片使能了 SPIENC 后,内部的 SPIENC 模块对 SPI 总线上传输的数据进行实时的加密或解密,即对写出去的数据进行 AES 加密,读回来的数据进行 AES 解密, 使得保存在 Flash 上的数据总是密文。
SPIENC 进行加解密时,使用芯片 eFuse 中特定密钥区域中的密钥对数据进行加密和解密,该密钥区域可以做到烧录后 CPU 不可读写,在芯片内部也仅有 SPIENC 模块能够访问,因此可以做到硬件安全保密。
启用 SPIENC 需要:
-
在芯片中烧录特有的的 AES 密钥,并且将相关密钥区域设置为仅 SPIENC 可访问。
-
提供对应的加密固件。
-
对 AES 密钥进行妥善管理,防止泄露。
此时芯片和对应的固件就被绑定在一起,提供出去的固件,只能运行在烧录了对应加密密钥的芯片上; 烧录了密钥的芯片,也只能运行使用对应密钥加密后的固件。
安全启动
安全启动功能是通过 RSA 签名和验签的方式,保证芯片只运行经过合法签名的固件,非法固件无法在开启安全启动的芯片上执行。 在防抄板方案中,安全启动可以预防攻击者通过其它手段,运行非法程序读取 Flash 中的固件内容。
