在纪录片Citizenfour中,爱德华·斯诺登谈到了文件:
我对保护 [文档] 的技术能力感到满意。我的意思是你可以从字面上射我或折磨我,我不能透露密码,即使我想。我有能力做到这一点。
当爱德华·斯诺登声称能够创建一个他不能泄露密码的受保护文件时,存在哪些技术/方法可以实现他所指的场景?
在纪录片Citizenfour中,爱德华·斯诺登谈到了文件:
我对保护 [文档] 的技术能力感到满意。我的意思是你可以从字面上射我或折磨我,我不能透露密码,即使我想。我有能力做到这一点。
当爱德华·斯诺登声称能够创建一个他不能泄露密码的受保护文件时,存在哪些技术/方法可以实现他所指的场景?
沙米尔的秘密分享就是一种方法。它允许使用公钥/私钥对加密文件,然后有效地拆分私钥的各个部分以分发给几个不同的人。在该操作之后(假设各个部分和原始输入私钥在分发后被销毁),需要一定人数的人一起行动才能解密数据。
当然,我们所有的答案都是猜测,但我怀疑最有可能保护文件的方式是遵循Bruce Schneier 关于机场笔记本电脑安全的建议:
第一步:在您登机之前,为您的全盘加密添加另一个密钥(这可能意味着添加另一个“用户”)——并使其随机化。我所说的“随机”是指非常随机:敲击键盘一会儿,就像一只试图写莎士比亚的猴子一样。不要让它令人难忘。甚至不要试图记住它。
从技术上讲,此密钥不会直接加密您的硬盘驱动器。相反,它会加密用于加密硬盘驱动器的密钥——这就是软件允许多个用户的方式。
所以现在有两个不同的用户用两个不同的密钥命名:一个是你通常使用的,一个是你刚刚发明的随机的。
第二步:将新的随机密钥发送给您信任的人。确保受信任的收件人拥有它,并确保它有效。没有它,您将无法恢复您的硬盘驱动器。
第三步:刻录、粉碎、删除或以其他方式销毁该新随机密钥的所有副本。忘了它。如果它足够随机且不易记,这应该很容易。
第四步:正常登机,全程使用电脑。
第五步:在你登陆之前,删除你通常使用的密钥。
此时,您将无法启动计算机。剩下的唯一钥匙是您在第三步中忘记的钥匙。没有必要对海关官员撒谎;如果他不相信你,你甚至可以给他看这篇文章的副本。
第六步:当你安全通过海关时,从你的知己那里取回那个随机密钥,启动你的计算机并重新添加你通常用来访问硬盘的密钥。
就是这样。
这绝不是一张神奇的轻松通关卡。您的计算机可能会被扣押,您可能会被带上法庭并被迫透露谁拥有随机密钥。
为了更加安全,斯诺登本人可能不知道谁拥有备用密钥——因为他给它的同事可能已经将它传递给了其他地方。此外,从斯诺登那里收到备份密钥的人很可能与任何可能的攻击者在不同的国家,并且正在尽最大努力保持安全。
编辑:针对以下评论,我决定添加以下建议:
创建一个虚拟操作系统,从笔记本电脑硬盘的开头开始。带有敏感信息的加密操作系统将是以下分区。将笔记本电脑的引导加载程序配置为从虚拟操作系统引导而无需您的干预。
TrueCrypt 具有类似的隐藏操作系统功能,其中 TrueCrypt 引导加载程序将接受两个不同的密码,从而可以访问两个不同的操作系统。隐藏的操作系统被一些巧妙的隐写术隐藏起来。
我们可以在 Linux 和 LUKS 中做类似的事情,但没有隐写术,通过执行以下操作:
第四步对用户不是很友好,我们可以摆脱它,为我们的秘密操作系统创建一个单独的引导加载程序条目,但是任何看到屏幕的人都可以看出机器上有两个操作系统。调查人员仍然可以分辨,但现在他们必须使用分区编辑工具查看笔记本电脑的硬盘驱动器。
这是我提出的一种可以在橡胶软管攻击中幸存下来的原始技术:
您也不必使用现金;您的密码可能嵌入在您书架上书籍的顺序中,或者其他一些很可能会在搜索中被政府特工破坏的短暂事物中。但现金的优势在于更有可能在搜索中完全消失。
他可能指的是密码原语的神经科学方法,例如以下论文中概述的方法:https ://www.usenix.org/system/files/conference/usenixsecurity12/sec12-final25.pdf
基本上,您可以通过某种游戏或应用程序来训练用户,通过某种游戏或应用程序潜意识地植入密码(例如,为实现目标而组合动作)来防止他们所谓的“橡胶软管攻击”(从某人身上折磨密码) ) 使用内隐学习。用户可以使用密码,但在玩游戏的情况下无法回忆它。
例如,当你一遍又一遍地玩相同的关卡时,想想你在吃豆人或马里奥中记住的动作……你会“擅长”它,因为你为了实现目标而反复练习相同的动作,即使我在一个空房间里(没有游戏,没有屏幕)用游戏控制器让你坐下来,你将无法(轻松地)复制这种模式。
我不确定这是否是斯诺登所指的,但这是一种可能性。