TLS与SSL:有什么区别?你应该用哪一个?

348 阅读8分钟

TLS与SSL:有什么区别?你应该用哪一个?

原文:kinsta.com/knowledgeba…

TLS和SSL都是帮助您在互联网上安全验证和传输数据的协议。但**TLS和SSL有什么区别?**这是你需要担心的事情吗?

在本文中,您将了解TLS与SSL之间的关键区别,以及两种协议如何连接到HTTPS。您还将了解为什么作为最终用户,您可能不需要太担心TLS与SSL,或者您使用的是“SSL证书”还是“TLS证书”。

TLS和SSL有什么区别?

TLS,即传输层安全的缩写。SSL,即安全套接字层的缩写。两者都是加密协议,在互联网上移动数据时加密数据并验证连接。

例如,如果您在网站上处理信用卡付款,TLS和SSL可以帮助您安全地处理这些数据,以便恶意行为者无法获得这些数据。

好吧,TLS实际上只是SSL的最新版本。它修复了早期SSL协议中的一些安全漏洞

在您了解有关细节的更多信息之前,了解SSL和TLS的基本历史很重要。

SSL 2.0于1995年2月首次发布(由于安全漏洞,SSL 1.0从未公开发布)。虽然SSL 2.0已公开发布,但它也包含安全漏洞,并于1996年迅速被SSL 3.0取代。

然后,在1999年,第一个TLS(1.0)版本作为SSL 3.0的升级版发布。从那时起,又有三个TLS版本,最近的版本是2018年8月的TLS 1.3

此时,两个公共SSL版本都已被弃用,并存在已知的安全漏洞(稍后会详细介绍)。

以下是SSL和TLS版本的完整历史:

  • SSL 1.0 - 由于安全问题,从未公开发布。
  • SSL 2.0 - 于1995年发布。2011年弃用。有已知的安全问题。
  • SSL 3.0 - 于1996年发布。2015年弃用。有已知的安全问题。
  • TLS 1.0 - 1999年作为对SSL 3.0的升级发布。计划在2020年弃用。
  • TLS 1.1 - 于2006年发布。计划在2020年弃用。
  • TLS 1.2 - 2008年发布。
  • TLS 1.3 - 于2018年发布。

TLS和SSL如何保护数据?

以下是SSL和TLS如何工作的高级流程。

当您在Web服务器上安装SSL/TLS证书通常称为“SSL证书”)时,它包括一个公钥和一个私钥,可以验证您的服务器,并让您的服务器加密和解密数据。

当访问者访问您的网站时,他们的网络浏览器将查找您网站的SSL/TLS证书。然后,浏览器将执行“握手”来检查证书的有效性并验证您的服务器。如果SSL证书无效,您的用户可能会面临“您的连接不是私有的”错误,这可能会导致他们离开您的网站。

一旦访问者的浏览器确定您的证书有效并验证了您的服务器,它基本上会在它和您的服务器之间创建一个加密链接,以安全地传输数据。

这也是HTTPS发挥作用的地方(HTTPS代表“HTTP over SSL/TLS”)。

HTTP和最近的HTTP/2是应用程序协议,在通过互联网传输信息方面发挥着至关重要的作用。

使用普通的HTTP,该信息很容易受到攻击。但是,当您通过SSL或TLS(HTTPS)使用HTTP时,您会在传输过程中加密并验证该数据,这使其安全。

这就是为什么您可以安全地通过HTTPS而不是通过HTTP处理信用卡详细信息,也是为什么谷歌浏览器如此努力地推动HTTPS的采用。

如果SSL被弃用,为什么它被称为SSL证书?

上面,您了解到TLS是SSL的最新版本,SSL的公开版本都已被弃用多年,并包含已知的安全漏洞。

这可能会让你想知道:为什么它被称为SSL证书而不是TLS证书?毕竟,TLS是现代的安全协议。

例如,如果您查看Kinsta功能页面,您会发现Kinsta宣传的是免费的SSL证书,而不是免费的TLS证书。

别担心:Kinsta没有使用过时的技术!

不,大多数人仍然将它们称为SSL证书的原因基本上是一个品牌问题。大多数主要证书提供商仍然将证书称为SSL证书,这就是为什么命名惯例仍然存在。

实际上,您看到的所有广告“SSL证书”实际上都是SSL/TLS证书(包括我们作为Cloudflare集成的一部分提供的免费SSL证书)。

