问答文章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

我来回答

8个回答

懂视网 时间:2022-05-13 16:15

互联网的通信安全,建立在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-05-13 13:23

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

    SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

    安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面,与具体的应用无关,所以,一般把TLS协议归为传输层安全协议。

    扩展资料:

    TLS握手协议使用该层中的公钥和证书来处理对等用户的认证,以及协商算法和加密实际数据传输的密钥。这个过程是在TLS记录协议的顶部执行的。

    TLS握手协议是TLS协议中最复杂的部分。它定义了10种消息。客户端和服务器使用这10种消息相互验证,协商散列函数和加密算法,并为彼此提供机密数据以生成加密密钥。TLS记录协议在加密算法中使用这些加密密钥来提供数据保密性和一致性保护。

    TLS的最大优点在于TLS独立于应用协议。高级协议可以在TLS协议上透明地分发。然而,TLS标准没有指定应用程序如何向TLS添加安全性,它留下了关于如何启动TLS握手协议以及如何向协议设计者和实现者解释交换的认证证书的决定。

    参考资料:百度百科-ssl 百度百科-tls

    热心网友 时间:2022-05-13 14:41

    SSL是一种安全协议,如果只是网站访问的时候提示,那么您可以忽略他,没有其它办法解决。

    热心网友 时间:2022-05-13 16:16

    SSL“安全套接层”协议,TLS“安全传输层”协议,都属于是加密协议,在其网络数据传输中起到保护隐私和数据的完整性。保证该网络传输的信息不会被未经授权的元素拦截或修改,从而确保只有合法的发送者和接收者才能完全访问并传输信息。

    热心网友 时间:2022-05-13 18:07

    没钱,也未收到钱账。难办。

    热心网友 时间:2022-05-13 20:15

    SSL,是利用数据加密技术,用以保障在Internet上数据传输安全的协议,ssl证书就是遵守SSL协议的一种数字证书,验证网站主体身份和数据传输加密。
    TLS,安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。TLS加密于TLS加密区别在于,加密算法不同。现在还是SSL加密比较多,GDCA的SSL证书比较常见!

    热心网友 时间:2022-05-13 22:40

    SSL(Secure Sockets Layer) 安全套接层,TLS(Transport Layer Security)传输层安全;TLS1.0和SSL几乎是一样的,随后就沿着TLS这个路径发展下去了,TLS1.1,TLS1.2 目前广泛用的是TLS1.2,最新的是TLS1.3是2018年发布的。在linux中openSSL是对TLS与SSL的实现,不但实现了协议与算法,还有很多好用的命令工具。https是在http的基础上加入了TLS这一层,使得非加密的http数据得到了保护,按照7层模型的话,TLS在表示层,要想系统的全面的了解学习TLS,推荐一个课程:网页链接

    热心网友 时间:2022-05-14 01:21

    SSL (Secure Socket Layer)
    为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络
    上之传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全
    标准,但*出境。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。
    当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。
    SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
    SSL协议提供的服务主要有:
    1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
    2)加密数据以防止数据中途被窃取;
    3)维护数据的完整性,确保数据在传输过程中不被改变。

    SSL协议的工作流程:
    服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
    用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
    从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa和 MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。

    TLS:安全传输层协议
    (TLS:Transport Layer Security Protocol)
    安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。 TLS 记录协议提供的连接安全性具有两个基本特性:

    私有――对称加密用以数据加密(DES 、RC4 等)。对称加密所产生的密钥对每个连接都是唯一的,且此密钥基于另一个协议(如握手协议)协商。记录协议也可以不加密使用。
    可靠――信息传输包括使用密钥的 MAC 进行信息完整性检查。安全哈希功能( SHA、MD5 等)用于 MAC 计算。记录协议在没有 MAC 的情况下也能操作,但一般只能用于这种模式,即有另一个协议正在使用记录协议传输协商安全参数。
    TLS 记录协议用于封装各种高层协议。作为这种封装协议之一的握手协议允许服务器与客户机在应用程序协议传输和接收其第一个数据字节前彼此之间相互认证,协商加密算法和加密密钥。 TLS 握手协议提供的连接安全具有三个基本属性:

    可以使用非对称的,或公共密钥的密码术来认证对等方的身份。该认证是可选的,但至少需要一个结点方。
    共享加密密钥的协商是安全的。对偷窃者来说协商加密是难以获得的。此外经过认证过的连接不能获得加密,即使是进入连接中间的攻击者也不能。
    协商是可靠的。没有经过通信方成员的检测,任何攻击者都不能修改通信协商。
    TLS 的最大优势就在于:TLS 是独立于应用协议。高层协议可以透明地分布在 TLS 协议上面。然而, TLS 标准并没有规定应用程序如何在 TLS 上增加安全性;它把如何启动 TLS 握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。

    协议结构

    TLS 协议包括两个协议组―― TLS 记录协议和 TLS 握手协议――每组具有很多不同格式的信息。在此文件中我们只列出协议摘要并不作具体解析。具体内容可参照相关文档。

    TLS 记录协议是一种分层协议。每一层中的信息可能包含长度、描述和内容等字段。记录协议支持信息传输、将数据分段到可处理块、压缩数据、应用 MAC 、加密以及传输结果等。对接收到的数据进行解密、校验、解压缩、重组等,然后将它们传送到高层客户机。

    TLS 连接状态指的是 TLS 记录协议的操作环境。它规定了压缩算法、加密算法和 MAC 算法。

    TLS 记录层从高层接收任意大小无空块的连续数据。密钥计算:记录协议通过算法从握手协议提供的安全参数中产生密钥、 IV 和 MAC 密钥。 TLS 握手协议由三个子协议组构成,允许对等双方在记录层的安全参数上达成一致、自我认证、例示协商安全参数、互相报告出错条件。
    什么是 SSL 和 TLS 协议?

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

    什么是SSL/TLS协议

    介绍一下它的基本工作原理和应用场景SSL/TLS协议是现代互联网通信中广泛使用的一种安全传输协议。它的基本作用是将在传输过程中的数据进行加密和验证,以保证数据传输的安全性。下面我们将详细介绍这种协议的基本工作原理和应用场景。SSL协议是SecureSocketsLayer(安全套接层)协议的简称,而TLS协议则是Transp...

    什么是SSL加密,什么是TLS加密

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

    SSL和TLS有什么区别

    SSL和TLS的定义和功能SSL(安全套接字协议)是一种用于网络安全的协议,旨在确保数据在互联网上传输时不被窃听、篡改或伪造。SSL使用加密和解密技术来保护数据,它可以添加到各种协议中,例如HTTP、SMTP和Telnet。TLS(传输层安全)是SSL协议的升级版,它提供更高级别的加密和更强大的安全性。TLS是从SSL3...

    什么是SSL?它是哪一层的安全协议?

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

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

    干货分享:SSL/TLS 协议

    SSL/TLS协议是互联网安全的关键组件,最初由Netscape在1990年推出,后由IETF标准化为TLS。它是Web浏览器与服务器之间建立加密链接的基础。TLS协议主要由记录层和握手层构成,握手层包含握手、更改加密规范、应用数据和警告四个子协议,确保了通信的安全性。TLS握手流程是连接建立的必要步骤,分为客户端和...

    什么是ssl,tls,为什么https相对比较安全

    当初发明 SSL协议,就是因为原先互联网上使用的 HTTP 协议是明文的,也就是没经过加密,传输内容很容易被截取和篡改。而SSL/TLS作为网络安全协议,可以弥补HTTP协议的缺陷,所以HTTPS协议就是HTTP 协议+SSL/TLS 协议=加密传输,安全性自然要比HTTP协议高的多。举个例子,你在网站上输入账户登陆密码再点...

    什么是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协议包含几个子协议 ssl协议是指什么 ssl什么协议 按照SSL协议 SSL协议包括 SSL协议主要用于 SSL协议的使用场景 TLS协议 SSL握手协议
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    现在坐火车装修工具能带上去吗?如锤子,电钻。扳手 ...最先出现的是( )A.地衣阶段B.苔藓阶段C.草本阶段D.灌木阶段和森林... 冷冻食品,冷冻食品需知常识 孕妇hiv假阳性多吗 假阴烽火柱是什么 马桶水箱下面有油怎么回事 电视上什么时候才放体操节目啊? 修路挖方量跟填方量基本一致,填方还需要外购回填料吗 请问这种修路测量标识有什么含义? ...千万“别用”了,哪些网红护肤品进入了爱美人士的护肤品黑名单?_百 ... 左下腹痛怎么办 什么是ssl,tls?两者有什么区别? 左下腹部隐隐作痛? tls是什么意思 左下腹部疼痛 怎么洗冰冻的螃蟹,速度回答有重谢 什么是TLS 左下腹疼痛是怎么回事 左下腹疼痛的原因有哪些? 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服务器的建立 如何在服务器上搭建web服务器 建立WEB服务器