HSM和SE有什么区别?

信息安全 硬件 术语 hsm 可信计算
2021-08-21 18:44:28

硬件安全模块(HSM) 和安全元件(SE)有什么区别?这两个术语可以互换使用吗?

我遇到了各种相关的问题(TPM 与 HSMTPM 与 SE),但在网上找到的各种 HSM 和 SE 定义非常密切相关。

像Microchip ATECC608A这样具有基于硬件的安全密钥存储的加密协处理器属于哪一类?

2个回答

硬件安全模块(HSM)、安全元件(SE)、智能卡可信执行环境(TEE)和安全飞地(SE)都是为安全执行而设计的计算环境。它们通常具有一些共同的属性:

  • 它们是具有一定程度的防篡改的隔离环境。它们旨在使从中提取数据或破解数据变得困难。
  • 它们持有一些独特的加密密钥,允许设备外实体与特定设备进行安全通信。特别是,它们不能被克隆。
  • 他们要么只运行来自制造商的代码,要么如果他们允许第三方代码,则必须对其进行签名,通常不是由设备的最终用户签名。
  • 它们提供一组有限的接口以减少攻击面。

这些不同类型的环境之间的区别在于它们的外形尺寸。这会影响他们满足各种标准的程度;例如,由软件隔离的环境无法达到与具有物理保护的环境相同的抗侧信道攻击水平。确切的定义可能会有所不同。通常:

  • 硬件安全模块装在一个大盒子里,放在服务器机房里。它要么在机架上有自己的架子,要么插入 PC 扩展卡插槽。它具有一定的物理防篡改功能,旨在在您尝试打开盒子时自毁。它是 24/7 插电的,里面有电池,如果电池用完就会死。物理连接可能会有所不同;以太网、PCI 和 USB 很常见。HSM 通常有一个专有的通信协议,但至少提供一个PKCS#11接口。
  • 智能卡是一种芯片,通常嵌入信用卡大小的塑料片中。有些更小,例如SIM它从插入的设备(或无线电范围内的设备,如果它是非接触式的)获取电力,并在不使用时放在某人的钱包中。调用智能卡通常意味着ISO/IEC 7816接口。
  • 安全元件比您的指甲还小,并焊接到板上,甚至可能是片上系统封装的一部分。它与同一板或封装上的其他计算环境完全隔离,但它可能会或可能不会抵抗物理篡改。安全元件可插入芯片拥有的任何总线并具有专有逻辑接口(但制造商通常会在顶部提供 PKCS#11 接口)。
    有时,如果安全元件与主处理器位于同一芯片封装内,则称为安全飞地。例如,Apple 的安全飞地就是这种情况。但有时,“安全飞地”只是逻辑隔离而不是物理隔离。
  • 受信任的执行环境或安全飞地是与不太安全的环境在同一处理器上运行的软件环境。它由一小部分依赖硬件功能的软件(例如 Arm TrustZone、Intel SGX)隔离。术语和界面因您是在 Intel 世界还是 Arm 世界而异。

再一次记住,我在这里介绍的是典型特征,而不是正式的定义。简而言之,如果将它放在脚上时会感到疼痛,那就是 HSM。如果你把它放在你的钱包里,它就是一张智能卡。如果它是一个不可移动的智能卡,它就是一个安全元件。

智能卡、小型 HSM(USB 加密狗大小)、TPM、SE 等的内部都是相同的。有一个问题是它有多少存储空间,支持哪些原语/算法,每秒可以对这些原语进行多少操作,以及它支持的本机 API 的细节(它必须实现 TCG 规范)一个 TPM,无论原生 API 是什么,您都可以从它拥有的任何原生 API 转换为 pkcs11 之类的东西,并使其更普遍有用)。

您可以指定“是更大 SoC 的一部分,旨在通过 SoC 中的通用 CPU 通过 I2C 使用”、“与以前相同但具有 DMA”、“旨在通过 NFC 使用”、“意味着通过 USB 端口使用”、“用于焊接到 PCB 上并用于这个或那个类似串行的总线”、“用于机架安装并通过以太网使用”来说明您的确切意思是哪种设备.

通过公开适当的 API(可能需要额外的硬件),该芯片可用于实现 TPM 或 HSM 或其他东西。

在实践中,“SE”似乎是一个没有特定技术含义的营销术语。如果您想被理解,您必须说明您是指最终用户可以使用的设备还是要集成到设备中的组件,以及它的外形(和功能)。