全盘加密与主文件夹加密 - 为什么要选择前者而不是后者

信息安全 磁盘加密
2021-08-13 07:38:05

Niebezpiecznik.pl 是我国流行且广受赞誉的信息安全博客,它向所有人推荐 全盘加密(强调原创)(即“Average Joes”)。他们警告说,在相反的情况下,设备盗窃可能会产生灾难性的后果。

但是,我对为什么全盘加密而不是主文件夹加密感兴趣。(通过主文件夹,我也指它的 Windows 等价物,即C:\Users\username\)。

所有个人数据窃贼可能对欺诈、勒索等感兴趣,都可能驻留在主文件夹中。访问其他文件夹只能让窃贼获得非常重要的已安装程序列表;这样窃贼就会知道该人使用的是 Firefox 或 Google Chrome;自由办公室或女士办公室;也许他们还会知道这个人沉迷于某些电子游戏。可能安装的其他程序(对于图形设计师来说是 Photoshop,对于程序员来说是编程 IDE 等)会给它们同样无用的信息。

即使在 Windows 中,自 Vista 或 7(我不记得)以来,将用户数据存储在 Program Files 中的编写不当的程序也会将其写入访问权限静默地重定向到 Virtual Store(驻留在 中C:\Users\username\)。因此,我看不到任何个人信息如何泄露到主文件夹之外。

我链接到的页面没有提供全盘加密而不是主文件夹加密的理由。因此,请问这是否是一般建议以及为什么(不是)?全盘加密可以缓解哪些主文件夹加密无法缓解的威胁?(邪恶的女仆就是这样的威胁之一,但我不确定这是否是普通乔必须担心的事情。)

3个回答

我到处推荐全盘加密。主文件夹加密将涵盖很多,但缺少几点:

  • 家庭以外的数据

    有些程序会写东西/tmp,日志文件会/var/log,交换会包含敏感数据。这些目录不在您的家中,不会受到保护。

  • 防篡改保护

    我认为这是最重要的。如果您的计算机因任何原因发生故障,并且您必须将其送去维修,您的家就会受到保护,而您的系统则不会。替换二进制文件或安装后门将是微不足道的。

  • 保护登录密码、WiFi密码和数据库

    同一个支持技术人员可以复制/etc/shadowNetworkManager 中的所有数据,任何内容/var/lib/mysql等等。使用全盘加密,无法复制任何内容。

因为数据很容易出现在您的主目录之外。最常见的两件事是:

  • 临时文件:许多程序会在系统临时目录中创建临时文件,这些文件可用于提取存档、自动保存和许多其他用途。
  • 交换文件或分区:敏感数据可以保证在某个时候在 RAM 中,这意味着它可能会保存到交换文件或分区中。如果您使用休眠,那么您的所有 RAM 都将保存到未加密的交换文件或分区中(可能包括用于解密主目录的密钥!)

在许多其他情况下,数据可能会在您没有意识到的情况下最终出现在您的主目录之外,加密所有内容比担心每种可能的情况要容易得多。

磁盘与文件系统加密的更多优点和缺点

磁盘加密专家

  • 没有文件系统元数据泄露*
  • 一切都是加密的,而不仅仅是某些目录

磁盘加密缺点

  • 一般默认使用XTS;XTS 通常对于磁盘加密来说“足够好”(这就是它的设计目的),但它有一些让人紧张的特性,尤其是在攻击者重复访问磁盘的情况下
  • 一般不认证**;这意味着如果攻击者更改了某些内容,则不一定会被检测到

文件系统加密专家

  • 不使用 XTS 模式
  • 可能经过身份验证,但可能不是(eCryptfs 目前似乎不支持 AEAD 密码,其他解决方案可能)

文件系统加密缺点

  • 可能会泄漏文件名(eCryptfs 默认加密文件名,但有一个选项可以禁用此功能)
  • 泄露大量元数据***:
    • 目录布局(目录结构、每个目录的文件数)
    • 文件大小(以块大小为精度,一般为4KiB)
    • 文件元数据;可以包括所有者、权限、创建日期、修改日期、访问日期等

*如果在加密设置之前或期间没有用随机数据擦除磁盘,攻击者将能够判断已经写入了多少数据,并且可能能够根据写入模式猜测使用的文件系统。尤其是 SSD可能会遇到这个问题。

**已经讨论过它,但现在我不相信 LUKS 或 VeraCrypt 对它有任何支持。

***这些都适用于 eCryptfs,但我没有看过其他文件系统加密。我希望其他人是相似的,尽管可能在一两点上有所不同。

这取决于。在 Windows 世界(最新版本)中,主文件夹应该包含大部分用户数据,包括临时文件。但是在很多用例中,个人数据将驻留在该文件夹之外:

  • /var/mailLinux 系统上的邮件数据 ( )
  • 不是用户私有的数据库。例如 PostgreSQL 通常使用与用户不同的私人帐户。
  • 使用系统临时文件夹的应用程序(在 Unix 世界中很常见)
  • 出于任何原因使用私人文件夹的应用程序(可能是编程不当)
  • 交换数据

如果其中任何一个适用,那么主文件夹加密是不够的,您应该考虑全盘加密。