当前位置: 首页 > 知识库问答 >
问题:

TLS1.2服务器/客户机仅使用tls_rsa_with_aes_128_cbc_sha就能过得去吗?

袁阿苏
2023-03-14

我正在将一个嵌入式TLS1.0实现更新到TLS1.2(具有1MB或更少代码空间的设备,并且没有操作系统)。在这一点上,我有AES-128和AES-256 CBC密码与SHA-1和SHA-256摘要一起工作,以实现最小的实现。库无法协商SSLv2、SSLv3、TLS 1.0或TLS 1.1连接。

我觉得这就足够了,因为RFC5246指出,“TLS_RSA_WITH_AES_128_CBC_SHA现在是实现密码套件的强制要求。”

然而,当我阅读html" target="_blank">安全博客上的各种帖子时,我看到一些建议让用户禁用该套件,并且(例如)只允许ECDHE_RSA或DHE_RSA变体。

所以我的问题是,使用我们库的设备是否会与现代web浏览器(作为服务器)和现代HTTPS/SMTPS/POP服务器(作为客户端)互操作。是否有TLS1.2客户机/服务器无法协商TLS_RSA_WITH_AES_128_CBC_SHA连接?

共有1个答案

穆招
2023-03-14

我不确定当前是否有许多支持TLS的服务器无法将TLS_RSA_WITH_AES_128_CBC_SHATLSV1.2协商,因为它是TLSV1.2的强制密码套件。

然而,有一些事情需要记住:

  • TLS_RSA_WITH_3DES_EDE_CBC_SHA对于TLSV1.0TLSV1.1是必需的,但由于安全原因,不再为所有服务器所支持,
  • Mozilla建议(而且不是唯一一个)支持AES128而不是AES256
  • 由DHE或ECDHE允许的完美前向保密性(PFS)现在是必须具备的功能。

所以,如果我能给你提供4个密码套件(数量与你相同),我会说这些从最强到最弱:

  1. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  2. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  3. TLS_RSA_WITH_AES_128_GCM_SHA256
  4. TLS_RSA_WITH_AES_128_CBC_SHA

我想说,这4个密码套件为TLSV1.2服务器带来了足够的安全性和兼容性。

 类似资料:
  • 我想在java上创建一个客户机/服务器应用程序,服务器的IP地址为192.168.1.100,在端口4500上等待客户机请求。 客户端从键盘上读取字符串,向服务器发送连接请求。一旦建立了连接,它就会将字符串发送到服务器。 这是我尝试的代码: 对于服务者: 对于客户端: 但这段代码有一个问题:

  • 我在Java开发了一个客户端-服务器游戏(称为“Set”)。 在调试过程中遇到了一个非常尴尬的问题: 如果在同一台机器上同时运行客户端和服务器(客户端连接到localhost),这个游戏工作得很棒(如果我运行服务器和大量客户端的话也是如此)。 但是,如果我在两台不同的机器上运行客户端和服务器,那么客户端和服务器都挂起了Inputstream readLine方法。 我会提到我正在使用writeBy

  • 编辑2:我切换到,并用包装客户端工厂,这样设备就可以很好地到达后端。但是当后端发回一些东西时,我会得到错误的出站套接字,客户机套接字死亡。我认为这是因为后端没有正确路由消息所必需的头。如何捕获此信息?我的配置类如下:

  • 我在做一个客户端/服务器应用程序。目前它的功能很好,但我需要添加一个“选项”。 server类如下所示: 因此许多客户端都能够连接到服务器。我的观点是:我希望一个连接的客户机(比如说,Client1)能够向他选择的另一个连接的客户机(Client2)发送一些东西。 我的问题是:Client1如何找到/拥有/检索Client2的套接字,因为所有的Client1都通过这个clientSocket在不同

  • 创建Eureka发现客户端和服务器架构。在客户端有userInfo服务CRUD opeartion。它在启动时显示错误。错误是创建在类路径资源[org/springFramework/cloud/autoconfiure/ConfigurationProperty tiesRebinderAutoConfiguration.class]中定义的名为“配置属性Beans”的bean的错误:合并bea