通过安全配置增强安全性

安全密钥是系统安全基础的基石,保护私有密钥和其他秘密是任何连接设备的最重要要求之一。令人遗憾的是,即使你在设计中对安全密钥进行了层层保护,但在生产过程中最终加载密钥和固件时,安全方面的松懈会使最谨慎的准备工作毁于一旦。

针对连接系统和基础设施的攻击有据可查,使人们注意到在创建复杂的操作技术 (OT) 解决方案时可能会造成的潜在安全漏洞。在医疗保健、工业、运输和能源等关键应用中,穿透安全措施不仅会暴露敏感数据,而且还会影响应用本身的安全运行。

随着消费者在其家里和办公室中塞满了物联网 (IoT) 设备,设备安全方面的故障变得愈加个人化。设备设计者不断地将安全实施列为他们最关心的开发问题之一,丝毫不会感到奇怪。

好消息是,我们有解决方案。

安全设备和套件

专门的安全芯片和支持安全的处理器,大大简化了设备安全的实施。也许更好的是,执行基于硬件的加密算法能够防止针对基于软件的安全机制的攻击,这些攻击一直在困扰着更传统的系统。大多数这些芯片和处理器都包含了基于硬件的安全密钥存储,然后以那些受保护的密钥为基础,提供确保端到端安全所需的硬件信任根。然而,向这些硬件设备加载(或“配置”)密钥的过程往往会涉及到人,这就有可能因意外或故意而泄露秘密,为黑客利用仍然非常有效的社交工程进行攻击提供了便利。

许多半导体制造商、分销商都提供使用硬件安全模块 (HSM) 执行这一关键步骤的安全配置服务,该模块采用安全防护型设计,可防止物理或电子入侵。然而,工厂配置不会一直可用或者会由于不能满足内部要求而不适合,而且物联网设备开发商还面临着将可信固件安全地加载到其设备中的挑战。幸运的是,我们有一些替代解决方案。

完全取消密钥配置便是更直接的解决方案之一。像 Maxim Integrated 的 DeepCover 系列中的 DS28E38 这样的设备,是用 Maxim Integrated 的基于物理不可克隆功能 (PUF) 硬件的 ChipDNA 技术制造的。这种具有 PUF 功能的设备可自动生成唯一身份,以创建从外部设备引脚无法访问的私有密钥。

Microchip Technology 的零接触安全配置套件 (AT88CKECC-AWS-B-ND) 这样的开发系统包括了 Microchip 的 ECC508 认证芯片。该芯片经过预配置,用于提供将物联网设备连接到亚马逊网络服务 (AWS) 所需的各种凭证。

但是,在无法使用基于 PUF 的自动生成身份的定制设计中,如何配置私钥和可信的微控制器 (MCU) 固件?

安全配置

在某些情况下,开发人员可以使用 MCU 制造商的开发环境,在所支持的 MCU 上生成和配置这些资产。例如,NXP Semiconductors 的 MCUXpresso 安全配置工具能让开发人员通过图形界面或命令行脚本访问该公司的开源安全配置软件开发工具包 (SDK)(图 1)。

图 1:NXP Semiconductors 的 MCUXpresso 安全配置工具为其开源安全配置 SDK 提供接口。(图片来源:NXP Semiconductors)

STMicroelectronics 提供了一种解决方案,旨在帮助开发者在使用第三方合同制造商时,保护由该公司的 STM32 处理器构建的设计中的代码和数据。在这里,开发人员利用 STM32 Trusted Package Creator 软件工具生成一个加密图像,并在 STMicroelectronics 的 STM32HSM HSM 智能卡中保存一个私密密钥。在收到加密图像和 HSM 智能卡后,合同制造商使用 STM32 Cube 编程器将密钥和固件安全地配置到支持 SFI 的 STM32 设备上,如 x 和 y(图 2)。

图2:开发人员可以使用 STMicroelectronics 的 STM32 Trusted Package Creator 软件和 STM32HSM HSM 智能卡,将安全资产安全地转移给第三方制造商。(图片来源:STMicroelectronics)

对于其他设备的开发,IAR Systems 提供了与 IAR Embedded Workbench 集成在一起的 Secure Desktop Provisioner。与 Secure Thingz 业务部门一起开发的 Secure Desktop Provisioner 是从安全开发到原型开发、生产和后期更新的整个开发流程的一部分,(图 3)。

图 3:在 IAR Systems 的开发流程中,允许设计为原型配置开发密钥和固件,然后安全地将资产转移到生产中,并生产中用生产密钥替换开发密钥。(图片来源: Renesas

开发人员在 IAR Embedded Workbench 环境下工作,使用 Secure Desktop Provisioner 软件工具在原型初步开发阶段提供密钥、固件。当设计完成,可以进行初始制造和批量生产时,固件资产被转移给制造伙伴,开发密钥被替换成使用安全设备提供的安全生产密钥。

总结

为了实现像物联网设备这样的安全连接系统,开发人员不仅需要利用专门的安全芯片和处理器,而且还需要保护底层的秘密密钥和可信固件。幸运的是,我们有多种解决方案可以在生产的关键配置阶段保护这些资产。

关于此作者

Image of Stephen Evanczuk

Stephen Evanczuk 拥有 20 多年的电子行业编辑经验,主题涉猎广泛,涵盖硬件、软件、系统以及包括物联网在内的各种应用。他拥有神经网络领域的神经科学博士学位,曾经从事航空航天领域大规模分布式安全系统和算法加速方法方面的工作。目前,他不是在撰写技术和工程文章,就是在研究深度学习在识别和推荐系统方面的应用。

More posts by Stephen Evanczuk
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum