问题标签 [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 回答
699 浏览

security - 用于访问 Intel TXT(可信执行模式)或 AMD SVM 的 API?

当前是否有任何操作系统(windows、linux、BSD)提供驱动程序,使用户模式程序能够在受信任的执行模式下部分执行(与计算机上运行的其他一切隔离)?如果是这样,在哪里可以找到文档?

0 投票
1 回答
864 浏览

c - 帮助我使用最简单的“受信任”应用程序程序

我希望这里大社区的任何人都可以帮助我编写最简单的“可信”程序,我可以从中扩展。

我正在使用 Ubuntu Linux 9.04,以及来自 Mario Strasser ( http://tpm-emulator.berlios.de/ ) 的 TPM 模拟器 0.60。我已经安装了模拟器和 Trousers,并且在运行 tpmd 和 tcsd 守护程序后可以成功地从 tpm-tools 运行程序。

我希望开始开发我的应用程序,但是我在编译下面的代码时遇到了问题。

尝试编译后

g++ tpm.cpp -o tpmexe

我收到错误

我必须#include 什么才能成功编译它?有什么我想念的吗?我熟悉 C,但不完全熟悉 Linux/Unix 编程环境。

ps:我是信息安全硕士课程的兼职学生。我参与编程主要是为了学术目的。

0 投票
1 回答
672 浏览

c - 这个 TPM 仿真器是否遵循 TPM 规范来扩展 PCR 寄存器?

以下代码来自 Mario Strasser 的 TPM 模拟器。规范说,

读取“将 PCR 的旧值与数据连接,对连接的字符串进行哈希处理并将哈希存储在 PCR 中”。不是PCR := PCR BITWISE-OR SHA1(data)也不是PCR := SHA1(PCR BITWISE-OR data)

0 投票
1 回答
1667 浏览

linux - TPM/TSS Linux API 替代方案

我想找到(成熟的)API 替代方案来在 Linux(可能还有其他 *nix)上使用 TPM(可信平台模块)功能。我对用于身份验证的可信加密/解密功能(可能与 Kerberos 集成)感兴趣。

我找到了 jTSS (for Java) 和TrouSerS,但我想知道其他替代品(如果有的话)。“谷歌搜索”不是那么有用。

0 投票
3 回答
11382 浏览

c# - 使用 C# 控制 TPM

我在尝试着

  • 初始化 TPM
  • 设置所有者
  • 创建 AIK

任何帮助/链接将不胜感激。

0 投票
7 回答
739 浏览

.net - 保护部署在“敌对”环境中的系统

在我的公司,我们正在开发一个由多台服务器组成的大型系统。该系统由大约 5 个逻辑组件组成。数据存储在 XML、MS SQL 和 SQLite 中。这是一个 .Net 系统(大部分),组件使用 WCF 和一些自定义 UDP 进行通信。客户端主要通过自定义 UDP 或 WEB(ASP.NET & Silverlight)访问系统。

保护通信很容易,一些 SSL 和 WCF 上的一些安全性,我们就完成了。

我们面临的主要问题是系统需要部署在客户的站点上,我们不一定信任的客户。我们需要保护服务器上的数据以及软件本身免受逆向工程的影响。两者对我们都至关重要。

我们还需要一个终止开关,我想要一些破坏数据和软件的东西,根据命令,或者如果在一段时间内无法打电话回家。

我正在考虑的方向是使用 TPM 或类似的东西 - 一些硬件加密解决方案,结合我们可以在内部保留的另一个服务来加密服务器上的所有软件和数据,以便密钥将来自我们的服务器安全地在我们的站点中,并且可能会从 TPM 中屏蔽内存。

你建议如何解决这样的问题?


更新04/02 我正在寻找实用的建议,或者对可以帮助我的产品提出建议,所以我开始赏金......

伙计们,我们基本上是把我们的机器放在客户的网站上(出于商业和实用性的原因),我们拥有那台机器,客户在几小时内收到他支付的一切,他可以随心所欲地处理数据。但是我在那台机器上运行的算法,以及存储在那里的一些数据是我们想要保护的商业机密。理想情况下,如果我不说没问题,我希望机器根本不工作,甚至不启动,如果没有我的好,机器上的所有内容都保持加密状态。内存窗帘看起来也是在执行时保护机器的好方法。

理想情况下,我希望所有机器上的 HD 和存储在有人用螺丝刀靠近它们时立即爆炸...... :-) 但我认为这太过分了......


更新10/02 好的,在进行了一些研究之后,我认为我们将尝试与 PS3 加密系统相同的方向,除了我们将引入用于解密软件和来自我们服务器的数据的密钥。这样做我们可以在我们的机器上决定我们是否信任请求密钥的服务器,我们可以通过重新安装机器来获得一个终止开关。这可能是基于 TPM 或类似的东西,也许是英特尔的 TXT ......我也对内存帘作为一个重要的安全功能很感兴趣......

顺便说一句,我们无法通过将系统的有价值部分移动到我们的站点来解决这个问题,这既是因为业务需求,也是因为它在技术上不可行——我们需要巨大的带宽......

0 投票
2 回答
4017 浏览

linux - 用于在系统内安全存储加密密钥的 TPM 替代方案

我需要部署一个包含非常敏感数据的服务器。更准确地说,这个(linux)服务器将部署在一辆装满天线的货车上,在世界各地旋转,我需要防止数据泄露,即使是在不受信任的货车运营商最终将直接访问硬盘驱动器的情况下。

实际(以前的)配置基于加密的 FS,并且在服务器驻留在某个服务器机房之前可以正常工作,即使这会迫使受信任的人在重新启动时输入密钥。

但是这个解决方案不适用于这种新的场景,服务器会经常重启,并且不会被授权访问数据的人跟踪。我们的一些新服务器配备了TPM 模块,因此问题解决了,但大多数提供的服务器不包含此安全功能。

如何加密存储这些敏感数据,而不需要用户在启动时进行解密干预,也无需在硬盘驱动器上保存明文密码?

我们正在考虑一些基于混淆代码机器检查的密钥生成器,与某些许可证验证软件的工作方式相同,但我不知道从哪里开始。

0 投票
2 回答
4562 浏览

java - 在 Java 中使用 TPM 所需的信息

我正在阅读我即将进行的项目,该项目涉及在用 Java 编写的身份验证软件上使用笔记本电脑的 TPM。

谷歌上出现了一些条目,但大多数都相当老了,我不知道哪个是最好的教程。所以我想知道推荐使用的 API 是什么,以及从哪里获取信息的最佳位置。

谢谢。

0 投票
3 回答
4183 浏览

cryptography - 是否可以对英特尔的可信平台模块进行编程

我想知道是否可以对大多数英特尔芯片中存在的TPM( http://en.wikipedia.org/wiki/Trusted_Platform_Module )进行编程,以便:

显然,一旦它开始工作,它就不应该是可重新编程的(你知道这个说法是否正确吗?)。

0 投票
1 回答
2900 浏览

linux - 如何在 Linux 上使用 TPM 实现平台许可“加密狗”?

我被要求使用 TPM 为具有 TPM 芯片的 x86_64 设备实施相当于许可证加密狗的内容。本质上,所需要的是确保为设备发布的软件只能在设备本身上运行,这样如果软件被迁移到虚拟机或其他硬件,它将拒绝运行。

我不希望该解决方案能够抵抗逆向工程,而是一种典型的“加密狗”类型的解决方案,它将阻碍普通用户并让企业客户保持诚实。

我已经成功构建并包含了 TPM 模块以及TrouSerS和 openssl-tpm-engine 代码——我可以成功获得 TPM 的所有权,但除此之外,可用的文档并没有完全涵盖这个用例——或者如果到目前为止,我一直无法找到一个简单的英文解决方案。

如果可能的话,我宁愿依赖存储在 TPM 中的私钥的秘密性质,而不是利用平台组件哈希(硬盘驱动器可能会死掉,CPU 可能会被更换等。我宁愿在客户的一方,这样系统不会在例行硬件升级后变得无法使用。

同样,理想情况下,我怀疑可以设计此解决方案,以便在制造过程中收集每个设备的公钥并将其添加到签名钥匙串中,以便可以根据每个设备可能存储在 TPM 中的单个密钥对软件进行签名,而不是要求对软件进行多次签名?我在这里可能弄错了,但必须有一些满足平台身份验证方法的批量方法,否则它似乎很难扩展。