是否有未加密但已签名的文件系统?

是否有未加密但已签名的文件系统?

我很好奇是否有一个未加密的文件系统,任何人都可以读取它,但采用数字签名方案,以便要求写入进行数字签名。

我怀疑答案是“不,因为它会很复杂,而且可能比简单地加密驱动器慢”,但似乎很有趣。

答案1

两个明显的候选人是ZFSBtrfs,但据我所知,他们不这样做。 Btrfs 目前根本没有加密(对于加密,您应该使用 LUKS,它提供加​​密和可选的块级完整性,但不提供全局完整性)。 ZFS 有一个完整性模式它使用加密哈希树来确保文件系统保持一致。如果根哈希被签名,这将保证文件系统的真实性:对手无法注入虚假内容。这几乎可以保证文件系统的完整性:对手在没有密钥的情况下所能做的就是将文件系统回滚到早期版本。确保文件系统完整性的另一种方法是存储根哈希的离线副本;我找不到执行此操作的现有工具的参考。

验证码是一个保险丝文件系统,单独验证文件的签名。据我快速浏览后可以看出(我今天之前没有听说过),它不会对目录进行签名,尝试防止回滚或验证文件系统的一致性,因此攻击者可以将单个文件降级到早期版本并可以删除文件。

为什么加密如此常见而完整性验证如此不常见?我认为有几个原因:对完整性的威胁比对机密性的威胁不太常见,它们更难对抗,并且完整性验证具有更高的性能成本。

  • 加密可防止磁盘被盗。它几乎在任何地方都是一个威胁,一旦磁盘被盗,就没有其他补救措施。完整性验证可防止对手在卸载存储时访问系统(如果已安装,完整性验证密钥位于内存中) -邪恶女仆袭击。这很少是针对服务器的威胁,因为服务器的篡改通常是可检测到的,但它是针对笔记本电脑的威胁。

  • 即使您确实设法通过加密方式保护您的磁盘免受邪恶女仆攻击,您的计算机仍然容易受到攻击针对固件的攻击。 PC通常有多个闪存,这些闪存可以在没有加密保护的情况下进行重写(包括磁盘本身的固件)。

  • 完整性保护的成本很高,因为它是全球财产。加密可以逐个扇区进行,因此成本很小,除非您的CPU非常慢而磁盘非常快。如果您逐个扇区进行身份验证,对手仍然可以通过将某些扇区恢复为较早的值来部分破坏系统,尽管这是一种更复杂的攻击,因为它可能需要在不同时间访问系统。因此,完整的真实性验证需要将扇区的认证值与参考值进行比较,其真实性和新鲜度本身需要检查等。

相关内容