SRAM PUF的基础知识以及如何为IOT安全部署它

本文介绍了SRAM Puf(物理不可删除功能)是什么以及它如何运作的基础知识以及它在Internet Internet(物联网)安全中提供的功能,作为任何设备的信任锚。

在任何特定情况下,安全都以信任开始。当您在您的房子中有一个警报系统时,您只能向您信任的人提供其PIN码。无论是家庭成员还是友好的邻居,无信任你都不分享你的秘密。这就是它应该是怎样的!

这项信任问题也转化为个人识别。这里的基金会来自正式文件,如护照或出生证明。但是,这些文件需要“安全地联系起来”。这通常与人类生物识别技术合作。 ID文件都有一些将文件联系在合适的人身上,无论是通过指纹都仅仅是通过指纹的人或生物识别,如现代护照。因此,生物识别性是构建了具有权限的系统的安全锚,构建了具有权限的系统(您可以跨越边框?)。

此安全锚是必要的,以防止简单的文档被未经授权的方复制和使用。如果文档锚定到无法复制或克隆的东西,如指纹,则安全性变得足够强大,以将相对简单的文档变为强大的身份验证工具。

内在id sram puf  - 图1
图1.生根信任在不可分类的锚点中

类似的挑战持有物联网(物联网)。如果每个设备都具有保护敏感数据和安全通信,则才有数数十亿个低成本设备的安全连接。此保护由证书和加密密钥提供,类似于前示例中的Passport。但是,这些密钥和证书还需要物理安全锚,以确保它们无法复制到流氓设备,冒充真正的设备。提供此安全锚的技术是物理不可渗透的函数(PUF)。 PUF是生成的物理结构,从中生成设备唯一和不可删除的密码根键。此根键用于保护设备的应用程序密钥和证书。 

虽然有许多不同类型的PUFS,我们将专注于SRAM PUF,因为其可靠性,可扩展性和易用性。 SRAM PUF可以轻松灵活地实现,以缩放在IOT上部署的许多不同技术节点上的方式。它也是今天所知的唯一PUF类型,可以通过将软件加载到芯片上(作为集成专用硬件IP块的替代方案,这也是可能的)。 SRAM Puf是一种基于硬件的安全锚,其由于连接设备数量不断增加而生长。

什么是sram puf?

PUF利用半导体生产期间自然发生的深亚亚微米变化,并为每个晶体管提供略微随机的电性能。 这些独特的属性构成了芯片唯一身份的基础。

SRAM PUF基于任何数字芯片中可用的标准SRAM内存的行为。每次SRAM被供电时,每个SRAM单元都具有其自身的优选状态,从晶体管阈值电压中的随机差异导致。因此,当SRAM存储器供电时,每个内存都会产生0s和1s的唯一和随机模式。这些模式类似于芯片指纹,因为每个图标对特定SRAM具有独特的特定SRAM,因此是特定的芯片。

然而,这种所谓的SRAM PUF响应是一个“嘈杂”指纹,并将其转换为高质量,安全的加密密钥需要进一步处理。通过使用所谓的“模糊提取器”IP,可以每次和在所有环境情况下重建完全相同的加密密钥。

内在id sram puf  - 图2
图2.从芯片的SRAM内的随机性提取SRAM PUF键

与非易失性存储器(NVM)中的传统密钥存储相比,从SRAM属性导出密钥的这种方式具有很大的安全优势。由于密钥未永久存储,因此当设备未激活时不存在(静止键),因此无法通过打开设备并妥协其存储器内容的攻击者找到。

SRAM PUF如何用作信任的根源?

设备,尤其是IOT的一部分的设备,需要密钥保护其数据,IP和操作。如果可以信任这些密钥的原点,并且键将安全地存储在保护防止攻击的硬件中,因此它们形成所谓的 “信任的根源” of the device.

键可以通过设备制造商(也称为OEM)本身或甚至是芯片供应商的阶段。当芯片供应商提供预先配置的芯片时,这会增加他们向OEM销售的产品的价值。如果OEM决定自行提供,他们通常可以购买成本较低的芯片。

