![truecrypt 是否在内存中存储明文密码?](https://linux22.com/image/1384000/truecrypt%20%E6%98%AF%E5%90%A6%E5%9C%A8%E5%86%85%E5%AD%98%E4%B8%AD%E5%AD%98%E5%82%A8%E6%98%8E%E6%96%87%E5%AF%86%E7%A0%81%EF%BC%9F.png)
我知道明文密码用于解密存储实际数据的所有解密细节的标头。
因此,一旦将解密的标头复制到内存中,就没有理由将实际密码存储在内存中。
我的问题是:
- 假设攻击者在安装 TrueCrypt 卷时可以访问您的电脑。
- 假设攻击者有能力转储驱动程序内存。
- 没有使用密钥文件。
攻击者能否恢复您输入的密码?或者他只能恢复解密的标头?
这个问题的更高层次是:攻击者是否能够破坏使用与已安装卷相同密码的其他未安装加密卷?
- 假设不存在任何其他不相关的弱点。
编辑:我不是在谈论存储在标头内的密码密钥。我在谈论的是经过加盐和散列以解密标头本身的密码。
答案1
不,但它确实存储了密码密钥,这同样糟糕,甚至更糟,是的,有几种“密码恢复”工具可以抓取 RAM、页面文件和 hiberfil.sys 来查找密钥。
此外,据我了解,您的密钥是根据您输入的密码进行随机化的,因此相同的密码将产生不同的密钥。请在此处查看更多信息:http://www.truecrypt.org/docs/header-key-derivation
答案2
只要卷被安装了,那么密钥就位于 RAM 中。
来自 TrueCrypt 的网站:RAM 中的未加密数据。
本质上,未加密的主密钥也必须存储在 RAM 中。当卸载非系统 TrueCrypt 卷时,TrueCrypt 会擦除其主密钥(存储在 RAM 中)。当计算机完全重新启动(或完全关闭)时,所有非系统 TrueCrypt 卷都会自动卸载,因此,存储在 RAM 中的所有主密钥都会被 TrueCrypt 驱动程序擦除(系统分区/驱动器的主密钥除外 - 见下文)。
答案3
有一个著名的实验,一所大学让某人登录然后关闭并冻结计算机内存。然后他们移除 RAM 并从另一个系统读取它,因此理论上攻击是可能的。密码仍在 RAM 中。不记得这是否是专门为 Truecrypt 设计的,但我相信是的。不确定 Truecrypt 的较新版本是否尝试清除内存中的密码。更令人不安的是可以通过 DMA 特权端口执行此操作。如果我没记错的话,PCMCIA 等端口和一个特定的 Mac 端口具有直接 DMA 访问权限,因此您只需插入一张卡,它就可以吸收 RAM 的内容而无需任何交互。