只有TLS_RSA_WITH_AES_128_CBC_SHA才能使用TLS 1.2服务器/客户端吗?
我更新嵌入式TLS 1.0实施TLS 1.2(设备用的码空间或更小,并且没有OS 1MB)。此时,我使用AES-128和AES-256 CBC密码来处理SHA-1和SHA-256摘要以实现最小程度的执行。该库无法协商SSLv2,SSLv3,TLS 1.0或TLS 1.1连接。只有TLS_RSA_WITH_AES_128_CBC_SHA才能使用TLS 1.2服务器/客户端吗?
我觉得这就足够了,因为RFC 5246种状态,“TLS_RSA_WITH_AES_128_CBC_SHA现在是强制实现的加密套件。”然而,当我阅读安全博客上的各种帖子时,我看到了会让用户禁用该套件的建议,并且(例如)只允许ECDHE_RSA或DHE_RSA变体。
所以我的问题是,是否使用我们的库设备将与现代网络浏览器(如服务器)和现代HTTPS/SMTPS/POP服务器(客户端)进行互操作。 是否存在无法协商TLS_RSA_WITH_AES_128_CBC_SHA连接的TLS 1.2客户端/服务器?
我不确定目前有很多服务器支持TLS,因此无法与协商,因为它是的强制密码套件。
但是有一些事情要记住:
-
TLS_RSA_WITH_3DES_EDE_CBC_SHA
是强制性的TLSv1.0
和TLSv1.1
但由于安全原因,它是由每个服务器不再支持, - Mozilla的建议(这是不唯一一个)赞成
AES128
而不是AES256
, - DHE或ECDHE允许的完全前向保密(PFS)现在是必备功能。
所以,如果我可以为你提供4个密码套件(比你有相同数量的),我会说,从最强这些的最弱:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
我会说,这4个密码套件带来足够的安全性和兼容性与服务器。
现在只支持的问题是另一个问题,但是如果您有足够的空间,我建议您也要添加TLSv1.0
(TLSv1.1
不提供额外的兼容性)。
PS:为什么AES128
是有利的,而不是AES256
的原因是,有些人认为通过AES256
添加额外的安全性(现在)一无是处,AES128
似乎是计时攻击更有抵抗力。
谢谢,这是我正在寻找的答案。在TLS 1.0和1.1中知道“TLS_RSA_WITH_3DES_EDE_CBC_SHA”是强制性的,但由于安全原因而被禁用是TLS 1.2可能发生的一个很好的先例。 – tomlogic
“所以我的问题是,是否使用我们的库设备将与现代网络浏览器(如服务器)和现代HTTPS/SMTPS/POP服务器(客户端)的互操作。是否有TLS 1。2个客户端/未能协商TLS_RSA_WITH_AES_128_CBC_SHA连接服务器“
是出现未实现充足
最常见的:?
- 客户端仍然发送SSL2.0的客户您好
- 仅支持PFS密码套件的客户端/服务器
- 仍然不支持TLS 1.2的服务器
- 不再支持TLS的服务器1。 2 - 因为那些只支持TLS 1.3
我的建议是:
- 也支持TLS 1.3(不是很难实现,我做到了)
- 还支持DHE
或者使用像https://www.ssllabs.com/ssltest/index.html这样的工具/网站,并测试服务器的兼容性/安全性,直至满足您的需求。
我发现TLS 1.3仍然是一个工作草案,但它肯定可以提供关于密码的指导,直到标准获得批准。如果客户机/服务器支持TLS 1.3,但我无法为了向后兼容而协商TLS 1.2连接,或许只能使用有限的密码支持,我会感到惊讶。 – tomlogic
取决于你定义的“get by”。我不是安全专家。但我可以闻到“AES_128_CBC”不够安全。也就是说,对于像“AES_256_GCM”这样的东西我会感觉更舒适。如果确实如此,如果您是客户端,那么服务器不支持密码。如果你是服务器,你可以支持它。但是你想要考虑安全问题。 – neurite
有许多电子邮件服务器不能正确支持TLS 1.2。 – fcnorman