摘要:Secure Erase 是一种内置于某些存储设备中的驱动器固件命令,能够绕过操作系统、直接通过驱动器控制器擦除数据。它适用于基于 ATA 的驱动器,例如 SATA 和老式 PATA 驱动器,包括支持 ATA 安全命令的 HDD 和 SSD。ATA(高级技术附件)是一种用于计算机与存储设备之间通信的存储接口标准。ATA Secure Erase 命令包括“Security Erase Prepare”(安全擦除准备)和“Security Erase Unit”(安全擦除单元)。本文将帮助您理解 Secure Erase 的工作原理,以及如何在不同类型的驱动器上有效执行该命令。

“Secure Erase”一词通常指以无法通过高级取证技术重建的方式对数据进行净化。然而,Secure Erase 是一个由驱动器制造商定义、基于固件的命令,其具体行为取决于存储技术和制造商的实现方式。随着存储架构的发展,擦除机制也随着基于 ATA 的驱动器(如 SATA HDD、SATA SSD 和 NVMe 驱动器)而发生了变化。ATA 和 NVMe 存储设备可能支持基于固件的净化操作,包括:ATA Security Erase Prepare、ATA Security Erase Unit、NVMe Sanitize 和 NVMe Format。

包括旧版 NIST SP 800-88 R1 和现代版 IEEE 2883:2022 在内的全球数据销毁标准,将 Secure Erase 归类为针对 ATA 连接驱动器的“净化”类操作。此外,IEEE 2883:2022 进一步将“加密擦除”定义为加密存储介质的净化技术。这些标准共同阐述了组织如何在无需物理销毁硬件的情况下永久净化数据。

Secure Erase 命令有两种形式:标准擦除(Normal Erase) 和增强擦除(Enhanced Erase)

  • 标准擦除(Normal Erase) 针对用户可寻址存储范围内的所有数据,涵盖从 LBA(逻辑块寻址)0 到由 READ NATIVE MAX 或 READ NATIVE MAX EXT 定义的最大可寻址扇区,并用二进制 0 或 1 覆盖现有内容。
  • 增强擦除(Enhanced Erase) 则更进一步。它覆盖所有先前写入的用户数据,包括因扇区重映射而不再使用的区域、备用区域以及供应商特定的缓存或缓冲区。然而,其具体行为因供应商和特定驱动器型号而异,因此不同设备之间的净化级别并不总是一致的。

请注意: Secure Erase 是 ATA 专用命令,不适用于 SCSI 或 SAS 驱动器。SCSI 标准提供了替代方案,例如 SANITIZE 命令(支持覆盖、块擦除和加密擦除模式)以及带安全选项的 FORMAT UNIT。

Secure Erase 在不同存储介质上的工作原理

Secure Erase 是一组固件级别的命令,其在不同存储介质上的工作方式并不相同。每种驱动器的底层技术决定了命令的执行方式及有效性。

1、对于 HDD(机械硬盘)

Secure Erase 是 ATA 固件命令,驱动器通过该命令在介质上的每个逻辑扇区写入一个数据模式(通常为二进制 0)。它通过直接发送给驱动器控制器的 ATA 级固件命令来工作,指示控制器用一个固定的数据值覆盖每个磁道扇区。

关键的 ATA 命令包括:

  • Security Erase Prepare(安全擦除准备):该命令检查驱动器的安全状态,并为擦除命令解锁驱动器。此命令仅在驱动器上设置了用户密码后才能使用。
  • Security Erase Unit(安全擦除单元):这是在准备命令之后执行的命令。它在固件级别工作,用 0 覆盖所有扇区。
    其标准版本称为“标准擦除”,仅覆盖用户可寻址的 LBA,而重映射扇区和 HPA、DCO 等隐藏区域则不受影响。增强擦除则将覆盖范围扩展到重映射扇区和额外的保留区域,但 HPA 和 DCO 的移除通常需要单独的命令(READ NATIVE MAX / DCO RESTORE)。大多数现代驱动器支持增强擦除命令,它比标准擦除提供更彻底的净化。

