硬件级安全防护指南:英飞凌 TPM 2.0 评估板与 Raspberry Pi 集成方案

概要
随着联网设备数量激增,结合AI技术的网络攻击日益猖獗。在此背景下,欧盟出台包括《网络安全韧性法案》在内的各种安全立法和标准,企业不得不加速安全技术升级。
本文将介绍 TPM (Trusted Platform Module,可信平台模块),以及 Raspberry Pi 使用英飞凌 TPM 评估板运行功能测试的步骤。英飞凌 OPTIGA™ TPM 系列包含多种安全控制器,能保护嵌入式设备与系统的完整性和可靠性。借助安全密钥存储和对多种加密算法的支持,OPTIGA™ TPM 以其丰富的功能为关键数据和进程提供了强大的保护。
TPM 基础知识
TPM 是一种硬件设备,可以集成到计算机主板中,使用硬件总线与系统的其余部分进行通信,用于提供硬件级别的安全功能。TPM 可以用于加密密钥的生成、存储和管理,保障计算机平台在启动过程中和运行中的完整性。如下图 (图1) 为 TPM 2.0 芯片架构与密钥管理原理:

TPM 的设计重点是安全地存储加密密钥,使用加密密钥保护数据以及提高证书的安全性。TPM 在 Windows 11 系统要求中成为强制性要求时引起了人们的关注,但由于安全问题日益突出,现在许多嵌入式设备也在考虑采用 TPM。下图 (图2) 为 TPM 在设备安全体系中的角色:

使用 Raspberry Pi 检查 TPM 的运行
在本例中,我们使用了英飞凌提供的 OPTIGA™ TPM SLB9672 评估板。为了使 TPM 正常工作,需要设备驱动程序和中间件。在本次运行测试中,使用 Embedded Linux TPM Toolbox 2 (ELTT2) 作为中间件。ELTT2 是一个单文件可执行程序,用于 TPM 2.0 设备的测试、诊断和基本状态修改。该工具可在 Github 上获取,适用于在 Linux 系统上运行 TPM 2.0 的环境,并且可以使用 gcc 轻松构建和运行。
评估板的系统要求
- 硬件
◦Raspberry Pi 3 Model B V1.2:Raspberry Pi OS (64-bit)
◦OPTIGA TPM SLB9672 RPI EVAL - 软件
◦ELTT2

准备演示
1、安装 Raspberry Pi OS
- 使用 Raspberry Pi Imager 编写“Raspberry Pi OS”
2、检查 TPM 设备驱动程序,驱动已经集成在 OS 中
- 启动 Raspberry Pi 后,执行以下作以检查 TPM 是否被识别
- $ ls -l /dev/tpm*

3、ELTT2 的准备工作
- 从 Github 下载源代码 (https://github.com/Infineon/eltt2)
- 使用 make 命令编译源码并生成 eltt2

测试示例
按如下方式调用命令:
- $ sudo ./eltt2 < option(s)>
① sudo ./eltt2 -g:读取 TPM 的固定属性。

② sudo ./eltt2 -s [哈希算法] <数据字节>:使用 SHA-1/256/384 哈希算法对特定数据进行哈希处理。下图 (图7)、(图8) 分别为 SHA-1 与 SHA-384 哈希计算结果:


③ sudo ./eltt2 -G <数据长度>:获取指定数量的随机字节,以下指定了 08h 和 14h 的随机字节。

④ sudo ./eltt2 -e [哈希算法] <PCR index> <PCR digest>:将新值扩展 (添加) 到指定的 PCR (平台配置寄存器) 并执行哈希计算。

⑤ sudo ./eltt2 -r [哈希算法] <PCR 索引>:读取指定 PCR 的值。

⑥ sudo ./eltt2 -z <PCR 索引>:将指定的 PCR 值返回到其初始状态。

总结
本文我们主要以 Raspberry Pi 为例,使用英飞凌的 TPM 评估板和 ELTT2 对 TPM 2.0 进行了基本功能测试,展示如何通过硬件加密模块强化物联网设备抗攻击能力,可总结为以下几点:
- 随着网络连接设备数量的增加以及使用 AI 的攻击的复杂性,安全措施的重要性日益增加
- 随着欧盟《网络安全韧性法案》等法规的持续推进,相关企业亟需建立合规应对机制
- 在网络安全防护领域,仅依靠软件方案是不够的,基于硬件的安全防护措施同样至关重要
- TPM 具有很强的防篡改能力,并能对加密密钥进行安全管理
欲了解更多技术细节和英飞凌相关产品信息,您可以点击下方「联系我们」,提交您的需求,骏龙科技公司愿意为您提供更详细的技术解答。