https 建立连接过程分析

这篇具有很好参考价值的文章主要介绍了https 建立连接过程分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

从真实的抓包开始

https 建立连接过程分析
根据抓包结果可以看到

从客户端发起请求开始,主要经过以下几个过程:
1、TCP 三次握手
2、浏览器发送 Client Hello 到服务器
3、服务器发送Server Hello 、证书、证书状态、服务端密钥交换,到浏览器
4、浏览器发送 客户端密钥交换、Change Cipher Spec、加密的握手信息,到服务端
5、服务器发送Session TicketChange Cipher Spec、加密的握手信息,到浏览器
6、之后客户端与服务器使用计算出的 master key ,通过对称加密(根据前面的密码套件,本次是 AES256 对称加密算法)开始正式https 交互

https 建立连接过程分析

客户端的握手信息

Client Hello
包含客户端支持的所有加密套件列表、客户端的随机数等
https 建立连接过程分析

服务端的握手信息

https 建立连接过程分析

Server Hello
包含服务端选择的密码套件、服务端的随机数
https 建立连接过程分析
Certificate
包含ca和目标网站证书
https 建立连接过程分析
Certificate Status
主要是通过OSCP 查询证书状态

密钥交换过程

Server Key Exchange
这里是与RSA 算法不通的地方,在发送证书之后还会发送一次椭圆曲线的密钥
包含EC Diffie-Hellman 的公钥交换
其中EC 代表椭圆曲线算法(高版本都是短暂-椭圆曲线,ephemeral Elliptic Cure)

https 建立连接过程分析

无论使用RSA 还是 ECDHE 做密钥交换,最终计算主密钥的公式都是如下:
client 随机数 + server 随机数 + pre-master = master secret

前两个随机数都是明文,并且通过网络传送,所以保密的关键在于 pre-master
两种密钥交换算法的区别在于
RSA 中,pre-master 单纯的由客户端生成,用服务端的 公钥加密之后发送给服务端,因为服务端有私钥,所以可以正常解密获取 pre-master ;使用这种方式做密钥交换的风险就是 一旦服务端私钥泄密,攻击者就可以 解密出 pre-master 加上监听获取到的 前两个随机数,就可以计算出 master secret(所以说RSA 不具备PFS -perfect forward secrecy 完美前导性安全)

ECDHE 中,服务端临时生成 椭圆曲线EC 的公私钥对 Server Params ,发送公钥给客户端;
客户端也生成一个 椭圆曲线EC 的公私钥对 Client Params,发送公钥给服务端,而私钥分别由客户端、服务端保管,随后分别在本地计算 pre-master 。 如果服务端私钥泄露,但是无法拿到客户端和服务端 椭圆曲线的私钥,也是没办法进行破解工作。(因此 ECDHE 具备PFS -perfect forward secrecy 完美前导性安全)

ECDHE (ephemeral Elliptic Cure Diffie-Hellman Exchange)全称 临时椭圆曲线DH 交换算法,其中DH 就是两个人名缩写。

Client Key Exchange
包含EC Diffie-Hellman 的公钥交换
客户端首先通过 Server Params 和自己的私钥,计算出 pre-master
再结合前面2个随机数计算出 master secret
最后用计算出的 master secret 加密一段校验信息发送给服务端
https 建立连接过程分析

New Session Ticket
session ticket 是tls1.2 引入的机制,用于替换session id
同时 服务端使用客户端发来的 Client Params 和自己的私钥,计算出 pre-master
再结合前面2个随机数计算出 master secret
最后用计算出的 master secret 加密一段校验信息发送给客户端
https 建立连接过程分析文章来源地址https://www.toymoban.com/news/detail-474286.html

