首页 > 其他分享 >HTTPS执行过程

HTTPS执行过程

时间:2024-09-11 09:35:32浏览次数:1  
标签:证书 TCP 密钥 HTTPS 服务器 执行 过程 客户端

HTTPS(超文本传输安全协议)是HTTP(超文本传输协议)的安全版本,它使用SSL/TLS协议来加密HTTP通信,从而确保数据的安全传输。下面将详细介绍HTTPS的工作流程:

HTTPS的工作流程

  1. 客户端发起请求

    • 用户在浏览器中输入一个HTTPS URL(如 https://example.com)。
    • 浏览器向服务器发送一个TCP SYN包,开始三次握手建立TCP连接。
  2. 服务器响应

    • 服务器收到客户端的SYN包后,回应一个SYN-ACK包,继续三次握手过程。
    • 客户端发送ACK包确认,完成三次握手,建立TCP连接。
  3. 证书交换

    • 一旦TCP连接建立成功,服务器向客户端发送自己的数字证书。这个证书包含了服务器的公钥、证书颁发机构(CA)的信息以及证书的有效期等。
    • 服务器可能会发送多个证书,形成一个证书链,以证明其身份。
  4. 客户端验证证书

    • 客户端会检查证书的有效性,包括是否过期、是否被吊销以及证书是否由受信任的证书颁发机构签名等。
    • 如果证书有效,客户端生成一个随机数(称为“预主密钥”),用于生成后续的会话密钥。
    • 客户端使用服务器证书中的公钥加密这个预主密钥,并将其发送给服务器。
  5. 密钥交换

    • 服务器使用自己的私钥解密预主密钥。
    • 服务器和客户端都使用预主密钥生成最终的会话密钥(有时称为“主密钥”)。
    • 这个会话密钥是对称密钥,用于加密和解密接下来的数据交换。
  6. 加密通信

    • 客户端和服务器使用会话密钥对数据进行加密和解密。
    • 数据通过TCP/IP网络传输,但由于使用了对称加密算法,即使数据被截获,也无法轻易解密。
    • 通信完成后,客户端和服务器可以关闭TCP连接。

具体步骤总结

  1. TCP三次握手:建立TCP连接。
  2. TLS/SSL握手
    • 服务器发送证书。
    • 客户端验证证书。
    • 客户端生成预主密钥,并用服务器公钥加密后发送给服务器。
    • 服务器解密预主密钥。
    • 双方生成会话密钥。
  3. 加密数据传输:使用会话密钥加密和解密数据。

注意事项

  • 证书链:服务器发送的证书可能是一个证书链,其中包括中间证书,直到根证书,以确保整个证书链都是可信的。
  • 会话恢复:在某些情况下,如果客户端和服务器之前已经建立了连接并且保存了会话状态,那么可以通过会话恢复机制来简化握手过程。
  • 前向保密:现代HTTPS实现通常支持前向保密(Perfect Forward Secrecy, PFS),这意味着即使私钥在未来被泄露,过去的会话仍然无法被解密。

通过HTTPS,客户端和服务器之间的通信得到了加密保护,从而提高了数据的安全性和隐私性。这是现代Web通信的基础,尤其是在涉及敏感信息(如银行交易、个人数据等)的情况下尤为重要。

标签:证书,TCP,密钥,HTTPS,服务器,执行,过程,客户端
From: https://www.cnblogs.com/firsthelloworld/p/18407684

相关文章

  • 软件验收测试的过程和内容
    验收测试在软件开发的生命周期中,软件验收测试是产品交付前的最后一道防线,它为软件产品的质量和用户需求的满足程度提供了有力保障。软件验收测试的过程和内容涵盖了多个维度,旨在全面评估软件的功能、性能、兼容性、安全性以及用户体验等方面是否达到预定标准。一、验收测试......
  • GBase 8a通过集群日志查看执行计划和每个阶段的整体耗时和各个节点的耗时做性能排查
    GBase8a提供了执行计划,以及不同的日志级别,现实整体各个节点耗时,以及每个节点的耗时,来方便用户进行性能排查,本文介绍详细的分析方法。环境2节点虚拟机集群[gbase@rh6-1~]$gcadminCLUSTERSTATE:ACTIVECLUSTERMODE:NORMAL=========================================......
  • 长度为T的固定马尔可夫链的反向过程
    扩散模型是一种概率模型,旨在通过逐渐去噪正态分布变量来学习数据分布,这相当于学习长度为T的固定马尔可夫链的反向过程。那什么是长度为T的固定马尔可夫链的反向过程呢?基本概念马尔可夫链:马尔可夫链是一系列状态的序列,其中每个状态只依赖于前一个状态,而不依赖于更早的状态。......
  • SQL执行顺序和逻辑
    SQL执行顺序和逻辑MySQL的执行顺序:  (9)SELECT  (6)SUM(聚合函数)  (10)DISTINCT<select_list>  (1)FROM<left_table>  (3)<join_type>JOIN<right_table>  (2)ON<join_condition>  (4)WHERE<where_condition>  (5)GROUP......
  • Windows远程桌面授权远程代码执行漏洞CVE-2024-38077(POC、EXP)
    目录漏洞描述关键信息漏洞影响漏洞危害等级影响范围漏洞解决方案临时缓解方案升级修复方案POCEXP使用参考漏洞描述CVE-2024-38077是Windows远程桌面授权服务(RDL)中的一个堆溢出漏洞。该漏洞在解码用户输入的许可密钥包时,未正确验证解码后的数据长度与缓冲区......
  • Goby 漏洞发布|(CVE-2024-45195)Apache OFBiz /viewdatafile 代码执行漏洞【已复现】
    漏洞名称:ApacheOFBiz/viewdatafile代码执行漏洞(CVE-2024-45195)EnglishName:ApacheOFBiz/viewdatafileCodeExecutionVulnerability(CVE-2024-45195)CVSScore: 8.0漏洞描述:ApacheOFBiz是一个开源企业资源规划(ERP)系统。它提供了一套企业应用程序,集成并自动化企业的......
  • 探索职业锚的演进过程
    职业生涯是一个人一生中所有与工作相联系的行为与活动,以及相关的态度、价值观、愿望等的连续性经历的过程。职业锚理论在现代人力资源管理中的运用,是实现个人价值与组织目标有机统一的一种有效管理方式。对个人而言,职业锚是个人职业选择的依据,并为人的全部职业生涯设定了发展方......
  • 执行Git命令,Git都干了什么?图文带你从基础到进阶了解Git都做了什么
    0.前言Git仓库中的提交记录保存的是你目录下的所有的文件快照,就像把这些文件粘贴复制了一样,但是要比粘贴复制更加优雅。Git希望提交记录尽可能保持轻量,因此在每次提交的时候,它不会盲目的去复制你的整个目录。条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的......
  • 在 PowerShell 中,执行 ISO 文件中的 setup 程序并进行静默安装通常涉及以下步骤:
    在PowerShell中,执行ISO文件中的setup程序并进行静默安装通常涉及以下步骤:挂载ISO文件:首先,您需要将ISO文件挂载到虚拟光驱中。这可以使用PowerShell实现。执行静默安装:挂载ISO文件后,您可以运行setup.exe并使用适当的静默安装参数来进行安装。下面是一个P......
  • 开发过程中常见的6种位运算和注意事项
    位运算是直接对二进制位进行操作的一种运算。在JavaScript中,位运算符包括&(按位与)、|(按位或)、^(按位异或)、~(按位非)、<<(左移)和>>(右移)等。下面我将详细介绍这些位运算符,并给出相应的代码示例。1.按位与(&)按位与运算符对两个数的每一位执行与操作。如果两个相应的二进制位......