HTTPS的加密流程

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


一、前言

http是为了解决http存在的问题而在http基础上加入了SSL/TSL,在HTTP/2中TCP三次握手后会进入SSL/TSL握手,当SSL/TSL建立链接后,才会进行报文的传输。

二、HTTPS的混合加密

我们知道加密方式有三种
对称加密
非对称加密
混合加密
HTTPS采用的就是对称加密和非对称加密的混合加密方法。

混合加密解决了信息的机密性,防止数据被窃听
摘要算法实现了数据的完成性,防止了数据被篡改
数字证书提供了身份验证,防止了被冒充风险

摘要算法

客户端在向服务器端发送明文的时候,会通过摘要算法计算出明文的摘要,通过摘要与明文对比从而验证数据的完整性

混合加密和数字证书

可能有人会疑问数字证书是什么?其实数字证书是第三方权威机构给颁发的一种认证证书,伪造数字证书是一件极其难的事情,所以我们认为证书是可信的,那么其公钥就是可信的。

https在建立链接时是非对称加密,建立链接后是对称加密

非对称加密要用到两个密钥,一个叫做公钥,另一个叫做私钥。(公钥和私钥是成对出现的,公钥用于加锁,私钥用于解锁)通过公钥对明文加密,变成密文;然后通过私钥对密文解密,变成明文;也可以反着用:通过私钥对明文加密,变成密文,通过公钥对密文解密,变成明文。(通过数论相关知识证明)
公钥和私钥是配对的,最大的缺点就是运算速度非常慢,比对称加密要慢很多
我们引入非对称加密,来对自己的对称密钥进行加密:


由于对称加密成本是比较低的,即机器资源消耗量是比较少的,速度也比较快,因此我们传输数据时会先利用非对称加密方式将对称密钥进行加密,然后使用对称密钥再对数据进行加密

加密流程

1、首先呢,客户端先向服务端发送加密通信(https)请求
2、服务器收到请求后,向客户端发出响应:

确认SSL/TSL版本号,如果客户端不支持,那么就关闭通信确认的加密算法列表

3、服务器再向客户端发送数字证书,这里敲重点了。服务器会把自己的公钥注册到CA(第三方证书机构),然后CA拿自己的私钥对服务器的公钥进行处理并颁发数字证书。
4、服务器将公钥发送给客户端
5、服务器发送Hello Done,表示发送完毕
6、客户端收到服务端一系列响应后,确认数字证书和公钥,没有问题后向服务端发送:
7、服务端收到客户端数据后,使用私钥对加密后的预主密钥进行解密,没有其他人知道预主密钥,因为它加密了,除非服务器私钥泄漏。然后服务端通过第一、二、预主密钥计算出会话密钥。客户端也计算出了会话密钥。
8、服务端向客户端发送:加密通信算法改变通知,以后通过会话密钥通信
服务端握手结束
到此为止,SSL/TSL握手结束,在此之后都会通过会话密钥来进行加密和解密,也就是对称加密。文章来源地址https://www.toymoban.com/news/detail-560620.html

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

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

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

相关文章

  • HTTP 和 HTTPS(请求响应报文格式 + 请求方法 + 响应状态码 + HTTPS 加密流程 + Cookie 和 Session)

    HTTP 全称 “ 超文本传输协议 ”,是一种基于传输层 TCP 协议实现的应用非常广泛的 应用层协议 我们平时打开一个网站,就是通过 HTTP 协议来传输数据的 当我们在浏览器中访问一个 “ 网址 ”(URL),浏览器就会给这个 URL 的服务器发送一个 HTTP 请求,服务器返回一个 HTTP 响

    2023年04月19日
    浏览(34)
  • 网络原理 - HTTP / HTTPS(5)——https协议

    目录 一、HTTPS是什么 为什么要进行加密 二、“加密” 是什么 三、HTTPS的工作过程 (1)引入对称加密 对称密钥的特点: (2)引入非对称加密 非对称加密的特点: (3)中间人攻击 (4)引入证书 1、证书的介绍 2、证书验证过程 3、几个关键问题(黑客不能篡改证书的原因)

    2024年04月17日
    浏览(30)
  • 【Linux 网络】 HTTPS协议原理 && 对称加密 && 非对称加密 && 数字证书

    HTTPS 协议和 HTTP 都是应用层协议,不过HTTP 协议内容在传输时都是以文本方式进行明文传输的,这就可能导致在传输过程中,数据被泄漏和篡改等问题。所以HTTPS 协议是在HTTP 基础上引入了一个加密层。 HTTPS (全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,

    2024年02月14日
    浏览(27)
  • 【网络编程】https协议——加密与窃密的攻防战

    需要云服务器等云产品来学习Linux的同学可以移步/--腾讯云--/--阿里云--/--华为云--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。   目录 一、https协议的介绍 二、加密和解密 1、加密和解密的过程 2、为什么需要加密和解密 3、常见的加密方式 3.1对称加密

    2024年02月07日
    浏览(29)
  • 计算机网络 - http协议 与 https协议(2)

    本篇介绍了构造http请求的的五种方式,简单的使用postman构造http请求,进一步了解https, 学习https的加密过程,了解对称密钥与非对称密钥对于加密是如何进行的,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 1) 直接在浏览器中的地址栏中输入一个 u

    2024年02月13日
    浏览(44)
  • HTTP 和 HTTPS 协议原理【网络基础】

    友情链接: HTTP协议【网络基础/应用层】 简单:HTTP 是一种文本协议,易于理解和实现。HTTP 的请求和响应都由起始行、首部字段和可选的消息主体组成,每个部分都有明确的语法规则。HTTP 的方法、状态码和首部字段都有标准化的定义,方便开发者遵循。 灵活:HTTP 是一种无

    2024年02月09日
    浏览(44)
  • 网络协议分析-http/https/tcp/udp

    “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生 错误”。主要目的防止 server 端一直等待,浪费资源。换句话说,即是为了保证服务端能收 接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客

    2024年02月11日
    浏览(37)
  • 【Linux网络】网络应用层的 http 和 https协议

    在之前学习序列化和反序列化的时候,认识到主机之间传输结构数据的时候,最好是通过某种约定将结构数据序列化成一串字符串,接收方再通过反序列化将字符串转换成结构数据。以上说的这种约定,其实可以看成是用户层通信的一种协议,是由程序猿自己定的。   实际

    2024年02月02日
    浏览(43)
  • 网络基础2(HTTP,HTTPS,传输层协议详解)

    再谈协议         在之前利用套接字进行通信的时候,我们都是利用 “字符串” 进行流式的发送接收,但是我们平常进行交流通信肯定不能只是简单的发送字符串。         比如我们用QQ进行聊天,我们不仅需要得到对方发送的消息,还要知道对方的昵称,头像等一系列数

    2024年02月13日
    浏览(39)
  • 【网络技术】【Kali Linux】Wireshark嗅探(九)安全HTTP协议(HTTPS协议)

    本次实验是基于之前的实验:Wireshark嗅探(七)(HTTP协议)进行的。本次实验使用Wireshark流量分析工具进行网络嗅探,旨在初步了解安全的HTTP协议(HTTPS协议)的工作原理。 HTTPS的含义是HTTP + SSL,即使用SSL(安全套接字)协议对通信数据进行加密。HTTP和HTTPS协议的区别(用

    2024年01月20日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包