我为一家大型非美国国际组织工作。关于最近有关 NSA 破坏互联网上大多数加密的泄密事件,我们现在知道美国和英国政府正在积极参与削弱加密标准和后门硬件和软件。不幸的是,确切的加密被破坏了未知,我们知道目前在互联网上使用的加密协议来自 Suite B。我们非常担心 NSA 可能会利用这种能力从我们的窃取商业机密、知识产权和其他信息。使美国政府、公司和行业受益的组织,或允许他们在我们有机会之前为发明申请专利。我们需要更强大的加密程序来为我们提供更多保护。
根据爱德华·斯诺登爵士的说法,显然“强加密有效”。但是什么被认为是“强加密”?有明确的证据表明它有效,因为他最初设法与《卫报》记者就他的计划进行了沟通,并在 NSA 不知情的情况下泄露了高度机密的信息。目前尚不清楚他为此使用了什么加密。我看到帖子说 TLS 极有可能被破坏,因为他们可以使用秘密法庭命令从美国的证书颁发机构获得根证书,从而允许他们在大多数通信通过美国/英国时执行透明的 MITM 攻击网络。
也有关于由 NSA 推动的后门 RNG 的讨论,例如 Dual EC DRBG。显然,应该避免使用它们并使用适当的随机数生成器。然而,问题可能比这更深。TLS 协议由其他算法组成。如您所知,Diffie-Hellman 密钥交换用于在两方之间交换对称密钥。这些对称分组密码也可能被破坏。
分组密码加密可能对其有未知的攻击。正如您所知道的 DES 标准,NSA 在密码分析方面至少领先学术界和商业界 20 年,并雇佣了世界上最好的数学家。更不用说他们有许多超级计算机和可行的量子计算机。我们还知道美国政府在 1970 年代 - 1990 年代后期曾经阻止出口超过 64 位的密码学。现在,这些限制现在“方便地”解除,他们现在推荐最大 256 位的 Suite B。
Suite B 包含密钥大小为 128 位和 256 位的高级加密标准 (AES)。指定的两种模式是计数器模式 (CTR) 和 Galois/计数器模式 (GCM)。因为政府推荐“256 位”作为最高的“绝密”安全级别,并且鉴于他们的任务是后门和削弱加密系统,以便他们可以在其监控网络中利用该功能,那么显然是 256 位或算法(例如 AES)不能被信任。此外,我们似乎不再相信美国政府编写或认可的任何东西,因为他们可能会推行他们知道有秘密弱点的标准。
参考:
theguardian.com/world/2013/sep/05/nsa-gchq-encryption-codes-security
theguardian.com/world/interactive/2013/sep/05/nsa-project-bullrun-classification-guide
wired.com/threatlevel/2013/09/nsa-router-hacking/
g1.globo.com/fantastico/noticia/2013/09/nsa-documents-show-united-states-spied-brazilian-oil-giant.html
arstechnica.com/security/2013/01/secret-backdoors-found-in-firewall-vpn-gear-from-barracuda-networks/
en.wikipedia.org/wiki/Data_Encryption_Standard#NSA.27s_involvement_in_the_design
en.wikipedia.org/wiki/Cryptography_export_laws
en.wikipedia.org/wiki/NSA_Suite_B
en.wikipedia.org/wiki/D-Wave_Two
top500.org
这篇文章不邀请对所提供信息的猜测、修改或意见。我正在寻求这些具体问题的答案:
- 将 256 位块大小增加一倍甚至四倍至 512 位或 1024 位是否会使强大的攻击者攻击变得更加困难?我认为需要对关键时间表进行返工,对吗?当块大小增加时,密钥大小也应该匹配,对吗?
- 我知道 Threefish 存在 512 位和 1024 位密钥和块大小。还有哪些其他非美国政府批准和公共领域的分组密码算法,但仍然有社区对它们进行可靠的安全分析?有没有使用这种算法的开源库?
- 我了解 TrueCrypt 可以链接算法以更好地保护存储,例如使用 XTS 模式的 Twofish-Serpent-AES。这是否提供了针对算法弱点的实际可验证保护,或者是否存在针对此的攻击?这种方法也可以用于通信吗?
- 如果加密过程中的轮数增加超过标准数量,可能是发送方和接收方之间预先约定的可变数量,这会显着增加当前算法的安全边际吗?
- 还有哪些其他分组密码加密模式被认为比政府推荐的模式(CTR、GCM 和 XTS)更安全?
- 有哪些其他加密方法或开源程序可以替代分组密码来更安全地加密数据?