作者:tropicsquare
本文为 “安全芯片与开源架构硬件安全性” 三部曲的第二篇。
我们生活在一个电子信息时代,在生活的方方面面都依赖于电子计算设备。从几十年前开始,计算机就开始在绝大部分工作中占据中心位置,但现在,计算支撑着从运输、通信到医疗和支付系统的一切。甚至连出门骑个自行车或者跑个步这样简单的事情,我们也会在手腕上绑一个电脑。
电子交易和通信每天都在数十亿设备上进行。因此,数字空间安全性的重要性是无法低估的。虽然软件安全性扮演了重要角色,光靠它自身常常也是不够的。为了确保对敏感操作和密码学钥匙的强大保护,我们需要基于硬件的解决方案。这样的解决方案包括:
- “安全芯片(Secure Elements, SEs)”
 - “受信任的平台模块(Trusted Platform Modules, TPMs)”
 - “硬件安全模块(Hardware Security Modules, HSMs)”
 - “受信任的执行环境(Trusted Execution Environments, TEEs)”(比如 Arm 芯片中的 “ TrustZone ” 和 RISC-V 芯片中的 “ OP-TEE ”,都已经成了安全系统设计中的必要组成部分)。
 
虽然这些技术中的每一种都服务于数据保护和系统完整性维护的某一个特定部分,它们的结构、功能和应用场景有显著区别。更复杂的是,这些术语的含义在不同市场和不同人群种并不一致。本文的目的是解释这些设备的用途、厘清术语、比较它们的区别,并介绍它们各自最擅长的地方。
硬件安全模块(HSM)
“ HSM ” 可能是硬件安全领域用法最混乱的一个术语了。有时候,这个词指的是任何带有安全芯片或是 TPM 的独立(discrete)安全硬件。在汽车市场中尤其如此:“ HSM ” 通常指的就是 “安全芯片”。
除了被用作一个通用的术语,“ HSM ” 也被用来指称大型的(通常也是昂贵的)硬件安全电器,主要用于数据中心操作。所以,要说清楚 “HSM” 是什么,还是要看使用这个词的上下文。
概述
“ HSM ” 是一种高度安全的、专用的设备,主要用于数据中心和企业环境。它可能是插入式的卡片,也可能是一个独立的网络设备。HSM 通常是为了管理、存储和保护大量的密钥而设计的。网络 HSM 的价格区间很大,从几千美元到几十万美元都有。
关键特性
- 为高速的密码学操作(例如,签名、加密、密钥生成)而设计
 - 提供严格的防拆(tamper-evident)和防窜改保护(tamper-resistant protections)
 - 可以做到与高级安全标准(比如 “FIPS 140-2” 的 3 级或 4 级)兼容
 - 通常支持安全密钥备份和集群式冗余
 
应用场景
- 互联网服务器的 SSL/TLS 保护
 - 代码签名、数据库加密,和公钥基础设施(PKI)操作
 - 保护区块链基础设施
 - 支付处理系统
 
长处和短板
HSM 提供了最高级别的密码学保证和吞吐量。但是,它们是大型、昂贵的,而且通常要求专业化的基础设施和管理。它们不适合用在移动设备和消费者级别的设备上。
安全芯片(SE)
“安全芯片” 通常指的是做进更大设备中的独立硬件安全芯片。安全芯片的功能多种多样,价格范围下至不到 1 美元,上至几美元。
概述
安全芯片是一种抗篡改的芯片,设计用于安全地保管敏感数据,比如密钥、电子证书和个人信息(比如生物数据和支付证书)。安全芯片会被嵌入物联网设备、手机、智能卡、SIM 卡和护照中。
关键特性
- 隔离的执行环境,有自己的 CPU 和内存
 - 抵抗物理篡改和逻辑篡改
 - 通常用在低能耗、小体积的嵌入式设备中
 - 定制化的安全芯片可以设计成与具体的行业标准兼容,比如 “ Europay ”、“ Mastercard(万事达卡)”、“ Visa(EMV)标准”(用在银行),以及 “ eSIM ”(用在手机)。
 
应用场景
- 物联网设备安全性
 - 服务器类设备中的 “信任根(Root-of-Trust)”
 - 无感支付(例如,通过 “ Google Pay ” 或者 “ Apple Pay ” 发起的 NFC 支付)
 - 在护照或者身份证中用作身份验证
 - 安全的移动端通信和身份鉴别
 
