对于具有加密交换的多用户计算机来说,问题在于如何允许每个用户休眠并从休眠中恢复而不损害其他用户的安全。
我正在寻找一种方法,专门为每个用户的交换使用情况进行加密,这样当他们想要从休眠状态恢复时,只需输入他们的密码/口令。他们不应该能够解密其他用户的交换;必须停止所有用户的进程,直到相应的用户可以提供其密码来解密其交换并继续其进程。
用户可能希望他们的部分或全部进程不加密,以便无论谁恢复计算机,他们都可以继续。
只要系统进程中没有存储个人数据,并且系统不让用户的密钥触及交换区,那么系统的交换区就不需要加密,这意味着任何用户都可以恢复系统而不会危及其他用户。
请注意,这可以通过使用存储在 BIOS 固件(例如 Coreboot 或 LibreBoot)中的密钥对系统进行加密来补充,以使篡改变得非常困难,但这是一种根本不同的方法,因为篡改所涉及的硬件明显很困难,而不是完整的篡改方法。假设不存在篡改问题,则可以使用加密方法来防止人们读取他人的个人数据。为了获得最佳安全性,这两种机制可以一起使用,但在这个问题中,我要求采用完全加密的方法。
理论上是有道理的,但实践中却不一定能实施。我希望这在 Linux 中是可能的。
答案1
是的,通过软件一切皆有可能。为此,您可能必须修改内核的一些重要部分。如果你现在谈论的是……不。事实上,您根本无法根据给定用户分配系统交换空间。
另一种方法是不在物理分区上分配任何交换空间,并为 truecrypt 卷开辟一个大型预分配文件,安装它,并在其下创建一个交换文件。然后设置系统使用 truecrypt 卷下的该文件作为交换文件。我不保证这种举动的稳定性和处理效率,但是,这将供您尝试。但是,这将针对每个系统而不是每个用户。