到了这里,关于https 建立连接过程分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TCP,SSL以及HTTPS的连接建立过程详解

    可以参考B站的一个视频,把TLS/SSL的连接建立过程降解的非常透彻。配合这篇博客食用更佳。一遍不懂请多看几遍,很有用! 1 说明 1.1 对称加密的和非对称加密 在数字加密算法中,通过可划分为对称加密和非对称加密。 什么是对称加密? 在对称加密算法中,加密和解密使用

    2024年04月09日
    浏览(58)
  • 网络安全——一张图看懂HTTPS建立过程

    · 准备工作(对应图中prepare1234) · 发起链接 · 最后 关于网络安全加密的介绍可以看之前文章: (数据的加密与签名) HTTPS建立过程相当复杂,下图为示意图,可以有整体认识,一般我们编程知道这些已足够。 如果你想仿照HTTPS实现类似加密,可以阅读下具体过程,作为参

    2024年04月12日
    浏览(39)
  • HTTPS建立连接原理、SSL工作原理

    HTTPS与HTTP相比有什么区别? HTTPS保证安全的原理是什么? HTTPS是如何建立连接的? 巨人的肩膀 3.1 HTTP 常见面试题 | 小林coding HTTP是超文本传输协议,传输的内容是明文(HTTP1.1及之前版本)。HTTPS在TCP与HTTP层之间引入SSL/TLS安全协议,传输的报文都是加密传输的 HTTP建立连接简单,

    2024年02月02日
    浏览(75)
  • WebSocket建立连接的过程

    WebSocket实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的。解决了http无状态、短链接和服务器端无法主动给客户端推送数据等问题。其通信基础也基于TCP。由于较老的浏览器可能不支持WebSocket协议,所以使用WebSocket通信的双方在进行

    2024年02月01日
    浏览(29)
  • 建立和终止TCP连接过程

    http 和 https 区别: http 使用过程中存在安全性问题:http 使用明文通信,容易被窃听。由于 http 不验证通信方的身份,攻击者可以伪装成合法的通信方进行欺骗。并且 http 无法提供报文的完整性验证,因此报文有可能被篡改。 https 使用 SSL(Secure Sockets Layer) 或 TLS(Transport Layer

    2024年02月15日
    浏览(29)
  • [chatgpt]关于openssl建立安全连接过程问答

    openssl建立安全连接的原理和过程? OpenSSL是一个开源的、功能强大的加密库,其可以为压缩包压缩和加密、为网络连接提供安全性等提供支持。既可以应用于客户端,也可以应用于服务器端。 OpenSSL建立安全连接的原理和过程如下: 1. 服务端创建公钥和私钥,并将公钥发布到全

    2024年01月19日
    浏览(29)
  • 简述TCP/IP建立连接过程(附流程和代码)

    前言: TCP/IP 定义了计算机操作系统如何连入互联网,以及数据传输的标准。 TCP和IP是属于不同协议栈层的,只是这两个协议属于协议族里最重要的协议,所以协议栈或者模型以之命名了。 本段转载C语言中文网:TCP/IP 不是指一个协议,也不是 TCP 和 IP 这两个协议的合称,而

    2024年02月04日
    浏览(81)
  • 实战 OSPF建立连接的过程7中状态?通俗易懂

    【OSPF的邻居状态有7种】 Down--Init--2-Way--Exstart--Exchange--Loading--Full OSPF邻居建立过程:A---B之间建立连接。 这里假设A的router ID为172.16.1.1,B的172.16.1.2  1.首先当双方没有开始建立关系之前,双方的状态为 DOWN 2.如下图,路由A想要和B建立关系,首先A会发送Hello报文(报文里面包含

    2024年02月09日
    浏览(27)
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接

    Flurl.Http-3.2.4 升级到 4.0.0 版本后,https请求异常:Call failed. The SSL connection could not be established. 如下图: Flurl.Http-3.2.4版本绕过https的代码,对于 Flurl.Http-4.0.0 版本来说方法不再适用, 3.2.4及4.0.0版本绕过https代码成果在文章最后有展示 。 查看了Flurl.Http4.0的文档,地址:Configu

    2024年01月19日
    浏览(34)
  • HTTPS流量抓包分析解密(TLS1.2)

    本文的https流量分析基于之前自己生成的密钥、证书和搭建的支持https访问的apache服务器点此查看。 查看证书信息: 回顾前文对RSA算法的简介,公钥是(e,n),分别是 Exponent 和 Modulus 。 查看私钥信息: 由前文知私钥是(d,n)。私钥中的信息参考这篇博客: https://blog.csdn.net/KAlbertL

    2024年02月13日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包