当前位置:首页 > 厂商动态 > 厂商文章
[导读]在19世纪,荷兰的密码学家奥古斯特·克尔克霍夫(Auguste Kerckhoff)发表了克尔克霍夫原理,指出:「即使系统中除密钥之外的一切都是公共知识,密码系统也必须是安全的。」芯片安全中最关键的元素是根密钥(Root Key)或硬件唯一密钥(Hardware Unique Key; HUK)。根密钥不仅是保护每个芯片的基础,也是整个系统和相关服务的信任链起点。因此,必须从设计之初就充分考虑密钥的生成、存储和使用的方式。

以PUF-based硬件安全信任根构建芯片内完整安全边界

从根源解决芯片安全弱点

前言

在19世纪,荷兰的密码学家奥古斯特·克尔克霍夫(Auguste Kerckhoff)发表了克尔克霍夫原理,指出:「即使系统中除密钥之外的一切都是公共知识,密码系统也必须是安全的。」芯片安全中最关键的元素是根密钥(Root Key)或硬件唯一密钥(Hardware Unique Key; HUK)。根密钥不仅是保护每个芯片的基础,也是整个系统和相关服务的信任链起点。因此,必须从设计之初就充分考虑密钥的生成、存储和使用的方式。

随着物理不可复制功能(PUF)的发明,我们现在可以在硬件级别创建一个独特的、天生的、不可复制的密钥。而后续该思考的问题是“我们如何保护这把钥匙?”若是没有做好保护密钥的安全机制,就好比将你的密钥随意扔在抽屉里一样,破坏了安全边界形成安全漏洞。一个系统的安全级别取决于该系统安全中最弱的环节,在大多数情况下,系统的安全弱点往往是存储在不甚安全的 eFuse 中的密钥。无论密钥本身的复杂程度如何,不安全的存储都会立即危及整个系统的安全性。

此外,我们知道软件可以在产品出厂后持续更新,但硬件更新相对困难且成本极高。因此,在一开始所选择的硬件安全部署质量是至关重要的。PUFrt 是结合 PUF 和 anti-fuse OTP 的硬件信任根IP,在完整防篡改设计的保护下,提供不可复制的密钥和安全的 OTP 存储,从制造阶段起即提供硬件安全防护。

以eFuse做密钥存储的风险

eFuse(熔丝)和 anti-fuse OTP(反熔丝内存)是现代芯片设计中最常见的密钥存储选项。eFuse 的原理是透过熔断金属或聚合物的方式将密钥编程到OTP 内存中,这会留下可见的痕迹。而 anti-fuse 的编程方式是根据量子穿隧原理在单晶体氧化层形成导电路径,因此表面上没有可见的痕迹。图1为 eFuse 和 anti-fuse OTP 在电子显微镜下的比较。储存在 eFuse 中的“0”和“1”数据很容易识别,因为在编程为“1”的单元中有一个明显的开口。而如图1 的右图所示,无论存储的数据如何,anti-fuse 单元看起来并无显著差异。

从根源解决芯片安全弱点

图1. e-fuse与anti-fuse OTP在电子显微镜下的俯瞰图

不安全存储造成的漏洞

以 ARM 核搭配 Crypto Cell-312™ (CC312)是当今最常见的设计组合之一。当设计人员都着重于 CC312 提供的安全功能时,但却往往忽略了密钥存储的安全。我们经常可以看到,ARM CC312 与 eFuse/anti-fuse 搭配使用,可是针对密钥注入和存储程序却没有额外的保护(如图2所示),造成密钥仍暴露在安全边界之外,成为攻击者有机可乘的安全漏洞。这样的安全问题来自于两个层面,一是储存在 eFuse 中的数据容易被窥探破解;二是当访问权限控制没有被考虑时,任何人皆可轻松获取储存在 OTP 中的机密。尽管 CC312 被认为是一款设计精良的门锁,但将钥匙存放在不安全的地方无异于将钥匙留在门锁中供任何人开启一样。

从根源解决芯片安全弱点

图2. 不安全的信任根

以抗攻击设计强化的安全防护

虽然 eFuse 中的数据可见性问题可用 anti-fuse OTP 解决,但严格来说这样的安全防护仍然不足。为了实现身份识别并仅将机密数据的访问权限开放给获得授权的用户,在 OTP 控制器设计中还必须考虑访问权限控制。

为了进一步保护芯片设计中的 anti-fuse OTP,防篡改设计也是不可或缺的。良好的防篡改设计运用电路布局(Layout)和数字设计(RTL)打造一个可对抗各种类型的攻击,如在写入数据时对数据进行加扰、或是纳入毛刺检测电路等等的保护外壳。我们将在未来的白皮书中更详细地讨论防篡改设计的主题。

将 anti-fuse OTP、访问权限的控制器和防篡改外壳相结合,建立了一个安全的硬件信任根(Hardware Root of Trust; HRoT),即可对抗所有前述所讨论的漏洞。凭借精心设计的防篡改外壳和权限控管的双APB接口,安全 HRoT与安全子系统, CC312等, 能相辅相成,为芯片设计实现完整的安全边界。熵码科技所开发的 dual-APB RoT IP--PUFrt,即是专为 ARM CC312 和其他ARM用户的需求所开发。更详细的说明及其功能详见图3。

