图片3
SRAMPUF是什么?
PUF利用了半导体制造过程中自然出现的深亚微米变化,使每一个晶体管都略有随机性。这两种特性是芯片特有身份的基础。
SRAMPUF是根据标准SRAM存储器在任何一块数字芯片上的表现。当SRAM每次通电时,由于晶体管阈值电压的随机差异,每一个SRAM单元都有自己的首选状态。所以,当给SRAM内存提供电源时,每一个内存都会产生一个唯一的,随机的0和1模式。这两种模式类似于一个晶片指纹,因为每一个指纹对一个SRAM来说都是惟一的,所以它对特定的芯片是惟一的。
然而,这个所谓的SRAMPUF响应是“嘈杂”的指纹,要想转换成一个高质量、安全的加密密钥,还需要进一步的处理。利用一个所谓的“模糊提取器”IP,一次可以在任何环境条件下重建一个完全相同的密钥。
SRAMPUF密钥是从芯片SRAM内部随机提取的。
这种从SRAM属性派生密钥的方法,相对于传统的非易失性存储器(NVM)中的密钥存储而言,有很大的安全性优势。因为密匙不会永久存储,当设备处于非活动状态时(不会有静态密钥),所以一个打开设备并破坏内存内容的攻击者就无法找到它。
怎样使用SRAMPUF作为信任的基础?
装置,尤其是物联网中的设备,需要密钥来保护自己的数据、IP和操作。假如这些密钥的来源是可信的,并且密钥被安全地保存在硬件中,那么它们就形成了设备的“信任性根”。
这些钥匙可由设备制造商(又称OEM)本身提供,也可由芯片厂商在早期阶段提供。随着芯片厂商提供预配置芯片,他们向OEM销售的产品就会增值。假如OEM自己决定配置,他们通常会购买更便宜的芯片。
无论哪一方负责提供加密密钥,这一任务并非一件简单的事情。把钥匙注入芯片需要一个可靠的工厂,这增加了生产过程的成本和复杂度,同时也限制了灵活性。利用内部随机数发生器(RNG)或PUF来创建芯片内的密钥,可以避免这一复杂性。
在设备上放置加密的根密钥并非唯一的挑战。同时,要安全地储存设备上的敏感数据并不容易。由于NVM易受硬件攻击,因此密钥不能直接存储在NVM中。让攻击者阅读NVM内容的硬件攻击越来越普遍,使得不受保护的密钥存储变得不可行。所以,需要替换安全密钥存储。一个方法是在设备上增加安全元素。然而,增加硬件也会增加复杂性和成本。像SRAMPUF这样的PUF能够安全地存储加密密钥,而不需要增加任何其他硬件。