首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TLS如何安全地协商共享密钥?

TLS(Transport Layer Security)是一种常用的网络安全协议,用于在客户端和服务器之间建立安全的通信连接。在TLS协议中,共享密钥的安全协商是保证通信安全的关键步骤之一。

TLS协商共享密钥的过程如下:

  1. 客户端向服务器发送一个加密套件列表,包含了客户端支持的加密算法和密钥长度等信息。
  2. 服务器从客户端提供的加密套件列表中选择一个加密套件,并向客户端发送服务器证书。
  3. 客户端验证服务器证书的合法性,包括证书的有效性、签名的有效性和证书链的有效性等。
  4. 客户端生成一个随机的Pre-Master Secret,并使用服务器的公钥进行加密,然后将加密后的Pre-Master Secret发送给服务器。
  5. 服务器使用自己的私钥解密客户端发送的Pre-Master Secret,得到Pre-Master Secret。
  6. 客户端和服务器根据预定的加密套件和协议版本,使用Pre-Master Secret生成主密钥(Master Secret)。
  7. 客户端和服务器使用主密钥生成会话密钥(Session Key),用于加密和解密通信数据。

在这个过程中,TLS使用了非对称加密和对称加密相结合的方式来保证共享密钥的安全协商:

  1. 非对称加密:TLS使用服务器的公钥加密Pre-Master Secret,确保只有服务器的私钥可以解密,从而保证了Pre-Master Secret的安全传输。
  2. 对称加密:通过使用Pre-Master Secret生成主密钥和会话密钥,TLS使用对称加密算法来加密和解密通信数据,提供了更高的性能和安全性。

TLS的安全协商过程中,还涉及到数字证书、证书链、数字签名等概念:

  1. 数字证书:数字证书是由可信的第三方机构(证书颁发机构)颁发的,用于验证服务器身份的电子文件。客户端通过验证服务器证书的有效性,确保与服务器建立的连接是安全可信的。
  2. 证书链:证书链是由一系列数字证书组成的链条,用于验证服务器证书的合法性。客户端通过验证证书链的有效性,确保服务器证书的签发机构是可信的。
  3. 数字签名:数字签名是一种用于验证数据完整性和身份认证的技术。服务器使用自己的私钥对证书进行签名,客户端使用服务器的公钥对签名进行验证,确保证书的完整性和真实性。

TLS的应用场景包括但不限于:

  1. 网络通信:TLS广泛应用于Web浏览器和服务器之间的安全通信,保护用户的隐私和数据安全。
  2. 电子商务:TLS用于保护在线支付、网上银行等敏感信息的传输,防止信息被窃取或篡改。
  3. 电子邮件:TLS用于保护电子邮件的传输,确保邮件内容的机密性和完整性。
  4. 远程访问:TLS用于保护远程访问协议(如SSH、RDP等)的通信,防止敏感信息被窃取或篡改。

腾讯云提供了一系列与TLS相关的产品和服务,包括:

  1. SSL证书:腾讯云SSL证书服务提供了多种类型的SSL证书,用于保护网站和应用程序的安全通信。 链接:https://cloud.tencent.com/product/ssl-certificate
  2. Web应用防火墙(WAF):腾讯云WAF可以对Web应用程序进行实时监控和防护,包括对TLS通信的保护。 链接:https://cloud.tencent.com/product/waf
  3. CDN加速:腾讯云CDN提供了全球分布式加速服务,可以加速网站和应用程序的内容传输,包括TLS通信的加速。 链接:https://cloud.tencent.com/product/cdn

总结:TLS通过非对称加密和对称加密相结合的方式,安全地协商共享密钥,保证了通信的机密性和完整性。腾讯云提供了一系列与TLS相关的产品和服务,帮助用户实现安全的通信和数据传输。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

深入浅出HTTPS

