如何验证分区是否已加密?

如何验证分区是否已加密?

本文向我展示了如何查看 Ubuntu 是否有加密交换分区。我想知道的是如何确定交换分区(或任何其他分区)是否真正加密。我希望看到的是,某些磁盘实用程序尝试读取加密内容,显示乱码,但在输入正确的密码后,它会按预期显示文件。

由于 crypttab 使用随机密钥,因此这对于交换来说会很困难,但我/应该/能够看到表明它已被加密的乱码。

编辑:我正在添加 testdisk 的输出。我不知道在这里要寻找什么。

 Disk /dev/sda - 500 GB / 465 GiB - ST3500413AS
 Disk /dev/mapper/cryptswap1 - 4008 MB / 3823 MiB
 Disk /dev/mapper/vg_doulos-home - 453 GB / 422 GiB - ST3500413AS
 Disk /dev/mapper/vg_doulos-root - 39 GB / 37 GiB - ST3500413AS
 Disk /dev/mapper/vg_doulos-tmp - 1996 MB / 1904 MiB - ST3500413AS
 Disk /dev/sr0 - 735 MB / 701 MiB (RO) - hp      DVD D  DH16D6SH
 Disk /dev/dm-0 - 39 GB / 37 GiB - ST3500413AS
 Disk /dev/dm-1 - 1996 MB / 1904 MiB - ST3500413AS
 Disk /dev/dm-2 - 453 GB / 422 GiB - ST3500413AS
 Disk /dev/dm-3 - 4008 MB / 3823 MiB

此时,我应该选择检查什么?例如,我选择了/dev/mapper/vg_doulos_home。然后我得到一个如下所示的屏幕:

Please select the partition table type, press Enter when done.
 [Intel  ] Intel/PC partition
 [EFI GPT] EFI GPT partition map (Mac i386, some x86_64...)
 [Humax  ] Humax partition table
 [Mac    ] Apple partition map
>[None   ] Non partitioned media
 [Sun    ] Sun Solaris partition
 [XBox   ] XBox partition
 [Return ] Return to disk selection

我自动选择,Non partitioned media因为这是这里的默认设置。我在这里列出文件:

   P ext4                           0  885940223  885940224
Directory /

>drwxr-xr-x     0     0      4096 30-May-2012 11:33 .
 drwxr-xr-x     0     0      4096 30-May-2012 11:33 ..
 drwx------     0     0     16384 30-May-2012 11:03 lost+found
 dr-x------  1000  1000      4096 30-May-2012 11:33 averyc
 drwxr-xr-x     0     0      4096 30-May-2012 11:33 .ecryptfs

我仍然能够深入到主averyc目录,找到此目录布局,但无法复制任何文件:

P ext4 0 885940223 885940224 目录 /averyc

>dr-x------  1000  1000      4096 30-May-2012 11:33 .
 drwxr-xr-x     0     0      4096 30-May-2012 11:33 ..
 lrwxrwxrwx  1000  1000        32 30-May-2012 11:33 .ecryptfs
 lrwxrwxrwx  1000  1000        31 30-May-2012 11:33 .Private
 lrwxrwxrwx  1000  1000        52 30-May-2012 11:33 README.txt
 lrwxrwxrwx  1000  1000        56 30-May-2012 11:33 Access-Your-Private-Data.desktop

有人能解释一下这是怎么回事吗?我如何验证这个分区是否真的加密了?

答案1

您可以启动实时 CD 并尝试几乎任何数据恢复工具,例如 testdisk。当您运行数据恢复工具时,它将识别各种文件。打开其中任何一个,您都会看到随机数据。

答案2

简短的一般性回答

你不能。加密的目的是使有效数据看起来像乱码,即尽可能与随机数据难以区分。

适合大多数情况的长答案

另一方面,大多数有用的数据(例如文件系统)都是结构化的和非随机的。考虑到这一点,您可以:

  1. 尝试将其与已知模式(如众所周知的文件格式或文件系统标头)进行匹配。适合的工具是file(1)(通用文件格式)和blkid(8)(文件系统和分区表)。

    另外,一些加密协议(例如 LUKS)将标头附加到加密数据,前面提到的工具可以识别这些标头。

  2. 对数据进行统计分析,看看是否出现足够随机,但这并不能证明加密,只能提供一点提示。数据实际上可能是一系列随机事件的未加密记录。

    这是我之前编写的一个 C 程序,用于实现这个目的:https://gist.github.com/davidfoerster/079b6d8c92fb702b89aa

  3. 尝试一堆加密协议和密钥并尝试解密。问题是,大多数常见协议无法告诉您密文是否使用特定协议和密钥加密。

    作为一种解决方法,使用点 1 来查看解密的数据是否符合已知模式(它不必如此;请参阅点 2。一些加密协议(例如 TrueCrypt)使用加密标头,因此工具可以快速查看解密是否成功。

相关内容