如果我使用 LUKS 加密提供的--header=<file>
选项,就相当于使用 dm-crypt合理的推诿或者仍然有办法告诉给定的分区是 LUKS 加密的,尽管不包含标头?
答案1
如果使用,--header
则仅将数据写入设备。您可以通过创建循环设备并使用luksFormat
一次 with 和一次 without来检查这一点--header
。如果您使用该选项,则加密的设备不会更改,并且解密的设备会更大。
start cmd: # cd /tmp
start cmd: # dd if=/dev/zero of=luks.img bs=1M count=100
start cmd: # dd if=/dev/zero of=luksheader bs=1M count=10
start cmd: # cryptsetup --force-password --header luksheader luksFormat /dev/loop0
start cmd: # cryptsetup --header luksheader luksOpen /dev/loop0 luks
start cmd: # blockdev --getsz /dev/mapper/luks
204800
start cmd: # blockdev --getsz /dev/loop0
204800
start cmd: # dd if=/dev/loop0 bs=1K count=1 | od
0000000 000000 000000 000000 000000 000000 000000 000000 000000
*
0002000
start cmd: # cryptsetup luksClose luks
start cmd: # cryptsetup --force-password luksFormat /dev/loop0
start cmd: # cryptsetup luksOpen /dev/loop0 luks
start cmd: # blockdev --getsz /dev/mapper/luks
200704
start cmd: # dd if=/dev/loop0 bs=1K count=1 | command od
0000000 052514 051513 137272 000400 062541 000163 000000 000000
0000020 000000 000000 000000 000000 000000 000000 000000 000000
0000040 000000 000000 000000 000000 072170 026563 066160 064541
[...]
答案2
对于 LUKS 档案:
在设备上创建一个正常但诱饵/假的 LUKS 标头怎么样?跟着;我可以通过诱饵标头运行 urandom(或媒体上其他更快的噪声填充),以使用该诱饵标头完全填充噪声。
现在,我保存该标头以便在需要时恢复它。接下来,我创建一个带有安全密码的新标头,并创建我的文件系统,并在我想要保存文件时使用它。
一些工作但可执行的 shell 脚本将使这变得快速而简单。当我想使用媒体时,我将正确的 luks 标头写入媒体并拥有对文件系统的完全访问权限。完成后,我擦除标头区域,然后将诱饵 LUKS 标头写回介质。使用可执行的 shell 脚本会非常简单和快速。
在我看来,如果我使用诱饵标头打开 LUKS 媒体,它似乎会被完全擦除,并且由于不存在隐藏卷之类的东西,因此这种举动的嫌疑不会很高。
只是一个想法。
答案3
不,它们在以下方面并不等同合理的推诿。原因是头文件的存在,该文件没有加密隐藏。