这意味着,如果正确部署这些协议,你就可以对互联网上的任意一个服务打开通信信道,并且可以确信你会与正确的服务器通信,安全地交换信息。...在之前介绍密码学的文章中,我们知道,加密、消息认证码跟数字签名都需要使用密钥,既然TLS能够对数据进行加密和认证,那么它也必须使用到密钥,那么TLS通信双方的密钥如何进行协商的呢?...这就是“TLS握手协议”最主要的功能了,接下来我们将重点介绍“TLS握手协议”,即TLS如何协商产生加密与认证所需的密钥的。 TLS握手协议 TLS握手协议负责生成共享密钥和交换证书。...那么客户端是如何对预备主密钥进行加密的呢?别忘了在第3步,服务端已经把它的证书发送给客户端了,而证书中包含了服务端的公钥,所以这里客户端是使用服务端的公钥加密预备主密钥的。...由于在第8步,服务端跟客户端已经协商了预备主密钥了,而在第2步也协商密钥交换算法,所以在这一步,服务端跟客户端就可以根据密钥交换算法跟预备主密钥生成主密钥了。

725110

深入浅出HTTPS

这意味着,如果正确部署这些协议,你就可以对互联网上的任意一个服务打开通信信道,并且可以确信你会与正确的服务器通信,安全地交换信息。...在之前介绍密码学的文章中,我们知道,加密、消息认证码跟数字签名都需要使用密钥,既然TLS能够对数据进行加密和认证,那么它也必须使用到密钥,那么TLS通信双方的密钥如何进行协商的呢?...这就是“TLS握手协议”最主要的功能了,接下来我们将重点介绍“TLS握手协议”,即TLS如何协商产生加密与认证所需的密钥的。 TLS握手协议 TLS握手协议负责生成共享密钥和交换证书。...那么客户端是如何对预备主密钥进行加密的呢?别忘了在第3步,服务端已经把它的证书发送给客户端了,而证书中包含了服务端的公钥,所以这里客户端是使用服务端的公钥加密预备主密钥的。...由于在第8步,服务端跟客户端已经协商了预备主密钥了,而在第2步也协商密钥交换算法,所以在这一步,服务端跟客户端就可以根据密钥交换算法跟预备主密钥生成主密钥了。