无论两方中哪一方承担了提供加密密钥的责任,它绝不是一个琐碎的事项。将秘密密钥注入芯片需要一个值得信赖的工厂,它会增加成本和复杂性对制造过程,并限制灵活性。通过使用内部随机数发生器(RNG)或PUF,可以通过在芯片内部创建键来避免这种复杂性。

将加密root键获取到设备上不是唯一的挑战。安全地存储在设备上的敏感数据也远非微小。秘密密钥无法简单地存储在NVM中,因为NVM容易受硬件攻击。允许对读取NVM内容的对手的硬件攻击变得越来越普遍,使得不受保护的密钥存储不可行。因此,需要替代的安全密钥存储。一种方法是将安全元素添加到设备。但是,添加硬件也具有增加的复杂性和成本。硅PUF,如SRAM PUF,可以安全地存储加密密钥,而无需添加任何额外的硬件。

下表总结了配置和存储加密密钥技术选项的安全级别,供应链开销和成本:

内在ID SRAM PUF  - 图3
图3.与其他关键生成和存储机制相比,物理不可渗透功能

使用sram puf创建一个关键的保险库

当我们从SRAM PUF中拥有此根键时,创建信任根的下一步是什么?下一步是利用SRAM PUF键来创建嵌入式密钥库以保护设备上的所有秘密数据。由此保管库保护的键是设备的更高级别服务和应用程序所必需的。因此,关键库使安全应用程序诸如认证,消息加密,软件/固件加密等等。

使用SRAM PUF,我们可以使用以下属性创建一个密钥库:

  • 在平原中没有钥匙存储 - 特别是最顶层或“根”键
  • 不同的应用程序可以存储和使用自己的独特键
  • key upault输出可以直接发送到硬件加密引擎

基于SRAM PUF的密钥库实现以下功能:

  • 注册:注册操作通常在设备生命周期中执行一次。它建立了可以在设备寿命上再现的PUF根键。 PUF根键从未离开设备并从未存储过。它用于得出可以输出或用于包装/解包敏感数据的第二层键。此外,创建了纠错的辅助数据。此数据不敏感 - 它不提供关于PUF根键的任何信息 - 因此可以存储在设备可访问的NVM中。辅助数据仅用于可靠地重建SRAM PUF的后续读出在固有的嘈杂PUF的读出时与SRAM PUF相同的根键。
内在ID SRAM PUF  - 图4
图4.创建根键及其辅助数据
  • 开始:开始操作使用在注册期间生成的辅助数据重新生成内部PUF根键,与新鲜的“嘈杂”SRAM PUF测量相结合。在设备上生成的辅助数据是该设备的唯一。使用从不同设备复制的辅助数据在执行开始操作时导致具有适当错误指示的故障操作。
内在ID SRAM PUF  - 图5
图5.使用辅助数据恢复根键
  • 包装:Wrap操作将外部提供的键转换为密钥代码(KC),这是原始键的加密和经过身份验证的版本。由于这种保护,KC可以在平原中不受保护。 KC将允许仅在其“包装”的设备上访问原始键。
内在ID SRAM PUF  - 图6
图6.创建密钥代码以安全地存储密钥
  • Unwrap:未包装操作是包装操作的反面,因此在验证其真实性之后,它将KC转换回已包装的原始密钥。
内在ID SRAM PUF  - 图7
图7.使用密钥代码检索存储的密钥
  • 停止:只要需要执行进一步的关键库操作,可以发出停止操作。它清除了所有敏感数据,包括根键,从内部寄存器可以在进入睡眠模式之前使用,以减少攻击表面。
内在ID SRAM PUF  - 图8
图8.完成后,删除根键

从PUF中获取多个键

安全系统的实现通常需要多于单个加密密钥。这是因为:

  • 一个应用程序的特定密钥的妥协不应影响同一系统中的其他应用程序使用的秘密的安全性,这要求系统中的不同应用程序使用不同的密钥。
  • 系统中的不同加密算法预计具有不同长度或不同结构的键,它们彼此不兼容。
  • 不同的应用需要具有不同的寿命的秘密,例如,系统的一个应用需要多个短寿键,而第二个应用需要单个长寿键。
  • 密钥通常与身份相关联,用于身份验证目的,如果系统的不同用户可以访问不同的键,则只有有意义。

