Cryptology Academy · 课时

安全删除与密钥销毁

了解为什么删除文件并不能擦除数据,以及如何正确销毁敏感密钥和文件。

第 4 / 4 课13 个步骤

安全删除与密钥销毁 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

rm 为什么不会删除数据

当您使用 rm 删除文件或将文件移入回收站时,操作系统只会移除指向该文件的目录条目。实际文件数据仍然保留在存储介质上,直到新数据覆盖这些扇区。取证工具可以扫描未分配扇区来恢复数据。这就是为什么安全删除需要的不只是简单的删除操作。

单次覆盖后的数据恢复

具有超高密度盘片的旧式磁性硬盘在单次覆盖后,理论上可能保留残留磁化,使专业实验室能够使用磁力显微镜恢复数据。对于较旧的驱动器,这个问题更值得关注;现代高密度驱动器由于磁道宽度和位密度的原因,使此类恢复变得不切实际。不过,这种担忧促成了 DoD 5220.22-M 等多遍覆盖标准。

SSD 的 TRIM 和磨损均衡挑战

SSD 使安全删除变得复杂得多。TRIM 会告知 SSD 控制器哪些块可以擦除,但实际擦除时间取决于控制器,并且可能会延迟。磨损均衡会在不同存储单元之间移动数据,以均匀分配写入操作,这意味着旧数据的副本可能仍然存在于 OS 认为空闲的区域中。直接覆盖 SSD 上的文件,无法可靠地覆盖该数据的所有副本。

DoD 5220.22-M 与多遍覆盖

DoD 5220.22-M 标准过去规定进行 7 遍覆盖(使用 0x00、0xFF、随机数据等模式,并进行验证遍次)。该标准是为较旧的磁性驱动器设计的,对于现代驱动器基本没有实际意义。对于大多数存储类型,NIST SP 800-88 已取代这一标准,并建议现代磁性驱动器执行一次清除遍即可(用零或一进行覆盖)。

Linux 上的 shred 命令

Linux 上的 shred 命令会在删除文件前多次覆盖文件:shred -vzun 3 secret.txt 会覆盖 3 次(-n 3),添加最后一次填零遍次(-z),然后删除文件(-u),并输出详细信息(-v)。不过,由于磨损均衡,shred 在 SSD 上并不可靠;在日志文件系统上,旧数据可能保留在日志中;在 Btrfs 或 ZFS 等写时复制文件系统上,它同样不可靠。

将全磁盘加密作为安全删除策略

在 SSD 和现代存储设备上,最可靠的安全删除方法是从不存储未加密的敏感数据。如果从一开始就对整个磁盘进行加密,明文就不会以未加密的形式存在于介质上。当您需要退役该驱动器时,销毁加密密钥(密码学擦除)会立即使所有数据永久无法恢复,无论驱动器上存储了多少数据。

ATA 安全擦除命令

现代硬盘和 SSD 支持 ATA 安全擦除命令(Linux 上的 hdparm --security-erase)。该命令会指示驱动器内部的控制器擦除所有用户数据区域,包括 OS 无法直接访问的重映射扇区。在 SSD 上,这通常会将所有闪存单元重置为已擦除状态。正确实现时,这种方法比软件覆盖更彻底,并且只需几秒到几分钟。

密码学擦除:销毁密钥

密码学擦除是指使用只存储在安全位置的密钥加密所有数据,然后销毁该密钥。由于没有密钥时解密在计算上不可行,数据会永久变得无法读取。云服务提供商使用这种方法退役存储设备:每位客户的数据都使用专属客户密钥加密,删除该密钥后,数据会立即变得无法取回。

secure-delete 工具

secure-delete 软件包(Linux)提供多个实用工具:srm 用于安全删除文件(采用 35 遍覆盖的 Gutmann 方法,不过现代驱动器执行 1 至 3 遍就足够了),smem 用于安全擦除内存,sfill 用于填充磁盘空闲空间,sswap 用于安全擦除交换空间。与 shred 一样,这些工具在传统磁性驱动器上最有效;由于磨损均衡,在 SSD 上的可靠性较低。

物理介质销毁

对于需要最高保证程度的情况,尤其是涉及敏感政府或医疗保健数据时,物理销毁是最可靠的安全删除方法。消磁会使磁性介质暴露在强磁场中,从而将所有磁畴随机化。工业粉碎机会将驱动器粉碎成小碎片。在足够高的温度下焚烧可以销毁所有存储介质。NIST SP 800-88 针对不同介质类型提供了适当销毁方法的指导。

NIST SP 800-88 介质清除指南

NIST SP 800-88 将介质清除定义为三个级别:清除(软件覆盖,适用于内部再利用)、净化(使用安全擦除或消磁等针对介质的技术,适用于对外发布)以及销毁(物理销毁,适用于敏感性最高的分类)。适用级别取决于数据分类,以及介质清除后预定的处理方式。

密码学擦除机制

存储介质密码学擦除背后的原理是什么?

安全删除回顾

安全删除回顾:rm 和回收站只会移除目录条目,因此数据仍可恢复;SSD 和磨损均衡使软件覆盖变得不可靠;从一开始进行全磁盘加密,再销毁密码学密钥,是最可靠的策略;ATA 安全擦除在 SSD 的控制器层面运行;物理销毁(消磁、粉碎)可以为最敏感的数据提供最高程度的保证。

免费开始

用 AI 导师学习 Cryptology Academy — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
67
课程
261

常见问题解答

「安全删除与密钥销毁」课时是免费的吗?

是的 — 「安全删除与密钥销毁」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「安全删除与密钥销毁」这节课中我会学到什么?

了解为什么删除文件并不能擦除数据,以及如何正确销毁敏感密钥和文件。 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「安全删除与密钥销毁」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 GPG 进行非对称文件加密
  2. age 加密工具:现代化的 GPG 替代方案
  3. 使用 VeraCrypt 创建加密容器
  4. 安全删除与密钥销毁
← 返回 Cryptology Academy