2、对于 SSD(固态硬盘)

对于基于闪存的存储设备(如 SSD),ATA Secure Erase 仅被视为清除机制,因为不同制造商的实现存在差异,且敏感数据可能仍存在于备用单元和磨损均衡区域。因此,NIST 和 IEEE 2883 建议使用加密擦除或 ATA Sanitize 命令作为 SSD 的首选净化方法。

SSD 处理 Secure Erase 的方式与 HDD 不同:

  • ATA Secure Erase:此命令告诉驱动器的固件删除所有用户可见的数据,但由于 SSD 管理备用块和磨损均衡的方式,无法保证所有物理 NAND 单元被完全擦除。
  • ATA Sanitize:这是一个更全面的命令,专为块存储介质设计。与 Secure Erase 不同,它超越了用户可见的 LBA,支持“覆盖”、“块擦除”和“加密扰乱”三种净化选项。

3、对于 NVMe(非易失性内存标准)驱动器

NVMe 驱动器引入了自己的固件级净化命令,包括 NVMe Sanitize、NVMe Format 和 Crypto Erase(加密擦除)。这些命令指示 NVMe 控制器在硬件层面擦除所有用户数据,而不依赖操作系统。

  • NVMe Sanitize 命令:有三种擦除操作:
    • 块擦除:使用特定于介质的底层块擦除方法更改用户数据,适用于所有可能驻留用户数据的位置。此操作利用 NAND 的原生擦除机制移除存储电荷,导致介质上的数据被物理擦除。
    • 加密擦除:通过更改或删除用于保护存储数据的介质加密密钥来更改用户数据。所有用户数据都以加密形式存储,丢弃或替换密钥会使密文无法恢复,立即变得不可读。
    • 覆盖:根据 IEEE 2883:2022 标准,在驱动器的所有用户数据位置写入固定数据模式,包括超额配置区域。
  • NVMe Format 命令:重新初始化命名空间布局,包括扇区大小和元数据。根据设备固件的不同,它可能会触发介质级别的擦除,但并不能保证这一点。因此,不能单独依赖它作为净化方法。

4、对于 eMMC 存储

嵌入式多媒体存储卡(eMMC)是智能手机、平板电脑及其他嵌入式设备的标准存储类型。这些设备不支持 ATA 级命令,因此无法像传统驱动器那样进行净化。擦除是通过在 eMMC 控制器内直接运行的固件命令来执行的。如果受支持,可以通过将设备重置为出厂设置来执行清除操作,但净化不适用于嵌入式闪存,因此需要更强的净化方法,如物理破坏。

Secure Erase 与数据擦除方法对比

许多组织依赖非结构化的数据擦除方法(例如格式化、恢复出厂设置和数据删除)来永久清除存储介质中的敏感数据。但这些方法非常不可靠,因为数据恢复软件可以轻松地从格式化后的驱动器中恢复数据,使得格式化在很大程度上失效。

恢复出厂设置会将设备恢复到最初购买时的原始状态。用户数据、下载的应用程序和个人设置都会在操作系统层面消失。然而,这只是故事的一面。残留数据实际上从未真正从驱动器中消失,甚至在恢复出厂设置很长时间后仍可被找回。

正因如此,NIST SP 800-88 R2 和 IEEE 2883:2022 等介质净化标准推荐将固件级命令(如 Secure Erase)作为首选的清除级净化方法,而非传统的擦除方法。在不同的驱动器类型(每种都有其独特的架构和固件机制)上执行这些命令,需要专业水平的技术知识,而组织内部未必总是具备这种知识。

鸿萌推荐的专用数据擦除软件弥补了这一差距,它能够自动执行针对特定驱动器的净化命令,无需深厚的技术专业知识。该软件遵循 NIST 800-88、美国 DoD、IEEE 2883:2022 的清除与净化要求以及其他 26 项国际公认的擦除标准,并支持所有主流存储类型,包括 HDD、SSD、SED、NVMe 驱动器、Mac(Apple Silicon 和基于 Intel 的)、Chromebook 和服务器。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