跳至主要内容

物联网管理员的钥匙圈:每个设备都需要多个钥匙

Pexels George Becker 114741 已编辑 300x169

还记得高中看门人腰带上的那些钥匙环吗? 各种形状和大小的钥匙共同打开了学校的所有大门。 但是,库密钥无法打开科学实验室。 这就是系统的目的,因为被授予图书馆密钥的某人可能没有业务进入实验室。 对于需要进入所有房间的人来说,这意味着要拖着大钥匙圈。

这也适用于物联网设备。 将设备连接到网络需要多种密钥来保护静态数据以及设备的通信。 因此,物联网设备安全系统的实现不仅仅需要一个加密密钥,因为:

  • 系统中的不同密码算法期望密钥长度不同或结构互不兼容。
  • 不同的应用程序需要具有不同生存期的机密信息,例如,系统的一个应用程序需要多个短期密钥,而第二个应用程序则需要单个长期密钥。
  • 密钥通常与身份相关联并用于身份验证目的,只有在系统的不同用户可以访问不同密钥时才有意义。
  • 对一个应用程序使用特定密钥的妥协不应影响同一系统中其他应用程序使用的秘密的安全性,这要求系统中的不同应用程序使用不同的密钥。

例如,考虑具有以下要求的物联网系统:

  • 物联网设备的微控制器具有系统级措施,可通过加密和身份验证来保护其加载的固件。 最多八个不同的固件供应商应该能够使用不同的设备唯一密钥以加密和认证的形式交付其二进制文件。 这些设备唯一密钥是系统级机密,应配置为在安全环境中只能从设备导出一次,以便可以与供应商共享。 加载二进制文件后,微控制器在执行固件之前会使用相同的密钥来解密和验证固件。
  • 该设备应该能够为其用户提供两种不同的应用程序级别安全服务(例如,一个用于建立通往云服务的安全通道的应用程序,以及一个用于保护片外存储中存储的用户数据的应用程序)。 每个软件应用程序都需要安全存储一些特定的设备唯一密钥。

此描述显示了一个简单的IoT设备如何需要多个彼此完全独立的不同密钥的真实示例,因为它们用于不同的目的,甚至由不同的供应商和用户使用。 换句话说,为防止损害系统安全性,一个供应商或一个应用程序的密钥不应泄露有关系统其他密钥的信息。 这就是为什么仅将单个密钥用于单个目的和/或单个应用程序是安全设计中公认的最佳实践的原因。

具有多个密钥的系统需要密钥管理

但是,在许多现实情况下,安全系统的实现只能访问单个根秘密,例如,安全存储的设备密钥,输入的密码或来自物理不可克隆功能(PUF)的设备唯一秘密。 。 为了满足单密钥一次性使用的要求,应该使用具有从该单个根秘密生成多个应用程序密钥的能力的密钥管理组件。

多个生成的应用程序密钥的关键特性是它们在密码上是分开的。 这意味着它们的生成方式应使特定派生密钥的公开不影响任何其他派生密钥的安全强度。 因此,不可能使用简单的生成方法(例如,应用简单的算术运算或使用秘密的重叠部分)。 取而代之的是,应该使用加密安全密钥推导函数(KDF),该函数使用加密原语(例如AES或SHA-256)来确保其输出之间的加密分离。

为了从同一个根秘密中导出分离的密钥,KDF希望在其密钥上下文输入上有所区别。 密钥上下文通常包含有关要导出的密钥的信息(例如,其长度),有关要导出的密钥的目的的元信息(例如,其所有者的名称)以及可选的其他随机数据的组合与密钥的使用相关联(例如,协议随机数)。 对于设计良好的KDF,密钥上下文中的任何差异(即使是单个位)都将导致派生密钥被加密分离。 作为键上下文传递的数据也不会透露有关从其派生的键值的任何有意义的信息。

使用QuiddiKey解决物联网设备的密钥管理®

鉴于所有这些要求,开发具有加密的KDF的密钥管理组件需要强大的安全专业知识。 为了减轻客户的负担,Intrinsic ID将密钥管理和KDF功能作为其标准组件提供 QuiddiKey 硬件IP解决方案。

QuiddiKey使设备制造商和设计人员可以使用内部生成的设备唯一的加密密钥来保护其产品,而无需添加昂贵的安全专用芯片。 它使用SRAM固有的随机启动值作为PUF,从而生成强大的硬件信任根所需的熵。 IP可以轻松地应用于几乎所有芯片-从微型微控制器(MCU)到高性能片上系统(SoC),并且已经在数亿个设备中得到了部署和验证。

Intrinsic ID还发布了一个应用笔记,该笔记解释了如何使用QuiddiKey基于此基于PUF的单一信任根来为不同的应用程序和目的生成多个密钥。 本应用笔记使用本文前面所述的系统示例来说明如何在下一个系统设计中使用QuiddiKey来创建可以安全地生成和存储大量不同加密密钥的IoT设备。 有关如何利用QuiddiKey密钥管理功能的更多信息,请参见本应用笔记。 点击此处.

发表评论

您的电子邮件地址将不会被公开。 必填 *

回到顶部