艾巴生活网

您现在的位置是:主页>科技 >内容

科技

用公钥加密用私钥加密主要是为了保证信息的_私钥、密钥管理和安全存储在物联网设计中的作用

2024-05-20 08:34:59科技帅气的蚂蚁
物联网设备已经被广泛使用,但是这些设备的安全性继续引起人们的关注;在某种程度上,如果联网设备要用于工业物联网(IIoT)和任务关键型应用

用公钥加密用私钥加密主要是为了保证信息的_私钥、密钥管理和安全存储在物联网设计中的作用

物联网设备已经被广泛使用,但是这些设备的安全性继续引起人们的关注;在某种程度上,如果联网设备要用于工业物联网(IIoT)和任务关键型应用,相关的安全挑战可能会成为障碍。这是因为如果攻击成功,可能会导致企业和个人数据泄露。保护物联网应用的安全可能是一项非常艰巨的任务,因为开发人员必须仔细协调各种安全机制、协议和策略,它们的组合看起来非常复杂。实际上,IOT设备的安全性可以基于一些相对简单的原理,并由硬件安全设备来支持。只要遵循完美的安全实践,这些问题是可以解决的。这一系列文章由几个部分组成,它们将提供一些实用的指导,帮助开发人员确保从一开始就遵循相关的最佳实践。第一部分讨论底层安全设计的加密算法。第二部分(本文)讨论了私钥、密钥管理和安全存储在安全物联网设计中的作用。第3部分研究了安全处理器的内置机制,以减轻IOT设备面临的其他类型的威胁。第四部分阐明并展示了如何在高级处理器中应用安全机制,以帮助确保必要的隔离,从而减轻对物联网设备运行时环境的攻击。第五部分介绍了如何通过采用更高级别的安全措施,将物联网设备接入物联网云资源,使这些设备实现持续的物联网安全。

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

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

密钥在加密技术中的作用

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

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

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

保护密钥的挑战

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

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

表1:该内容选自完整的NIST建议,并列出了在指定期间应该保护的几种不同类型的密钥和相关信息。(表格来源:Digi-Key电子,原始数据来自NIST)

密钥和相关数据需要得到保护,这意味着开发人员在物联网应用中使用密钥时需要格外小心。对于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,右侧)引用密钥,而不是通过系统总线公开实际的密钥值。使用恩智浦的Plug Trust中间件,开发者可以使用兼容Arduino的恩智浦Kinetis Freedom K64F评估板配合恩智浦OM-SE050ARD扩展板开发SE050,或者配合恩智浦OM3710/A71CHARD板开发AC71CH,快速实现安全应用。

专用安全IC如ds28c 36、恩智浦的SE050,恩智浦的AC71CHTK2/TOBC2VJ等这一类的器件有很多明显的优势。除了提供一种相对简单的方式将安全功能添加到设计中,将功能集成到专用安全IC中还可以限制机密数据和操作的泄露。比如Maxim集成的DS28C36集成了硬件加密加速器、真随机数发生器、8千字节(Kb)安全EEPROM等功能模块。在验证椭圆曲线数字签名算法(ECDSA)固件的签名时,DS28C36可以确保保护静态、传输和使用中的数据,因为私钥、相关数据(见图1)和使用这些密钥的操作都封装在设备中(图3)。

图3:3:Maxim集成DS28C36等安全器件的集成功能是指私钥和相关数据都封装在芯片中。(来源:美心综合)

基于处理器的密钥保护

不是每个物联网设计都可以容纳专用的安全IC。一些要求可能规定必须使用其他加密方法,或者存在与包装、物料清单(BOM)、成本或客户规格相关的设计约束。对于这种设计,安全使能处理器,如意法半导体的STM32WB55和微芯科技的ATSAML11,提供了加密算法硬件加速引擎和机密数据保护机制的组合。虽然本文关注的是密钥保护,但是这些处理器和其他处理器还提供了许多其他复杂的安全功能,我们将在本系列的第3部分中介绍这些功能。

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

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

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

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

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

安全配置

专用安全IC和处理器为开发人员提供了一种机制来保护IOT设备中的密钥和相关数据。然而,由于密钥或证书在加载或配置安全IC或处理器的初始过程中失败,往往会出现安全漏洞,使得密钥容易被窃取。网络犯罪分子通过黑市快速出售这些偷来的密钥和损坏的证书,从而使黑客能够利用看似有效的凭据渗透到安全网络中。

本系列文章的第四部分将讨论制造商为特定物联网云服务(包括亚马逊Web服务、微软Azure、谷歌云等)预先配置的带有密钥和证书的安全设备和开发套件。).但是在生产部署中,开发人员通常更喜欢或需要使用他们自己定制的密钥和证书。

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

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

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

使用PUF技术进行自我配置

物理可克隆功能(PUF)技术越来越多地用于安全处理器和专用集成电路中,它可以提供更安全的配置方法。使用PUF技术,安全设备可以使用从每个设备的独特特征导出的密钥,而不是明确地将密钥加载到设备中。

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

除了自我配置,PUF技术增加了另一层安全。如果试图渗透设备以公开设备的唯一值,则用于生成设备的唯一值的特征将被改变,从而改变所生成的值。

尽管有不同的PUF机制,但支持PUF的设备的基本方法基本上是相同的。例如,Maxim在其MAX32520安全微控制器和一些安全IC中使用的ChipDNA PUF功能依赖于一系列模拟PUF元件和控制逻辑来生成密钥(图6)。

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

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

图7:7:Maxim Integrated的DS28C39 ECDSA安全验证器使用由其片内芯片DNA PUF电路生成的私钥。(来源:美心综合)

在启用了PUF技术的LPC55S处理器系列中,恩智浦根据SRAM阵列的初始随机状态产生的输出使用PUF技术(图8)。

图8:在PUF实施中,恩智浦LPC55S处理器系列使用SRAM中的启动数据来生成数字指纹和相关激活码,然后可用于恢复数字指纹、加密或生成私钥。(来源:恩智浦)

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

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

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

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

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

摘要

专用安全芯片和带加密加速器的安全处理器的出现,大大增强了开发者构建安全系统的能力。然而,安全系统在很大程度上依赖于私钥以及与加密机制和协议相关的其他数据的安全性。安全设备可以通过采用许多不同的机制来保护静态、传输和使用中的机密数据。借助这些设备,开发人员可以构建更安全的物联网解决方案,而不会影响其他设计要求。