问题标签 [tpm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2171 浏览

linux - 如何使用 sha1sum 复制 PCR 值的扩展?

这与以下帖子有些相关: 对 sha1sum 的两个哈希输出执行 OR

我有一组 TPM 测量样本,例如:

根据 TPM 规范,在上面的帖子中也提到,PCR 扩展操作是:PCR := SHA1(PCR || data),即“将 PCR 的旧值与数据连接,对连接的字符串进行哈希处理并存储PCR 中的哈希”。此外,我发现的规范多篇论文和演示文稿提到数据是要加载的软件的哈希值。

但是,当我执行类似的操作时echo H(PCR)||H(data) | sha1sum,我没有获得正确的结果值。即,当计算(使用上面的哈希):echo 1ca03ef9cca98b0a04e5b01dabe1ff825ff0280a0ea26e75253dc2fda7e4210980537d035e2fb9f8 | sha1sum时,结果值是 NOT 7f36b991f8ae94141753bcb2cf78936476d82f1d

我对 TPM_Extend 操作的理解是否正确?如果是这样,为什么生成的散列与样本测量文件中的散列不同?

谢谢!/n

0 投票
2 回答
8503 浏览

windows - 启用 TPM 的 Windows 脚本

我正在寻找使用 VBScript 编写一个脚本,该脚本将在 Windows 中启用 TPM 芯片和 BitLocker。一般来说,我是 VBScript 和 Windows 脚本的新手。我似乎遇到困难的一个部分是让我的脚本在重新启动后再次启动。

例如,要启用 TPM 芯片,需要重新启动才能打开芯片,然后需要第二次重新启动才能获得 TPM 芯片的所有权。需要第三次重新启动才能启用 BitLocker。

每次重新启动后如何让脚本再次启动以进入下一步?VBscript 是完成这项任务的最佳选择吗?

0 投票
1 回答
686 浏览

linux - TSS_WELL_KNOWN_SECRET 的值是多少

我想运行一个tpm_sealdata多次调用的脚本,我不想每次都输入 SRK 密码。

手册页中,我发现了这个:

但是,我无法确定必须将哪个值用作 TSS_WELL_KNOWN_SECRET。

0 投票
1 回答
442 浏览

tpm - 什么是TPM和PV

我正在阅读一篇关于 Qubes OS(面向安全的操作系统)的论文,其中有两个我不明白的首字母缩写词 - TPM 和 PV。有人知道他们应该是什么意思吗?

它们用在这些句子中:

TPM

这些秘密由 TPM 发布到 Dom0 ......

...攻击者不应该能够重新密封 TPM 中的秘密 ...

...基于 TPM 的可信/验证启动过程...

...管理程序仍将被加载和启动,但 TPM 不会释放解密其余文件系统所需的秘密...

...被放入特殊的 TPM 寄存器中...

如果测量结果正确,他们稍后将允许从 TPM 中解封一个秘密,该秘密是访问各种磁盘加密密钥所需的。

...需要从解密其余文件系统所需的 TPM 中解封一个秘密

即使基于 TPM 验证的引导过程...

当然,此身份验证密码通常会被加密,并且解密密钥应密封到 TPM 中......

和更多...

光伏

I/O 仿真与 PV 驱动程序。

如果不需要运行 HVM 来宾,例如 Windows,并且只在 Xen 中运行 PV 来宾...

...如果用户只想使用 PV 客人...

...专用的最小 PV 域。

驱动程序域是非特权 PV 域...

(即用于托管 PV 驱动程序后端...

... KVM 不支持 PV 域...

...如果用户只使用 PV 客人。

...仅支持 PV Linux)

...在一个单独的 PV 域中...

...它是一个普通的非特权 PV 域。

...USB PV 后端...

0 投票
1 回答
343 浏览

java - TPM 32 位密钥句柄

我一直在探索 TPM 世界并尝试了几个不同的库(即 Trousers、jTSS、JSR321 和 TPM/J)。基于许多要求,TPM/J符合要求,我能够完成大部分必要的操作,如绑定/解除绑定、签名/验证等。

然而,我遇到的一个问题是关键句柄。根据 Trusted Computing Group 发布的规范,1.22.0都声明密钥句柄是 32 位值。当我运行 TPM/J 并加载一个密钥时,TPM 会在 32 位空间之外发出一个密钥。

例如,如果我运行以下命令:

我收到以下输出:

如果我的计算(以及我发现的一些在线转换工具)是正确的,那么上面的密钥句柄计算为 3,320,400,889,即 OUTSIDE 32 位。我相信 32 位有符号值限制在20 亿左右。

这成为一个问题,因为当我发出以下命令时:

我得到以下输出:

TPMUnbind如果我使用上面的命令并等到我加载一个可以由 Java int 类型处理的密钥(即落在 32 位范围内),那么就像一个健全性检查一样,该命令运行得很好。

有人遇到过这种情况么?提前致谢。

0 投票
1 回答
2624 浏览

tpm - Windows 中的 TPM PCR 生成

我有一台带有 TPM 的机器,我在上面运行 Windows 7。我有一段代码,我想运行它并获取当时的 PCR 寄存器值。我怎样才能做到这一点?

其次,如果我在其他机器上运行相同的代码,我可以获得相同的 PCR 值吗?如果我不能,那么有没有办法得到它?

-------------- 编辑版本如下----------

场景如下,我有一个用 C++ 编写的可执行代码(例如一个简单的纸牌游戏)。我想在我的电脑上运行这个文件。我想获得 PCR 值。Windows平台有24个PCR寄存器,现在哪个寄存器有我正在运行的文件(游戏)的hash?

0 投票
2 回答
12820 浏览

intel - 英特尔 TXT 和 TPM 有什么区别?

英特尔 TXT 和 TPM 有什么区别?与 TPM 相比,英特尔 TXT 还能提供什么?基本上,我想知道 TXT 是如何工作的?任何适合初学者的易于理解的文献将不胜感激!

0 投票
1 回答
156 浏览

intel - 远程验证正在执行的应用程序

是否可以向远程方证明我在我的系统中运行的应用程序与我声称我正在使用 DRTM 或 SRTM 运行的应用程序相同?如果是,那么如何?

0 投票
1 回答
1953 浏览

tpm - How to extend the running application into PCR?

How to extend the running application into PCR? and Which PCR can be used for it?

0 投票
1 回答
360 浏览

trusted - 我们自己的代码可以扩展哪些PCR?

因为 TPM 1.2 规范中有 24 个 PCR。其中一些 PCR 是保留的,不能通过用户代码进行扩展。以下是 PCR Index 他们的 PCR Usage

  1. CRTM、BIOS 和平台扩展
  2. 平台配置
  3. 选项 ROM 代码
  4. 选项 ROM 配置和数据
  5. IPL7Code(MBR 信息和引导加载程序阶段 1)
  6. IPL 代码和配置数据(供 IPL 代码使用)
  7. 状态转换和唤醒事件
  8. 保留供将来使用。不使用。
  9. 引导加载程序第 2 阶段第 1 部分
  10. 引导加载程序第 2 阶段第 2 部分
  11. 未使用。
  12. 未使用。
  13. 引导加载程序命令行参数
  14. 通过检查例程检查的文件
  15. 实际加载的文件(例如 Linux 内核、initrd、模块..)
  16. 未使用。
  17. 未使用。
  18. DRTM8

18-23。未使用。

我知道用户可以扩展所有未使用的 PCR?它是否正确?我问了这个问题因为我已经编写了自己的代码来扩展 PCR(通过遵循裤子编码指南),结果我可以将所有 PCR 扩展,除了从 PCR 17 到 PCR 22。我的理解是我只能扩展几个特别是不能玩从 PCR 0 到 PCR 7 的较低级别的。