无法验证 LUKS 加密

无法验证 LUKS 加密

您好,我有一个关于 LUKS 加密的问题。我已经使用 LUKS 加密服务器上的磁盘,但是当我创建文件并向其中添加内容并 cat 该文件时,内容仍然是纯文本。即使我创建文件的备份并将其放在非加密的硬盘驱动器上,数据也是纯文本的。我不确定如何说加密正在发生。我错过了什么吗?这是 LUKS 应该如何工作的吗?

/dev/sdb: UUID="d7f667ed-50a4-4324-8708-6720d390bfd2" TYPE="crypto_LUKS"
[root@host1 ~]# cat /opt/my_encrypted_backup/test12
This is a test
[root@host1 ~]# clear
[root@host1 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0    8G  0 disk
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0    7G  0 part
  ├─centos-root 253:0    0  6.2G  0 lvm   /
  └─centos-swap 253:1    0  820M  0 lvm   [SWAP]
sdb               8:16   0    1G  0 disk
└─mybackup      253:2    0 1022M  0 crypt /opt/my_encrypted_backup
sr0              11:0    1 1024M  0 rom
[root@host1 ~]#
[root@host1 ~]#
[root@host1 ~]# blkid /dev/sdb
/dev/sdb: UUID="d7f667ed-50a4-4324-8708-6720d390bfd2" TYPE="crypto_LUKS"
[root@host1 ~]#
[root@host1 ~]#
[root@host1 ~]# cat /opt/my_encrypted_backup/test12
This is a test
[root@host1 ~]# cp /opt/my_encrypted_backup/test12 /
[root@host1 ~]# cat /test12
This is a test
[root@host1 ~]#

答案1

LUKS/dm-crypt 在块设备级别工作,而不是在文件系统级别工作,所以是的,这是正确的,这就是它的工作方式。

当您打开加密设备(在您的情况下)时,会在其之上/dev/sdb创建一个新的虚拟设备映射器设备(在您的情况下)。/dev/mapper/mybackup所有数据都经过sdb加密,mybackup用于以明文方式访问数据——从系统的角度来看,mybackup包含一个正常的未加密文件系统,并且其上的所有内容都是未加密的,这样系统就可以处理加密数据,而无需额外的加密支持每个从磁盘读取/写入数据的应用程序。

当从 读取数据时mybackup,设备映射器(内核模块)从 读取数据sdb并解密,然后以纯文本形式返回。类似地,对于写入,您可以写入纯文本,mybackup并且在写入之前对其sdb进行加密。因此,当设备打开时,磁盘上的所有内容都可以纯文本形式访问。

因此,只有在设备未打开的情况下,您的数据才是“安全的”。 LUKS/dm-crypt(或一般的磁盘加密)的主要用例是在磁盘(或整个计算机)被盗时保护数据。它在系统运行和设备打开时不保护数据,因为主密钥存储在内存中,您可以使用dmsetup table --showkeys.

相关内容