美文网首页
【SSL】TLSv1.0 为什么 被认为是不安全的协议?

【SSL】TLSv1.0 为什么 被认为是不安全的协议?

作者: Bogon | 来源:发表于2024-01-27 11:15 被阅读0次

SSL/TLS 的版本历程

image.png

TLSv1.0 为什么 被认为是不安全的协议?

TLS 1.0 被认为是不安全的协议,原因如下:

  1. 存在漏洞:TLS 1.0 存在多个已知的漏洞,比如 POODLE 攻击,可以利用协议的弱点解密敏感信息。

  2. 弱密码套件:TLS 1.0 默认使用弱密码套件,这使得它容易受到攻击。这些弱密码套件无法提供强大的加密,容易被攻击者破解。

  3. 缺乏支持:TLS 1.0 是一个过时的协议,不支持较新的加密算法和安全特性。这使得它难以抵御现代安全威胁。

  4. 行业标准:由于其安全性弱点,TLS 1.0 不再符合行业标准。组织和监管机构,如支付卡行业数据安全标准(PCI DSS),已要求停用 TLS 1.0,以确保更好的安全性。

为了确保安全连接,建议使用较新版本的 TLS 协议,如 TLS 1.2 或 TLS 1.3,它们具有改进的安全特性,并解决了 TLS 1.0 存在的漏洞。

为了兼容第三方系统, nginx 必须配置 TLS 1.0 ,可以限制只使用安全的加密套件吗?

是的,你可以通过配置来限制只使用安全的加密套件,以增加 TLS 1.0 的安全性。在 Nginx 中,你可以使用 ssl_ciphers 指令来指定允许的加密套件。

以下是一个例子,展示了如何限制只使用安全的加密套件,同时启用 TLS 1.0:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_protocols TLSv1.0;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    # 其他 SSL 配置

    location / {
        # 其他配置
    }
}

在上述示例中,我们指定了只使用安全的加密套件,如 EECDH+AESGCMAES256+EECDH
你可以根据你的需求选择适合的加密套件。
请确保只启用安全的加密套件,以提高安全性。

ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; 这个配置提供了一定的安全性,但仍然不够理想。这个配置使用了一些安全的加密套件,但还是包含了一些较弱的加密套件。

具体来说,这个配置包含了以下几个加密套件:

  • EECDH+AESGCM: 使用 ECDHE 密钥交换和 AES-GCM 加密算法。
  • EDH+AESGCM: 使用 DHE 密钥交换和 AES-GCM 加密算法。
  • AES256+EECDH: 使用 ECDHE 密钥交换和 AES-256 加密算法。
  • AES256+EDH: 使用 DHE 密钥交换和 AES-256 加密算法。

尽管这些加密套件中包含了一些较强的加密算法,但也包含了一些相对较弱的密钥交换算法,如 DHE。
DHE 在一些情况下可能受到攻击,因此并不是最佳的选择。

为了提高安全性,建议优先选择 ECDHE 密钥交换和 AES-GCM 等更强大的加密套件。同时,还可以排除一些较弱的加密套件,以进一步增强安全性。

TLS 1.0支持的解密套件较为有限,而且大部分解密套件都被认为不够安全。以下是TLS 1.0支持的一些常见解密套件示例:

  • RSA_WITH_AES_128_CBC_SHA
  • RSA_WITH_AES_256_CBC_SHA
  • RSA_WITH_3DES_EDE_CBC_SHA

然而,这些解密套件在安全性方面存在一些问题,因为它们使用较弱的加密算法(如SHA-1)和较短的密钥长度。因此,建议尽量避免使用TLS 1.0,并升级到更安全的TLS版本(如TLS 1.2或TLS 1.3),以使用更强大和安全的解密套件。

