【问题标题】:Sealing Data using TPM In Windows [closed]在 Windows 中使用 TPM 密封数据 [关闭]
【发布时间】:2014-07-31 12:00:39
【问题描述】:

我想在 Windows 中执行 TPM Seal 操作。我熟悉 C++ 编程,但不知道我什至会使用哪些库。

我目前遇到以下两个问题:

我可以使用例如执行此操作吗? WMI 和 powershell 脚本?这个http://msdn.microsoft.com/en-us/library/windows/desktop/aa446799(v=vs.85).aspx 表示我可以使用 TBS 提交命令,但我没有最微弱的方式设置参数,例如WMI。

我可以使用 Windows 7 SDK 中的 tbs.h/tbs.lib 来执行 TPM_Seal 操作吗?

是否有像 http://trousers.sourceforge.net/ 这样的 TSS API,我可以从某些 C++ 代码中调用它?

我这样做的方法没什么大不了,但是我在windows上使用的是TPM 1.2,而且我所有的客户端都是windows。

【问题讨论】:

  • 这个msdn.microsoft.com/en-us/library/windows/desktop/… 看起来像我所说的,但我知道我的“命令缓冲区”会是什么样子。
  • 哇,你的问题现在完全不同了......
  • 我最初问的时候真的有点迷茫。我隐约知道我必须做什么,但几乎没有实施细节。你一直很有帮助。上周我能够执行一些基本的 TBS 命令,感觉现在离目标更近了。

标签: windows encryption tpm


【解决方案1】:

您可以使用TPM Base Sevices 向 TPM 发送命令。所以你需要自己组装命令。

TPM 命令、结构和流程在3 documents 中定义:

首先,您需要确定要发送的命令。然后您必须在第 3 部分中查找命令的引用,并按照第 2 部分中的说明组装所需的结构。

例如,TPM_seal 命令在第 3 部分第 72 页的第 10.1 节中定义。第 1331 行向您展示了该命令的外观。发出命令后,您可以根据第 1332 行评估返回的结构。(所有数字适用于修订版 116。)

这可能真的很棘手。但是,您可以查看其他实现。如果您只需要一些命令,这并不难,尤其是当您可以确定某些极端情况不会发生时。

我建议您开始查看IBM's software TPM。本项目还提供了libtpm和一些utilities。这是我所知道的较轻的实现之一。

您还可以尝试TrouSerS for Windows 是否足够稳定以满足您的需求。在那里,您将拥有一个高级 TSS API。

如果 Java 是一个选项,请查看jTSS。它支持Windows。

【讨论】:

  • 嗨。我加载了一个 Windows 8 机器并正在浏览 TPM 基本服务的命令列表。我确实只需要保护一个对称密钥。我可以看到我可以做到这一点,我什至不需要使用C#。如果我可以在 powershell 等中完成此操作,那么这就是我所需要的。我将改写我的问题以减少脂肪并尝试触及问题的核心
  • 感谢您对软件 TPM 的关注。我的主要开发机器实际上没有 TPM,所以我一直在使用辅助盒。
【解决方案2】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 2014-03-19
    相关资源
    最近更新 更多