出于这些和其他原因,它是安全设计中的完善的最佳实践,仅用于单个目的和/或单个应用程序。然而,在许多实际情况中,安全系统的实现只能访问单个根秘密,就像在这种情况下一样,来自SRAM PUF。为了满足单键一次使用要求,应使用具有从该单个根秘密生成多个应用程序密钥的关键管理组件。

多个生成的应用键的关键属性是它们是加密分离的,即它们应该以这样的方式生成,即特定派生密钥的公开不影响任何其他派生密钥的安全强度。这意味着简单的生成方法(例如,应用简单的算术运算或使用秘密的重叠部分)是不可能的。相反,应该使用加密安全的密钥推导函数(KDF),其使用加密基元(例如,AES或SHA-256)来确保其输出之间的加密分离。因此,利用良好实现的KDF将确保可以从单个SRAM PUF实例导出几乎无限数量的键。

通过软件实现SRAM PUF

尚未解决的SRAM PUF的最大优势之一是它基于实际上在任何芯片中提供的物理结构:SRAM内存。由于此PUF类型使用标准的“现成”SRAM,因此它是保护无需在硅制造时加载的IOT产品的唯一硬件熵源选项。它可以稍后安装在供应链中,甚至可以在部署的设备上远程改装。这使得从未使用的远程“棕色菲尔德”安装了信任的硬件根,并铺平了缩放IOT到数十亿设备的方式。

前面描述的用于创建密钥库和导出多个键的功能可以实现为硬件或软件IP。为了开发PUF所需的唯一硬件是PUF本身的实际独特的物理结构。因此,在PUF算法可用访问(未初始化)SRAM的任何设备上,可以实现工作SRAM PUF。此属性使SRAM PUF在市场上不同PUF的频谱中独特。对于作者的知识,SRAM PUF是目前唯一可以通过简单地将软件加载到设备上以硬件实现的PUF类型的唯一存在类型的PUF类型。

内在ID SRAM PUF  - 图9
图9.在PUF算法可用访问(未初始化)SRAM的任何设备上,可以实现工作SRAM PUF.

结论

没有信任,没有安全。任何安全解决方案都以证明该主题的身份的东西 - 无论是该主题是否是待签发文件的人,或者在IOT中部署的芯片 - 超出了疑问的阴影。在本文中,我们将SRAM PUF技术呈现为任何IOT设备的可靠,可扩展,易于使用的信任根。无论它是否被实现为专用硬件IP块,也可以作为装入设备的软件,它创建来自芯片硅的微小,设备的独特变化的可信加密root键。使用SRAM PUF,保证设备的根键对供应链中的任何人都不知道,如果设备落入不受信任的手中,则无法改变或克隆。通过在此root秘密之上扩展安全功能,可以构建一个可信数据和密钥的可信Vault,并且可以派生设备所需的所有附加密钥。这就是为什么SRAM Pufs是从地面(或硅)保护系统的好方法。


Geert-Jan Schrijen  - 内在ID  -  SQ

Geert-Jan Schrijen,中医&内在ID的联合创始人, 2000年在2000年从特纳特大学获得了他的电气工程学位,就“具有多个扬声器的主动噪声消除”主题。 2001年,他加入了埃因霍温的安全组研究,他在数字权利管理,低功耗认证协议,私人生物识别和物理不可渗透功能(PUFS)上工作。后一项工作导致2008年内在ID的旋转。Geert-Jan专注于使用PUF技术的嵌入式系统的信号处理算法和安全架构。 2011年在2011年担任VP工程的作用,并于2016年任命为CTO。


相关内容:

更嵌入, 订阅嵌入式’S每周电子邮件时事通讯.

发表评论

本网站使用AkisMet减少垃圾邮件。 了解如何处理评论数据.

发布时间: 2021-05-13 13:46:56

最近发表