0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

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

3天内不再提示

如何增加和隔离安全硅IP信任根实现其应用程序的超安全性

王静 来源:nhonglan 作者:nhonglan 2022-07-28 08:02 次阅读

、在我之前的专栏中,我们讨论了系统和 SoC 设计人员如何增加和隔离安全硅 IP 信任根 (RoT),以实现其应用程序的超安全性。

这种安全硅 IP 的解决方案是为多个 RoT 提供支持,例如Rambus的 CryptoManager 信任根。提供给这个安全硅 IP 的每个根都有自己的身份和一组权限,这些权限建立了对其执行所需资产的访问权限。加载应用程序时,其请求的权限被编程硬件寄存器,以便它只能访问其指定的资产。根据硬件中应用的其他应用程序的权限,可以限制在安全硅 IP 内执行的其他应用程序访问原始应用程序的资产。

如果攻击者想要在安全硅 IP 上运行应用程序,他们必须能够访问虚拟根私钥。即使攻击者可以访问另一个应用程序的虚拟根私钥,他们的应用程序也无权访问原始应用程序的资产。

然而,系统或 SoC 设计人员若要拥有此功能,他们必须选择安全硅 IP,为他们提供多个硬件 RoT,每个硬件 RoT 都隔离在安全硅 IP 本身内。这意味着每个实体都依赖于自己的虚拟 RoT 并执行安全功能,而无需信任其他实体。

应用示例 以下

是一些基于此类安全硅 IP 的具体应用示例。示例实体可以是数字版权管理 (DRM)、银行或安全通信应用程序。

每个应用程序都在彼此完全隔离的情况下执行,如上框所示。不太安全的替代方案是所有三个实体共享同一组资产(下框)。

如前所述,系统和 SoC 设计人员需要考虑其设备将支持的潜在客户应用。一些可能的应用包括用于流式视频、银行业务和安全通信的 DRM。这些应用程序中的每一个对安全性和对安全硅 IP 资产的访问都有不同的要求。

DRM 应用程序:在 DRM 应用程序的情况下,需要将派生密钥从安全硅 IP 输出到可以解密和解码视频流的外部引擎。在这种情况下,我们可以使用安全硅 IP 提供的权限模型来确保只有 DRM 应用程序可以导出解密流所需的密钥。此外,我们可以使用安全硅 IP 的权限,仅允许 DRM 应用程序将密钥传送到视频解码块。

图 2 详细说明了 DRM 应用程序可能使用的安全硅 IP。非易失性存储器 (NVM) 包含多个应用程序基本密钥。但是,基于虚拟根权限的 DRM 应用程序无法访问被涂黑的密钥(KB 和 KC)。唯一可以访问的密钥是 DRM 基本密钥 KD。

图 2:将安全硅 IP 用于 DRM 应用程序

CPU 上执行的应用程序请求 KDF 使用 KD 导出视频解密密钥 KV。应用程序还要求将 KV 直接输出到 Key Transport 机制,以防止 DRM 应用程序中潜在的软件漏洞泄露 KV。密钥传输机制通过安全总线将 KV 传递给视频解密和解码器模块。视频解密和解码器块然后解密和解码要为用户播放的视频流。

银行凭证应用:图 3 详细说明了安全硅 IP 的第二种应用可能性——保护用户的银行凭证。与之前的 DRM 应用程序一样,银行应用程序必须对 NVM 中的基本密钥 KB 具有独占访问权。此外,银行应用程序无权访问 NVM 中的其他基本密钥。

应用程序可以请求 KDF 使用 KB 导出解密密钥 KA。KA 直接传递给高级加密标准 (AES) 引擎,因此 CPU 永远不会读取其值。然后,应用程序请求 AES 引擎解密存储在系统外部文件系统中的加密银行凭证。一旦凭证被解密,它们就会被传送到安全硅 IP 的 SRAM,以供在主 CPU 上执行的银行应用程序使用。

如果攻击者对在安全硅 IP 内执行的银行应用程序进行逆向工程,攻击者仍然无法检索银行凭证解密密钥 KA。此外,如果攻击者有权访问另一个虚拟根的私钥来签署他们自己的银行应用程序版本,他们的应用程序将无法派生适当的 KA。他们的派生密钥 KA‘ 无法解密银行凭证。

安全通信应用程序:图 4 详细介绍了第三个应用程序示例,即安全通信。安全通信应用程序需要在使用前进行一些设置。安全硅 IP 必须首先使用其安全通信基础密钥 KC 来导出椭圆曲线加密 (ECC) 私钥 KP。然后使用 KP 导出相应的公钥 KU。KU 在证书签名请求中从设备中导出。

图 4:安全硅 IP 用于安全通信应用。

证书颁发机构 (CA) 使用证书签名请求生成由 CA 的私钥签名的数字证书。数字证书被导入到安全硅 IP 中。数字证书 CERT 存储在 NVM 中只能由安全通信应用程序访问的位置。

在与另一方建立安全会话的初始阶段,安全通信应用程序从 NVM 读取 CERT。安全通信应用程序请求 KDF 使用 KC 重新导出私钥 KP,并将 KP 传递给公钥引擎。应用程序接下来使用安全硅 IP 的哈希引擎计算安全通信参数的哈希摘要。得到的安全通信参数的散列摘要被传送到公钥引擎。

安全通信应用程序请求公钥引擎使用 KP 和安全通信参数的散列摘要生成数字签名。数字签名放置在 SRAM 中,在安全处理器的 CPU 上执行的安全通信应用程序可以访问该 SRAM。安全通信应用程序导出 CERT、安全通信参数和数字签名。导出的数据被传输到为其建立安全通道的一方。

