首页>>科技 >>内容

物联网案例:如何在启用加密技术的情况下保护半导体中的密钥

发布时间:2023-07-04 16:06:38编辑:温柔的背包来源:

很多朋友对物联网案例:如何在启用加密技术的情况下保护半导体中的密钥不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

物联网案例:如何在启用加密技术的情况下保护半导体中的密钥

虽然IOT设备已经被广泛使用,但是保护这些设备的安全性仍然是人们关注的焦点。在某种程度上,如果联网设备要用于工业物联网(IIoT)和任务关键型应用,相关的安全挑战可能会成为障碍。这是因为如果攻击成功,可能会导致企业和个人数据泄露。

保护物联网应用的安全可能是一项非常艰巨的任务,因为开发人员必须仔细协调各种安全机制、协议和策略,它们的组合看起来非常复杂。实际上,IOT设备的安全性可以基于一些相对简单的原理,并由硬件安全设备来支持。只要遵循完美的安全实践,这些问题是可以解决的。

这一系列文章由几个部分组成,它们将提供一些实用的指导,帮助开发人员确保从一开始就遵循相关的最佳实践。第一部分讨论底层安全设计的加密算法。第二部分(本文)讨论了私钥、密钥管理和安全存储在安全物联网设计中的作用。第3部分研究了安全处理器的内置机制,以减轻IOT设备面临的其他类型的威胁。

第四部分阐明并展示了如何在高级处理器中应用安全机制,以帮助确保必要的隔离,从而减轻对物联网设备运行时环境的攻击。第五部分介绍了如何通过采用更高级别的安全措施,将物联网设备接入物联网云资源,使这些设备实现持续的物联网安全。

虽然基于硬件的加密设备可以减少物联网(IoT)的漏洞,但即使使用最强大的加密设备,如果密钥和相关数据没有得到足够的保护,安全性也会大大降低。半导体制造商通过处理器内置的特殊安全IC和各种安全机制来解决密钥和其他特权数据的保护问题。

本文将回顾密钥在加密技术中的关键作用,并介绍Maxim Integrated、NXP、STMicroelectronics和Microchip Technology提供的设备中内置的不同密钥保护机制。密钥在加密技术中的作用

如本系列的第1部分所述,可以使用各种硬件支持的加密算法来创建唯一的消息散列或签名,甚至可以使用更广泛的加密方法将明文加密为密文,并将密文解密为明文。虽然这些算法可以增强应用程序的安全性,但这些应用程序能否得到根本保护取决于加密算法中使用的私钥和其他机密数据的安全性。

在加密技术中,密钥泄漏意味着基于这些密钥的安全策略、协议和机制的安全性将受到损害。早在19世纪,密码学家奥古斯特柯克霍夫(Auguste Kirkhoffs)就指出,只要密钥是安全的,加密系统就能保持安全。这个公理现在被称为克霍夫原理。更简单地说,“敌知系统”是以信息论之父克劳德香农命名的。

事实上,正是因为开发人员基于这种众所周知的算法构建安全系统,半导体制造商才能安全地将其用于硬件加速的安全设备中。然而,正是这些算法使用的密钥最终保护了这些系统。保护密钥的挑战

虽然保护加密密钥在概念上非常简单,但实际上可能会带来巨大的挑战。要实现更高级别的安全策略,必然会使用各种不同算法的安全协议。这些协议和算法又需要协议本身创建的静态密钥和临时密钥的某种组合。例如,传输层安全性(TLS)会话在身份验证过程中使用静态密钥,在安全消息交换中使用共享的临时会话密钥。

事实上,国家标准和技术研究所(NIST)已经确定了19种不同类型的密钥和11种需要保护的其他相关信息,例如椭圆曲线域参数和中间结果。NIST进一步建议,为了实现更强的安全性,与密钥使用相关的信息应该被保护一段时间,如表1所示。此表仅显示了完整的NIST建议[1]中列出的前几个键类型。

密钥和相关数据需要得到保护,这意味着开发人员在物联网应用中使用密钥时需要格外小心。对于IOT设备,更大的挑战可能是如何在各种状态(静态、传输和使用中)下保护这些数据。

保护静态数据需要安全的存储机制;保护传输中的数据需要一种方法来保护通过网络或系统总线传输的密钥;保护使用中的数据需要一种机制来防止密钥在用于执行加密算法时被泄露。幸运的是,开发人员可以找到各种安全设备,并使用许多不同的机制来保护机密数据。

如何用加密技术保护半导体中的密钥?具有高级加密技术的半导体解决方案通常提供某种安全的非易失性存储器来存储密钥和其他机密数据,但就整体方法的性质而言,有两种不同类型的安全设备:专用安全IC和具有加密技术的处理器。

