Ssl TLS 1.2服务器/客户端能否仅使用TLS\u RSA\u和\u AES\u 128\u CBC\u SHA?
我正在将一个嵌入式TLS1.0实现更新为TLS1.2(具有1MB或更少代码空间的设备,并且没有操作系统)。在这一点上,我有AES-128和AES-256 CBC密码与SHA-1和SHA-256摘要一起工作,以实现最小的实现。库无法协商SSLv2、SSLv3、TLS 1.0或TLS 1.1连接 我觉得这就足够了,因为RFC 5246指出,“TLS_RSA_和_AES_128_CBC_SHA现在是实现密码套件的强制要求。” 然而,当我在安全博客上阅读各种帖子时,我看到一些建议,这些建议会让用户禁用该套件,并且(例如)只允许ECDHE_RSA或DHE_RSA变体Ssl TLS 1.2服务器/客户端能否仅使用TLS\u RSA\u和\u AES\u 128\u CBC\u SHA?,ssl,tls1.2,Ssl,Tls1.2,我正在将一个嵌入式TLS1.0实现更新为TLS1.2(具有1MB或更少代码空间的设备,并且没有操作系统)。在这一点上,我有AES-128和AES-256 CBC密码与SHA-1和SHA-256摘要一起工作,以实现最小的实现。库无法协商SSLv2、SSLv3、TLS 1.0或TLS 1.1连接 我觉得这就足够了,因为RFC 5246指出,“TLS_RSA_和_AES_128_CBC_SHA现在是实现密码套件的强制要求。” 然而,当我在安全博客上阅读各种帖子时,我看到一些建议,这些建议会让用户禁用该
所以我的问题是,使用我们的库的设备是否能够与现代web浏览器(作为服务器)和现代https/smtps/pop服务器(作为客户端)进行互操作是否有TLS 1.2客户端/服务器无法与\u AES\u 128\u CBC\u SHA连接协商TLS\u RSA\u?我不确定当前是否有许多支持TLS的服务器无法与\u AES\u 128\u CBC\u SHA协商
TLS\u RSA\u,因为它是TLSv1.2
的强制密码套件
但是,有一些事情需要记住:
TLSv1.0
和TLSv1.1
必须使用TLS\u RSA\u和\u 3DES\u EDE\u CBC\u SHA
,但由于安全原因,不再支持每台服务器
AES128
,而不是AES256
TLS\u ECDHE\u RSA\u和\u AES\u 128\u GCM\u SHA256
TLS\u ECDHE\u RSA\u带AES\u 128\u CBC\u SHA
TLS\u RSA\u带AES\u 128\u GCM\u SHA256
TLS\u RSA\u和\u AES\u 128\u CBC\u SHA
TLSv1.2
服务器的兼容性
现在只支持TLSv1.2
是另一个问题,但是如果您有足够的空间,我建议您也添加TLSv1.0
(TLSv1.1
不提供额外的兼容性)
PS:AES128
比AES256
更受欢迎的原因是,一些人认为AES256
增加的额外安全性(目前)毫无价值,而且AES128
似乎更能抵抗定时攻击。“所以我的问题是,使用我们的库的设备是否能够与现代web浏览器(作为服务器)和现代https/smtps/pop服务器(作为客户端)进行互操作。是否有TLS 1.2客户端/服务器无法与\u AES\u 128\u CBC\u SHA连接协商TLS\u RSA\u?”
是的,有很多实现失败了
最常见的:
- 还支持TLS1.3(实现起来并不难,我做到了)
- 也支持DHE
或者使用类似的工具/站点,测试服务器的兼容性/安全性,直到满足您的要求。取决于您对“通过”的定义。我不是安全专家。但我能感觉到“AES_128_CBC”不够安全。也就是说,我会更喜欢“AES_256_GCM”之类的东西“。如果确实如此,如果您是客户端,则存在服务器不支持密码的风险。如果你是服务器,你可以支持它。但你需要三思而后行。有许多电子邮件服务器不支持TLS 1.2。我看到TLS 1.3仍然是一个工作草案,但它肯定可以提供密码支持的指导,直到该标准得到批准。如果客户机/服务器支持TLS 1.3,但无法协商TLS 1.2连接以实现向后兼容性,我会感到惊讶,可能是在密码支持有限的情况下。谢谢,这就是我一直在寻找的答案。在TLS 1.0和1.1中,必须知道
TLS\u RSA\u和\u 3DES\u EDE\u CBC\u SHA
,但出于安全原因禁用,这是TLS 1.2可能发生的情况的一个很好的先例。