TPM 和 HSM 有什么区别?

信息安全 加密 密码学 硬件 hsm tpm
2021-08-15 14:04:06

TPM(可信平台模块)和 HSM(硬件安全模块)被认为是加密处理器,但究竟有什么区别呢?

其中一个是否比另一个具有更多优势?

4个回答

可信平台模块

可信平台模块 (TPM) 是计算机主板上的硬件芯片,用于存储用于加密的加密密钥。许多笔记本电脑都包含一个 TPM,但如果系统不包含它,则添加一个是不可行的。启用后,可信平台模块提供全盘加密功能。它成为系统的“信任根”,为引导过程提供完整性和身份验证。它使硬盘驱动器保持锁定/密封,直到系统完成系统验证或身份验证检查。

TPM 包含一个烧入其中的唯一 RSA 密钥,用于非对称加密。此外,它还可以生成、存储和保护加密和解密过程中使用的其他密钥。

硬件安全模块

硬件安全模块 (HSM) 是一种安全设备,您可以添加到系统中以管理、生成和安全存储加密密钥。

高性能 HSM 是使用 TCP/IP 连接到网络的外部设备。较小的 HSM 作为安装在服务器中的扩展卡,或作为插入计算机端口的设备提供。

两者之间值得注意的区别之一是 HSM 是可移动或外部设备。相比之下,TPM 是嵌入主板的芯片。您可以轻松地将 HSM 添加到系统或网络,但如果系统未附带 TPM,则以后再添加是不可行的。两者都通过存储和使用 RSA 密钥来提供安全加密功能。

来源:https ://blogs.getcertifiedgetahead.com/tpm-hsm-hardware-encryption-devices/

对不起,但我认为这次谈话有一些空白:

  1. 以后无法添加 TPM:错误。许多现代主板包括一个可以在事后添加 TPM 的接头。访问亚马逊并查看适用于 MSI、华硕和其他主板的 TPM 模块卡
  2. HSM 通常会被移除或连接到网络:False。HSM 可以嵌入到一系列硬件中,从符合 FIPS 140-3 的机架安装机箱到 PCI-E 卡、USB 密钥、MicroSD 卡

主要区别在于使用。TPM 旨在提供硬件信任根,通过在签名和签名验证空间中提供具有最少加密功能的安全密钥存储区域来实现安全计算。有人确实概述了主要用例……存储驱动器加密密钥和验证引导加载程序、内核和设备驱动程序上的签名。请注意,其中大部分都可以在没有 TPM(使用支持 Windows WHQL 包括默认 Microsoft 密钥的 bios 的安全启动)、基于密码的磁盘加密的情况下完成。TPM 通常成本在 7 美元(作为定制板材料清单的一部分)到 15 美元(作为市场修改后的可插拔模块)之间。TPM 可以包括智能卡读卡器/虚拟智能卡功能。

HSM 通常有两个主要的、密切相关的功能。第一个功能是硬件启用/加速的加密功能,包括加密、解密、密钥生成、PRNG 功能和相关的签名/签名验证功能。通常,这些是通过板载 FPGA 或 ASIC(或组合)进行硬件加速的。第二个功能通常是带有/不带虚拟智能卡的智能卡读卡器,用于密钥/证书存储,具有基于增强 (PIN) 的保护。两者的集成为使用硬件生成嵌入虚拟智能卡的不可导出证书提供了强大的模型。HSM 的价格从几万美元(对于基于机箱的解决方案)到几千美元(对于 PCIE 卡)到几百美元(USB)到几十美元(对于 H-SDC 版本)不等。

根据我的经验,TPM 主要用于密钥存储,HSM 主要用于具有密钥存储的硬件加速加密。

TPM 是它们提供的功能和安全级别非常精确的指定部分 ( https://www.trustedcomputinggroup.org )。

它具有固定的功能,是一种成本较低但安全性较高的芯片(不到 2.00 美元)。目的是充当平台上的“信任根”。它们还经过测试和认证,可以承受一定级别的侧信道/观察攻击、半侵入/故障攻击,甚至是侵入性攻击。

相比之下,HSM 一词本质上只是说“硬件安全模块”,这导致了歧义和各种解释。

传统上,HSM 是经过优化的模块,可生成高性能的 AES、RSA 或 ECC 密钥和证书。想象一下,您运行一个能够快速建立数百或数千个 https (SSL/TLS) 会话的 Web 服务器。这需要大量的加密性能(即密钥生成)。HSM 这样做 - 非常快!由于它们通常在安全的环境中运行,因此它们不一定受到很好的保护以免受攻击。然而,它们通常以提供防篡改和证据的方式包装。与 TPM 的巨大差异:这些模块的成本高达 1000 美元以上。它是专门设计的小容量芯片,例如安装在 PCIexpress 板上,客户可以通过在其主板/机架上插入多个 HSM 来扩展所需的性能。TPM 市场在 100mio pcs/yr 以北。

其他形式的“HSM”解释:有些人对 HSM 一词的使用含糊不清,例如,即使对于 ARM-A 系列系列中的 TrustZone 或在更通用(多核)CPU 中有专用安全处理器的任何东西。

如果你想简短地说:

  • TPM 是一种特定设备,可确保其自己的密钥安全(身份来源)
  • 而 HSM 是保护外键(验证身份)的通用设备

一如既往地记住,事情更复杂,所以这过于简单化了。

以下内容也并非详尽无遗。

TPM 和 HSM 服务于完全不同的目的。

通常使用 TPM(由 BIOS 支持)来验证操作系统的所有部分是否真实。它可以是一些防盗方法的一部分,如果错误的人试图启动它,它会阻止计算机启动或解密。虽然 TPM 保护存储在其中的信息(如其身份),但这些信息通常仅不经常使用,因此 TPM 需要低功耗甚至无功耗并且具有微小的设计模式。TPM 并不意味着保护 TPM 上下文(即“平台”(AKA 主板)本身)之外的有价值信息。

相比之下,HSM 旨在保护大量(与 TPM 存储的内容相比)数量(通常是外来的)加密材料(在“平台”之外)免遭盗窃,这种盗窃也是大量和关键使用的。所以它的主要背景是保护这些信息,而不仅仅是它本身。

HSM 和 TPM 共享一些属性。您也可以在 TPM 中存储(少量)密钥来保护它们。但是,虽然 TPM 是一种小型廉价设备,但 HSM 通常是一种功能强大且价格昂贵的计算设备。

或者把它放到计算术语中:

使用 TPM,您只能模拟 HSM此模拟无法保护模拟 HSM 中的数据免受黑客攻击。

使用 HSM,您可以模拟 TPM(只要 HSM 能够在其内部运行所有需要的加密例程)。因此,一个好的 HSM 可用于在现实世界中创建 TPM 的软件替代品,并具有与 TPM 相同的安全属性。这可以用来模拟虚拟机的 TPM,这样这些 TPM 就不能被黑客克隆(在主机本身之外并且假设 HSM 也没有被黑客入侵)。