安全IC被设计为一个独立的子系统,它可以分担主机处理器的算法执行任务(通常通过串行总线通信)。例如,Maxim Integrated的DS28C36安全验证器提供了I2C端口和两个通用I/O (GPIO),可用于向主机处理器发送验证成功或失败信号(图1)。

图1: Maxim集成DS28C36安全验证器和其他安全设备提供了一个完整的子系统,可以简化集成,增强对内部密钥和操作的保护。(来源:马克西姆综合)软件集成通常很简单。例如,恩智浦的Plug Trust中间件库将其SE050和A71CH安全元件设备的硬件功能抽象为几个函数调用(图2)。

图2:恩智浦的Plug Trust中间件等软件库允许开发人员使用一些直观的函数调用来创建密钥(左)和访问密钥(右),并充分利用恩智浦SE050和A71CH安全设备中的底层功能。(来源:恩智浦)

创建新密钥(同样参见图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)。

图3:Maxim Integrated 的DS28C36 等安全器件的集成功能意味着,私钥和相关的数据均封闭在芯片内。(图片来源:Maxim Integrated)

基于处理器的密钥保护

并非每个物联网设计都能容纳专用的安全IC。某些要求可能决定了必须使用其他加密方法,或存在与封装、物料清单(BOM)、成本或客户规格有关的设计限制。针对这类设计,启用安全性的处理器,如STMicroelectronics 的STM32WB55 和Microchip Technology 的ATSAML11,提供了加密算法硬件加速引擎和机密数据保护机制的组合。

虽然本文重点介绍密钥保护,但这些处理器及其他处理器还提供了其他多种精巧的安全功能,我们将在本系列的第3 部分介绍这些功能。

在STMicroelectronics 的双核STM32WB55 无线设备中,Arm Cortex-M4 CPU (CPU1) 用作主机处理器,通过一个专用的处理器间通信控制器(IPCC) 和信号量机制(HSEM),与无线电子系统的专用Arm Cortex-M0+ 微控制器(CPU2) 通信。在CPU2 子系统内,安全存储器为高级加密标准(AES) 硬件加速器所用的密钥提供了客户密钥存储(CKS) 区域(图4)。

图4:STMicroelectronics 的STM32WB55 双核处理器仅允许无线电子系统内核(CPU2) 直接访问密钥,但允许在主机内核(CPU1) 上运行的可信应用程序间接使用密钥。(图片来源:STMicroelectronics)

STM32WB55 架构可保护CKS 密钥不被调试端口或主机CPU1 处理器运行的非安全例程访问。与此同时,在主机CPU1 上运行的可信应用程序则可通过使用密钥索引引用密钥的方式,使用AES 加密技术中的特定CKS 密钥。AES 硬件模块通过内部总线从CKS 区域接收所需的密钥,从而确保密钥传输在CPU2 子系统内保持受保护的状态。

在基于Arm Cortex-M23 的ATSAML11 处理器中,Microchip Technology 依赖于Arm TrustZone 技术内置的安全功能。TrustZone 使用基于硬件的机制来强制隔离可信和不可信资源。

在ATSAML11 处理器中,Microchip 使用TrustZone 实现定义归属单元(IDAU) 实施安全策略,包括按安全和非安全应用程序代码对存储器子区域进行差异化的访问控制。256 字节安全随机存取存储器(RAM) 区域称为TrustRAM,提供了用于临时密钥的额外安全存储。

安全的配置

专用的安全IC 和处理器为开发人员提供了保护物联网设备中的密钥和相关数据所需的机制。但是,由于在最初使用密钥或证书加载或配置安全IC 或处理器的过程中会出现故障,导致经常出现安全漏洞,致使密钥容易被盗。网络罪犯通过黑市迅速出售这类盗取的密钥和受损的证书,从而使黑客能够利用看似有效的凭据渗透安全网络。

本系列文章的第4 部分将讨论制造商针对特定的物联网云服务(包括Amazon Web Services、Microsoft Azure、Google Cloud 等)使用密钥和证书预先配置的安全设备和开发工具包。但在生产部署中,开发人员通常更倾向于或需要使用自己的定制密钥和证书。

为支持定制配置,大多数半导体制造商通过自己的设施或与配置合作伙伴合作提供配置服务。例如,Microchip 为设备配置的定制密钥是使用第三方合作伙伴提供的配置套件(包括Trustonic 和IAR Systems 的Secure Thingz)中包含的安全包装工具创建的(图5)。

