可以在“橡胶软管攻击”中幸存下来的技术

信息安全 密码 文件加密
2021-08-20 02:16:47

在纪录片Citizenfour中,爱德华·斯诺登谈到了文件:

我对保护 [文档] 的技术能力感到满意。我的意思是你可以从字面上射我或折磨我,我不能透露密码,即使我想。我有能力做到这一点。

当爱德华·斯诺登声称能够创建一个他不能泄露密码的受保护文件时,存在哪些技术/方法可以实现他所指的场景?

4个回答

沙米尔的秘密分享就是一种方法。它允许使用公钥/私钥对加密文件,然后有效地拆分私钥的各个部分以分发给几个不同的人。在该操作之后(假设各个部分和原始输入私钥在分发后被销毁),需要一定人数的人一起行动才能解密数据。

当然,我们所有的答案都是猜测,但我怀疑最有可能保护文件的方式是遵循Bruce Schneier 关于机场笔记本电脑安全的建议:

第一步:在您登机之前,为您的全盘加密添加另一个密钥(这可能意味着添加另一个“用户”)——并使其随机化。我所说的“随机”是指非常随机:敲击键盘一会儿,就像一只试图写莎士比亚的猴子一样。不要让它令人难忘。甚至不要试图记住它。

从技术上讲,此密钥不会直接加密您的硬盘驱动器。相反,它会加密用于加密硬盘驱动器的密钥——这就是软件允许多个用户的方式。

所以现在有两个不同的用户用两个不同的密钥命名:一个是你通常使用的,一个是你刚刚发明的随机的。

第二步:将新的随机密钥发送给您信任的人。确保受信任的收件人拥有它,并确保它有效。没有它,您将无法恢复您的硬盘驱动器。

第三步:刻录、粉碎、删除或以其他方式销毁该新随机密钥的所有副本。忘了它。如果它足够随机且不易记,这应该很容易。

第四步:正常登机,全程使用电脑。

第五步:在你登陆之前,删除你通常使用的密钥。

此时,您将无法启动计算机。剩下的唯一钥匙是您在第三步中忘记的钥匙。没有必要对海关官员撒谎;如果他不相信你,你甚至可以给他看这篇文章的副本。

第六步:当你安全通过海关时,从你的知己那里取回那个随机密钥,启动你的计算机并重新添加你通常用来访问硬盘的密钥。

就是这样。

这绝不是一张神奇的轻松通关卡。您的计算机可能会被扣押,您可能会被带上法庭并被迫透露谁拥有随机密钥。

为了更加安全,斯诺登本人可能不知道谁拥有备用密钥——因为他给它的同事可能已经将它传递给了其他地方。此外,从斯诺登那里收到备份密钥的人很可能与任何可能的攻击者在不同的国家,并且正在尽最大努力保持安全。

编辑:针对以下评论,我决定添加以下建议:

创建一个虚拟操作系统,从笔记本电脑硬盘的开头开始。带有敏感信息的加密操作系统将是以下分区。将笔记本电脑的引导加载程序配置为从虚拟操作系统引导而无需您的干预。

TrueCrypt 具有类似的隐藏操作系统功能,其中 TrueCrypt 引导加载程序将接受两个不同的密码,从而可以访问两个不同的操作系统。隐藏的操作系统被一些巧妙的隐写术隐藏起来。

我们可以在 Linux 和 LUKS 中做类似的事情,但没有隐写术,通过执行以下操作:

  1. 安装 Linux 两次——在两个分区上。
  2. 用 LUKS 加密它们。
  3. 配置引导加载程序(可能是 GRUB2)以引导第一个 Linux 安装,并删除第二个安装的条目
  4. 每当您想要启动您的第二个秘密安装时,请启动您的笔记本电脑并进入 GRUB 屏幕。直接从引导屏幕修改引导加载程序条目(临时)以指向第二个分区。

第四步对用户不是很友好,我们可以摆脱它,为我们的秘密操作系统创建一个单独的引导加载程序条目,但是任何看到屏幕的人都可以看出机器上有两个操作系统。调查人员仍然可以分辨,但现在他们必须使用分区编辑工具查看笔记本电脑的硬盘驱动器。

这是我提出的一种可以在橡胶软管攻击中幸存下来的原始技术:

  1. 拿一摞现金,大约50张一美元的钞票。也许混合一些五和十与他们。
  2. 将它们随机排列
  3. 从序列号中获取密码,例如通过从每张账单中获取两个最低有效数字以形成一个 100 位数字
  4. 使用此密码作为您的加密密钥
  5. 将现金整齐地堆放在电脑旁边。
  6. 如果政府特工突袭你的家,他们会拿走现金。运气好的话,它会消失在警察的口袋里,再也见不到了。但是,如果你得到一个诚实的警察来检查它作为证据,它仍然会被分类和计算;通过该过程维持其顺序的可能性很小,特别是如果您的堆栈包含不同的面额
  7. 此时,您的密码已经完全消失了。您可能隐约记得密码的几位数字,但任何酷刑都不能强迫您透露密码。特别是因为您每次开始记住密码时都更改密码的策略。
  8. (可选)您不必实际执行任何操作。您的密码可以是您的狗的名字,只要您愿意坚持执行步骤 1-5 的故事,并且可能在您的计算机旁边放一堆几张钞票。

您也不必使用现金;您的密码可能嵌入在您书架上书籍的顺序中,或者其他一些很可能会在搜索中被政府特工破坏的短暂事物中。但现金的优势在于更有可能在搜索中完全消失。

他可能指的是密码原语的神经科学方法,例如以下论文中概述的方法:https ://www.usenix.org/system/files/conference/usenixsecurity12/sec12-final25.pdf

基本上,您可以通过某种游戏或应用程序来训练用户,通过某种游戏或应用程序潜意识地植入密码(例如,为实现目标而组合动作)来防止他们所谓的“橡胶软管攻击”(从某人身上折磨密码) ) 使用内隐学习。用户可以使用密码,但在玩游戏的情况下无法回忆它。

例如,当你一遍又一遍地玩相同的关卡时,想想你在吃豆人或马里奥中记住的动作……你会“擅长”它,因为你为了实现目标而反复练习相同的动作,即使我在一个空房间里(没有游戏,没有屏幕)用游戏控制器让你坐下来,你将无法(轻松地)复制这种模式。

我不确定这是否是斯诺登所指的,但这是一种可能性。