# nmap --script ssl-enum-ciphers -p 443 www.jianshu.com
Starting Nmap 7.92 ( https://nmap.org ) at 2024-01-27 19:18 CST
Nmap scan report for www.jianshu.com (39.98.74.233)
Host is up (0.032s latency).
Other addresses for www.jianshu.com (not scanned): 2408:4001:f30::221

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.0:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       64-bit block cipher 3DES vulnerable to SWEET32 attack
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       64-bit block cipher 3DES vulnerable to SWEET32 attack
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (ecdh_x25519) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (ecdh_x25519) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       64-bit block cipher 3DES vulnerable to SWEET32 attack
|_  least strength: C

Nmap done: 1 IP address (1 host up) scanned in 11.19 seconds

# nmap --script ssl-enum-ciphers -p 443  www.taobao.com
Starting Nmap 7.92 ( https://nmap.org ) at 2024-01-27 19:23 CST
Nmap scan report for www.taobao.com (116.211.221.194)
Host is up (0.0081s latency).
Other addresses for www.taobao.com (not scanned): 116.211.221.195 240e:95c:803:2:3::3d8 240e:95c:803:2:3::3d9

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.0:
|     ciphers:
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       Forward Secrecy not supported by any cipher
|   TLSv1.1:
|     ciphers:
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       Forward Secrecy not supported by any cipher
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|   TLSv1.3:
|     ciphers:
|       TLS_AKE_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
|       TLS_AKE_WITH_AES_128_GCM_SHA256 (ecdh_x25519) - A
|       TLS_AKE_WITH_SM4_GCM_SM3 (ecdh_x25519) - A
|       TLS_AKE_WITH_SM4_CCM_SM3 (ecdh_x25519) - A
|       TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (ecdh_x25519) - A
|     cipher preference: server
|_  least strength: A

Nmap done: 1 IP address (1 host up) scanned in 6.38 seconds

这些加解密套件有安全性问题么?

| ssl-enum-ciphers:
|   TLSv1.0:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server

这些加密套件在TLS 1.0中是被支持的,但是它们确实存在一些安全性问题。

以下是对每个加密套件的一些注意事项:

  1. TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA和TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:这些套件使用ECDHE密钥交换和AES-CBC加密算法。尽管ECDHE提供了前向保密性和强大的密钥交换,但是基于CBC模式的加密算法可能受到Padding Oracle攻击的风险。

  2. TLS_RSA_WITH_AES_128_CBC_SHA和TLS_RSA_WITH_AES_256_CBC_SHA:这些套件使用RSA密钥交换和AES-CBC加密算法。然而,使用RSA密钥交换意味着密钥交换过程不具备前向保密性,而且使用CBC模式的加密算法存在Padding Oracle攻击的风险。

  3. TLS_RSA_WITH_CAMELLIA_256_CBC_SHA和TLS_RSA_WITH_CAMELLIA_128_CBC_SHA:这些套件使用RSA密钥交换和Camellia-CBC加密算法。Camellia是一种对称加密算法,但在TLS中使用的Camellia-CBC模式可能存在与AES-CBC类似的安全问题。

综上所述,这些加密套件在TLS 1.0中存在一些安全性问题,特别是对于CBC模式的加密算法。为了提高安全性,建议升级到更新的TLS版本(如TLS 1.2或TLS 1.3),并使用更强大和安全的加密套件。

相关文章

  • 如何快速搭建基于nginx的SSL接口服务器

    一、为什么要搭建SSL服务器 目前互联网常用的HTTP协议是非常不安全的明文传输协议。而SSL协议及其继任者TLS...

  • 给 Apache服务器 配置ssl - https

    一、什么是 SSL 证书,什么是 HTTPS 【SSL】: 目前互联网常用的HTTP协议是非常不安全的明文传输协议...

  • 升级 openssl 及 Python 禁用不安全的SSL协议版

    升级 openssl 及 Python 禁用不安全的SSL协议版本 一、 环境介绍 系统:Redhat 5.4Py...

  • Spring Boot 结合 SSL

    SSL 安全套接字 超文本传输协议(HTTP)是以纯文本形式传输数据,这样并不安全 SSL(安全套接层),及其继任...

  • 深入理解HTTPS协议

    HTTS协议实际就是标准的HTTP协议加上SSL/TLS层.它能防止我们的信息被窃取,暴露出不安全.或者进入钓鱼网...

  • 深入理解HTTPS协议

    HTTS协议实际就是标准的HTTP协议加上SSL/TLS层.它能防止我们的信息被窃取,暴露出不安全.或者进入钓鱼网...

  • 通俗易懂的解释HTTPS

    什么是HTTPS?## HTTPS是HTTP协议和SSL/TLS协议的组合。 SSL/TLS是什么?## SSL全...

  • 说说SSL/TLS协议

    互联网的通信安全,建立在SSL/TLS之上 引自 阮一峰《SSL/TLS协议运行机制的概述》。 为什么使用SSL...

  • 网络相关之HTTPS

    一、HTTPS和HTTP的区别 HTTPS协议 = HTTP协议 + SSL/TLS协议SSL的全称是Secure...

  • HTTPS详解

    一、HTTPS和HTTP的区别 HTTPS协议 = HTTP协议 + SSL/TLS协议 SSL的全称是Secur...

网友评论

      本文标题:【SSL】TLSv1.0 为什么 被认为是不安全的协议?

      本文链接:https://www.haomeiwen.com/subject/bcmbodtx.html