use*_*174 3 linux virtual-drive luks dm-crypt
我想用 dm-crypt+luks 加密我的外部硬盘驱动器,但我对 LUKS 标头以明文形式提供的所有信息都不满意。
所以我想保持 LUKS 标头和加密数据彼此分开:
我已经知道如何手动实现这一点:
这不是很理想,因为每次安装驱动器时,luks 标头的扇区都会被覆盖,我担心这些扇区肯定会变坏。
另一种方法是,将头文件和加密的 luks 分区合并到一个虚拟 linux 设备中,可以正常挂载。
“合并到一个虚拟设备”我的意思是,标头实际上并未写回 luks 分区,但系统会以这种方式感知它。标题仍然保留在我的 U 盘上。
我唯一的问题是,我不知道如何创建这样的虚拟设备。
任何帮助,将不胜感激。
mic*_*c_e 11
您可以简单地在分离头模式下使用 LUKS:
cryptsetup luksFormat /dev/sda4 --header ~/lukshdr --align-payload 0 --cipher twofish
cryptsetup open /dev/sda4 --header ~/lukshdr mycrypt
cryptsetup luksSuspend mycrypt --header ~/lukshdr
cryptsetup luksResume mycrypt --header ~/lukshdr
Run Code Online (Sandbox Code Playgroud)
你可以把头文件放在任何你想要的地方,包括块设备。
~/lukshdr大小必须至少为 1049600 字节luksFormat才能工作:
dd if=/dev/zero bs=1049600 count=1 > ~/lukshdr
Run Code Online (Sandbox Code Playgroud)
如果运行lsblk -b,您将看到映射设备的大小正好等于 LUKS 设备的大小;没有任何标题或元数据可能隐藏的空间。
$ lsblk -b
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 80026361856 0 disk
??sda1 8:1 0 254803968 0 part /boot
??sda2 8:2 0 5999951872 0 part [SWAP]
??sda3 8:3 0 19999490048 0 part /
??sda4 8:4 0 53771067392 0 part
??mycrypt 254:0 0 53771067392 0 crypt /tmp/mnt
Run Code Online (Sandbox Code Playgroud)
事实上,只要底层密码保持完整,LUKS 设备对于没有头文件的任何人来说看起来就像是随机数据。
| 归档时间: |
|
| 查看次数: |
5538 次 |
| 最近记录: |