从根源解决芯片安全弱点

图3. PUFrt 模块示意图与其重要特点

以PUFrt实现完整安全边界

PUFrt 建立在力旺电子的 anti-fuse OTP (NeoFuse) 和量子穿隧 PUF (NeoPUF) 技术之上,并以PUF天生密码加密保护 anti-fuse OTP。PUFrt 利用 NeoPUF 完美的随机性自芯片内部生成每个设备的唯一密钥(Hardwre Unique Key; HUK),大幅简化了密钥注入的程序。真随机数发生器(TRNG) 具有数字和仿真设计,结合了静态和动态熵源以实现其卓越的性能。PUFrt还对数据和地址进行了混淆处理,并结合模拟与数字设计了抗攻击安全防护层,以充分保护密钥存储。此外,PUFrt还配备了一个权限控管控制器和两个APB接口。图4即示意了 PUFrt 和 ARM CC312整合使用的范例。APB1 将PUFrt 连接到BUS总线并使用 JTAG 进行 OTP 测试,APB2 将PUFrt集成到CC312 中,为 CC312 中的加密功能提供安全存储和高质量熵源。APB1 将在测试后被禁用,以维持安全边界的完整性。

从根源解决芯片安全弱点

图4. 结合PUFrt延伸ARM CC312的安全边界

结论

总结而言,双 APB 接口的 PUFrt 能与 CC312 无缝集成,并为密钥存储提供完整的抗攻击防护。此外,PUFrt 中的 TRNG 能为 CC312 提供高质量的熵以执行各种安全功能。透过集成 CC312 和 PUFrt,ARM Cortex-M55 可以在推向市场之前实现安全信任根、安全存储和安全系统。这种应用可推及 AIoT 到 HPC 等多项领域。

谈到芯片安全性,设计人员通常会想到 ARM Crypto Cell 312 等加密子系统解决方案。然而,如何为系统生成可信赖的根密钥、以及如何安全储存该密钥的问题仍然未解。PUFrt 就如同一幅完整拼图所缺失的部分。利用 PUF 的天生密码(芯片指纹)作为密钥来加密存储的任何机要信息,再加上全面的抗攻击设计,使其成为能抵御各类潜在攻击的完美方案。凭借其精心规划的架构,PUFrt 可以轻松导入芯片取代不安全的 eFuse,其权限控管控制器更为设计人员节省设计时间。总结而言,PUFrt整合解决方案不仅完成了IC的安全边界,且能帮助CC312对整体SoC的性能表现达到极致发挥。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

郑州2024年4月22日 /美通社/ -- 为助力国家乡村振兴战略,日前,中国平安组织开展"走进佛坪,网络兴农——乡村振兴佛坪行"公益活动。为助力解决农产品滞销问题,中国平安承诺2024年将消费帮扶采购佛坪县特色农产品金...

关键字: 网络 直播带货 硬件

为增进大家对电脑硬件的认识,本文将介绍如何维护电脑硬件。

关键字: 硬件 指数 电脑硬件

为增进大家对电脑硬件的认识,本文将对电脑硬件故障的检修方法以及排除步骤予以介绍。

关键字: 硬件 指数 电脑硬件

为增进大家对电脑硬件的认识,本文将对电脑硬件予以介绍。

关键字: 硬件 指数 电脑硬件

近日,国内高端存储品牌——佰维存储正式官宣与TES英雄联盟战队达成深度合作,成为TES官方唯一指定存储品牌。佰维存储与TES战队将携手共同助力中国电竞产业蓬勃发展,为电竞行业注入更多硬核科技元素,让更多的玩家感受专业电竞...

关键字: 硬件 存储

全新的卡片式设计:整个控制中心以卡片形式展现第三方连接状态,对应设备的相关功能以及其它硬件的终端设置,可在控制中心中进行统一管理。

关键字: 硬件 设备 终端

华为开发者大会是华为公司举办的年度盛会,旨在汇聚全球的开发者、合作伙伴和业界专家,共同探讨和分享最新的技术趋势、开发工具和实践经验。华为开发者大会不仅是华为对外展示技术实力和创新成果的重要平台,也是推动全球开发者生态发展...

关键字: 开发工具 华为 硬件

鸿蒙系统开发者需要学习哪些编程语言以及有哪些推荐,是一个复杂而多元的问题。鸿蒙系统,作为华为推出的面向物联网时代的操作系统,其开发者需要具备跨平台的开发能力、对硬件和软件的深入理解以及创新思维。

关键字: 鸿蒙系统 华为 硬件

本文研究具有背靠背MOSFET的理想二极管以及其他更先进的器件。文中还介绍了一种集成多种功能以提供整体系统保护的理想二极管解决方案。二极管是非常有用的器件,对许多应用都很重要。标准硅二极管的压降为0.6 V至0.7 V。...

关键字: 二极管 源选择器 eFuse

嵌入式软件测试是针对嵌入式系统中的软件进行验证和验证的过程。嵌入式系统是集成在其他设备或系统中的计算机系统,例如汽车、医疗设备、家电等。为确保嵌入式软件的质量和可靠性,进行适当的测试是至关重要的。嵌入式软件测试是确保嵌入...

关键字: 嵌入式软件 计算机 硬件
关闭