问题标签 [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.
cryptography - 获取 TPM 的公共 EK:前导/尾随位的含义
我一直在尝试使用两种方法获取 TPM 的 EK 公钥:使用 Hyper-VGet-PlatformIdentifier
我得到以下结果:
使用 Urchin 的 C 库:
谁能解释一下是什么3082010a0282010100
意思0203010001
/编码?
powershell - 获得 TPM 的所有权
我正在开发一个 Powershell 脚本,我可以使用它在已禁用 TPM 的用户计算机上启用、激活和获取 TPM 的所有权。对于那些不知道的人,TPM 是允许 Bitlocker 正常工作的板载部件。我有几个关于我目前所拥有的以及如何完成我的脚本的问题。我对 Powershell 非常陌生,所以如果我的要求是基本的,我提前道歉。我四处搜索并找到了所有方面的帮助,直到我在脚本中的位置。我发现的大部分内容都指向必须将密码设置为脚本的一部分,但由于我们的域控制器正在处理该部分,因此我试图避免这种情况。我可以走得更远,我也需要。
这是我到目前为止所拥有的:
我的问题是:
语法对于我必须工作的内容是否正确?
由于 Bitlocker 是由域 MBAM MDOP 实例运行的,因此启用 TPM 后是否需要进一步操作?如果是这种情况,请忽略我的其余问题。
我可以编写一个这样的 Powershell 脚本,让它像批处理文件一样执行这些多个功能吗?
如果一切都正确,既然我处于清晰阶段并且我需要拥有 TPM 的所有权,我该如何在不需要输入密码的情况下执行此操作,因为我们的域控制器将持有所有密钥和密码字符串?我们不希望允许用户为 Bitlocker 编写自己的密码。
tpm - 如果 pc 被盗,硬件 bitlocker 会有所帮助吗?
所以我注意到使用硬件 TPM 你不需要密码(你只需将私钥保存到外部 USB)。现在,想象一下有人偷了我的电脑(上面有 TPM 硬件),他们难道不能在新硬盘驱动器中安装 Windows 10 的新副本,连接受 bitcopy 保护的旧驱动器作为辅助驱动器,然后访问我所有的数据?
因为 TPM 硬件模块仍在同一主板上。请记住,他们不仅窃取了 HDD,还窃取了整个 PC。
谢谢阅读,
肖恩
tpm - TPM:自检失败,TPM 已关闭
当我尝试更新 TPM 固件时,更新失败。它打印错误消息“自检失败并且 TPM 已关闭”。
我尝试使用 tpmc 命令重新激活 tpm 但它不起作用。
有没有人遇到过这个问题并解决它?
谢谢
windows - 使用 TPM 在 Windows 上签名而不取得所有权
我有一个关于这个问题的后续问题:How to encrypt bytes using the TPM (Trusted Platform Module)
我将 Windows 10 用于嵌入式解决方案。我想使用 TPM 来存储签名密钥并执行签名。但是,我不想中断 Windows 使用 TPM 进行安全启动的能力……因此,我对获得 TPM 的所有权犹豫不决。我玩过 TSS.NET 代码示例,并让 TPM 使用空白 AuthValue 对数据进行签名(使用真正的 TPM,而不是模拟器)。但我不确定这里有什么限制。TSS.NET 示例代码有注释:
如果在 Windows 提供的真实 TPM 上运行,则此值将不同。管理员可以从注册表中检索所有者授权值。
所以我的问题分为两部分:
- 配置时,我是否更正不建议更改 TPM 所有者密码?
- 是否可以在代码中获取密码?
- 如果我在部署设备时没有所有者授权,我可以安装签名密钥吗?
- 如果在运行时没有所有者授权,我可以使用 TPM 进行签名吗?
encryption - Windows 10 和 Linux 的 TPM 所有者密码和锁定密码
我已经设置了双启动,所以我有 Windows 10 和 ubuntu。
按照此页面上的步骤,我可以在 Windows 10 注册表中检索我的 TPM 的锁定密码和所有者密码。结果如下所示:
OwnerAuthFull 和 LockoutHash 都是 base64 编码,因此我可以使用此链接对它们进行解码(例如,它以 hexa 形式提供 893716F2DD41FAD20A98FFEEC573CBF78405D89C 作为所有者密码)。
在 ubuntu 上启动之后,我尝试使用这些密码与 TPM 交互。我正在使用tpm2-tools与 ubuntu 下的 TPM 进行交互。当 linux 控制 TPM 并设置这些密码时,tpm2-tools 工作得很好。但是在这里我试图让 Windows 控制 TPM 并且仍然能够在 Ubuntu 下与它通信。例如,当我运行这些命令时(在 ubuntu 控制 TPM 时有效)。
我明白了
有谁知道我为什么会收到这个错误/为什么这个密码不起作用?我在哪里可以获得正确的密码?那么任何关于如何解决这个问题的指针都值得赞赏!谢谢!
windows - TPM Windows 密钥创建
一旦 Windows 获得了我计算机中的 TPM 芯片的所有权,是否仍然可以在其中创建持久密钥?(鉴于我没有所有者密码,因为 Windows 在初始化 TPM 后将其丢弃)。
由 Windows 在 TPM 中创建的存储根密钥 (SRK) 是否使用 PIN 码进行保护以执行密码操作?如果是该密码存储在 Windows 中的哪个位置?
谢谢!
windows - TPM2 - 在 Windows 下使用 Tbsip_Submit_Command 创建持久主键
使用Tbsip_Submit_Command玩我的 TPM 芯片,我可以看到 Windows 分析了我发送给它的帧。
为了简单起见,我使用了 shutdown 命令。
例如,我尝试在参数中发送带有 TPM_SU_CLEAR 的 TPM_CC_Shutdown。所以帧是=> 80 01 00 00 00 0C 00 00 01 45 00 00
为了使其更详细和解释:
Windows 回复我 => 80 01 00 00 00 0A 80 28 04 00
再次使其更详细:
我在这里找到了那个错误代码。如此明显的 Windows 打断了我并放弃了我的命令。我可以理解它不希望关闭 TPM 电源,但是对于要创建主键并将其保存在芯片内的命令,我得到了相同的结果。
所以我有一个芯片,但如果我想直接使用它我不能,我不得不使用 Cryptography API: Next Generation 但在我的情况下我不能。
有人有什么可以帮助我的吗?也许我可以直接与编码驱动程序的芯片通信并绕过 Windows 层(如果有人知道如何做到这一点)?或者是否可以在注册表中配置一个值,让 Windows 让我用我的 TPM 芯片做我想做的事?
windows - 如何获取 TPM 支持的算法列表
在 linux 上,我可以使用 tpm2_getcap 工具来获取加密算法列表,如下所示:
tpm2_getcap --capability="算法"
Windows上有类似的东西吗?我只在 powershell 中找到了“Get-TpmSupportedFeature”,但这不是我想要的。
.net - 如何在 TPM 中创建私钥、创建 CSR 并锁定 TPM?
我们的应用程序(C#、Win10、WPF)需要存储一个私钥,用于对发送到硬件设备的消息进行签名。该设备信任我们的 CA,因此我希望 CA 为我们签署证书。
我一直在研究 Windows 上的 TPM API,但我无法弄清楚如何创建私钥,将其存储在 TPM 中,创建 CSR,然后锁定 TPM,因此任何进程都无法读取或修改私钥。理想情况下,我想限制 TPM 访问,以便只有某些进程可以使用该密钥对数据进行签名。
有谁知道如何在 Windows 10 中执行此操作以及要使用哪些 API?