在许多使用可信平台模块(TPM 芯片)的情况下,它直接焊接到主板上。表面上,主板制造商独自负责集成 BIOS 和 TPM 模块,以及解决方案的整体防篡改功能。
TPM 模块也可用作附加子卡,可插入主板上的小型 19 针连接器。
从安全的角度来看,一种解决方案明显比另一种更好还是更差?当使用子卡 TPM 时,是否应该在 BIOS 或 TPM 模块中寻找特定功能?
在许多使用可信平台模块(TPM 芯片)的情况下,它直接焊接到主板上。表面上,主板制造商独自负责集成 BIOS 和 TPM 模块,以及解决方案的整体防篡改功能。
TPM 模块也可用作附加子卡,可插入主板上的小型 19 针连接器。
从安全的角度来看,一种解决方案明显比另一种更好还是更差?当使用子卡 TPM 时,是否应该在 BIOS 或 TPM 模块中寻找特定功能?
子卡通常意味着它正在使用 LPC(低引脚数)总线。该总线速度很慢,并且可以相对容易地监控/操作。这是1.1 版著名的 TPM 重置攻击的基础。
1.2 引入了局部性的概念,可以缓解这个问题,但据说不能完全阻止它(未证明)——攻击窗口小得多,但通信没有经过身份验证。
并非所有 TPM 都是平等的,您可以选择自己的安全级别。虽然子卡可能无法缓解物理重置攻击,但芯片组中集成了许多新的 TPM——如果我记得的话,自 2009 年以来。英特尔将这些 TPM 作为其 vPro 技术的一部分提供。它们在新架构或北桥上的Platform Controller Hub 中的管理引擎内运行应用程序。反过来,这意味着攻击面很可能是空的。
TPM 的基本思想是它是一个硬件绑定的标识,这意味着它唯一地标识了一台计算机。在 PC 案例中,“计算机”意味着“主板”:TPM 需要以特定方式集成到启动过程中,这需要主板上的 BIOS 的配合。
子卡上的 TPM 打破了基本的设计假设:这意味着 TPM 可以在机器之间移动,这是它不应该能够做到的。
这是否真的是一件坏事......老实说,我不知道。这取决于该假设在可信计算协议的设计中的绑定程度。但是作为一个比较精通TC东西的人,把东西放在子卡上会极大地触发我的“邪恶反射”。
“从安全的角度来看,一种解决方案(分立式、集成式、其他)明显比另一种更好还是更差?当使用子卡 TPM 时,是否应该在 BIOS 或 TPM 模块中寻找特定功能?”
对于 TPM 2.0,单独的子卡是最高安全级别。由专家在线束中测试以抵御攻击,然后可以将其插入更难攻击的主板;假设操作员不在场。
SuperMicro 系统中使用的独立子卡已通过评估保证等级 (EAL) 4认证:
“EAL4 允许开发人员从基于良好商业开发实践的积极安全工程中获得最大保证,这些实践虽然严格,但不需要大量的专业知识、技能和其他资源。EAL4 是它可能在经济上达到的最高级别对现有产品线进行改造是可行的。因此,EAL4 适用于开发人员或用户在传统商品 TOE 中需要中等至高水平的独立保证安全性并准备承担额外的特定于安全性的工程成本的情况。
更高的安全级别除了提供针对复杂攻击的物理安全性之外,还涉及编写和测试操作系统。
对于系统(或只是驱动器)的 4 级子卡盗窃,仍将涉及解密数据。即使有安全性和加密驱动器,如果有人可以窥视您的肩膀或从您那里强制输入密码,那么信息也不安全。
资料来源:
SuperMicro 的离散 TMP 安装和配置手册:https ://www.supermicro.com/manuals/other/TPM.pdf
该手册介绍了设置 TPM 所涉及的内容,BIOS 功能相对较少;基本上打开或关闭 TPM 以及您可能希望启用的任何其他特殊安全功能。
https://trustedcomputinggroup.org/wp-content/uploads/2019_TCG_TPM2_BriefOverview_DR02web.pdf
"
- DISCRETE TPM 提供最高级别的安全性,这可能需要用于保护汽车制动控制器的 TPM。此级别的目的是确保它所保护的设备不会通过复杂的方法被黑客入侵。为了实现这一点,设计、构建和评估了一个分立芯片,以实现最高级别的安全性,可以抵抗对芯片的篡改,包括用各种复杂的攻击对其进行探测和冻结。
- 集成 TPM 是安全性的下一个级别。这个级别仍然有一个硬件 TPM,但它被集成到一个芯片中,提供除安全之外的功能。硬件实现使其能够抵抗软件错误,但是,此级别并非旨在防篡改。
- FIRMWARE TPM 在受保护的软件中实施。代码在主 CPU 上运行,因此不需要单独的芯片。与任何其他程序一样运行时,代码位于称为可信执行环境 (TEE) 的受保护执行环境中,该环境与 CPU 上运行的其他程序分开。通过这样做,TPM 可能需要但不应被其他人访问的私钥等秘密可以保存在 TEE 中,从而为黑客创造了更加困难的路径。
除了缺乏防篡改之外,TEE 或固件 TPM 的缺点是现在 TPM 依赖于许多其他方面来保证其安全,包括 TEE 操作系统、在 TEE 中运行的应用程序代码中的错误等.
- 软件 TPM 可以作为 TPM 的软件仿真器来实现。但是,软件 TPM 容易受到许多漏洞的影响,不仅会篡改,而且会导致运行它的任何操作系统中的错误。它确实有关键应用:它非常适合测试或构建带有 TPM 的系统原型。出于测试目的,软件 TPM 可以提供正确的解决方案/方法。
"