实例论证:NSA在安全标准中植入后门
创始人
2024-03-01 11:41:00
0

前不久我写到NSA可能在安全标准中植入后门。今天,我们谈一谈NSA被指责在标准中植入后门的两个案例,然后通过它们来区分两种后门之间的不同。

第一个案例

是关于NIST标准,SP 800-90A,该标准详细说明了一种伪随机数生成器(PseudoRandom Generator 以下简称PRG)。一个RPG可以通过计算得到一小组不可预料的随机比特,并进而“延展”得到大量的随机比特数。在密码学中,PRG作为大多数密钥的源头,是必需的。因此,如果你能“破解”某些人的PRG,你就能预测其使用的密钥,进而击溃其整个加密算法。

NIST标准中提供了一些核心算法供PRG选择。其中一个算法使用了一种叫做椭圆曲线的数学结构,在这里我并不打算展开介绍这个数学概念。总之,这个算法使用了两个“公开参数”P和Q,它们均在标准中有指定的值,因此说它们是公开的。

密码学家相信,如果P和Q是随机的,PRG就是安全的。但是2006年,两个独立密码学家指出,通过某种方法选定P和Q后,它们之间就具有了某种特殊的关系。一个“局外人”可能并不知道这种特殊关系的存在,但是如果你知道了描述P和Q之间关系的“密钥”,就可以轻松击溃PRG的安全体系。

知道了这一点,会发现很多事实突然变得有趣起来。首先,NSA看起来十分执意要将这种算法写入标准,即使它的运行效率很低;其次,NSA在标准中指定了P和Q的建议取值范围;第三,NSA并未解释这些给定的取值范围是如何得出的。怎么样,是不是有点儿意思?

不仅如此,现在已经可以通过一些已公开的步骤,得出新的随机的P和Q,也就是说,以上三种问题都可以得到解决,但是NSA并没有这么做。

值得注意的是,(也许是为了辟谣),前不久(9月10日),NIST重新开放了SP 800-90A的公开评论。

第二个案例

是由John Gilmore提出的,他在IPSEC标准中发现了问题。IPSEC被视为安全技术的一块基石,能够为因特网中的个人IP数据包提供完整可靠的加密。一个成功广泛部署的IPSEC协议可以大大强化因特网安全,为多种网络通信提供加密保护。

John说,NSA及其代理部门始终在降低该标准的安全水平与执行效率,同时却不断提高其复杂程度和安全方面的实现难度。尽管John还没有掌握NSA植入后门的确凿证据,但是他发现,NSA的确在不断削弱该标准的效力,事实上,IPSEC已经没有人们想象中的那样安全可靠。

上述案例向我们展示了两种不同类型的后门。第一个关于PRG的案例中,我们怀疑NSA尝试建立一个只有它能使用的后门,因为只有它知道关联P和Q的密钥。第二个关于IPSEC的案例中,NSA不断削弱用户的安全防护能力,这样它就能更轻易地访问你的数据,但同时其他所有人都具有了这样的机会。

可以确定的是,一个私有后门很可能无法一直“私有”。如果真有这样一个magic密钥,能让NSA窥探所有人的秘密,那这把钥匙很可能会被滥用或泄露到外界。因此,NSA私有后门和公开后门之间的界限并不明显。

但是,看起来这两种后门之间还是引起了不同的政策辩论。前者使得NSA能秘密地轻易访问每个人的数据,后者则赋予了每个人这种访问权限,后者的影响力要更加严重。

同时,我们应该看到一个后门是如何创造出来的。在PRG的案例中,需要获得制定标准的专家们通过,NSA才能使其加密过程中那微小的缺陷“蒙混过关”。在IPSEC的案例中,则貌似需要在标准的整个制定过程中不断协调公关活动才有机会制造那小小的缺陷,在这个过程中,即使没有人发现某种模式,也应该能注意到某些单个步骤,(但是却没有)。

也许有人会怀疑,这些案例真的是NSA有意而为之,还是只是空穴来风。对此,我们并不敢保证。但是只要NSA一直拥有参与制定安全标准的许可权限,我们就有必要,对他们所参与制定的任何标准保持怀疑。


via: https://freedom-to-tinker.com/blog/felten/on-security-backdoors/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:Mr小眼儿 校对:Caroline

相关内容

国泰君安:DeepSeek...
2月21日消息,国泰君安证券研究指出,DeepSeek发布NSA(...
2025-02-21 09:20:16
不知道是什么原因引起的“A...
Android TransactionTooLargeExcept...
2025-01-12 09:00:37
ButtonisTrigg...
在首次触发后,按钮不再起作用使用Coroutine实现按钮的首次触...
2025-01-10 03:32:34
不同的事务管理器如何处理@...
在多个数据源的情况下,可以为每个数据源定义一个单独的事务管理器,并...
2025-01-08 19:01:10
不同的是,Transact...
下面是一个示例的代码,演示了如何使用 Firestore 的 Tr...
2025-01-08 19:01:07
不同的android sd...
在不同的Android SDK版本下,FragmentManage...
2025-01-08 11:31:42

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...