图5:原始设备制造商(OEM) 的开发人员可以使用安全包装工具来保护以后将在制造合作伙伴的安全编程工具中使用的密钥,以配置安全的微控制器(如Microchip SAML11)。(图片来源:Microchip Technology)

做好生产准备后,OEM 开发人员使用安全包装工具以加密形式向Microchip 工厂提供密钥和证书,这些密钥和证书只能由合作伙伴安全编程设施内的硬件安全模块进行解密。这种方法可满足在非安全网络上交换生产信息的需求,同时最终产生了具有安全配置的密钥和固件的生产就绪设备。

使用PUF 技术的自配置

在启用安全性的处理器和专用IC 中,物理不可克隆功能(PUF) 技术的使用越来越多,这或许提供了一种甚至更安全的配置方法。利用PUF 技术,安全设备可以使用根据每个设备的唯一特征派生的密钥,而不是将密钥显式加载到设备中。

PUF 技术依赖于制造差异和其他物理过程,致使该值对设备本身而言是唯一的,并且在正常系统操作下可以重复。如下所述,该结果值可用作唯一的加密私钥,从根本上为每个启用PUF 的设备提供了内置的密钥。

除了实现自配置外,PUF 技术还增加了另一层安全性。若试图渗透设备以公开设备唯一值,则会改变用于生成该设备唯一值的特征,从而改变生成的值。

尽管存在不同的PUF 机制,但启用PUF 技术的设备的基本方法大体相同。例如,Maxim Integrated 在其MAX32520 安全微控制器以及一些安全IC 中使用的ChipDNA PUF 功能,需依赖于一系列模拟PUF 元件和控制逻辑来生成密钥(图6)。

图6:在Maxim Integrated 的ChipDNA PUF 技术中,片上控制逻辑使用一系列PUF 元件的随机状态来生成一致的设备专属密钥。(图片来源:Maxim Integrated)

在Maxim Integrated 的DS28C39 ECDSA 安全验证器中,ChipDNA PUF 输出将用作ECDSA 操作的私钥,以及保护相关数据的私钥(图7)。

图7:Maxim Integrated 的DS28C39 ECDSA 安全验证器使用由其片上ChipDNA PUF 电路生成的私钥。(图片来源:Maxim Integrated)

在启用PUF 技术的LPC55S 处理器系列中,NXP 基于根据SRAM 阵列的初始随机状态生成的输出使用PUF 技术(图8)。

图8:在PUF 实现中,NXP 的LPC55S 处理器系列使用SRAM 中的启动数据生成数字指纹和相关的激活码,随后可将其用于恢复数字指纹、进行加密或生成私钥。(图片来源:NXP)

在这些设备中,PUF 的使用从注册操作开始,该操作生成唯一的数字指纹和相关的激活码,在执行新的注册操作之前这些指纹和激活码会一直有效。激活码存储在设备的受保护闪存中,设备利用该激活码,通过在上电时以一致方式生成的SRAM 启动数据来重建数字指纹。

有了数字指纹,开发人员便可以对自己的密钥进行加密,或生成密钥。在此过程中,设备将返回一个密钥码。通过提供激活码、密钥码和索引,开发人员可以使设备从适当的片上密钥插槽解密所需的私钥,并将其交付给密码软件库。密钥插槽0 提供一种特殊的密钥解密方法,通过内部总线将密钥直接交付给处理器的AES 硬件加密引擎(图9)。

LPC55S 的PUF 数字签名在密钥加密和解密中起着密钥加密密钥(KEK) 的作用,该密钥传统上用于增强对静态或传输中的机密数据的保护。使用KEK 有助于缓解保护机密数据所需的对更大安全存储及相关内部机制的需求。

图9:NXP 的LPC55S 处理器系列使用其数字指纹作为KEK,对其密钥存储区中保护的并以编程方式通过相关的激活码、密钥码和索引引用的密钥进行解密。(图片来源:NXP)

开发人员可以使用KEK 对定制密钥和相关数据进行加密,并将加密结果存储在非安全的非易失性存储器中。这种方法使开发人员即使在安全存储空间有限的设备中也能保护各种类型的密钥和相关数据。有了PUF 生成的KEK,开发人员便可以实现能够在整个开发周期中保护应用的安全物联网设备。

总结

带有加密加速器的专用安全IC 和安全处理器的出现,极大地增强了开发人员构建安全系统的能力。但是,安全系统严重依赖于私钥及其他与加密机制和协议相关的数据的安全性。安全设备通过采用多种不同的机制,可以为静态、传输中和使用中的机密数据提供保护。利用这些设备,开发人员可以构建更安全的物联网解决方案,而不会影响其他设计要求。

以上知识分享希望能够帮助到大家!

版权声明:本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们

推荐阅读