63570
  • 基于 TLS 1.3的微信安全通信协议 mmtls 介绍(上)

    3.2 Handshake 协议 —- 安全地协商出对称加密密钥 Handshake 协议其实做的最主要的事情就是完成加密密钥协商,即让通信双方安全地获得一致的对称密钥,以进行加密数据传输。...这样一来 Alice 和 Bob 仅仅通过交换自己的公钥 ECDH_pub_key,就可以在 Internet 这种公开信道上共享一个相同密钥 Key,然后用这个 Key 作为对称加密算法的密钥,进行加密通信...那么是否存在一种密钥协商方式是在握手协商的过程中就安全地将业务数据传递给对端呢?答案是有的,TLS1.3 草案中提到了 0-RTT 密钥协商的方法。...1. 0-RTT ECDH 密钥协商 0-RTT 握手想要达到的目标是在握手的过程中,捎带业务数据到对端,这里难点是如何在客户端发起协商请求的时候就生成一个可信的对称密钥加密业务数据。...如何避免签名密钥 sign_key 泄露带来的影响?

    18.5K02

    https通信流程

    只有服务器的私钥才能解密这个对称密钥,这样双方就安全地协商出了一个共享的秘密密钥,而不被第三方窃听。...对称加密传输:一旦握手完成,双方就会使用之前协商好的对称密钥对数据进行加密和解密,保证数据传输的安全性。这个对称密钥是临时的,只在当前的会话中使用,会话结束后就会被丢弃。...通信终止:当数据交换完成后,客户端和服务器会终止连接,同时丢弃会话密钥。 PS: 第2阶段中具体流程: SSL/TLS握手是HTTPS通信中的关键步骤,确保了数据的安全传输。...在HTTPS连接建立的过程中,SSL/TLS握手起到了至关重要的作用。它不仅是为了验证通信双方的身份,而且还要确立加密参数和会话密钥。...密钥交换:根据协商密钥交换算法(如RSA或Diffie-Hellman),产生预主秘钥(Pre-Master Secret)。

    25510

    HTTPS的加密过程

    共享密钥加密(对称密钥加密):加密和解密同用一个密钥。加密时就必须将密钥传送给对方,那么如何安全的传输呢? 公开密钥加密(非对称密钥加密):公开密钥加密使用一对非对称的密钥。...但由于公开密钥共享密钥要慢,所以我们就需要综合一下他们两者的优缺点,使他们共同使用,而这也是HTTPS采用的加密方式。...在交换密钥阶段使用公开密钥加密方式,之后建立通信交换报文阶段则使用共享密钥加密方式。 这里就有一个问题,如何证明公开密钥本省是货真价实的公开密钥。...二、服务器的公开密钥是值得信赖的。 此处认证机关的公开密钥必须安全地转交给客户端。...协商会话密钥

    1.2K20

    基于TLS1.3的微信安全通信协议mmtls介绍

    3.2 Handshake协议 --- 安全地协商出对称加密密钥   Handshake协议其实做的最主要的事情就是完成加密密钥协商,即让通信双方安全地获得一致的对称密钥,以进行加密数据传输。...这样一来Alice和Bob仅仅通过交换自己的公钥ECDH_pub_key,就可以在Internet这种公开信道上共享一个相同密钥Key,然后用这个Key作为对称加密算法的密钥,进行加密通信。...那么是否存在一种密钥协商方式是在握手协商的过程中就安全地将业务数据传递给对端呢?答案是有的,TLS1.3草案中提到了0-RTT密钥协商的方法。...1. 0-RTT ECDH密钥协商   0-RTT 握手想要达到的目标是在握手的过程中,捎带业务数据到对端,这里难点是如何在客户端发起协商请求的时候就生成一个可信的对称密钥加密业务数据。...如何避免签名密钥sign_key泄露带来的影响?

    5.8K111

    深入理解SSL协议:从理论到实践

    密钥协商阶段:服务器接收到客户端发送的预主密钥后,使用自己的私钥解密得到预主密钥,然后双方基于预主密钥生成会话密钥(对称密钥),用于加密通信数据。...总体来说,预主密钥用于安全地协商生成会话密钥,而会话密钥则用于实际的数据加密和解密过程。通过这种方式,SSL 协议确保了通信双方之间的数据传输是加密的、安全的。...合适的密钥长度可以提高加密算法的安全性。 密钥交换 非对称加密也用于安全地交换对称加密算法所需的密钥,如在TLS握手过程中使用非对称加密来交换对称密钥。...因此,双方在通信前需要协商共享同一个密钥。...至此,就可以以相对安全地访问目标网站了。 HTTPS的工作原理 对于如何实现普通网站的HTTPS的步骤,相信你已经了然。但是整个过程是如何工作的,你了解吗?且往下看。

    2.5K10

    TLS 1.3 Introduction

    包括密钥协商,参数协商,建立共享密钥。握手协议被设计用来抵抗篡改;如果连接未受到攻击,则活动攻击者不应该强制对等方协商不同的参数。 记录协议 使用由握手协议建立的参数来保护通信双方的流量。...然而,TLS 标准并未指定协议如何增强 TLS 的安全,如何发起 TLS 握手以及如何理解认证证书交换,这些都留给运行在 TLS 之上的协议的设计者和实现者来判断。 本文档定义了 TLS 1.3 版。...握手协议允许两端协商一个协议版本,选择密码算法,选择性互相认证,并建立共享密钥数据。一旦握手完成,双方就会使用建立好的密钥保护应用层数据。...然后它会以自己的 ServerHello 作为响应,其中表明了协商好的连接参数。ClientHello 和 ServerHello 合在一起来确定共享密钥。...复用和预共享密钥(Pre-Shared Key,PSK) 虽然 TLS共享密钥(PSK)能够在带外建立,预共享密钥也能在一个之前的连接中建立然后重用(会话恢复)。

    1.9K70

    大型网站的HTTPS实践(一)---HTTPS协议和原理

    但存在一个很大的问题就是无法安全地生成和保管密钥。假如客户端软件和服务器之间每次会话都使用固定的,相 同的密钥加密和解密,肯定存在很大的安全隐患。...下面重点介绍一下非对称密钥交换的数学原理及在TLS握手过程中的应用。 4.1.1 非对称密钥交换 在非对称密钥交换算法出现以前,对称加密一个很大的问题就是不知道如何安全生成和保管密钥。...4.1.1.1.2 握手过程中的RSA密钥协商 介绍完了RSA的原理,那最终会话所需要的对称密钥如何生成的呢?跟RSA有什么关系? 以TLS1.2为例简单描述一下,省略跟密钥交换无关的握手消息。...5, 浏览器接收server_key_exchange之后,使用证书公钥进行签名解密和校验,获取服务器端的ECDH临时公钥,生成会话所需要的共享密钥。 至此,浏览器端完成了密钥协商。...8, 服务器生成会话所需要的共享密钥。 9, Server端密钥协商过程结束。 图示如下: 4.1.2 对称内容加密 非对称密钥交换过程结束之后就得出了本次会话需要使用的对称密钥

    1.3K60

    面试官你不要说我不懂TLS握手了

    摘要 基于RSA密钥协商算法的TLS1.2握手分析 数字证书 DHE和ECDHE算法 基于ECDHE密钥协商算法的TLS1.2握手分析 TLS握手时采用的加密方式 非对称加密和对称加密。...基于RSA密钥协商算法的TLS1.2握手分析 TLS握手的总过程 TLS1.2握手的过程由于本人本地密码套件不支持,相关图片来源于网络。...RSA有缺陷如何解决 RSA密钥协商算法既然无法向前保密,后面使用了新的协商算法: DH DHE ECDHE DH算法是什么? DH算法是非对称加密算法,因此也可用作密钥交换,核心思想就是离散对数。...基于ECDHE密钥协商算法的TLS1.2握手分析 客户端发起第一次握手请求这个采用RSA协商算法的握手无区别,这里就不说了。...+ 椭圆曲线计算出来的共享密钥」来生成最终的会话密钥

    64220

    Wireguard:简约之美

    之后,数据流就可以用这个密钥进行高效地做对称加密。 安全性解决了,那么,如何解决网络两端身份验证的问题?...这个问题目前的通解是两个: 共享密钥(pre-shared key) 证书(certificate) 比如我们访问招商银行的网站,浏览器通过验证招行的证书来确保我们要访问的网络的确是我们要访问的网络...而当一家公司的总部的网络和分支机构的网络要通讯时,可以预先配置彼此的公钥然后通过数字签名来验证彼此,这是共享密钥的一种变体(纯粹的共享密钥不满足前向安全,几乎不应该被使用在通讯中)。...我们现在使用的 V** 解决方案,无论是工作在网络层的 IPSec V**,还是工作在会话层的 SSL/TLS/OpenV**,在密钥交换和身份验证都并没有跳脱出前面讲述的算法。...当接收方校验一切 OK 后,它可以生成自己的临时密钥对。此时,接收方因为有了对端的临时公钥,已经可以计算出此次协商后加密数据要用的密钥

    4.3K64

    HTTPS 和 SSLTLS 协议:密钥交换(密钥协商)算法及其原理

    今天这篇来介绍一下实战中使用的“密钥协商算法”。 ★密钥交换/协商机制要达到啥目的? 前一篇介绍了 SSL/TLS 的身份认证机制。...而今天要聊的“密钥协商机制”是:(在身份认证的前提下)如何规避【偷窥】的风险。   ...顾名思义,就是【预先】让通讯双方共享一些密钥(通常是【对称加密】的密钥)。所谓的【预先】,就是说,这些密钥TLS 连接尚未建立之前,就已经部署在通讯双方的系统内了。   ...◇密钥协商的步骤 (由于 PSK 用的不多,下面只简单介绍一下步骤,让大伙儿明白其原理)   在通讯【之前】,通讯双方已经预先部署了若干个共享密钥。   ...◇如何防范偷窥(嗅探)   使用这种算法,在协商密钥的过程中交换的是密钥的标识(ID)而【不是】密钥本身。   就算攻击者监视了全过程,也无法知晓密钥啥。

    9.4K30

    即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术

    4.2 如何安全地传递用于消息加解密的密钥对于端到端加密,我们需要先解决的前置安全问题是:如何安全地传递用于消息加解密的密钥。...答案是:用非对称加密的方式传输密钥(与 SSL / TLS 中安全交换密钥的方式类似)。...而采用共享密钥的方式则只需要知道对方的公钥,就可以完成生成共享密钥,并不一定需要对方在线。2)如果已经生成的临时对称密钥丢失,则需要重新协商密钥。...而采用共享密钥的方式则只需要知道对方的公钥,就可以完成生成共享密钥,不需要重新协商。3)采用公钥加密私钥解密的方式至少会比生成共享密钥方式多一次交换对称密钥的通信过程。...,在此处作用不大;2)Alice 从服务器获取 Bob 的三种密钥对的公钥:身份密钥对IPK-B、已签名的预共享密钥 SPK-B、一次性预共享密钥 OPK-B;3)Alice 开始使用 DH 协议计算协商密钥

    1.9K30

    网络安全深度解析:HTTPS加密机制及其在现代Web安全中的核心作用

    本文将深入探讨HTTPS背后的加密机制,包括SSL/TLS握手过程、证书验证流程,并通过实战代码示例展示如何在服务器端配置HTTPS,以便读者更好地理解和实施这一关键技术。...ClientKeyExchange:客户端使用服务器提供的公钥加密密钥交换信息,如预主密钥(Pre-Master Secret)。...ChangeCipherSpec:通知对方后续的所有消息都将使用新协商的加密参数进行加密。...1.2 密钥协商与数据加密在完成握手之后,客户端和服务器都会利用上述过程中的随机数(client_random 和 server_random)以及协商好的密钥交换算法计算出最终的会话密钥(Session...这个密钥将用于对称加密数据传输,而握手过程中使用的非对称加密仅用于安全地交换会话密钥。二、HTTPS服务器配置实战在实际操作层面,配置HTTPS服务器涉及到安装和配置SSL/TLS证书。

    41610

    SSL与TLS的区别以及介绍

    SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。   ...TLS记录协议提供的连接安全性具有两个基本特性: 私有——对称加密用以数据加密(DES、RC4等)。对称加密所产生的密钥对每个连接都是唯一的,且此密钥基于另一个协议(如握手协议)协商。...作为这种封装协议之一的握手协议允许服务器与客户机在应用程序协议传输和接收其第一个数据字节前彼此之间互相认证,协商加密算法和加密密钥。...TLS握手协议提供的连接安全具有三个基本属性: 可以使用非对称的,或公共密钥的密码术来认证对等方的身份。该认证是可选的,但至少需要一个结点方。 共享解密密钥协商是安全的。...然而,TLS标准并没有规定应用程序如何TLS上增加安全性;它如何启动TLS握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。

    2.3K20

    安全如何为数据库选择最佳加密方法

    优点包括比非对称密钥加密更快的解密时间,更小的密钥大小,更容易安全地存储或传输,并且不需要分发密钥或证书,因为它使用了共享秘密的概念。 共享密钥是一组只有参与安全通信的人员才知道的字符。...共享秘密可以是只有安全交易的各方知道的任何“密码类型”字符串。 共享秘密可以是预先共享的预共享密钥的形式。...或者它是在通信会话时使用密钥协商协议创建的,例如,Diffie-Hellman等公钥密码术,或Kerberos等对称密钥密码术。 缺点是它需要密钥的安全分发/传输或预共享的秘密才能正常工作。...流行的例子包括 TLS 和 SSH 协议,它们使用公钥机制进行密钥交换(例如 Diffie-Hellman)和对称密钥机制进行数据封装(例如 AES)。...HTTPS 中的加密协议使用传输层安全性 (TLS),以前称为安全套接字层 (SSL)。它有时也称为 HTTP over TLS 或 HTTP over SSL。 几乎所有浏览器都支持 HTTPS。

    68010

    科普 TLS 1.3 — 新特性

    生成 ECDH 临时公钥和 ClientKeyExchange 消息发送给服务端; 第四步,服务器处理 ClientKeyExchange 消息,获取客户端 ECDH 临时公钥;服务器生成会话所需要的共享密钥...;发送密钥协商完成消息给客户端; 第五步,双方使用生成的共享密钥对消息加密传输,保证消息安全。...可以看到,TLS1.2 协议中需要加密套件协商密钥信息交换、ChangeCipherSpec 协议通告等过程,需要消耗 2-RTT 的握手时间,这也是造成 HTTPS 协议慢的一个重要原因之一。...在 TLS 1.3 中,客户端首先不仅发送 ClientHello 支持的密码列表,而且还猜测服务器将选择哪种密钥协商算法,并发送密钥共享,这可以节省很大一部分的开销,从而提高了速度。...KeyShare 消息后,使用证书公钥进行签名验证,获取服务器端的 ECDH 临时公钥,生成会话所需要的共享密钥; 双方使用生成的共享密钥对消息加密传输,保证消息安全。

    3.1K60

    WEB性能--TLS

    三、TLS握手 客户端与服务器在通过TLS交换数据之前,必须协商建立加密信道。协商内容包括TLS版本、加密套件,必要时还会验证证书。...接下来,客户端和服务器之间的通信就会全部使用客户端生成的共享密钥加密,这就是对称加密。之所以这样设计,很大程度是处于性能考虑,因为公钥加密需要很大的计算量。...四、TLS会话恢复 完整的TLS握手会带来额外的延迟和计算量,从而给所有依赖安全通信的应用造成严重的性能损失。为了挽回某些损失,TLS提供了恢复功能,即在多个连接间共享协商后的安全密钥。 1....相应地,客户端也可以保存会话ID,并将该ID包含在后续会话消息中,从而告诉服务器自己还记着上次握手协商后的加密套件和密钥,这些都可以重用。...借用会话标识符可以节省一次往返,还可以节省掉用于协商共享密钥的公钥加密计算。由于重用了之前协商过的会话数据,就可以迅速建立一个加密连接,而且同样安全。

    1.5K30

    这 HTTPS,真滴牛逼!

    ---- DH 算法 认识了离散对数,我们来看看 DH 算法是如何密钥交换的。...「 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384」 密钥协商算法使用 ECDHE; 签名算法使用 RSA; 握手后的通信使用 AES 对称算法,密钥长度 256 位,分组模式是...至此,TLS 两次握手就已经完成了,目前客户端和服务端通过明文共享了这几个信息:Client Random、Server Random 、使用的椭圆曲线、椭圆曲线基点 G、服务端椭圆曲线的公钥,这几个信息很重要...还记得 TLS 握手阶段,客户端和服务端都会生成了一个随机数传递给对方吗? 最终的会话密钥,就是用「客户端随机数 + 服务端随机数 + x(ECDHE 算法算出的共享密钥) 」三个材料生成的。...---- 总结 RSA 和 ECDHE 握手过程的区别: RSA 密钥协商算法「不支持」前向保密,ECDHE 密钥协商算法「支持」前向保密; 使用了 RSA 密钥协商算法,TLS 完成四次握手后,才能进行应用数据传输

    1.6K10
    领券