全盘加密和垃圾处理

全盘加密和垃圾处理

我已经安装了具有全盘加密的 Ubuntu 18.04.1,并有两个密码,一个用于磁盘登录,另一个用于主目录登录。

如果我将文件拖到垃圾箱,然后“清空垃圾箱”,有人能恢复该文件吗?基本上,解密过程是否会对清空的垃圾箱进行解密?

我正在考虑可能需要磁盘访问的维修人员。

答案1

当您说“我已经安装了带全盘加密的 Ubuntu 18.04.1”时,我猜您安装了带 LUKS 的 Ubuntu。您输入密码来解密硬盘驱动器(/boot 扇区除外,如果您希望能够启动,则无法加密),然后输入用户名的登录密码。在这种情况下,一旦您解密了磁盘,垃圾文件夹就可见/可访问,就像您从未加密过磁盘一样。当您删除文件时,它们会被释放,但仍可在解密磁盘。所以,正如@b_laoshi 所建议的,如果你想要删除文件,你应该将它们粉碎。

答案2

如果您的机器使用的是 HDD,那么在交接系统之前,只需安全地擦除您不想让它们访问的文件即可。如果您使用的是 SSD,那么这可能毫无意义!...

shred -uzn3 <path to your file>

或者如果你有一个文件夹中满是你想粉碎的文件(这也会深入到所有子目录中):

find <path to your folder> -type f -exec shred -uzn3 '{}' \;

所用开关的细目:

  • -u:覆盖后截断并删除文件
  • -z:添加最后的零覆盖以隐藏粉碎
  • -n 3:覆盖3次

防止之前删除的文件被类似地恢复数据的唯一方法是覆盖所有空闲磁盘空间。如果你想这样做,请尝试下面的脚本。请注意,如果你有大量可用空间,这可能需要很长时间。此外,这可能无法按预期与 SSD 一起工作!将此脚本放在您的主目录中并运行它。

#!/bin/bash
# desc: When run, this script fills the partition on which it resides with random or 
#   zero-filled files. Once filled all of the files generated are removed. Thus any 
#   existing date in the free space is overwritten.
# WARNING: because of wear-leveling techniques used by SSDs this may not work
#   as expected with SSDs and some data may remain recoverable.

useRandom=0 #using random data is MUCH slower!
[ $useRandom -eq 1 ] && readDev=/dev/urandom || readDev=/dev/zero
prefix="wipe"
# if we started and killed the script before, pick up where we left off
i=$(ls -l ${prefix}_*.filler 2> /dev/null | wc -l) || i=0

echo "Filling this filesystem. This could take a while ..."
# start an infinite loop writing 2G files to disk
while :
do
    # write (another) 2G file; break loop when no space is left
    dd if=$readDev of=${prefix}_$i.filler bs=4M count=512 > /dev/null 2>&1 || break
    let $[i++]
    # calculate values for displaying progress
    completed=$(ls -l ${prefix}_*.filler | awk '{print  $5}' | paste -sd+ | bc)
    free=$(df -PB1 . | tail -n1 | awk '{print $4}')
    percent=$(echo "scale=2; 100 / (1 + $free / $completed)" | bc)
    # show progress
    echo "Progress: $(numfmt --to si <<< "$completed") (${percent}%)"
done
# when no space is left, print out the 100% progress indicator and remove the zero-filled files
echo "Progress: $(ls -l ${prefix}_*.filler | awk '{print  $5}' | paste -sd+ | bc | numfmt --to si) (100.00%)"
echo "Finished filling partition! Cleaning up."
rm ${prefix}_*.filler

exit

答案3

file和仅存在于挂载了加密目录的文件系统file-in-Trash中。写入磁盘的实际数据是加密的,对文件系统来说,它们看起来像是二进制垃圾。当实例卸载您的主目录时,它会忘记您的真实文件,只会在磁盘上留下加密的二进制垃圾。 ecryptfs$HOMEecryptfs

当另一个ecryptfs挂载您的$HOME目录filefile-in-Trash变得可见时。

删除后file-in-Trash,其块将被放入文件系统的可用空间列表中ecryptfs。它也看起来像磁盘上的加密二进制垃圾。

如果您共享“磁盘登录”密码,但不共享“登录”密码,技术人员将可以访问您的$HOME目录的加密副本以及目录之外的所有系统文件$HOME。技术人员可以破坏您的系统,但看不到您的文件。

相关内容