3DES算法安全吗?

信息安全 加密 德斯 3des
2021-08-14 08:41:18

我们可以使用 3DES 算法交换机密信息吗?我在我的项目中使用它。安全代码审查员提出了一个错误,说它不安全,但我看到它在 CMMI 中被提及为安全的。

3个回答

当配置为按照 NIST SP 800-20 中所述进行操作时,NIST 仍将 3DES (ANSI X9.52-1998) 识别为安全的对称密钥加密算法。2016 年仍有针对 3DES 颁发的密码算法验证程序 (CAVP) 证书。但是,许多开源项目(例如 OpenSSL)和国际认证标准(例如 Common Criteria)已经弃用了 3DES。

3DES 被逐步淘汰的原因是由于各种漏洞(例如,像 sweet32 这样的碰撞攻击)。虽然仍有一些补偿方法(例如,频繁更新密钥、禁用 CBC 模式)以延长其寿命,但没有充分的理由不切换到 AES。

那么你现在很脆弱吗?如果您正确实施和配置了 3DES,则不会。您是否应该计划迁移到 AES?绝对地!3DES 被破坏到不能被认为是安全的只是时间问题。

NIST 于 2017 年秋季将 3DES 官方状态降级。根据SP 800-67 Rev. 2,由单个 3 密钥集加密的数据量必须限制为 8Gb。此外,仅使用两个唯一密钥的 3DES 版本现在已完全弃用。

算法对特定用例的适用性取决于算法的强度、对已知攻击的抵抗力以及对加密必须保持强大多长时间的估计。3DES 的强度是根据其有效密钥长度 112 位来描述的,这是允许的最弱的对称加密算法。由于已经证明了多次攻击,它的寿命必须被认为是非常值得怀疑的。我不知道 NIST FISMA 今天对这一点说了什么,但是 IMPO、3DES 不能被视为对任何将保留任何时间长度的任何东西的强大保护。

无论如何,3DES 是一种旧算法,它有许多已知的漏洞,如速度慢、中间漏洞等。世界现在已经采用了 AES。简而言之,很难赢得支持 3DES 的争论。但是,出于任何原因,如果您必须实施它(遗留或不兼容问题),我建议您查看NIST SP 800 - 67,这是 3DES\3DEA 检查使用指南(3.5 使用指南)的建议并确保您是同步的。

其次是查看建议密钥管理的“NIST 特别出版物 800-57”如本文所述,NIST 已批准 3DES-CBC(密码块链接)。

如果您想更改密码库,请检查其 FIPS 140 验证状态。这样,您可以确保遵循最佳实践。@Kirill 建议的 Crypto++ 似乎对某些算法通过了一些 FIPS 验证。