如何利用PUF技术保护物联网设备?

EET电子工程专辑 电子工程专辑 前天
越来越多的IC厂商开始探索一种芯片级的安全技术来保护数据,这种技术被称为物理不可克隆功能(Physically Unclonable Function,简称PUF)。虽然芯片的生产流程是很精密的,但芯片上每个电路还是有细微的差异,这种技术就是利用这一差异。PUF利用这些微小的差异来生成一个独特的数值作为密钥,而密钥对数字安全至关重要。

安全问题正日益成为互联设备(或物联网IoT) 开发人员的一大担忧,尤其是当他们不得不面对巨大安全风险的情况下,这些安全风险来自黑客攻击、信息泄露和安全漏洞。

考虑到IoT设备需要保持低功耗和优化处理能力,要提高其安全性而又不增加芯片尺寸或成本,这是IoT设备面临的挑战之一。

有效的PUF技术就可能克服传统密钥存储的局限性: PUF电路没有电池或其它永久性电源。任何对这个密钥进行物理探测的尝试都将会极大地改变PUF电路的特性,从而产生一个不同的数字。PUF密钥只在需要加密操作时生成,并且可以立即擦除。

从料单(BOM)成本的角度看,PUF技术在防篡改SRAM安全性方面具有很大优势。虽然单靠PUF技术本身不足以保证密钥安全,但它无疑可将嵌入式设备安全风险降到最低。

最近,我们看到美信(Maxim Integrated)和Silicon Labs发布了利用PUF技术保证安全的芯片产品。Silicon Labs在其Wireless Gecko Series 2平台上,为面向IoT设备的无线SoC添加了基于硬件的安全功能,就是将安全软件功能与PUF硬件技术结合起来。Maxim发布的ChipDNA MAX32520是基于Arm Cortex-M4的微控制器,采用PUF技术来提供多级保护。ChipDNA可以生成安全密钥,直接用于多种加密安全功能,比如一种对称密匙可对存储于安全IC非易失性存储器中的数据进行加密/解密。

Maxim的一位发言人告诉《EE Times》,“MAX32520适用于于多种应用,尽管我们在嵌入式世界展会上的新闻发布公告中特别指出了IoT应用,但该芯片并不局限于IoT”。该器件可用于其它领域,包括工业、医疗、计算等。

图1:Maxim ChipDNA微控制器简化框图(图片来源:Maxim)

基于串行闪存仿真功能,MAX32520可以为任何处理器实现安全启动,并提供两个额外的物理层:裸片屏蔽和物理篡改检测。该芯片还提供了内部闪存加密选项,可用于IP保护和闪存数据保护。它支持SHA512、ECDSA P521和RSA 4096等强大的加密算法,其强大的加密功能可提高设备的可信度。MAX32520利用ChipDNA输出作为密钥内容,以加密的方式保护来设备存储的数据,包括用户固件。用户固件的加密可实现终极的软件IP保护。

ChipDNA还可以为ECDSA签名操作生成私钥。为支持系统级安全,MAX32520提供了符合FIPS/NIST规范的TRNG、环境和篡改检测电路。任何探测或观察ChipDNA的尝试都会改变底层电路的特性,从而避免了芯片加密功能所用的唯一值被发现。同样,由于使ChipDNA电路正常运行所需的工厂条件限制,即便高超的逆向工程尝试也无法成功。

与此同时,Silicon Labs 物联网安全高级产品经理Mike Dow向EE Times解释了他们如何在IoT设备的无线SoCs中使用PUF技术。“为了将PUF嵌入Silicon Labs的安全库和安全元件技术中,我们使用了SRAM PUF,意指利用一组SRAM位的固有随机性,当它们被激活时可以获得一个该设备独有的对称密钥。我们所采用的SRAM PUF技术在市场上具有最长的可靠性记录。由于我们的客户所部署的设备通常运行时间超过10年,因此我们需要具有长期可靠性的PUF技术。”

他解释道,在Silicon Labs的实施方案中,PUF的使用仅限于创建密钥加密密钥(KEK),KEK用于封装(加密)系统中的其它密钥,并将它们存储在内部或外部存储器中。“因为KEK仅用于访问封装的密钥,所以它的使用时间会受到限制,从而降低了遭受多种攻击的可能性。此外,只有在重启或复位(Power on Reset--POR)的时候才需要重构KEK,这进一步限制了生成密钥过程的访问。”

Silicon Labs设计中,除KEK之外,所有其它密钥都是由符合NIST规范的真随机生成器(TRNG) 生成的。(图片来源:Silicon Labs)

在本设计中,除了KEK之外的每一个密钥都是由遵循NIST规范的真随机生成器(TRNG)产生的,然后用AES加密来封装密钥。TRNG和AES技术在安全行业中都很常见,易于理解、测试验证。我们还使用了256位密钥来增加AES加密的强度。为了进一步增强算法的抗攻击能力,还将差分功率分析(DPA)边信道保护应用于AES算法设备的所有密钥信息都以这种方式封装,包括生成的ECC私有/公共身份密钥对,并存储在一次性可编程(OTP)存储器中。

在实现复杂的云安全方案(需大量多对非对称密钥)时,在几乎没有限制的内部或外部存储器安全地存储密钥信息的能力是一个主要优势。另一种方案是将密钥以纯文本的形式存储,但是这种方法要求在物理上非常安全的内存,这样的内存既复杂又昂贵。Dow提到: “在设计芯片时,你必须选择一个最佳大小的安全内存。然而,无论你选择什么尺寸,在产品的整个生命周期中,它几乎肯定是不够的。”

PUF创建的密钥安全、随机,并且是唯一的。PUF-key对安全密钥存储中的所有密钥进行加密,这些密钥是在启动时生成的,而不是存储在闪存中。(图片来源:Silicon Labs)

他说,其安全库密钥管理方案的另一个优点是,通过使用AES加密,还可以要求用初始向量作为算法输入。“这个初始向量就像一个额外的128位密码,使用PUF-key执行任何安全操作都需要这个密码。有了这个密码,无论人工还是在芯片上运行的应用程序都可以用它实现密钥的双重认证。”

“作为一个额外的保护层,我们在安全库技术中加入了一个复杂的篡改保护方案,如果检测到篡改,可以销毁PUF重建数据”。一旦重建数据被销毁,所存储的关键信息就再也不能被访问。这样做可以有效地冻结设备,因为这种情况下任何加密算法都不会被执行,甚至安全启动也会被阻止。

Silicon Labs选择了市场上公认的最可靠的PUF技术,并将其功能限制在只为一个KEK提供打包或解包关键信息的密钥。这个密钥可以通过双重验证密码来进一步保护。Dow补充说,“此外,我们提供多个篡改保护源,可以摧毁PUF密钥,使其无法解密任何受其保护的其它密钥。即使黑客们投入大量时间和资源对设备进行重新设计并恢复KEK,他们也只能攻克一个设备

作者:Nitin,M. Di Paolo Emilio
责编:Amy Guan
本文为EET电子工程专辑原创文章,如需转载,请留言

↓↓ 点击阅读原文,观看直播 ↓↓