问题标签 [trusted-computing]
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.
security - 用于访问 Intel TXT(可信执行模式)或 AMD SVM 的 API?
当前是否有任何操作系统(windows、linux、BSD)提供驱动程序,使用户模式程序能够在受信任的执行模式下部分执行(与计算机上运行的其他一切隔离)?如果是这样,在哪里可以找到文档?
linux - Linux下的签名可执行文件
出于安全原因,最好在执行前检查代码的完整性,避免攻击者篡改软件。所以,我的问题是
如何在 Linux 下签署可执行代码并只运行受信任的软件?
我读过 van Doom等人的作品。,为 Linux 设计和实现签名的可执行文件,以及 Safford & Zohar 的 IBM 的TLC(受信任的 Linux 客户端)。TLC 使用 TPM 控制器,这很好,但这篇论文是 2005 年的,我无法找到当前的替代品。
你知道其他选择吗?
更新:关于其他操作系统?开放式Solaris?BSD家族?
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
ipad - 可信计算、iPad、认证未经修改的应用程序
由于Apple控制了整个硬件/软件堆栈,是否有可能获得以下信息(通过某种类型的可信计算):
- 硬件证明软件是正版的,没有越狱的 iOS
- iOS 向我的服务器证明运行的应用程序是未经修改的应用程序
实现的效果如下:
当我的服务器发送数据时,保证数据只能以我打算使用的方式使用(因为它在未修改的情况下运行我的应用程序,在未越狱的 iOS 上)。
这可以防止诸如修改后的应用程序窃取从服务器传输到客户端的数据之类的事情。我意识到理论上可以窃听,但这可以通过加密来消除。
谢谢!
tpm - Windows 中的 TPM PCR 生成
我有一台带有 TPM 的机器,我在上面运行 Windows 7。我有一段代码,我想运行它并获取当时的 PCR 寄存器值。我怎样才能做到这一点?
其次,如果我在其他机器上运行相同的代码,我可以获得相同的 PCR 值吗?如果我不能,那么有没有办法得到它?
-------------- 编辑版本如下----------
场景如下,我有一个用 C++ 编写的可执行代码(例如一个简单的纸牌游戏)。我想在我的电脑上运行这个文件。我想获得 PCR 值。Windows平台有24个PCR寄存器,现在哪个寄存器有我正在运行的文件(游戏)的hash?
intel - 英特尔 TXT 和 TPM 有什么区别?
英特尔 TXT 和 TPM 有什么区别?与 TPM 相比,英特尔 TXT 还能提供什么?基本上,我想知道 TXT 是如何工作的?任何适合初学者的易于理解的文献将不胜感激!
cpu - 如何确保一段代码永远不会离开 CPU 缓存(L3)?
最新的 Intel XEON 处理器具有 30MB 的 L3 内存,足以容纳一个薄型 1 Hypervisor。
我有兴趣了解如何在 CPU 中保留这样的 Hypervisor,即防止被刷新到 RAM,或者至少在发送到内存/磁盘之前加密数据。
假设我们在裸机上运行,我们可以使用 DRTM(延迟启动)引导它,例如,我们从不受信任的内存/磁盘加载,但如果我们可以 unseal() 用于解密的秘密,我们只能加载真正的操作系统操作系统,并且在设置适当的规则以确保发送到 RAM 的任何内容都被加密后发生。
ps我知道TXT的ACEA aka ACRAM(Authenticated Code Execution Area aka Authentication Code RAM)据说有这样的保证(即它限制了CPU缓存)所以我想知道是否可以解决这个问题。
pps 这似乎超出了目前的研究范围,所以我实际上并不太确定这一点是否有答案。
intel - 远程验证正在执行的应用程序
是否可以向远程方证明我在我的系统中运行的应用程序与我声称我正在使用 DRTM 或 SRTM 运行的应用程序相同?如果是,那么如何?
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?