我可以在2020年的应用程序中使用3DES吗?

问题描述 投票:0回答:1

我们正在编写使用相对敏感信息的新应用程序。该小组正在辩论我们是否应该为数据支持3DES和/或AES加密。不幸的是,Google搜索给出的结果好坏参半。

我们有可用于两者的库,并在其他产品中使用它们。我们应该使用什么?为何选择其中任何一个?

security aes des 3des
1个回答
0
投票

简短的回答是,您不能使用3DES,因为法规禁止使用3DES。

长回答:

有三种主要的DES算法。我将覆盖3DES2-3DESDES,全部禁止。

XXXDES处理时要格外小心,因为它们很容易混淆和配置错误。

AES 128位是通常接受的替换。

DES

DES是基本算法,于1975年发布,使用56位密钥。

很久以前,它奠定了对称密码/分组密码的基础。

DES自2000年代以来一直是不安全的,禁止使用。随着时间的流逝,计算能力不断提高,很容易破解56位密钥。

2键3DES(或2TDES或2DES)

[2DES是使用两个56位密钥的相似算法,提供112位强度的加密。

实际上是3DES(需要3个键),但没有设置第3个键。我将其命名为2DES以区分。

2DES非常棘手,因为它与3DES几乎没有区别。它们都在标准中定义并一起实现。声称做3DES的软件实际上是在做2DES,或者取决于配置设置,这是一个问题。

自2019年3月起,禁止在应用程序中使用2键3DES。

引用官方NIST.SP.800-131Ar2文档,第13页:

不允许使用两键TDEA进行加密。

3DES(或TDES或TDEA)

[3DES是使用三个56位密钥的DES的发展,提供了112位强度的加密。

由于构造,其强度仅为2 ^ 112 + 2 ^ 56,而不是2 ^ 168。参见meet in the middle attack

[3DES从2023年起禁止在应用程序中使用。

[3DES从2017年11月开始禁止在新应用程序中使用。

除非使用符合NIST规定的限制,否则

3DES禁止在Legacy应用程序中使用(在2017年之前创建且在2023年之前运行),在这种情况下3DES仅是deprecated(可以使用到2023)。 NIST文档中散布了很多内容,包括但不限于不使用2key 3DES,将规范中列出的一组密钥列入黑名单,不加密8 MB以上的数据,等等...

满足遗留状态的所有限制并能够证明其相当低的几率。请帮个忙,并认为自2017年以来,一般都禁止使用3DES。如果您要在2020年使用3DES的系统进行处理,它们迫切需要升级!

其他限制

3DES被认为是112位强度(弱)。任何限制使用少于128位加密事实的因素都会影响3DES

软件法规未指定接受的技术措施(他们并未说使用名称的3DES或任何算法),它们通常会遵循建议的或普遍接受的安全惯例。有时会明确指出要发布标准的NIST或类似机构。

关于法规如何结合存在一个有趣的难题。例如,围绕处理付款或敏感信息或PII的系统有一些额外的规定。根据解释和确切用法,可能会禁止任何正式标准弃用3DES(很早在NIST于2023年正式终止它之前)。

ENISA,欧盟网络安全局(相当于NIST在欧洲)在2013年发布了官方指南,建议最少使用128位加密,并将3DES2DES都正式分类为legacy

Legacy :(两键3DES和三键3DES)

  • 目前没有已知的弱点。
  • 存在更好的选择。
  • 缺乏安全证明或密钥大小有限。

一般来说,我们认为分组密码的最小密钥大小 应该是128位;的 块大小的最小值取决于精确的应用,但在许多应用中(例如 MAC功能的构造),现在应将128位块大小视为许多 应用。我们还认为最大的数据量 应该在同一密钥下加密,并以2n/2为界, 其中n是以位为单位的块大小。但是,如前所述 短期密码可能会保证较小的块和密钥大小 他们的建筑;但对于一般应用,我们建议 最少128位。

无需恐慌

虽然3DES的所有变体都需要删除,但也不必为此惊慌(例如,与RC4或MD5确实存在问题)。

问题是,如果将整个AWS数据中心用于任务,那么3DES密钥可能会在合理的时间内破解。该算法从根本上来说并没有破坏或脆弱。

AES-128是DES的直接后继。它是直接的替代品,并且速度更快。

如果3DES可以在一个内核上加密100 MB / s,则AES-128可以在同一内核上加密300MB / s,如果CPU具有AES-NI指令(2016年之后的大多数x64 CPU),则可以加密1000MB / s。

© www.soinside.com 2019 - 2024. All rights reserved.