问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-23 08:41

我来回答

4个回答

懂视网 时间:2022-04-21 15:18

互联网的通信安全,建立在SSL/TLS协议之上。

本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。

一、作用

不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。

(1) 窃听风险(eavesdropping):第三方可以获知通信内容。

(2) 篡改风险(tampering):第三方可以修改通信内容。

(3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。

SSL/TLS协议是为了解决这三大风险而设计的,希望达到:

(1) 所有信息都是加密传播,第三方无法窃听。

(2) 具有校验机制,一旦被篡改,通信双方会立刻发现。

(3) 配备身份证书,防止身份被冒充。

互联网是开放环境,通信双方都是未知身份,这为协议的设计带来了很大的难度。而且,协议还必须能够经受所有匪夷所思的攻击,这使得SSL/TLS协议变得异常复杂。

二、历史

互联网加密通信协议的历史,几乎与互联网一样长。

1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但是未发布。

1995年,NetScape公司发布SSL 2.0版,很快发现有严重漏洞。

1996年,SSL 3.0版问世,得到大规模应用。

1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。

2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版。

目前,应用最广泛的是TLS 1.0,接下来是SSL 3.0。但是,主流浏览器都已经实现了TLS 1.2的支持。

TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。

三、基本的运行过程

SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。

但是,这里有两个问题。

(1)如何保证公钥不被篡改?

解决方法:将公钥放在数字证书中。只要证书是可信的,公钥就是可信的。

(2)公钥加密计算量太大,如何减少耗用的时间?

解决方法:每一次对话(session),客户端和服务器端都生成一个"对话密钥"(session key),用它来加密信息。由于"对话密钥"是对称加密,所以运算速度非常快,而服务器公钥只用于加密"对话密钥"本身,这样就减少了加密运算的消耗时间。

因此,SSL/TLS协议的基本过程是这样的:

(1) 客户端向服务器端索要并验证公钥。

(2) 双方协商生成"对话密钥"。

(3) 双方采用"对话密钥"进行加密通信。

上面过程的前两步,又称为"握手阶段"(handshake)。

四、握手阶段的详细过程

"握手阶段"涉及四次通信,我们一个个来看。需要注意的是,"握手阶段"的所有通信都是明文的。

4.1 客户端发出请求(ClientHello)

首先,客户端(通常是浏览器)先向服务器发出加密通信的请求,这被叫做ClientHello请求。

在这一步,客户端主要向服务器提供以下信息。

(1) 支持的协议版本,比如TLS 1.0版。

(2) 一个客户端生成的随机数,稍后用于生成"对话密钥"。

(3) 支持的加密方法,比如RSA公钥加密。

(4) 支持的压缩方法。

这里需要注意的是,客户端发送的信息之中不包括服务器的域名。也就是说,理论上服务器只能包含一个网站,否则会分不清应该向客户端提供哪一个网站的数字证书。这就是为什么通常一台服务器只能有一张数字证书的原因。

对于虚拟主机的用户来说,这当然很不方便。2006年,TLS协议加入了一个Server Name Indication扩展,允许客户端向服务器提供它所请求的域名。

4.2 服务器回应(SeverHello)

服务器收到客户端请求后,向客户端发出回应,这叫做SeverHello。服务器的回应包含以下内容。

(1) 确认使用的加密通信协议版本,比如TLS 1.0版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信。

(2) 一个服务器生成的随机数,稍后用于生成"对话密钥"。

(3) 确认使用的加密方法,比如RSA公钥加密。

(4) 服务器证书。

除了上面这些信息,如果服务器需要确认客户端的身份,就会再包含一项请求,要求客户端提供"客户端证书"。比如,金融机构往往只允许认证客户连入自己的网络,就会向正式客户提供USB密钥,里面就包含了一张客户端证书。

4.3 客户端回应

客户端收到服务器回应以后,首先验证服务器证书。如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。

如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后,向服务器发送下面三项信息。

(1) 一个随机数。该随机数用服务器公钥加密,防止被窃听。

(2) 编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。

(3) 客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验。

上面第一项的随机数,是整个握手阶段出现的第三个随机数,又称"pre-master key"。有了它以后,客户端和服务器就同时有了三个随机数,接着双方就用事先商定的加密方法,各自生成本次会话所用的同一把"会话密钥"。

至于为什么一定要用三个随机数,来生成"会话密钥",dog250解释得很好:

"不管是客户端还是服务器,都需要随机数,这样生成的密钥才不会每次都一样。由于SSL协议中证书是静态的,因此十分有必要引入一种随机因素来保证协商出来的密钥的随机性。

对于RSA密钥交换算法来说,pre-master-key本身就是一个随机数,再加上hello消息中的随机,三个随机数通过一个密钥导出器最终导出一个对称密钥。

pre master的存在在于SSL协议不信任每个主机都能产生完全随机的随机数,如果随机数不随机,那么pre master secret就有可能被猜出来,那么仅适用pre master secret作为密钥就不合适了,因此必须引入新的随机因素,那么客户端和服务器加上pre master secret三个随机数一同生成的密钥就不容易被猜出了,一个伪随机可能完全不随机,可是是三个伪随机就十分接近随机了,每增加一个自由度,随机性增加的可不是一。"

此外,如果前一步,服务器要求客户端证书,客户端会在这一步发送证书及相关信息。

4.4 服务器的最后回应

服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的"会话密钥"。然后,向客户端最后发送下面信息。

(1)编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。

(2)服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供客户端校验。

至此,整个握手阶段全部结束。接下来,客户端与服务器进入加密通信,就完全是使用普通的HTTP协议,只不过用"会话密钥"加密内容。

五、参考链接

  • MicroSoft TechNet, SSL/TLS in Detail
  • Jeff Moser, The First Few Milliseconds of an HTTPS Connection
  • Wikipedia, Transport Layer Security
  • StackExchange, How does SSL work?
  • 热心网友 时间:2022-04-21 12:26

    SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。
    TLS:(Transport LayerSecurity,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。
    SSL是Netscape开发的专门用户保护Web通讯的,目前版本为3.0。最新版本的TLS 1.0是IETF(工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,两者差别极小。

    热心网友 时间:2022-04-21 13:44

    实现HTTPS协议访问,就需要SSL证书,TLS是SSL与HTTPS安全传输层协议名称。

    SSL与TLS的区别以及介绍:https://www.gworg.com/ssl/422.html
    HTTPS加密协议详解(四):TLS/SSL握手过程:https://www.gworg.com/ssl/408.html
    HTTPS和HTTP的区别是什么?:https://www.gworg.com/ssl/404.html

    热心网友 时间:2022-04-21 15:18

    SSL和TLS只是协议不同时期的叫法不同,一般我们都叫SSL证书
    什么是SSL加密,什么是TLS加密

    TLS是安全传输层协议。安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议上面。

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

    SSL是Netscape开发的专门用户保护Web通讯的,目前版本为3.0。最新版本的TLS 1.0是IETF(工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,两者差别极小。

    什么是 SSL 和 TLS 协议?

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record ...

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

    实现HTTPS协议访问,就需要SSL证书,TLS是SSL与HTTPS安全传输层协议名称。SSL与TLS的区别以及介绍:https://www.gworg.com/ssl/422.html HTTPS加密协议详解(四):TLS/SSL握手过程:https://www.gworg.com/ssl/408.html HTTPS和HTTP的区别是什么?:https://www.gworg.com/ssl/404.html ...

    SSL和TLS有什么区别

    SSL和TLS的区别1.安全级别TLS比SSL提供更高级别的加密和更强大的安全性。TLS可以使用256位密钥和更安全的加密算法,提供更好的、更安全的安全性等级。它对数据进行了更可靠的加密,防止被破解。TLS的安全级别不仅更高,也更持久,因此在网络中被广泛使用。2.握手阶段SSL和TLS的开始阶段也有所不同。SSL...

    什么是SSL/ TLS协议?

    1、SSL中文名为安全套接字层(Secure Sockets Layer),现如今是应用最广泛的数据加密协议,该协议是由网景公司在90年代设计的主要用于Web的安全传输协议。2、该协议历经了三个版本,分别是SSL1.0、SSL2.0、SSL3.0。直到IETF将SSL进行了标准化,并将其称为TLS(Transport Layer Security)传输层安全。

    ssl tls协议 区别

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

    SSL/TLS是什么意思啊?

    SSl是一种安全协议。SSLSecureSocketsLayer)及其继任者传输层安全(TransportLayerSecurity,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密技术,可确保数据在网络上之传输过程中不会被截取...

    服务器证书和SSL证书,还有网上出现的TLS,有什么区别?铁别是SSL/TLS老...

    TLS之前的版本名称叫做SSL,但因为纪念历史,所以很多人还是称之为SSL,TLS证书是目前最新的协议,所以叫做TLS,只是版本不同的名称而已,意思是一样的。

    什么是SSL/TLS 协议中的连接和会话,它们之间有什么关系?

    TLS 有时被称为 SSL(安全套接层),但是 MySQL 实际上并不使用 SSL 协议进行加密连接,因为它的加密很弱。TLS 协议通过加密数据来确保在两个通信应用程序之间提供隐私和数据完整性,以便任何第三方都无法拦截通信。它还会验证对等方以验证其身份。通过在两个对等点之间提供安全的通信通道,TLS 协议可以...

    tls和ssl的区别 ssl连接和ssl会话的区别 ssl协议与sel协议的区别 tls和ssl协议怎么设置 tls和ssl的关系 ssl升级到tls ssl tls协议 简述tls和ssl的关系 修改tls和ssl协议
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    移动公司的存费送费活动是不是一次交费,24个月不用交费了啊??? 在移动充话费送的手机 每个月会收28元的保底费还要15元套餐费 要是为... 什么品牌的指甲剪好用? 哪些品牌的美甲工具质量好? 桂林的山水,像老人,像巨象,像骆驼,奇峰罗列,形态万千。 照样子,填,快... 实木家具涂刷水性木器漆好吗 ...一座座拔地而起各不相连像老人像巨象像骆驼…仿写 仿写下面的一段话 ...不相连,像老人,像巨象,像骆驼,奇峰罗列,形状万千。仿写 药店老板必知丨药店效期产品快速动销解决方案 左下腹部隐隐作痛? tls是什么意思 左下腹部疼痛 怎么洗冰冻的螃蟹,速度回答有重谢 什么是TLS 左下腹疼痛是怎么回事 左下腹疼痛的原因有哪些? tls是什么意思? 痛风可以吃黄秋葵吗黄秋葵怎么吃呀,怎么粘粘的 黄秋葵怎么吃呀,怎么粘粘的 左下腹痛怎么办? 秋葵焯水要切开吗 秋葵不焯水可以吃吗 超兽武装里超兽战士实力排名,不包括其他人,只有(火麟飞、龙戬、天羽、泰雷、夜凌云、风耀、风影) 请问 动画片 超兽武装一共几部都叫什么名字?谢谢 查一下秋葵怎么凉拌菜 有谁知道超兽武装官方设定和异能量设定吗?看他们都在说,想了解一下。 超兽武装夜凌云和项羽谁厉害 请教5分钟上菜~烫秋葵的经典做法? 《超兽武装》完结十周年,要是放到现在,它还能算神作吗? 左下腹痛怎么办 什么是 SSL 和 TLS 协议? 左下腹部酸痛是怎么回事 SSL/TLS是什么意思啊? 小腹左下侧疼怎么回事 IE高级设置里的使用TLS1.0,SSL2.0,SSL3.0是什么意思 左下小腹疼是啥原因? 电力金具TYS和TLS分别是代表什么意思 腹部左下侧是什么器官 javamail的tls和ssl方式是什么意思 我左下小腹总是隐痛其他的没什么明显症状 Internet选项-高级-安全中SSL 2.0;TLS 1.1;TLS 1.2 是什么意思? 左下腹部不适怎么办? Internet选项》高级》安全》中SSL 2.0;TLS 1.1;TLS 1.2 嘛意思? 如何构建web服务器 IE高级设置里的使用TLS1。0,SSL2.0,SSL3.0是什么意思啊? SSl是什么意思? WEB服务器怎么做? TTLS是什么意思 《德语助手》德汉 关于web服务器的建立