HSK 的功能
硬件安全密钥可以解决密钥的本地存储安全问题。
将关键密钥保存在设备中时,密钥的本地存储存在以下安全问题:
- 如以明文保存,密钥不安全,容易被窃取。
- 如烧录到 eFuse,则需要使用较多的安全 eFuse 空间。
- 在需要动态生成密钥的场景中,安全 eFuse 无法满足动态生成密钥的需求。
使用硬件安全密钥,可以实现下列功能:
-
RSA 私钥的安全存储
RSA 私钥可用作芯片/ 设备的身份认证,因此需要实现本地的保密存储。
-
数据的存储安全
eFuse 安全密钥中的 HUK 是芯片的硬件唯一密钥。每颗芯片都有一个硬件唯一密钥 (HUK)。通过 HUK 派生 HSK,可以实现 HSK 与当前平台的绑定,因此仅当前平台可以解密使用 HSK 加密后的数据。同时对应的 HSKM 可以与加密数据一起保存在本地设备,不影响数据的保密和安全。
硬件安全密钥解决密钥本地存储安全问题的方式如下:
-
对于固定密钥:使用 eFuse 安全密钥,先对 HSK 进行加密,再将加密后的数据 (HSKM) 保存在设备本地。需要使用时,将 HSKM 解密输出到安全 SRAM,得到 HSK。
-
对于动态密钥:使用 eFuse 安全密钥中的 HUK 派生 HSK。在需要动态生成 HSK 加密本地数据时,使用 TRNG 生成 HSKM,再使用 HUK 对 HSKM 进行解密输出到安全 SRAM,从而得到 HSK。HSKM 可以和数据一起保存在本地设备。
由于 eFuse 安全密钥仅 CE 可访问,软件以及其他硬件模块无法读写,因此本地设备保存 HSKM 不会导致 HSK 的泄露。