数据安全是数据存储中最关键的问题之一,而数据加密是数据保护的主要方法。通过加密存储在驱动器上的数据,即使用户失去了对存储设备的物理控制,也可以确保数据保持安全。只有提供正确的凭据后,加密的数据才能解锁和解密。
AES
固态硬盘 使用具有对称加密密钥的 AES 算法。
第一个是用于加密 SSD 上存储的所有数据的加密密钥。如果SSD使用AES 256位加密,则该密钥是随机生成的256位数字,并以加密格式存储在SSD的隐藏区域中。加密密钥永远不会离开 SSD,只有 SSD 本身知道。
第二个密钥是授权密钥。这是由用户设置的,它控制对 SSD 的访问。如果您在首次使用驱动器时未设置授权密钥,则 SSD 的行为将与未加密的 SSD 一样。数据仍然是加密的,但如果没有定义的授权密钥,驱动器会自动使用加密密钥解密读取请求。与加密密钥一样,授权密钥永远不会以明文形式存储。它仅以加密状态存储。
TCG OPAL 2.0、蛋白石和黄铁矿
可信计算组 (TCG) 提供可扩展的基础架构,用于管理存储设备中用户数据的加密。它包括可扩展的功能。通过 TCG,您可以管理对存储设备上存储的用户数据的访问控制,包括媒体加密、密钥管理和读/写锁定状态的控制。
“TCG 存储安全子系统类:Opal”,也称为“Opal SSC”或简称“Opal”,是包含此功能的存储设备的实施配置文件。
此示例显示了自加密驱动器 (SED)——一种集成了用户数据加密的存储设备。所有数据在写入时都会加密,然后在读取时会解密。驱动器使用存储设备内部生成的媒体加密密钥 (MEK) 来加密和解密您的数据。
Opal 提供了一种机制,管理存储设备中 Opal 功能的主机应用程序可以通过该机制设置身份验证凭证(即密码)以启用对用户数据的访问控制。 OPAL 2.0 规范适应适合 SSD 的块大小和 LBA 范围对齐,以最大限度地减少写入放大。
为此,加密 SSD 应符合 OPAL 2.0 标准 以获得最佳性能。它们还需要与支持 OPAL 2.0 的软件一起使用,因为该规范不向后兼容。
应 NVMe 工作组的要求,推出了两个新规范:Opalite 和 Pyrite。这两个规格是 Opal 的子集。 Opal 和 Opalite 之间的主要区别在于 Opalite 定义单个全局锁定范围,而 Opal 定义多个可配置锁定范围。 Opalite 将支持的用户数量限制为两个。
Pyrite 与 Opalite 几乎相同,但有一个主要区别:Pyrite 没有指定静态数据加密保护的功能。这意味着 Pyrite 不支持与加密和加密擦除相关的功能。
SHA 和 RSA
SSD 的固件是控制 SSD 的代码集。开发人员对固件进行编码的方式与对软件进行编码的方式大致相同。软件编译传统上被认为是一种单向操作。然而,理论上黑客可以对二进制文件进行逆向工程以提取源代码。因此,固件开发人员需要识别固件何时被篡改,并防止恶意固件安装在存储设备上。通常,制造商会使用数字签名进行固件升级,这意味着数字签名对于保护存储设备至关重要。
RSA 密码系统创建、管理和保护数字签名。当程序在操作系统中运行时,操作系统会读取并显示该签名,用户可以验证该软件是否来自受信任的供应商。
数字签名还确保固件未被篡改且未被伪造。您可以使用数字签名来保护固件更新过程。每个驱动器接口(包括 SATA 和 NVMe)都有一个定义的命令序列,用于将新的二进制代码发送到存储驱动器。这告诉驱动器更换当前固件。为了确保此命令不会提供错误的固件,驱动器会检查目标固件的型号和类型。
保护 SSD 上存储的数据的安全
确保用户数据的安全并保护SSD固件的完整性免受攻击是每个SSD制造商的首要任务。最安全的数据存储设备包括对用户数据的完全加密,但即使不加密,数据安全仍然是最重要的。因此,加密和非加密 SSD 都具有保护 SSD 固件完整性的功能,从而为用户数据提供额外的保护。