SoC(System on a Chip)的设计在密钥管理方面扮演着至关重要的角色,因为它直接决定了密钥管理的有效性和安全性。考虑到不同的SoC可能有不同的硬件架构和安全特性,理解特定SoC的密钥管理机制需要具体分析。首先,SoC的硬件结构必须支持高级的密钥管理功能。这意味着需要有专门的硬件模块或组件,比如安全加密处理器或安全存储区域,来处理和存储密钥。同时,为了确保密钥在SoC内部传输的安全性,必须实现安全的总线架构。这可能包括加密总线通信或限制对敏感数据路径的访问,以防止潜在的侧信道攻击或数据泄露。SoC应该提供一个完善的密钥管理系统,包括密钥的生成、存储、使用和销毁。这可能涉及到复杂的软件和硬件交互,以确保密钥的生命周期管理符合安全要求。SoC需要支持SHE或类似的技术,以提供额外的安全措施,比如防篡改和抗侧信道攻击。
系统芯片(SoC,System on a Chip)的密钥管理机制对于确保整个系统的安全性至关重要。SoC通常是集成了多个功能模块(如处理器核心、内存、输入/输出控制等)的单个芯片,广泛应用于智能手机、平板电脑、嵌入式系统等设备中。SoC的密钥管理机制的重要性可以从以下几个方面来理解:
SoC的密钥管理机制是确保整个系统安全、保护数据隐私和完整性、维护设备和网络的安全信任链的基础。在设计和实施SoC时,对密钥管理机制的考虑是至关重要的。
本文对一般的SoC中的key管理机制进行调研,并进行总结,并以NXP等著名的SoC为例,来作为Key管理的设计。
1. Key Types
我们可以按照这个角度进行分类:
1.1 非易失性Key
在密钥管理中,非易失性密钥(Non-Volatile Keys)是指那些存储在非易失性存储器(如eFUSE、闪存、EEPROM或NVRAM)中的密钥,这些密钥即使在设备断电或重启后也不会丢失。
在SoC的设计中,经常有Master Key(或者HUK)存入到eFUSE中,然后通过在SoC的总线限定,只准SHE(Security Hardware Engine)读取,叫法没有统一。 可以总结为有以下特点:
1.2 易失性Key
易失性密钥(Volatile Keys)是在设备运行时生成并且在断电或重启后消失的密钥。这些密钥在安全系统中通常用于短期操作,如加密会话数据或临时认证。
在SoC的设计中,该Key存在于SRAM中,在权限管理上没有Master Key那么严格,通常其他硬件也可以访问到该Key。这部分key有以下特点:
一些PUF技术中,也可以产生易失性Key, https://www.researchgate.net/figure/Simple-PUF-based-cryptographic-volatile-key-generator-structure_fig10_289601897
也可以参考 ZYNQ的 https://github.com/carloscn/blog/issues/149
2. Key管理
SoC(System on a Chip)的设计在密钥管理方面扮演着至关重要的角色,因为它直接决定了密钥管理的有效性和安全性。考虑到不同的SoC可能有不同的硬件架构和安全特性,理解特定SoC的密钥管理机制需要具体分析。首先,SoC的硬件结构必须支持高级的密钥管理功能。这意味着需要有专门的硬件模块或组件,比如安全加密处理器或安全存储区域,来处理和存储密钥。同时,为了确保密钥在SoC内部传输的安全性,必须实现安全的总线架构。这可能包括加密总线通信或限制对敏感数据路径的访问,以防止潜在的侧信道攻击或数据泄露。SoC应该提供一个完善的密钥管理系统,包括密钥的生成、存储、使用和销毁。这可能涉及到复杂的软件和硬件交互,以确保密钥的生命周期管理符合安全要求。SoC需要支持SHE或类似的技术,以提供额外的安全措施,比如防篡改和抗侧信道攻击。
为了更好地理解这些概念,可以选择一个具体的SoC实例来详细介绍其Key Ladder密钥管理机制。通过分析这个实例,可以揭示SoC设计如何影响密钥的生成、保护、使用和管理。
2.1 SoC机制
这幅图展示了一个集成在系统芯片(SoC)中的密码引擎的架构设计,主要用于处理和管理安全密钥和执行加密运算。
在这个示例中,
在设计的时候需要考虑的安全特性包含:
2.2 SoC权限管理
Key Store Access Restrictions
对于key存储访问权限需要严格限制,读/写/使用。在SoC的driver中应该设定角色:
2.3 派生 Key Derivation
Key ladder(密钥阶梯)机制是一种密钥派生方法,用于生成一系列相关联的加密密钥。这种机制在内容保护和密钥管理系统中尤为常见,用于确保加密密钥的安全传输和存储。这一机制的核心是通过使用一系列密钥派生步骤来确保上游密钥(root key或者master key)的安全性,同时允许下游密钥(derived keys)在不暴露上游密钥的情况下用于各种操作。
在Key ladder机制中,通常有以下几个特点:
密钥隔离: 不同级别的密钥用于不同的目的,确保即使下游密钥被破解,上游密钥也不会受到影响。
这个来源于 https://www.etsi.org/deliver/etsi_ts/103100_103199/103162/01.01.01_60/ts_103162v010101p.pdf
简易版就是:
对于输入:
对于输出: