加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 运营中心 > 交互 > 正文

物联网案例:怎么在启用加密技术的半导体中保护密钥

发布时间:2022-08-02 16:33:45 所属栏目:交互 来源:互联网
导读:尽管物联网设备得到了大量普及,但保护这些设备的安全依然持续引人关注;在某种程度上,若要在工业物联网 (IIoT) 和任务关键型应用中采用联网设备,相关的安全挑战可能会成为阻碍。这是因为如果攻击成功,则可能导致企业和个人数据泄露。保护物联网应用的
   尽管物联网设备得到了大量普及,但保护这些设备的安全依然持续引人关注;在某种程度上,若要在工业物联网 (IIoT) 和任务关键型应用中采用联网设备,相关的安全挑战可能会成为阻碍。这是因为如果攻击成功,则可能导致企业和个人数据泄露。保护物联网应用的安全可能是一项非常艰巨的任务,因为开发人员必须精心协调多种安全机制、协议和策略,而它们组合起来似乎非常复杂。在现实中,物联网设备的安全可以建立在一些相对简单的原则之上,并使用硬件安全设备加以支撑。只要遵循完善的安全实践,这些问题都能得到解决。本系列文章由多个部分组成,文中将提供一些实用的指导,来帮助开发人员确保从一开始就遵循相关的最佳实践。第 1 部分探讨底层安全设计的加密算法。第 2 部分(本文)探讨私钥、密钥管理和安全存储在安全物联网设计中所起的作用。第 3 部分检查安全处理器的内建机制,以缓解物联网设备所面临的其他类型威胁。第 4 部分明确并展示如何在高级处理器中应用安全机制,帮助确保进行必要的隔离,以缓解对物联网设备运行时环境进行的攻击。第 5 部分介绍如何在将物联网设备连接到物联网云资源时,通过采用更高级别安全措施,让这些设备实现持续的物联网安全。
 
  尽管基于硬件的加密设备可以减少物联网 (IoT) 的漏洞,但即便使用了最强大的加密设备,如果密钥和相关数据缺乏足够的保护,安全性也会大打折扣。半导体制造商通过专用安全 IC 和在处理器中内置各种安全机制,来解决密钥和其他特权数据的保护问题。
 
 
  本文将回顾密钥在加密技术中所起的关键作用,并介绍 Maxim Integrated、NXP、STMicroelectronics 和 Microchip Technology 所提供的器件中内置的不同密钥保护机制。
 
  密钥在加密技术中的作用
 
  如本系列第 1 部分所述,可以使用多种硬件支持的加密算法来创建唯一的消息哈希或签名,甚至可以使用更广泛的加密来将纯文本加密为密文,以及将密文解密为纯文本。尽管这些算法可以增强应用的安全性,但能否保护这些应用从根本上取决于加密算法所用的私钥和其他机密数据的安全性。
 
 
  保护密钥面临的挑战
 
  尽管从概念上讲,保护加密密钥非常简单,但实际上可能带来重大挑战。要实现更高级别的安全策略,将不可避免地用到多种采用不同算法的安全协议。这些协议和算法反过来需要协议本身创建的某种静态密钥和临时密钥的组合。例如,传输层安全性 (TLS) 会话在验证期间使用静态密钥,并将共享的临时会话密钥用于安全消息交换。
 
  事实上,美国国家标准技术研究院 (NIST) 确定了 19 种不同类型的密钥以及另外 11 种需要保护的相关信息,例如椭圆曲线域参数和中间结果。NIST 进一步建议,为了实现更强大的安全性,应在特定时段内保护与密钥使用相关的信息,如表 1 所示。该表仅显示完整的 NIST 建议[1]中列出的前几种密钥类型。
 
 
  密钥和相关数据需要受到保护,这就意味着,开发人员在物联网应用中使用密钥时需要格外小心。对于物联网设备,更大的挑战可能在于如何在此数据处于多种状态(静止、传输中和使用中)下分别加以保护。保护静态数据需要安全的存储机制;保护传输中的数据需要在通过网络或系统总线传输时有用于保护密钥的方法;保护使用中的数据则需要在将密钥用于执行加密算法时防止密钥公开的机制。幸运的是,开发人员可以找到各种各样的安全设备,使用多种不同的机制来保护机密数据。
 
  如何在启用加密技术的半导体中保护密钥
 
  启用高级加密技术的半导体解决方案通常会提供某种安全的非易失性存储器,用于存储密钥和其他机密数据,但就总体方法的性质而言,存在明显不同的两大类安全设备:专用安全 IC 和启用加密技术的处理器。
 
  安全 IC 设计为自足式子系统,可从主机处理器(通常通过串行总线通信)分担算法执行任务。例如,Maxim Integrated 的 DS28C36 安全验证器提供了 I2C 端口以及两个通用 I/O (GPIO),可用于向主机处理器发送验证成功或失败的信号(图 1)。
 
  创建新密钥(同样参见图 2 左图)后返回一个 keyId。稍后要使用该密钥,开发人员可通过其 keyId 引用该密钥(图 3,右图),而不是通过系统总线公开实际密钥值。使用 NXP 的 Plug & Trust 中间件,开发人员可以将兼容 Arduino 的 NXP KineTIs Freedom K64F 评估板与 NXP OM-SE050ARD 扩展板搭配使用来开发 SE050,或与 NXP OM3710/A71CHARD 板搭配使用来开发 AC71CH,从而快速实现安全应用。
 
  诸如 Maxim Integrated 的 DS28C36、NXP 的 SE050、NXP 的 AC71CHTK2/TOBC2VJ 之类专用安全 IC 以及此分类中的其他器件均具有多种明显的优势。除了提供相对简单的方法为设计添加安全的功能外,将功能集成到专用安全 IC 中还能限制公开机密数据和操作。例如,Maxim Integrated 的 DS28C36 集成了硬件加密加速器、真随机数发生器、8 千字节 (Kb) 安全 EEPROM 以及其他功能模块。DS28C36 在验证椭圆曲线数字签名算法 (ECDSA) 固件签名时,可确保保护静态、传输中和使用中的数据,因为私钥、相关的数据(参见图 1)以及使用这些密钥的操作均封闭在器件内(图 3)。
 
 
  基于处理器的密钥保护
 
  并非每个物联网设计都能容纳专用的安全 IC。某些要求可能决定了必须使用其他加密方法,或存在与封装、物料清单 (BOM)、成本或客户规格有关的设计限制。针对这类设计,启用安全性的处理器,如 STMicroelectronics 的 STM32WB55 和 Microchip Technology 的 ATSAML11,提供了加密算法硬件加速引擎和机密数据保护机制的组合。虽然本文重点介绍密钥保护,但这些处理器及其他处理器还提供了其他多种精巧的安全功能,我们将在本系列的第 3 部分介绍这些功能。
 
  在 STMicroelectronics 的双核 STM32WB55 无线设备中,Arm® Cortex®-M4 CPU (CPU1) 用作主机处理器,通过一个专用的处理器间通信控制器 (IPCC) 和信号量机制 (HSEM),与无线电子系统的专用 Arm Cortex-M0+ 微控制器 (CPU2) 通信。在 CPU2 子系统内,安全存储器为高级加密标准 (AES) 硬件加速器所用的密钥提供了客户密钥存储 (CKS) 区域。
 
 
  STM32WB55 架构可保护 CKS 密钥不被调试端口或主机 CPU1 处理器运行的非安全例程访问。与此同时,在主机 CPU1 上运行的可信应用程序则可通过使用密钥索引引用密钥的方式,使用 AES 加密技术中的特定 CKS 密钥。AES 硬件模块通过内部总线从 CKS 区域接收所需的密钥,从而确保密钥传输在 CPU2 子系统内保持受保护的状态。
 
  在基于 Arm Cortex-M23 的 ATSAML11 处理器中,Microchip Technology 依赖于 Arm TrustZone 技术内置的安全功能。TrustZone 使用基于硬件的机制来强制隔离可信和不可信资源。
 
  安全的配置
 
  专用的安全 IC 和处理器为开发人员提供了保护物联网设备中的密钥和相关数据所需的机制。但是,由于在最初使用密钥或证书加载或配置安全 IC 或处理器的过程中会出现故障,导致经常出现安全漏洞,致使密钥容易被盗。网络罪犯通过黑市迅速出售这类盗取的密钥和受损的证书,从而使黑客能够利用看似有效的凭据渗透安全网络。
 
  本系列文章的第 4 部分将讨论制造商针对特定的物联网云服务(包括 Amazon Web Services、Microsoft Azure、Google Cloud 等)使用密钥和证书预先配置的安全设备和开发工具包。但在生产部署中,开发人员通常更倾向于或需要使用自己的定制密钥和证书。
 
  为支持定制配置,大多数半导体制造商通过自己的设施或与配置合作伙伴合作提供配置服务。例如,Microchip 为设备配置的定制密钥是使用第三方合作伙伴提供的配置套件(包括 Trustonic 和 IAR Systems 的 Secure Thingz)中包含的安全包装工具创建的。
 
 
  使用 PUF 技术的自配置
 
  在启用安全性的处理器和专用 IC 中,物理不可克隆功能 (PUF) 技术的使用越来越多,这或许提供了一种甚至更安全的配置方法。利用 PUF 技术,安全设备可以使用根据每个设备的唯一特征派生的密钥,而不是将密钥显式加载到设备中。
 
  PUF 技术依赖于制造差异和其他物理过程,致使该值对设备本身而言是唯一的,并且在正常系统操作下可以重复。如下所述,该结果值可用作唯一的加密私钥,从根本上为每个启用 PUF 的设备提供了内置的密钥。
 
  除了实现自配置外,PUF 技术还增加了另一层安全性。若试图渗透设备以公开设备唯一值,则会改变用于生成该设备唯一值的特征,从而改变生成的值。
 
  尽管存在不同的 PUF 机制,但启用 PUF 技术的设备的基本方法大体相同。例如,Maxim Integrated 在其 MAX32520 安全微控制器以及一些安全 IC 中使用的 ChipDNA PUF 功能,需依赖于一系列模拟 PUF 元件和控制逻辑来生成密钥。
 
   在 Maxim Integrated 的 ChipDNA PUF 技术中,片上控制逻辑使用一系列 PUF 元件的随机状态来生成一致的设备专属密钥。(图片来源:Maxim Integrated)
 
  在 Maxim Integrated 的 DS28C39 ECDSA 安全验证器中,ChipDNA PUF 输出将用作 ECDSA 操作的私钥,以及保护相关数据的私钥。
 
 
 
  Maxim Integrated 的 DS28C39 ECDSA 安全验证器使用由其片上 ChipDNA PUF 电路生成的私钥。(图片来源:Maxim Integrated)
 
  在启用 PUF 技术的 LPC55S 处理器系列中,NXP 基于根据 SRAM 阵列的初始随机状态生成的输出使用 PUF 技术。
  
  开发人员可以使用 KEK 对定制密钥和相关数据进行加密,并将加密结果存储在非安全的非易失性存储器中。这种方法使开发人员即使在安全存储空间有限的设备中也能保护各种类型的密钥和相关数据。有了 PUF 生成的 KEK,开发人员便可以实现能够在整个开发周期中保护应用的安全物联网设备。
 
  总结
 
  带有加密加速器的专用安全 IC 和安全处理器的出现,极大地增强了开发人员构建安全系统的能力。但是,安全系统严重依赖于私钥及其他与加密机制和协议相关的数据的安全性。安全设备通过采用多种不同的机制,可以为静态、传输中和使用中的机密数据提供保护。利用这些设备,开发人员可以构建更安全的物联网解决方案,而不会影响其他设计要求。
 

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读