打印
[新唐博主]

【技术干货】Secure Key Store 安全密钥储存

[复制链接]
6522|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
21ic小管家|  楼主 | 2021-8-26 17:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
密钥是系统安全的基础
一个安全系统的基础,在与其所拥有的密钥,用以提供系统身分的真实性与确保系统数据的机密性,其最基本需要具备的密钥,包括了:
  • Hardware Unique Key (HUK) 每个设备实体所拥有的专属密钥,具有唯一性与秘密性,用来生成不同应用所需的密钥与链接装置专属的加密数据
  • Root of Trust Public Key (ROTPK) 用以验证签章的公钥,在装置安全开机流程中,确保只有通过认证的软件能够在装置上执行

为了确保系统的安全,无论HUK或ROTPK,都必须不能被修改。
除此之外,因应各种应用,在系统中还可能存在各种不同功能的密钥,包括加、解密用的AES Key,验证签章用的RSA Key或ECC Key等等。
这些密钥架构在密码学的基础上,提供系统身分认证,数据保护,传输加密等等功能,是系统中,所有安全的基础,因此对密钥本身的储存与保护,更是整个系统中,最重要的一环,这里我们将储存密钥的地方,称之为Key Store。

Key Store 的特点
为了确保密钥的安全,Key Store密需要具备几个特点:
1. 所储存的秘钥,必须是一个不可分割整体
  • 在Key Store中的每一把密钥,都必须被视为一个整体来建立、更改与删除,因为,若一把密钥有机会被以已知的值取代其部分内容,便很容易被使用分割与暴力**的方法攻击 (divide and conquer brute-force attack)。

2. 根据密钥的种类,提供不同的储存类型,包括:
  • 静态储存

静态储存的密钥,必须具有不可更改的特性,这通常会使用ROM或Fuse的特性来达成。然而,虽然静态储存的密钥无法被更改,却仍必须可以被撤销,撤销后的密钥,将不再能够存取或利用,以确保密钥使用上的安全。
  • 短期储存

短期储存的密钥,有较短的寿命,这可以是只存在当次联机期间,也可以只存在当次的上电周期,或是只存续在装置当次的注册期间内,这些特性,通常可透过使用Flash或SRAM为储存媒体来达成。
3. 设定密钥属性,以限制密钥的使用范围
  • 根据密钥的用途与对应的密码学算法,可限缩密钥的使用范围,包括限制只能用于AES加解密、只能用于ECC签章、只能用于验证等。这样的限制理由,主要基于下面几点:

(a) 限制CPU对密钥的读取,可避免因软件漏洞造成密钥的暴露。
(b) 限制密钥的使用范围,可以降低当密钥被**时,损失波及的范围。
(c) 一把密钥使用于不同的算法,将增加被攻击的危险。
(d) 一把密钥使用于不同的用途,可能造成密钥存续期间长短的冲突,因而需要延长其存续时间,造成密钥存续时间超过实务上最佳的存续期限。

4. 防止物理攻击
  • Key Store内所储存的密钥,是整个系统安全的基础,不只要防范来自软件漏洞的暴露风险,也要防止来自物理性的攻击,包括利用物理特性的旁道攻击 (Side-Channel Attack)与打开封装,直接量测芯片储存内容的攻击。

Key Store 实例
以 Nuvoton M2354 为例,其中包含 Key Store 硬件单元,提供密钥储存的功能,能够储存由128 bits 到 4096 bits长度的密钥,以完整的key为单位,进行写key、删除与注销(Revoke),并具备完整性检测,只要密钥有任意的位出错,那么这把密钥,就会失效,无法使用。
Key Store 提供OTP、Flash与SRAM三种储存媒体,可因应不同密钥存续时间的需求,其中OTP可用来储存不可更改的密钥,例如HUK、ROTPK,而Flash可用来储存云端联机认证用的密钥等,而SRAM则可用来储存云端联机时,所使用的随机加密密钥。
此外,Key Store在建立密钥时,可以指定相关属性,限制秘钥只能由CPU或特定的加密引擎使用,进一步限制密钥的使用,以加强密钥的安全性。
针对旁道攻击, Key Store支持Silent Access功能,可以降低储存操作时,因为物理特性造成的信息泄露。而针对打开芯片封装,利用物理量测储存内容的攻击,则提供Data Scrambling来防护。更近一步,也可以设定Key Store在系统攻击侦测(Tamper Detection)触发时,直接硬件连动,清除、注销所有Key Store中的密钥,确保密钥不被泄露。

总结
现代的安全系统,仰赖密码学的保护,而再好密码学算法,还是要依靠密钥的安全储存,才能真正达到效果,一旦密钥暴露出来,所有架构于该密钥的秘密将不再安全,因此具备一个足够安全的Key Store来存放密钥,对整个系统而言,是一件相当重要事。

如您对以上方案感兴趣,请点击 “阅读原文
填写新唐在线表格与我们联系。

使用特权

评论回复
沙发
麻花油条| | 2021-9-4 19:25 | 只看该作者
具备一个足够安全的Key Store来存放密钥,对整个系统而言,是一件相当重要事

使用特权

评论回复
板凳
xinpian101| | 2021-9-14 22:56 | 只看该作者
现在这一块越来越重要了,连新版的Windows系统都要求必须支持安全设备了。

使用特权

评论回复
地板
豌豆爹| | 2021-9-17 10:36 | 只看该作者
安全性对于任何系统的重要性是不言而喻的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:祝大家天天开❤ ///w/// 有问题咨询联系QQ:3326242524

2556

主题

6231

帖子

228

粉丝