安全模块
安全模块主要包含TRNG、PRESENT-128、eFuse、KEYRAM、PKC、HMAC、XIP_DEC硬件模块。
-
TRNG(True Random Number Generator)模块
在安全模块的应用中,TRNG主要用于生成加密解密时使用的随机数掩码。为了保证随机数质量并修正TRNG的偏差,TRNG模块中增加了LFSR(Linear Feedback Shift Register)和Post-Process逻辑。
-
PRESENT-128模块
PRESENT是一种轻量级分组密码。该算法以其尺寸紧凑(比AES算法小约2.5倍)著称,适用于低功耗和高效率的应用场景。
PRESENT-128加解密模块通过其内部的两个64位PRESENT内核,可以在单次运行中实现128位数据的加密或解密。
-
eFuse模块
eFuse是一个具有随机访问接口的一次性可编程存储器,用于存储安全密钥和芯片校准数据等。GR5xx系列eFuse容量为512 Bytes。
-
KEYRAM模块
KEYRAM主要用于芯片上电后的密钥推导和存储。在安全启动流程中,每次启动将生成真随机数作为掩码(MASK),用于防止外界穷举法破解。安全模块如AES、HMAC、XIP_DEC等,可以通过KeyPort总线接口实现加密读取密钥。KEYRAM中存储的密钥无法通过CPU及调试端口进行访问。
-
PKC(Public Key Cryptography)模块
PKC控制器模块用于完成公钥算法中的基本底层模运算和FIPS标准256点ECC(Elliptic Curve Cryptography)点乘计算。
-
HMAC(Hash Message Authentication Code)模块
基于哈希函数构建的消息认证码使用完全符合联邦信息处理标准(FIPS PUB 198-1)中定义的密钥哈希消息认证码(HMAC)的算法实现消息认证验证过程。该模块支持多种模式(SHA256、HMAC-SHA256)。
-
XIP_DEC模块
XIP_DEC模块内嵌硬件PRESENT-128子模块实现XIP模式下实时解密读取固件指令或数据。
详细的模块介绍请参考对应芯片Datasheet。