如何利用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
电子工程专辑
原创文章,如需转载,请留言
↓↓ 点击阅读原文,观看直播 ↓↓
阅读原文
阅读
在看
已同步到看一看
写下你的想法
前往“发现”-“看一看”浏览“朋友在看”
前往看一看
看一看入口已关闭
在“设置”-“通用”-“发现页管理”打开“看一看”入口
我知道了
已发送
取消
发送到看一看
发送
如何利用PUF技术保护物联网设备?
最多200字,当前共
字
发送中