Ssl TLS 1.2服务器/客户端能否仅使用TLS\u RSA\u和\u AES\u 128\u CBC\u SHA?

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现在是实现密码套件的强制要求。” 然而,当我在安全博客上阅读各种帖子时,我看到一些建议,这些建议会让用户禁用该

我正在将一个嵌入式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变体


所以我的问题是,使用我们的库的设备是否能够与现代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
,但由于安全原因,不再支持每台服务器
  • Mozilla建议(而且不是唯一一个)支持
    AES128
    ,而不是
    AES256
  • DHE或ECDHE允许的完美前向保密(PFS)现在是一项必备功能
  • 因此,如果我能为您提供4套密码套件(与您的密码套件数量相同),我会说这些密码套件从最强到最弱:

  • 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
  • 我想说,这4个密码套件带来了足够的安全性和与
    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?”

    是的,有很多实现失败了

    最常见的:

  • 仍然发送SSL2.0客户端Hello的客户端
  • 仅支持PFS密码套件的客户端/服务器
  • 仍然不支持TLS 1.2的服务器
  • 不再支持TLS 1.2的服务器-因为这些服务器只支持TLS 1.3
  • 我的建议是:

    • 还支持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可能发生的情况的一个很好的先例。