mcu使用PUF技术来填补私钥安全漏洞
越来越多的集成电路供应商开始探索一种设备级的技术方法来保护数据,称为物理不可克隆功能(PUF)。虽然硅的生产过程是精确的,但这项技术利用了这样一个事实,即每个生产的电路仍然存在微小的变化。PUF使用这些微小的差异来生成一个独特的数字值,可以用作密钥,密钥对数字安全至关重要。
安全性正日益成为联网设备或物联网(IoT)设备开发人员最关心的问题之一,尤其是他们面临着来自黑客攻击、信息泄露和安全漏洞的巨大风险。
在物联网设备中增加安全性的挑战之一是如何在不增加硅或成本的情况下做到这一点,因为在设备上保持最低功耗和优化处理资源方面存在资源限制。
通过有效地实现PUF,可以克服传统密钥存储的局限性:PUF电路没有电池或其他永久性电源。尝试物理探测密钥将彻底改变PUF电路的特性,从而产生不同的数字。PUF密钥只能在加密操作需要时生成,并且可以在以后立即擦除。
PUF技术在物料清单(BOM)方面具有防篡改SRAM的强大安全性。虽然单靠PUF技术还不足以确保密钥安全,但它无疑将嵌入式设备的漏洞降至最低。
最近,我们看到Maxim Integrated和Silicon Labs针对使用PUF技术的安全设备发布了产品公告。Silicon Labs在其wireless Gecko Series 2平台中将安全软件功能与PUF硬件技术相结合,为物联网设备的无线片上系统(SOC)增加了新的基于硬件的安全性。Maxim Integrated推出了MAX32520芯片dna安全臂Cortex-M4微控制器,该微控制器同样采用了PUF来实现多个级别的保护;其芯片dna生成的密钥可直接用于多种功能,如对称秘密,对存储在安全IC非易失性存储器中的数据进行加密/解密。
Maxim的一位发言人说,“MAX32520可以用于任何应用——尽管我们在embedded world的公告中特别指出了物联网应用,但IC并不局限于物联网应用。”该设备涉及多个应用,包括工业、医疗、计算和物联网。
Maxim的ChipDNA微控制器简化框图
MAX32520可以实现安全引导任何处理器基于其串行闪存仿真功能,并提供两个额外的物理层:芯片屏蔽和物理篡改检测。芯片提供内部闪存加密选项,用于数据保护。加密的强大功能增加了设备的信任度-它支持强大的SHA512,ECDSA P521和rsa4096。MAX32520利用芯片DNA输出作为关键内容,以加密方式保护所有设备存储的数据,包括用户固件。用户固件加密提供最终的软件IP保护。
ChipDNA还可以为ECDSA签名操作生成私钥。MAX32520提供符合FIPS/NIST标准的TRNG、环境和篡改检测电路,以促进系统级安全。任何试图探测或观察芯片DNA的尝试都会改变底层电路的特性,阻止发现芯片密码功能所使用的唯一值。同样地,由于芯片DNA电路需要进行工厂调节,更详尽的逆向工程尝试也被取消。
与此同时,Silicon Labs物联网安全高级产品经理Mike Dow向《电子时报》解释了他们是如何将PUF技术用于物联网设备的无线SOC中的。“对于Silicon Labs的安全保险库和安全元件技术中嵌入的物理不可克隆功能(PUF),我们使用了SRAM PUF,这意味着它利用了SRAM位块的固有随机性,当它们通电时,可以得到一个设备特有的单对称密钥。我们实施了SRAM PUF技术,该技术在市场上具有最长的可靠性记录。由于我们客户在现场部署的设备通常可运行10多年,因此我们需要具有长期可靠性的PUF技术。”
他说,在Silicon Labs的实现中,它限制了PUF创建密钥加密密钥(KEK)的使用,KEK用于在系统中包装(加密)其他密钥,并将其存储在内部或外部内存中。“因为这个KEK只用于访问包装好的密钥,所以它的使用时间是有限的,这反过来又限制了它暴露于多种类型的攻击。此外,重建KEK的过程仅在上电复位(POR)事件时发生,这进一步限制了对生成密钥过程的访问。”
在硅实验室设计中,除了密钥加密密钥之外,其他密钥生成都由符合NIST标准的真随机发生器(TRNG)执行。
“在本设计中,除了KEK之外的其他密钥生成都由NIST兼容的真随机发生器(TRNG)执行,然后用AES加密包好密钥。TRNG和AES技术在安全行业中都是常见的、被充分理解、测试和验证的。我们还使用256位密钥来增强AES加密的强度。然后在AES算法上应用差分功率分析(DPA)侧信道保护,进一步增强了它对攻击的抵抗能力。设备的所有关键材料都以这种方式包装,包括生成并存储在一次可编程(OTP)存储器中的ECC专用/公共标识密钥对。
在实现复杂的云安全方案时,能够将密钥安全存储在几乎无限的内部或外部内存中是一个主要优势,这些方案需要多对非对称密钥。另一种方法是将密钥存储在纯文本中,但这种方法需要非常安全的内存,这些内存既复杂又昂贵,因此需要保护。道氏评论说,“在设计芯片时,你必须选择一个最佳大小的安全内存。然而,无论你选择什么尺寸,它几乎可以保证在产品的使用寿命内是不够的。”
PUF创建一个秘密、随机和唯一的密钥;PUF密钥加密安全密钥存储中的所有密钥,这些密钥是在启动时生成的,而不是存储在闪存中。
他说,其安全保险库密钥管理方案的另一个优点是,通过使用AES加密,您还可以需要一个初始向量来为算法提供数据。“这个初始向量就像有一个额外的128位密码来执行任何使用该密钥的安全操作。然后,该密码可由人类或运行在我们芯片上的其他应用程序使用,以提供双重身份验证以使用密钥。”
“作为一个附加的保护层,我们在我们的安全保险库技术中包含了一个复杂的篡改保护方案,如果检测到篡改,可以销毁PUF重建数据。一旦重建数据被破坏,存储的密钥材料就再也不能被访问了。这有效地“阻止”了设备,因为现在无法执行加密算法,甚至阻止了安全启动。”
Silicon Labs选择了市场上最可靠的PUF技术,并将其功能局限于仅提供一个KEK来压缩或解压关键材料。通过要求另一个双因素身份验证密码,可以进一步保护该密钥。 “此外,我们提供多个篡改保护源,可以销毁PUF密钥,使其无法解密受其保护的所有其他密钥。即使黑客投入相当多的时间和资源来重新设计设备并恢复KEK,他们也只破坏了一个设备。”