我正在将嵌入式TLS 1.0实现更新到TLS 1.2(代码空间不超过1MB且没有操作系统的设备).此时,我使用AES-128和AES-256 CBC密码处理SHA-1和SHA-256摘要,以实现最小化.库无法协商SSLv2,SSLv3,TLS 1.0或TLS 1.1连接.
我觉得这就足够了,因为RFC 5246种状态,"TLS_RSA_WITH_AES_128_CBC_SHA现在是强制实现的加密套件."
然而,当我阅读安全博客上的各种帖子时,我看到的建议会让用户禁用该套件,并且(例如)仅允许ECDHE_RSA或DHE_RSA变体.
所以我的问题是使用我们的库的设备是否可以与现代Web浏览器(作为服务器)和现代https/smtps/pop服务器(作为客户端)互操作. 是否有TLS 1.2客户端/服务器无法协商TLS_RSA_WITH_AES_128_CBC_SHA连接?
我不确定目前是否有许多支持 TLS 的服务器无法TLS_RSA_WITH_AES_128_CBC_SHA与TLS 协商TLSv1.2,因为它是TLSv1.2.
然而,有一些事情需要记住:
TLS_RSA_WITH_3DES_EDE_CBC_SHA是强制性的TLSv1.0,TLSv1.1但由于安全原因,不再受到每个服务器的支持,AES128而不是AES256,因此,如果我可以为您提供 4 个密码套件(与您拥有的数量相同),我会按照从最强到最弱的顺序排列这些密码套件:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHATLS_RSA_WITH_AES_128_GCM_SHA256TLS_RSA_WITH_AES_128_CBC_SHA我想说这 4 个密码套件带来了足够的安全性和与TLSv1.2服务器的兼容性。
现在仅支持的问题TLSv1.2是另一个问题,但如果您有足够的空间,我建议您也添加TLSv1.0(TLSv1.1不提供额外的兼容性)。
PS:之所以AES128受到青睐而不是AES256因为有些人认为增加的额外安全性AES256(目前)毫无价值,而且AES128似乎更能抵抗定时攻击。
| 归档时间: |
|
| 查看次数: |
2616 次 |
| 最近记录: |