图片22
在从SRAMPUF中获取这个根键时,下一步是如何创建信任根?接下来,我们使用SRAMPUF密钥创建了一个密钥库来保护设备上的所有秘密数据。这个保管库保护的密钥对于较高级别的设备服务和应用程序来说是必需的。所以,密钥库支持安全应用,比如认证、消息加密、软件/固件加密等,加强物联网安全。
通过SRAMPUF,可以用下列属性创建密钥库:
在普通文本中,特别是最上面的键或“根”键,永远不会存储任何密钥。
各种应用可以存储和使用他们自己的独特密钥。
可以将密钥库输出直接发送给硬件加密引擎。
一个基于SRAMPUF的密钥库实现下列功能:
登记:登记操作通常在设备的生命周期内执行一次。用于创建PUF根键,以在设备生命周期内重复使用。PUF根密钥从不离开设备,并且永不被保存。用来派生第二层键,可以输出,也可以用来封装/拆开敏感数据。另外,为了纠正错误,创建了助手数据。这些数据是不敏感的,它不提供任何有关PUF根密钥的信息,因此可以存储在设备可访问的NVM中。只有当后续读取PUF时,辅助数据才能可靠地重建来自SRAMPUF的同一根键。
启动:通过使用注册期间生成的辅助数据,并结合一个新的SRAMPUF根键重建内部PUF根键。这个设备上生成的帮助者数据对于这个设备是唯一的。当开始操作时,使用从其他设备复制的帮助者数据和相应的错误指示将导致操作失败。
利用帮助信息恢复根键。
封装:封装操作把外部提供的键转换成密钥编码(KC),它是对原始密钥的加密和认证版本。有了这一保护,KC就可以不被保护地储存在平原上。KC只允许对已封装好的原始密钥的设备进行访问。
生成用于安全存储密钥的密钥代码。
解除包装:取消包装操作与包装操作相反,因此,在确认KC的真实性后,将KC转换为包装原密钥。
用密钥码获取存储的密钥。
停顿:只要您不需要进行更多的密钥库操作,就可以发出停止操作。他将从内部寄存器中清除所有敏感数据,包括根键,可以用来减少攻击面,然后进入睡眠模式。
在完成之后,删除根键。
导出来自PUF的多个键。
一个安全系统的实现常常需要多个单一键。原因在于:
在某一应用程序上使用某一密钥的问题不会影响同一系统中其他应用程序所使用的机密信息的安全性,它要求不同的应用程序使用不同的密钥。
在系统中,不同的加密算法要求密钥具有不同的长度或者不同的结构。
各种应用程序需要机密信息,在不同的生命周期内存在,例如,一个系统的应用程序需要多个短期密钥,而另一个则需要一个长期密钥。
密钥会和身份相关,被用来进行认证,只有当系统的不同用户能够访问不同的密钥时才有意义。
出于上述和其他原因,安全性设计被接受的最佳实践就是只为一个单独的用途使用一个密钥,或者一个单独的应用程序。然而,在很多实际应用中,安全系统的实现只能通过SRAMPUF访问一个根秘密,在本例中。为满足单密钥一次性使用的需要,应使用一个密钥管理组件,可以从这个根秘密地生成多个应用密钥。
多种生成的应用程序密匙的主要特征是,它们在密码上是独立的,也就是说,应该以这种方式生成它们:特定派生密钥的公开不会影响任何其它派生密钥的安全强度。这就是说,不可能使用简单的生成方法(例如,应用一个简单的算术操作或者保密的重叠部分)。相反,应该使用加密的安全密钥推导函数(KDF),它使用加密原语(如AES或SHA-256)确保它们的输出之间的加密隔离。这样,利用全功能的KDF将确保能够从单个SRAMPUF实例中获得几乎无限多的键。
SRAMPUF的软件实现。
SRAMPUF的最大优点之一就是,它几乎是任何芯片(SRAM存储器)都可以使用的物理结构。因为这个PUF类型使用标准的“现成”SRAM,所以它是唯一的熵来源选项,用来保护IoT产品,而不必在硅片制造期间装载。以后可将其安装到供应链中,甚至可以对部署好的设备进行远程修改。这样就实现了前所未有的远程“棕地”安装硬件信任,同时也为物联网扩展到数十亿个设备铺平了道路。
之前介绍的创建密钥库并派生多个键的功能可以作为硬件IP或软件IP来实现。PUF仅需要开发PUF的硬件,这是唯一真正具有惟一的物理结构。这样,SRAMPUF就可以在任何PUF算法访问SRAM的设备上实现SRAMPUF工作。这个特点使得SRAMPUF在市场上的各种PUF频谱中是独一无二的。就作者所知,SRAMPUF是目前唯一能够通过简单地把软件载入设备来在硬件上实现的PUF类型。
SRAM可以通过PUF算法访问(非初始化)SRAM,实现SRAMPUF工作。
毋庸置疑,任何物联网安全解决方案都会以某种方式证明主体身份(不管是要颁发身份证件的人,还是要在物联网中部署芯片)。文章中,我们将SRAMPUF技术作为可靠的、可扩展的和易用的可信基础来介绍。不管是作为专用硬件IP块实现,还是作为加载到设备上的软件,它都能通过硅片上微小、设备独特的改变来创建可信的加密根密钥。有了SRAMPUF,您可以确保供应链中的任何人都不知道根密钥,并且在设备落入不信任之手时,无法改变或克隆设备的根密钥。利用这个秘密上的安全特性,就可以建立可信的保管库,用于敏感数据和密匙,并能导出和保护设备所需的所有其它密钥。因此,SRAMPUF是一种非常好的方法,以确保您的物联网安全。