Linux Debian 安装在带有 LUKS 全盘加密的 SSD 上 - 添加主目录加密是否会增加 SSD 的磨损?

Linux Debian 安装在带有 LUKS 全盘加密的 SSD 上 - 添加主目录加密是否会增加 SSD 的磨损?

不久前,我读了很多关于 SSD 磨损和全盘加密的帖子。许多帖子都过时了或相互矛盾,但普遍的共识似乎是,通过 LUKS 或其他全盘加密软件进行的全盘加密不会给现代 SSD 带来明显的磨损。然而,除此之外的很多信息似乎都乱七八糟。

我到处读到一些东西,似乎在 Linux 上使用用户帐户主文件夹加密可能会增加 SSD 的磨损,特别是如果 SSD 已经运行全盘加密。其他加密文件也是如此,例如大型 Truecrypt/Veracrypt 容器。

我正在考虑将其他用户帐户添加到三星 860 EVO 上的 Debian 10 安装中,并使用 LUKs 全盘加密,因此我正在考虑设置主文件夹加密(主要是为了防止其他用户窥探其他人的主文件夹)。这会给我的 SSD 增加严重磨损吗?还是这不是问题?我将不胜感激有关现代 SSD 加密磨损现状的反馈和任何相关评论。

谢谢。

答案1

加密空白分区

通常不会。运行cryptsetup format只会在分区开头初始化一个小标题,而不会执行任何其他操作。

但是,如果您想对加密分区进行零填充(出于隐私考虑,如下所述),那么当然需要重写每个扇区,从而造成磨损。

加密包含数据的现有分区

是的。初始加密过程当然需要用加密版本重写每个明文扇区。(Linux 上的加密工具将重写整个磁盘,而 Windows 上的 BitLocker 只会重写正在使用的区域。)

日常使用加密磁盘

不会。选择全盘加密算法/模式不会增加数据大小,也不需要将更改传播到附近的扇区(通常以牺牲某种完整性保证为代价),因此一个输入扇区只会导致一个加密扇区被写入。


但是,您需要决定是否要在加密磁盘上使用 TRIM:

  • 允许 TRIM 可能有助于 SSD 的磨损均衡,但会暴露哪些磁盘区域正在使用或空闲(当然,所有文件都将被加密,但它们将被修剪区域包围,这些区域将被视为全零)。
  • 禁用 TRIM 将提高隐私性,但可能会降低 SSD 的写入性能。
  • 禁用TRIM使用前对加密磁盘进行零初始化将导致大量写入(整个磁盘将被重写一次)。

答案2

加密不会将写入内容添加到现有流中;它会在写入之前修改数据。

但是:为了使全盘加密尽可能有效,建议先用随机数据覆盖整个设备,并且不要使用 TRIM。

这会影响 TRIM 和闪存分配。如果 SSD 的每个扇区都已写入并需要保留,则可能会出现写入放大,并可能增加磨损。SSD 需要 TRIMed/擦除区域来保持设备高性能并防止内部移动数据以容纳新数据。

如果使用 TRIM 和/或设备未先写入随机数据,攻击者可以查看设备并确定您向设备写入了多少数据以及写入的位置。这是一种旁道攻击,可能会泄露一些信息,但不会泄露其内容。

固态硬盘用户应该知道,默认情况下,设备映射器不会启用 TRIM 命令,即,除非您覆盖默认值,否则块设备将在没有丢弃选项的情况下安装。

设备映射器维护人员已明确表示,由于存在潜在的安全隐患,dm-crypt 设备上永远不会默认启用 TRIM 支持。启用 TRIM 的设备可能会以释放块信息的形式泄露少量数据,但这些数据可能足以确定正在使用的文件系统。cryptsetup 开发人员的博客中提供了激活 TRIM 引起的问题的说明和讨论。如果您担心这些因素,还请记住威胁可能会增加:例如,如果您的设备仍使用以前的(cryptsetup <1.6.0)默认密码加密--cipher aes-cbc-essiv,则从修剪扇区观察中泄露的信息可能比当前默认密码中泄露的信息更多。

阅读参考了解所有详细信息。

如果您不使用随机数据覆盖设备并且启用 TRIM 直通,则它不会增加 SSD 的磨损或影响性能。

相关内容