随着安全通信协议的发展,安全硅 IP 用于与对方建立共享秘密。此共享机密可与安全硅 IP 的 AES 引擎(或其他对称密码)一起使用,以加密或解密来自或来自另一方的数据块。

结论

您的应用程序保持最高级别的安全性至关重要。此处描述的示例演示了如何在应用程序之间建立完全的资产隔离。

此外,如果某个应用程序已被坚定的攻击者进行了逆向工程,那么他们获得的价值就很小。攻击者必须有权访问应用程序的虚拟根私钥。即使攻击者可以访问另一个应用程序的虚拟根私钥,他们的应用程序也无权访问原始应用程序的资产。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 安全
    +关注

    关注

    1

    文章

    331

    浏览量

    35466
  • Rambus
    +关注

    关注

    0

    文章

    51

    浏览量

    18729
收藏 人收藏

    评论

    相关推荐

    芯盾时代中标江苏省苏豪控股集团 零信任实现业务访问的高安全性

    中标喜讯 | 芯盾时代中标江苏省苏豪控股集团 零信任实现业务访问的高安全性
    的头像 发表于 03-26 14:07 161次阅读
    芯盾时代中标江苏省苏豪控股集团 零<b class='flag-5'>信任</b><b class='flag-5'>实现</b>业务访问的高<b class='flag-5'>安全性</b>

    求助,为什么说电气隔离安全性比较高?

    为什么说电气隔离安全性比较高?
    发表于 11-02 08:22

    MCU是怎么为物联网端点设备提高安全性的?

    MCU 是怎么为物联网端点设备提高安全性的?
    发表于 10-17 08:53

    隔离Zynq UltraScale+设备上的关键安全应用程序

    电子发烧友网站提供《隔离Zynq UltraScale+设备上的关键安全应用程序.pdf》资料免费下载
    发表于 09-15 10:33 0次下载
    <b class='flag-5'>隔离</b>Zynq UltraScale+设备上的关键<b class='flag-5'>安全</b><b class='flag-5'>应用程序</b>

    STM32CubeL5 TFM应用程序入门

    应用程序提供一个可信解决方案(包括安全启动和安全固件更新功能,在执行应用程序之前使用),还提供一组
    发表于 09-07 06:54

    国内首创!通过SDK集成PUF,“芯片指纹”打造MCU高安全芯片

    和全面的安全功能,这些弱点使得安全MCU芯片容易受到各种安全漏洞和攻击的威胁。为了解决这些问题,需要为MCU芯片建立可靠的硬件信任,这样可
    发表于 09-06 09:44

    如何入门STM32CubeU5 TFM应用程序

    (STSAFE-A110 微控制器(以下统称为 STSAFE))可增强安全性安全服务是一种可升级的代码,提供了一组服务,非安全应用程序可以在运行时间使用这些服务,这些服务管理着与非
    发表于 09-06 07:52

    STM32H5 MCU系列提升性能与信息安全性

    强大的Arm® Cortex®-M33 MCU运行频率高达250 MHz的Arm®Cortex®-M33内核32位MCU满足绝大多数工业应用的需求安全性可扩展,满足各类需求从基本的安全构建模块到经过
    发表于 09-06 06:29

    Arm平台安全架构固件框架1.0

    基于行业最佳实践的配方,允许在这两个方面一致地设计安全性 硬件和固件级别。 PSA固件框架规范定义了标准编程环境和固件用于在设备的信任实现和访问
    发表于 08-08 07:14

    基于分级安全的OpenHarmony架构设计

    多种不同的认证形态,例如人、程序、设备等进行分级认证,认证后的可信等级越高,信任度越高,则对做授信时就可以让有权做更多更危险的操作。 从身份认证理论来说,单一因子的
    发表于 08-04 10:39

    什么是应用程序安全性AppSec?应用安全 + 应用安全工具概述

    应用程序安全 (AppSec) 对于高效和有效的安全措施至关重要,有助于解决软件应用程序日益严重的安全威胁。在这里,我们将讨论
    的头像 发表于 06-12 09:37 607次阅读
    什么是<b class='flag-5'>应用程序</b><b class='flag-5'>安全性</b>AppSec?应用<b class='flag-5'>安全</b> + 应用<b class='flag-5'>安全</b>工具概述

    RISC-V如何保证高权限模式程序及外设的安全性

    RISC-V有机器模式、监管模式和用户模块,但无论在哪个模式下当TRAP发生时都会转到机器模式,是不是也就意味着在用户模式下进入中断服务程序也会拥有机器模式的权限,那我们如何保证高权限模式程序及外设的安全性
    发表于 05-26 08:11

    PX5的ARM TrustZone支持让嵌入式系统变得更加安全

    的高端RTOS产品对ARM TrustZone技术的支持,让开发者能够从硬件到应用程序代码层全面加强设备安全。随着微控制器(MCU)设备部署的增加和相关系统需求的增长,制造商需要在底层更加高效地提高
    发表于 05-18 13:44

    Splashtop零信任安全:综合网络安全方法

    信任安全作为一种网络安全方法,要求组织必须验证每一次访问尝试,无论访问尝试的来源。这种安全方法假设所有设备、用户和应用程序均不可信,并会持
    的头像 发表于 05-09 10:41 763次阅读

    如何通过TZASC分配安全内存并通过OP-TEE中的可信应用程序访问它?

    了 optee,然后运行了 optee_hello_world 示例,它似乎工作正常。 我现在想为安全区域分配一些内存并使用受信任应用程序访问它。我检查了 SRM,但我需要更清楚地了解我在 linux 驱动
    发表于 05-04 08:46