SSL和TLS的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSL和TLS的区别相关的知识,希望对你有一定的参考价值。

SSL和TLS都是加密协议,有网络请求的地方就可以使用这两种协议在传输层进行加密,确保数据传输的安全,SSL是TLS的前身,网景在1995年发布了直接发布了SSL 2.0版本,1.0版本没有对外发布。由于漏洞的原因,版本2.0也只是昙花一现,网景在1996年就发布了SSL3.0。随后在1999年的时候,基于SSL3.0版本,网景发布了TLS1.0版本(虽然TLS1.0在SSL3.0基础上的改动不太大,但是这些改动都是非常重要的)。

其实答案很显然,我们现在应该使用TLS协议,因为在2011年和2015年的时候SSL2.0和SSL3.0就已经分别被弃用了,而且由于漏洞的缘故,如果你的服务器配置了SSL的协议,还得手动将他们禁用掉。所以我们只给服务器配置TLS协议就好了,有的服务对TLS版本有要求,比如我最近在做的小程序开发,要求TLS版本最低2.0,所以你可以在 SSL Server Test 查看服务器的证书及协议等配置

为保证网络安全,我们需要给服务器颁发证书,这个证书可以自己生成,但是自己颁发证书是不安全的,可以被别人伪造,所以我们一般都是在第三方认证机构购买证书。那么问题来了,证书到底和协议是否有关联,我们是否需要区分SSL证书和TLS证书呢?答案是否定的,证书不依赖协议,和协议没有太大关联,我们也不需要去纠结是使用SSL证书和TLS证书,协议由服务器配置决定,证书是配合协议一块使用的。
关于证书可以参考知乎大神的回答 https://www.zhihu.com/question/52493697

本文参考:
https://www.globalsign.com/en/blog/ssl-vs-tls-difference/
参考技术A SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。
参考技术B 实际上加密套件中SSL2.0、SSL3.0几乎已经没有人使用,并且安装漏洞很多,所以目前都是TLS协议为主。
SSL与TLS(传输层安全性)相比,SSL(安全套接字层)的安全性较低。TLS(传输层安全)提供高安全性。SSL不太可靠且速度较慢。TLS是高度可靠和升级的。

HTTPS 和 SSL 的区别

【中文标题】HTTPS 和 SSL 的区别【英文标题】:Difference between HTTPS and SSL 【发布时间】:2011-08-30 21:48:21 【问题描述】:

HTTPS 和 SSL 有什么区别?我阅读了它们并发现了以下内容:

HTTPS:HTTPS 是 HTTP 与 SSL/TLS 的组合。这意味着 HTTPS 基本上是 HTTP 连接,它提供使用 SSL/TLS 保护的数据。

SSL:SSL 是一种在 HTTP 之上工作以提供安全性的安全协议。这意味着 SSL 加密数据将使用 HTTP 等协议进行路由以进行通信。

我想知道这两者之间的区别在哪里?还是两者相同?

【问题讨论】:

您可能对这个类似的问题感兴趣:security.stackexchange.com/q/5126/2435 【参考方案1】:

您发现的 SSL 的解释是错误的。

SSL(安全套接字层)或TLS (Transport Layer Security) 在transport layer 之上工作,在您的示例中为TCP。 TLS 可用于或多或少的任何协议,HTTPS 只是它的一个常见实例。

HTTP 是一个application layer protocol。

在常规的非加密 HTTP 中,协议栈可能如下所示:

HTTP TCP IP Ethernet

使用 HTTPS 时,堆栈如下所示:

HTTP TLS (SSL) TCP IP 以太网

【讨论】:

谢谢安德斯。那么,这是否意味着 HTTPS 和 SSL(当 HTTP 用作传输层协议时)是相同的? 并非如此,HTTP 是一种应用协议。我已经更新了我的答案以澄清。 我明白了。感谢您的澄清。 “HTTPS 只是常见的实例”确实帮助我巩固了这一点! 要更深入地了解证书和 HTTPS 的弱点,请参阅***.com/questions/856209/… 的 SO 答案【参考方案2】:

HTTPS 运行在 SSL 上(顾名思义,HTTP-over-SSL),而不是 SSL over HTTP。首先建立 SSL 会话,然后在发送之前和接收之后将所有 HTTP 数据包装到安全的 SSL 数据包中。

【讨论】:

我明白了。我没有正确地构建我的查询。谢谢。【参考方案3】:

SSL(安全套接字层)是一种标准安全技术,用于在服务器和客户端之间创建加密链接。此链接可确保在服务器和客户端之间传递的所有数据保持私密和安全。 它旨在支持 FTP、HTTP、TELNET 等协议。

超文本传输​​协议安全 (HTTPS) 或“HTTP 安全”是一种特定于应用程序的实现,它是超文本传输​​协议 (HTTP) 与 SSL/TLS 的组合。 HTTPS用于提供服务器的加密通信和安全标识,使中间人无法轻易截取数据。

由于 HTTP 中的所有内容都是纯文本 (or encoded) ,因此它与 SSL/TLS 一起使用来对其进行加密。

找到这个解释 SSL、TLS、HTTPS 的链接: http://nexsniper.blogspot.com/2017/11/what-is-ssl-tls-and-https.html

【讨论】:

感谢链接,真的很有帮助!

以上是关于SSL和TLS的区别的主要内容,如果未能解决你的问题,请参考以下文章

SSL与TLS的区别和联系

什么是ssl,tls?两者有什么区别?

SSL与TLS的区别以及介绍

详解 HTTPSTLSSSLHTTP区别和关系

HTTP,SSL/TLS和HTTPS协议的区别与联系

SSL与TLS的区别