在 ARM 上的嵌入式 Linux 下使用 TPM

Using TPM under embedded Linux on ARM

我想了解如何在 ARM 上的嵌入式 Linux 中使用 TPM 进行安全启动、TrustZone 等。但我目前找不到一个好的起点。

我使用了搜索引擎并阅读了一些类似“DEN0006D_Trusted_Board_Boot_Requirements”和“Infineon-ISPN-Use-Case-Secured-boot-for-ARM-processor-platforms-ABR-v01_00-EN”的内容。但是没有什么能真正帮助我获得知识。

要么是我用错了搜索词,要么是信息主要被关闭了。我发现的最多的东西是关于 TPM 和 Windows...

有人可以推荐任何网页、书籍、视频或其他东西作为开始吗?

编辑:除了解决方案中的东西,我可以推荐免费的开放书籍“TPM 2.0 实用指南”https://link.springer.com/book/10.1007/978-1-4302-6584-9

我最近在嵌入式 Linux 上使用 TPM,这确实是一个很难的话题。 如果您在谈论 TPM 本身,那么首先是您使用的是哪个版本。 我假设您使用的是 TPM 2.0。

  • 对我来说一个好的起点是:tpm-js。你可以使用这个工具 了解有关 TPM 的一些知识。您可以浏览此项目的源代码以 加深一点知识。
  • 然后你就可以使用Tpm2-tss库了。就在几个月前,他们 实现了简化整个开发的 FAPI 层。
  • 还有一个 TPM 2.0 架构 doc 可以帮助您 很多,但我认为这不是一个好的起点。
  • 对我来说,最后一个非常好的信息来源是 tpm2-tss 库背后的人。在 tpm2-tss Git-Hub 页面上询问他们。

我不建议您使用 tpm2 工具。最近有很多变化,一开始会让您感到困惑。首先,您需要了解层次结构之间的差异以及主键与其子键之间的差异。您可以在 tpm-js 中找到很多这些信息。