NVMe(非易失性内存主机控制器接口规范)与TCG(可信计算组)的集成主要体现在数据安全、固件验证和硬件信任根等方面,以确保存储设备的数据保护能力和安全性。
TCG Opal定义了一套针对自加密硬盘(SED, Self-Encrypting Drives)的标准化安全子系统类(SSC, Security Subsystem Class),用于实现对存储设备上数据的透明加密和访问控制。以下是在TCG Opal规范下加密流程的基本概述:
-
初始化和密钥管理:
-
-
在设备出厂时,会生成一个全局唯一标识符(GUID)和主密钥(Master Key)。Opal标准支持多个密钥层级,包括管理员SP(Admin SP)、用户锁SP(Locking SP)和多个锁定对象(Locking Objects),每个都有自己的身份验证机制。
-
-
创建与配置锁定策略:
-
-
管理员可以使用管理SP来创建、删除和管理锁定对象,以及设置解锁策略,如PIN码、密码或硬件密钥等。锁定对象可以按范围或者整个命名空间划分,并且可以指定为单用户模式或多用户模式。
-
-
数据加密:
-
-
当写入数据到NVMe SSD时,驱动器将自动使用底层硬件加速引擎对数据进行加密,所使用的密钥是基于上述密钥管理体系派生出的数据加密密钥(DEK,Data Encryption Key)。
-
-
访问控制:
-
-
加密的数据在读取前需要通过身份验证,只有合法的认证请求才能解密数据。例如,当主机尝试访问被锁定的对象时,必须先通过相应的认证过程才能获得临时解密密钥以解密数据。
-
-
重置和恢复:
-
-
TCG Opal提供了Revert(回滚)操作,允许在必要时清除所有用户数据并恢复到工厂默认状态,但不改变固件和加密密钥结构。这通常需要提供工厂预设的SID(Security Identifier)或其他特殊凭证。
-
-
日志记录与审计:
-
-
为了便于监控和审计,NVMe SSD需要支持持久事件日志功能,记录与TCG相关的操作活动,如TCG Opal命令执行情况,包括激活、回滚次数、锁定SP状态变更以及其他关键安全事件。
-
-
兼容性与扩展性:
-
-
TCG Opal确保了跨不同制造商的SED设备具有一定的互操作性和安全性水平,同时也可支持不同的加密算法和密钥长度,满足不同场景下的安全需求。
-
在TCG Opal框架内,加密流程涵盖了从密钥生成、分配、加密写入到访问控制和审计跟踪等一系列操作,旨在构建一个高效、安全的自加密存储环境。