我想知道 Ubuntu/eCryptfs 在运行时将加密的 $HOME 目录中的解密文件存储在哪里。
- 它是否即时解密文件并仅将其存储在 RAM 中?
- 那么大文件怎么办呢(例如,20Gb 的 1080p 电影)?
- 系统关闭后,硬盘上是否有可能残留一些解密文件?
- 解密/加密是否会对操作系统性能产生重大影响?
答案1
解密文件存储在 RAM 中。解密(或加密,在写入时)是即时进行的,逐块进行,而不是一次对整个文件进行解密。当应用程序从文件中读取一个块时,文件由磁盘驱动程序和文件系统驱动程序之间的一层解密。
解密的文件不会写入磁盘,但应用程序可以将数据写入非加密文件系统。特别是,如果您有加密文件系统,则应该加密交换空间,因为应用程序内存中的数据最终可能会进入交换空间。您还应该加密应用程序用于临时存储的目录,例如/tmp
(可以将其设为 tmpfs 并存储在交换空间中)、/var/tmp
(/var/spool/postfix
电子邮件)、/var/spool/cups
(正在打印的文档)等。
加密是否影响性能在很大程度上取决于处理器速度和磁盘速度之间的比率。如果磁盘速度慢而处理器速度快,你不会注意到任何变化。如果处理器速度慢而磁盘速度非常快,你就会感觉到麻烦。最近的 Intel 和 AMD 处理器都配备了 AES 硬件加速器(乙炔) 是最近的 Linux 内核所利用的。