我试图了解 LUKS 分离标头与其各自的块设备之间的关系。据我了解,使用分离的标头“格式化”实际上并没有改变其各自块设备的内容,这只发生在您开始写入打开的 ( cryptsetup luksOpen
) 分区时。
所以我想知道:
- 单个加密分区是否可以有两个独立的标头。例如,如果我有一个可移动驱动器间歇性地插入两台不同的计算机,每台计算机是否可以拥有自己独立的标头副本,而无需重新同步标头的两个副本。
- 可以将单个分离的标头用于两个单独的驱动器。例如,如果我有两个加密的备份驱动器,是否可以将单个标头用于两者,或者标头是否以某种方式绑定到分区?
这是可能的。如果您阅读 cryptsetup 手册和常见问题解答,您会发现不鼓励这样做。但是无论如何,没有任何地方可以阻止您这样做。
您可以根据需要使用尽可能多的标题副本,甚至可以修改这些副本,例如,一个副本使用密码 A,另一个使用密码 B - 或者一个可以是 LUKS1 格式,而另一个是 LUKS2。只要加密本身保持不变,任何事情都会发生。不利的一面是,如果您无法控制所有 LUKS 标头副本,则无法撤销密码。
您可以对任意数量的驱动器使用相同的标头,它会起作用,但缺点是,它们都将使用相同的主密钥进行加密。更常见的是使用不同的标头(不同的主密钥),可能具有相同的密码,例如
systemd
支持重新使用相同的密码在启动时打开许多独立的 LUKS 容器。LUKS 标头只是存储实际加密密钥(LUKS 称之为“主密钥”)和相关元数据(如使用哪种密码和数据偏移量)的一种奇特方式。它不记录分区名称或大小,因此没有太多限制。LVM 或 mdadm 元数据对这些东西更加挑剔。