长处和短板
安全芯片是高度安全的,而且极能抵御篡改,但它们在处理功率和安全性上往往局促。一些安全芯片被实现为使用固定固件(firmware)的封闭系统,因此很部署好之后难升级(甚至无法升级)。
受信任的平台模块(TPM)
“ TPM ” 是一类专门的安全芯片,依据由 “可信计算集团(Trusted Computing Group)” 制定的 TPM 标准实现出来。TPM 的功能是标准化的,价格从稍低于 1 美元到几美元都有,取决于制造商和批次数量。
概述
TPM 是一种专用的微处理器,旨在通过集成的密钥来保护硬件。通常个人电脑(PC)和笔记本电脑都带有 TPM ,并且其功能已经由 TCG 标准化了。自 2015 年以来,在笔记本电脑上安装 Windows 操作系统会被要求带有 TPM 。
关键特性
- 支持密码学操作,比如密钥生成、加密解密、电子签名
 - 带有密钥、口令和证书的安全存储
 - 支持安全启动(secure boot)和见证机制
 - 可以检测出未经授权的固件和配置变更
 
使用场景
- 设备身份鉴别和完整性验证
 - 全硬盘加密(比如,Windows 系统的 “BitLocker” 就使用 TPM)
 - 安全启动和受信任的测量记录
 - 保护证书和平台配置数据
 
长处和短板
TPM 被广泛用于企业的 IT 基础设施,因为它带有标准化的应用程序接口以及广泛的操作系统支持。标准化的结果是广泛的采用,尤其在个人电脑市场上,不过,也限制了它的灵活性。任何不能由 TPM 标准轻易支持的应用场景,都要求使用另一种安全解决方案。
受信任的执行环境(TEE)
安全芯片和 TPM 都是独立芯片,但 “TEE” 只是 CPU 中的一个可以运行安全操作的专门部分。
概述
TEE 是一种基于硬件的安全插件,集成在 CPU 里面,创造了两种执行环境:“安全世界” 和 “普通世界”。它不是一块实体的芯片,更多是处理器自身的一个特性。
关键特性
- 支持 TEE 的 CPU 可以隔离安全关键的代码和数据
 - 安全敏感的操作,比如密钥生成、密钥存储、应用验证操作,等等,可以作为安全 app ,在 TEE 内运行
 - 在外围设备和内存之间提供一种安全的沟通路径
 - 软件开发者可以定义什么东西要在哪一个世界里运行
 
应用场景
- 在智能手机上运行安全的支付或身份认证应用
 - 使用 “电子权利管理(DRM)” 解决方案来保护带有版权的内容,以在媒体设备上播放内容
 - 执行生物信息验证或者安全启动程序
 - 安全的操作系统服务,比如指纹识别和密钥存储
 
长处和短处
TEE 提供了一种灵活且相对轻量化的方式来保护一个系统的某些部分,而又无需使用一个独立的芯片。但是,因为它跟主处理同生共死,并且要求软件的配置,相比独立的芯片(比如 SE 和 TPM),它在软件爆破面前可能更加脆弱。
关键区别总结
| 特性 | 安全芯片 | TPM | HSM | TEE | 
|---|---|---|---|---|
| 隔离 | 实体芯片 | 实体芯片 | 电器或者插入式卡片 | CPU 组成部分 | 
| 应用场景 | 手机、设备 ID、密钥存储,等等 | PC 安全,包括安全启动 | 企业密码学应用 | 移动设备 app 安全性、物联网设备安全性 | 
| 抗篡改级别 | 非常高 | 中等/高 | 高 | 低 | 
| 处理功率 | 低 | 中等 | 非常高 | 与主 CPU 共享 | 
| 成本 | 低 | 中等 | 非常高 | 低 | 
总结
在安全芯片、TPM、HSM 和 TEE 之间做选择,取决于你要开发的设备、威胁模型以及应用场景。TPM 是在个人电脑上运行 Windows 操作系统的必需,也为个人电脑和笔记本电脑的安全性提供了一个中等的基础。
如果你在设计一款物联网应用、硬件密码货币钱包或者安全的移动支付平台(安全要求高),那么安全芯片是最佳选择。TEE 在物联网设备上提供了细粒度的安全性,且无需一个独立的芯片,但并不提供抗篡改和最高级别的安全性。至于企业级的密钥管理,HSM 是黄金标准。
因为计算环境日益变得相互连接,结合这些技术 —— 比如为应用层安全使用 TEE,同时为设备的平台安全性使用 SE ,且为公钥基础设施操作使用云端的 HSM —— 提供提更强的韧性。正确的安全架构不是只跟一个工具有关,而是要让它们协作。
如果你在寻找一块独特的安全芯片,那么你不能错过 TROPIC01 —— “ Tropic Square ” 公司的安全、可审计的开源架构的安全芯片。