“扩展随机”的奇怪故事

2021-02-06 22:58:10

昨天,大卫·本杰明(David Benjamin)在IETF的TLS邮件列表中发布了一个非常神秘的说明。从表面上看,这篇文章描述了老式佳能打印机中一些引起癫痫发作的缺陷。对大多数人来说,这是一个完全的贪睡。然而,对我和我的一些同事来说,就像X文件中的那个场景一样,Mulder和Scully最终了解到外星人是真实的。

这些僵化的打印机证实了我们在2014年开发的一种理论,但无法证明:即RSA的BSAFE TLS库中存在名为``扩展随机''的特定功能-我们认为这是共同努力的证据由美国国家安全局(NSA)使用后门美国密码技术。

在开始详细介绍之前,我想以两种不同的方式对这篇文章加以说明。首先,我对加密后门的话题写得太多了。 2013年,斯诺登(Snowden)的泄密事件揭露了一场破坏美国加密系统的运动。从那时起,密码学家花费了数千个小时来识别,记录和试图说服人们关心这些后门。我们很累,我们想做更多有用的事情。

第二点警告涉及加密后门的任何讨论问题。具体来说,您永远不会真正获得绝对的证明。总是有一些天真的或偶然的解释可能符合证据,也许这都是愚蠢的错误。因此,您寻找巧合不太可能的模式,并经常使用Occam的剃须刀。您不会每天得到斯诺登。

综上所述,让我们谈谈扩展随机性,以及这如何告诉我们有关NSA的信息。首先介绍一些背景。

要了解此发现的上下文,您需要了解一种称为Dual EC DRBG的标准。这是美国国家安全局(NSA)在2000年代初期开发的一种提议的随机数发生器。 NIST在2007年对它进行了标准化,后来将其部署在一些重要的密码产品中,尽管当时我们还不知道。

Dual EC有一个主要问题,那就是它可能包含一个后门。 Shumow和Ferguson在2007年指出了这一点,并在2013年Snowden泄漏中得到了有效证实。 NIST通过取消该标准做出了回应。 (有关Dual EC后门的说明,请参见此处。)

大约在这个时候,全世界都知道RSA Security已将Dual EC设为其流行的密码库(称为BSAFE)中的默认随机数生成器。 RSA并没有完全保密,但是这样做实在是一件令人毛骨悚然的事情,在加密社区中没人知道。因此,多年来RSA都使用这种疯狂的算法向其库提供了支持,该算法已进入各种商业设备。

但是,RSA戏剧还没有结束。 2013年末,路透社报道称RSA已拿出1000万美元用于后门软件。 RSA对此有所否认。或者其他的东西。还不清楚。

无论意图如何,众所周知RSA BSAFE确实包含了Dual EC。当然,这可能是一个无辜的决定,因为Dual EC是NIST标准。为了阐明这个问题,在2014年,我和我的同事决定对BSAFE库进行反向工程,以查看所谓的Dual EC中的后门是否实际上可被NSA等攻击者利用。我们认为,图书馆设计师做出的具体工程决策可能会有益于以一种方式或另一种方式扩展规模。

在对Java版本的BSAFE进行反向工程的过程中,我们发现了一个有趣的内容。具体来说,我们发现BSAFE支持TLS协议的非标准扩展,称为“扩展随机”。

扩展随机扩展名是由NSA雇员Margaret Salter(有时是NSA信息保证局局长,负责国防部的``防御性''加密货币)提出的IETF草案,Eric Rescorla是承包商。 (很明显,埃里克被雇用来制定一份不会损害TLS的体面的提议,并且主要用于政府机器上。美国国家安全局(NSA)没有与他分享他们的动机。)

请务必注意,扩展随机数本身不会引入任何加密漏洞。它所做的只是增加TLS协议连接中使用的随机数据(“随机数”)的数量。这一点根本不会伤害TLS,此外它主要用于美国政府的计算机。

关于扩展随机的唯一有趣的事情是使用Dual EC算法生成随机数据时发生的情况。具体来说,这些额外的数据充当“火箭燃料”,大大提高了利用Dual EC后门解密TLS连接的效率。

简而言之,如果您是像NSA这样的机构,试图使用Dual EC作为后门来拦截通信,那么使用同时使用Dual EC DRBG和Extended Random的系统则要好得多。由于扩展随机数从未由IETF标准化,因此不应在任何系统中使用。实际上,据我们所知,BSAFE是世界上唯一实施该系统的系统。

除了扩展随机,我们发现了多种功能,再加上Dual EC后门,可以使RSA BSAFE相当容易利用。但是到目前为止,扩展随机数是最奇怪,最难辩解的。

那么这个标准是从哪里来的呢?对于那些喜欢技术奥秘的人来说,事实证明,“扩展随机”并不是国家安全局提出的唯一有趣的建议。实际上,这是NSA员工或与NSA紧密合作的承包商提出的四个失败的IETF提案之一,所有这些提案都试图提高TLS的随机性。托马斯·帕塔塞克(Thomas Ptacek)在这些帖子中对这些建议及其动机提出了令人费解的头脑。

噢,天哪,我从没想过间谍会这么无聊。最新发展是什么?

尽管我们在RSA BSAFE(我们从互联网下载的免费版本)中找到了Extended Random,但美中不足的是它实际上并未启用。那就是:代码在那里,但是启用它的开关被硬编码为“关闭”。

这种做法在我们的理论上大有裨益,认为RSA可能包含扩展随机数,以使BSAFE连接更易于被NSA利用。可能有一些商业版本的BSAFE可以激活此代码,但我们始终无法找到它或证明它存在。更糟糕的是,它可能只会出现在某些特殊的“美国BSAFE的“仅政府”版本,这往往会破坏有关包含此规范的某些意图的理论-毕竟,政府为什么要自我监视?

最后,这使我们了解到前几天出现在TLS邮件列表中的新闻。事实证明,某些佳能打印机无法正确响应使用新版TLS(称为1.3)建立的连接,因为它们似乎实现了未经授权的TLS扩展,其扩展名与TLS 1.3所需的扩展名相同。为了正确操作。这是David帖子的相关部分:

简而言之,此消息似乎表明RSA BSAFE的商业(非免费)版本确实部署了Extended Random扩展,并使其在第三方商业产品中有效。此外,他们专门将其部署到了机器上,尤其是现成的商用打印机,这些机器似乎并没有为政府的任何特殊用途保留。

(如果这些证明是国防部的特殊打印机,我会吃掉我的话的。)

具有讽刺意味的是,打印机是现在唯一仍然具有此BSAFE版本(现已弃用)功能的东西。这不是因为NSA是针对打印机。他们针对的任何设备可能现在都已经消失了。这是因为打印机固件趋于过时而又持久。这就像是一个埋在北极圈下的远程池,其中保留了本来可以从互联网上消失的软件种类。

这带给我们故事的寓意:加密后门不仅是一个可怕的主意,而且还完全破坏了为协议的未来版本分配的编号系统。

其实不,这是非常无用的道德。相反,我们只能说您可以部署加密后门,但是很难控制它的最终位置。