也就是说,您可以将SSL和TLS协议与证书一起使用。

没有所谓的SSL证书或TLS证书,您不必担心用TLS证书替换SSL证书。

您应该使用TLS还是SSL?TLS正在取代SSL吗?

是的,TLS正在取代SSL。是的,你应该使用TLS而不是SSL。

正如您上面所了解到的,SSL的两个公开版本在很大程度上是由于其中已知的安全漏洞而被弃用。因此,在2019年及以后,SSL不是一个完全安全的协议。

TLS是SSL的更现代版本,是安全的。此外,最新版本的TLS还提供了性能优势和其他改进

TLS不仅更安全、更高性能,大多数现代网络浏览器不再支持SSL 2.0和SSL 3.0。例如,Google Chrome早在2014年就停止支持SSL 3.0,大多数主要浏览器计划在2020年停止支持TLS 1.0和TLS 1.1。

事实上,谷歌开始在Chrome中显示ERR_SSL_OBSOLETE_VERSION警告通知。

那么,您如何确保使用最新版本的TLS,而不是旧的、不安全的SSL协议?

首先,请记住,您的证书与服务器使用的协议不同。您无需更改证书即可使用TLS。尽管它可能被标记为“SSL证书”,但您的证书已经支持SSL和TLS协议。

相反,您可以控制网站在服务器级别使用哪种协议。

如果您在Kinsta托管,Kinsta已经为您启用了TLS 1.3,这是最现代、最安全、性能最强的版本,以及TLS 1.2。

如果您在其他地方托管,您可以使用SSL实验室工具来检查您的网站启用了哪些协议。

例如,如果您测试在Kinsta托管的网站,您可以看到Kinsta如何启用TLS 1.2和TLS 1.3,但禁用旧的、不安全的SSL版本:

How to test which SSL/TLS protocols your server uses.转存失败,建议直接上传图片文件

如果您发现您的服务器仍然支持已弃用的SSL协议,您可以联系主机的支持寻求帮助,或按照以下说明在两个最流行的Web服务器(Apache和Nginx)上禁用SSL:

为什么Kinsta启用多个TLS协议?

如果TLS 1.3是最现代、性能最高性能的协议,为什么Kinsta还要启用稍旧的TLS 1.2协议?

换句话说:启用多个协议有什么好处?

正如您上面所学到的,SSL/TLS握手有两个部分:

  1. 您的网络服务器
  2. 客户端(通常是访问者的网页浏览器)

为了使握手发挥作用,两者都需要支持相同的协议。

因此,拥有多个协议的主要好处是兼容性。

例如,虽然Chrome和Firefox在2018年发布后几乎立即增加了对TLS 1.3的支持,但苹果和微软花了更长的时间来添加TLS 1.3的支持。

即使在2019年,还有很多浏览器仍然缺乏TLS 1.3支持

但是,虽然TLS 1.3仍然没有被完全采用,但所有主要浏览器在2019年都支持TLS 1.2

通过在服务器上启用TLS 1.3和TLS 1.2,您可以确保无论如何的兼容性,同时仍然为支持它的浏览器(如Chrome和Firefox)获得TLS 1.3的好处。

如果您想检查您的网络浏览器正在使用的SSL/TLS版本,您可以使用How's My SSL工具

摘要

总而言之,TLS和SSL都是对互联网上数据传输进行身份验证和加密的协议。

两者紧密相连,TLS实际上只是更现代、更安全的SSL版本。

虽然SSL仍然是互联网上占主导地位的术语,但大多数人在说SSL时实际上指的是TLS,因为两个公共版本的SSL都不安全,并且早已被弃用。

要同时使用SSL和TLS协议,您需要在服务器上安装证书(以下是在WooCommerce上安装SSL证书的方法)。同样,虽然大多数人将这些称为“SSL证书”,但这些证书同时支持SSL和TLS协议。

您无需担心将SSL证书“更改”为TLS证书。如果您已经安装了“SSL证书”,您可以确信它也支持TLS。

使用最新版本的TLS很重要,因为SSL不再安全,但您的证书不会确定服务器使用的协议。相反,一旦您拥有证书,您可以选择在服务器级别使用哪些协议。

如果您在Kinsta托管,Kinsta目前启用TLS 1.2和TLS 1.3,所有这些都是安全的,并受到所有主要浏览器的支持。