运行时解密的文件存储在哪里?

Pet*_*ler 9 filesystem encryption ecryptfs

我想知道 Ubuntu/eCryptfs 在运行时将加密的 $HOME 目录中的解密文件存储在哪里。

  • 它是否及时解密文件并将它们仅存储在 RAM 中?
  • 大文件(例如 20Gb 的 1080p 电影)怎么样?
  • 系统关闭后是否有可能在硬盘上留下一些解密文件?
  • 解密/加密是否会显着影响操作系统性能?

Gil*_*il' 9

解密后的文件存储在 RAM 中。解密(或加密,写入时)是实时进行的,逐块进行,而不是一次对整个文件进行。当应用程序从文件中读取一个块时,文件被磁盘驱动程序和文件系统驱动程序之间的一层解密。

解密的文件不会写入磁盘,但应用程序可以将数据写入未加密的文件系统。特别是,如果你有加密的文件系统,你应该加密你的交换空间,因为应用程序内存中的数据最终可能会进入交换空间。您还应该加密应用程序用于临时存储的目录,例如/tmp(可以制作 tmpfs 并因此存储在交换空间中)/var/tmp/var/spool/postfix(电子邮件)、/var/spool/cups(正在打印的文档)等。

加密是否影响性能在很大程度上取决于处理器速度和磁盘速度之间的比率。使用慢速磁盘和快速处理器,您不会注意到任何事情。使用慢速处理器和非常快的磁盘,您会感到痛苦。最近的 Intel 和 AMD 处理器具有用于 AES ( AES-NI ) 的硬件加速器,最近的 Linux 内核利用了这些硬件加速器。