我对 Linux 加密协议的理解是,密钥“分布”在整个磁盘上,因此即使是很小的损坏也会造成重大损失。特别是,除非您有备份,否则“主密钥”(而不是密码)的损坏基本上会使设备无法使用。我在这里谈论的是硬盘加密(在启动时),不是主目录加密。
安装我的设备后,我收到的错误很熟悉:
Command failed with code 1: No key available with this passphrase.
假如说我是使用相同的密码,还有什么可能导致此错误?我的磁盘映像似乎包含有效版本的标头。
> cryptsetup -v luksDump /dev/sdb5
LUKS header information for /dev/sdb5
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha1
Payload offset: 4096
MK bits: 512
MK digest: 23 97 8b 80 e5 92 5a 2f dd c8 cf d9 c0 d1 e7 42 7c bc 3e 4f
MK salt: 05 a5 10 62 46 45 36 8a 89 13 f1 94 0f 4b 9a 39
16 ca e0 f9 47 45 fd 0c 1b e0 bd e9 40 c4 91 d3
MK iterations: 40500
UUID: ef71756f-2724-4f44-90ed-29ddb760e73c
Key Slot 0: ENABLED
Iterations: 161615
Salt: f9 ad 13 c6 26 7f 59 c2 72 81 99 4f 67 b9 19 9e
17 bc 17 75 96 d4 7d dd 74 4a d0 87 c7 b8 8d 95
Key material offset: 8
AF stripes: 4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Command successful.
我实际上已研究这个问题有一段时间了并且对可能发生的事情有很多种理论。 请帮助我找到最有可能的解决方案。
1)硬盘损坏导致加密密钥改变。
2) 我在 Ubuntu 14.04 上加密了磁盘,并尝试在 Ubuntu 16.04 上加载它。由于我的密码使用特殊字符,因此某些输入协议会对此进行混淆。在我完成的许多项目中,包含“!”的字符串往往会混淆命令行。所以我想知道这是否可能发生在这里。
3) 我在一台设备上加密了硬盘,但正尝试将其加载到另一台设备上。请参阅 #2 中的特殊字符注释
4)我输入了错误的密码
5)攻击者入侵了我的计算机并使用另一个密码重新加密它。
6) ... 其他?也许是读取密钥时从错误的位开始?
显然,对于局外人来说,理论 4 是最有可能的解决方案,但让我们假设我的密码是正确的。那么理论 5 基本上意味着我被坑了,而且也不太可能,所以我们暂时忽略它。理论 1-3 有效吗?理论 6、7、8 可能是什么?