1 Secure Key Store安全密钥储存-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Secure Key Store安全密钥储存

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-08-10 11:11 次阅读

密钥是系统安全的基础

一个安全系统的基础,在与其所拥有的密钥,用以提供系统身分的真实性与确保系统数据的机密性,其最基本需要具备的密钥,包括了:

Hardware Unique Key (HUK) 每个设备实体所拥有的专属密钥,具有唯一性与秘密性,用来生成不同应用所需的密钥与链接装置专属的加密数据

Root of Trust Public Key (ROTPK) 用以验证签章的公钥,在装置安全开机流程中,确保只有通过认证的软件能够在装置上执行

为了确保系统的安全,无论HUK或ROTPK,都必须不能被修改。

除此之外,因应各种应用,在系统中还可能存在各种不同功能的密钥,包括加、解密用的AES Key,验证签章用的RSA Key或ECC Key等等。

这些密钥架构在密码学的基础上,提供系统身分认证,数据保护,传输加密等等功能,是系统中,所有安全的基础,因此对密钥本身的储存与保护,更是整个系统中,最重要的一环,这里我们将储存密钥的地方,称之为Key Store。

Key Store的特点

为了确保密钥的安全,Key Store密需要具备几个特点

所储存的秘钥,必须是一个不可分割整体

在Key Store中的每一把密钥,都必须被视为一个整体来建立、更改与删除,因为,若一把密钥有机会被以已知的值取代其部分内容,便很容易被使用分割与暴力破解的方法攻击 (divide and conquer brute-force attack)。

根据密钥的种类,提供不同的储存类型,包括

静态储存

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

短期储存

短期储存的密钥,有较短的寿命,这可以是只存在当次联机期间,也可以只存在当次的上电周期,或是只存续在装置当次的注册期间内,这些特性,通常可透过使用Flash或SRAM为储存媒体来达成。

设定密钥属性,以限制密钥的使用范围

根据密钥的用途与对应的密码学算法,可限缩密钥的使用范围,包括限制只能用于AES加解密、只能用于ECC签章、只能用于验证等。这样的限制理由,主要基于下面几点

限制CPU对密钥的读取,可避免因软件漏洞造成密钥的暴露。

限制密钥的使用范围,可以降低当密钥被破解时,损失波及的范围。

一把密钥使用于不同的算法,将增加被攻击的危险。

一把密钥使用于不同的用途,可能造成密钥存续期间长短的冲突,因而需要延长其存续时间,造成密钥存续时间超过实务上最佳的存续期限。

防止物理攻击

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来存放密钥,对整个系统而言,是一件相当重要事。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ROM
    ROM
    +关注

    关注

    4

    文章

    563

    浏览量

    85731
  • 安全系统
    +关注

    关注

    0

    文章

    410

    浏览量

    66922
  • 密钥
    +关注

    关注

    1

    文章

    138

    浏览量

    19753
收藏 人收藏

    评论

    相关推荐

    为什么在espconn_secure_accept创建的服务器上无法有多个安全连接?

    为什么在espconn_secure_accept创建的服务器上无法有多个安全连接?
    发表于 07-22 08:10

    为什么无法将主机生成的密钥写入esp32?

    bin文件写入esp32。 报错摘要:“espefuse.py burn_key: error: argument block: invalid choice:” \'flash_encryption
    发表于 07-19 08:15

    鸿蒙开发:Universal Keystore Kit密钥管理服务 密钥删除C C++

    为保证数据安全性,当不需要使用该密钥时,应该删除密钥
    的头像 发表于 07-18 15:47 288次阅读

    WPS完成后,主机应用程序如何从ESP读取WPA安全密钥

    WPS 完成后,主机应用程序如何从 ESP 读取 WPA 安全密钥? AT WPS 命令似乎将结果存储在闪存中,以便 ESP 下次将连接到同一 AP。 ESP是否可以选择不将其存储到闪存中,以便它不会在尝试立即连接时从重置中出来?
    发表于 07-16 08:28

    espconn_secure_connect是如何工作的?

    我正在开发一个需要连接到 SSL 服务器(特别是 XMPP 服务器)的应用程序,但我遇到了espconn_secure_connect和朋友的麻烦。当我使用 espconn_connect
    发表于 07-15 06:15

    鸿蒙开发:Universal Keystore Kit密钥管理服务 密钥删除ArkTS

    为保证数据安全性,当不需要使用该密钥时,应该删除密钥
    的头像 发表于 07-12 14:56 293次阅读

    鸿蒙开发:Universal Keystore Kit密钥管理服务 密钥派生介绍及算法规格

    在密码学中,密钥派生函数(Key derivation function,KDF)使用伪随机函数从诸如主密码或密码的秘密值中派生出一个或多个密钥
    的头像 发表于 07-11 16:30 327次阅读

    鸿蒙开发:Universal Keystore Kit密钥管理服务 密钥导入介绍及算法规格

    如果业务在HUKS外部生成密钥(比如应用间协商生成、服务器端生成),业务可以将密钥导入到HUKS中由HUKS进行管理。密钥一旦导入到HUKS中,在密钥的生命周期内,其明文仅在
    的头像 发表于 07-06 10:45 674次阅读
    鸿蒙开发:Universal Keystore Kit<b class='flag-5'>密钥</b>管理服务 <b class='flag-5'>密钥</b>导入介绍及算法规格

    鸿蒙开发:Universal Keystore Kit密钥管理服务 密钥生成介绍及算法规格

    当业务需要使用HUKS生成随机密钥,并由HUKS进行安全保存时,可以调用HUKS的接口生成密钥
    的头像 发表于 07-04 21:50 341次阅读
    鸿蒙开发:Universal Keystore Kit<b class='flag-5'>密钥</b>管理服务 <b class='flag-5'>密钥</b>生成介绍及算法规格

    鸿蒙开发:Universal Keystore Kit密钥管理服务简介

    Universal Keystore Kit(密钥管理服务,下述简称为HUKS)向业务/应用提供各类密钥的统一安全操作能力,包括密钥管理(密钥
    的头像 发表于 07-04 14:20 435次阅读
    鸿蒙开发:Universal Keystore Kit<b class='flag-5'>密钥</b>管理服务简介

    在ESP32-C3中安全启动v2支持三个密钥签名的提交,请问具体怎么操作?

    IDFv4.3.2版本中,在安全启动V2的文档中提到\"How To Enable Secure Boot V2\",但是在其中只有指定密钥,没有提到密钥烧录的位置。 那么我想烧录三
    发表于 06-17 06:19

    stm32l562运行NUTTX出现secure fault的原因?

    nuttx操作系统里面带有stm32l562 board,编译出该board的bin文件,然后按照board目录下,readme.txt中的操作通过TFM加载该bin运行,会出下面的的secure
    发表于 03-18 06:13

    LKT安全芯片密钥管理与分散过程简单描述

    密钥管理是数据加密技术中的重要一环,密钥管理的目的是确保密钥安全性(真实性和有效性)。
    的头像 发表于 02-23 13:43 442次阅读

    CysecureTools如何直接访问外部存储设备内的密钥呢?

    在 PSoC 64 Secure MCU 的 Secure_Boot 文档示例中,CysecureTools 在配置过程中以预先准备好的文件形式使用密钥。 但是,在实际操作场景中,公开文件格式的
    发表于 01-31 08:08

    详解全志R128 RTOS安全方案功能

    签名算法 key_type 后,在创建密钥执行 createkeys 时会自动根据配置文件生成对应的密钥,并在执行打包命令的时候会采用对应的签名校验算法进行固件打包签名。 信任链R128 整个
    发表于 12-28 15:59