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

文章来源
Macnica Engineer

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

概要

随着联网设备数量激增,结合AI技术的网络攻击日益猖獗。在此背景下,欧盟出台包括《网络安全韧性法案》在内的各种安全立法和标准,企业不得不加速安全技术升级。

本文将介绍 TPM (Trusted Platform Module,可信平台模块),以及 Raspberry Pi 使用英飞凌 TPM 评估板运行功能测试的步骤。英飞凌 OPTIGA™ TPM 系列包含多种安全控制器,能保护嵌入式设备与系统的完整性和可靠性。借助安全密钥存储和对多种加密算法的支持,OPTIGA™ TPM 以其丰富的功能为关键数据和进程提供了强大的保护。

TPM 基础知识

TPM 是一种硬件设备,可以集成到计算机主板中,使用硬件总线与系统的其余部分进行通信,用于提供硬件级别的安全功能。TPM 可以用于加密密钥的生成、存储和管理,保障计算机平台在启动过程中和运行中的完整性。如下图 (图1) 为 TPM 2.0 芯片架构与密钥管理原理:

图1 TPM 2.0 芯片架构与密钥管理原理
图1 TPM 2.0 芯片架构与密钥管理原理 

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

图2 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 轻松构建和运行。

评估板的系统要求

图3 Raspberry Pi 3 Model B V1.2 与 OPTIGA TPM SLB9672 评估板硬件连接示意图
图3 Raspberry Pi 3 Model B V1.2 与 OPTIGA TPM SLB9672 评估板硬件连接示意图

准备演示

1、安装 Raspberry Pi OS
     - 使用 Raspberry Pi Imager 编写“Raspberry Pi OS”

2、检查 TPM 设备驱动程序,驱动已经集成在 OS 中
      - 启动 Raspberry Pi 后,执行以下作以检查 TPM 是否被识别
      - $ ls -l /dev/tpm*

图4 TPM 设备驱动识别验证终端界面
图4 TPM 设备驱动识别验证终端界面

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

图5 ELTT2 工具源码编译与生成过程终端界面
图5 ELTT2 工具源码编译与生成过程终端界面

测试示例

按如下方式调用命令:
- $ sudo ./eltt2 < option(s)>

① sudo ./eltt2 -g:读取 TPM 的固定属性。

图6 TPM 硬件属性输出
图6 TPM 硬件属性输出

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

图7 SHA-1 哈希计算结果
图7 SHA-1 哈希计算结果
图8 SHA-384 哈希计算结果
图8 SHA-384 哈希计算结果

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

图9 硬件随机数生成输出
图9 硬件随机数生成输出

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

图10 PCR 寄存器扩展操作
图10 PCR 寄存器扩展操作

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

图11 PCR 值读取结果
图11 PCR 值读取结果

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

图12 PCR 复位状态验证
图12 PCR 复位状态验证

总结

本文我们主要以 Raspberry Pi 为例,使用英飞凌的 TPM 评估板和 ELTT2 对 TPM 2.0 进行了基本功能测试,展示如何通过硬件加密模块强化物联网设备抗攻击能力,可总结为以下几点:

  • 随着网络连接设备数量的增加以及使用 AI 的攻击的复杂性,安全措施的重要性日益增加
  • 随着欧盟《网络安全韧性法案》等法规的持续推进,相关企业亟需建立合规应对机制
  • 在网络安全防护领域,仅依靠软件方案是不够的,基于硬件的安全防护措施同样至关重要
  • TPM 具有很强的防篡改能力,并能对加密密钥进行安全管理

欲了解更多技术细节和英飞凌相关产品信息,您可以点击下方「联系我们」,提交您的需求,骏龙科技公司愿意为您提供更详细的技术解答。

 

更多信息: