LUKS 加密能检测 HDD/SSD 上的位腐烂/位翻转吗?

LUKS 加密能检测 HDD/SSD 上的位腐烂/位翻转吗?

假设底层存储设备发生未检测到的位翻转,但没有报告错误。

  • LUKS 对此有何反应?
  • 它是否检测为错误?dmesg/syslog 中有任何内核消息吗?
  • 它会忽略并解密无效数据吗?
  • LUKS 中有任何类型的校验和验证吗?

我询问的是默认密码 aes-xts-plain64。

答案1

LUKS 不应决定什么是或不是位翻转。这应该在较低级别检测,例如硬盘控制器或基于闪存的设备的闪存转换层。

大容量存储设备自出现以来就一直存在可恢复错误的问题。数十年来,人们一直使用纠错码来检测这些错误,并在可能的情况下纠正这些错误。这就是需要检测和纠正轻微“位衰减”的地方。

为了让 LUKS 执行纠错,它必须复制(可能)已经存在的纠错方案。这些方案涉及开销——对于每 X 个字节的数据,还必须维护 Y 个字节的错误检测和纠正数据。LUKS 没有为 ECC 开销保留空间,因此它无法纠正错误。

相关内容