Linux

無法驗證 LUKS 加密

  • June 13, 2021

您好,我有一個關於 LUKS 加密的問題。我已使用 LUKS 加密伺服器上的磁碟,但是當我創建文件並向其中添加內容並對文件進行分類時,內容仍然是純文字。即使我創建了文件的備份並將其放在未加密的硬碟驅動器上,數據也是純文字的。我不確定我怎麼能說加密正在發生。我錯過了什麼嗎?這是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 ~]#

LUKS/dm-crypt 在塊設備級別上工作,而不是在文件系統級別上,所以是的,這是正確的,這就是它的工作方式。

當您打開加密設備(/dev/sdb在您的情況下)時,會在其頂部創建一個新的虛擬設備映射器設備(/dev/mapper/mybackup在您的情況下)。上的所有數據sdb都被加密並mybackup用於以明文方式訪問數據——從系統的角度來看,mybackup它包含一個普通的未加密文件系統,並且它上面的所有內容都是未加密的,這樣系統就可以處理加密數據,而無需額外的加密支持每個將數據讀/寫到磁碟的應用程序。

當從 讀取數據時mybackup,設備映射器(核心模組)讀取數據sdb並對其進行解密,然後以純文字形式返回。類似地,對於寫入,您將純文字寫入mybackup和寫入sdb加密之前。因此,當設備打開時,您磁碟上的所有內容都可以以純文字形式訪問。

因此,只有在未打開設備時,您的數據才是“安全的”。LUKS/dm-crypt(或一般的磁碟加密)的主要案例是在您的磁碟(或整個電腦)被盜的情況下保護數據。由於主密鑰儲存在記憶體中,因此在系統執行和打開設備時不保護數據,您可以使用dmsetup table --showkeys.

引用自:https://unix.stackexchange.com/questions/654047