首页 > 其他分享 >给你清清楚楚讲明白HTTPS原理

给你清清楚楚讲明白HTTPS原理

时间:2023-03-19 11:23:05浏览次数:34  
标签:加密 随机数 证书 清清楚楚 HTTPS 原理 非对称 服务端

  • 为什么用了 HTTPS 就是安全的?
  • HTTPS 的底层原理如何实现?
  • 用了 HTTPS 就一定安全吗?

HTTPS 的实现原理

大家可能都听说过 HTTPS 协议之所以是安全的,是因为 HTTPS 协议会对传输的数据进行加密,而加密过程是使用了非对称加密实现。
但其实,HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。

HTTPS 的整体过程分为证书验证和数据传输阶段,具体流程如下:

证书验证阶段:

  • 浏览器发起 HTTPS 请求。
  • 服务端返回 HTTPS 证书。
  • 客户端验证证书是否合法,如果不合法则提示告警。

数据传输阶段:

  • 当证书验证合法后,在本地生成随机数。
  • 通过公钥加密随机数,并把加密后的随机数传输到服务端。
  • 服务端通过私钥对随机数进行解密。
  • 服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输。

为什么数据传输是用对称加密?

首先,非对称加密的加解密效率是非常低的,而 HTTP 的应用场景中通常端与端之间存在大量的交互,非对称加密的效率是无法接受的。
另外,在 HTTPS 的场景中只有服务端保存了私钥,一对公私钥只能实现单向的加解密,所以 HTTPS 中内容传输加密采取的是对称加密,而不是非对称加密。

为什么需要 CA 认证机构颁发证书?

 

标签:加密,随机数,证书,清清楚楚,HTTPS,原理,非对称,服务端
From: https://www.cnblogs.com/xfeiyun/p/17232629.html

相关文章

  • 贝塞尔曲线原理
    1前言贝塞尔曲线(Béziercurve)由法国数学家PierreBézier于1962年提出的一种矢量曲线,广泛应用于工程绘图、动画设计等领域。贝塞尔曲线是一种运动轨迹曲线,由n......
  • 【Java邮件开发】3.邮件协议总结与邮件服务器的工作原理
    我们来对邮件协议进行总结,并探讨邮件服务器的工作原理一、邮件协议剖析1.指令过程描述记得上一篇总结,我们手动敲指令发邮件的时候,登录smtp服务器的......
  • 转置原理
    基本原理我们知道矩阵的转置满足如下性质:记\(V=E_1E_2\dotsE_k\),则\(V^T=E_k^T\dotsE_2^TE_1^T\)。这也就相当于,如果我们有快速的方法得到出\(V^T=E_k^T\dotsE_2^......
  • Go 每日一库 GitHub:https://github.com/darjun/go-daily-lib
    简介今天我们介绍一个合并结构体字段的库mergo。mergo可以在相同的结构体或map之间赋值,可以将结构体的字段赋值到map中,可以将map的值赋值给结构体的字段。感谢@thinkgos推......
  • Java synchronized的实现原理
    通常在多线程执行的过程中,我们需要考虑一些线程安全的问题,而线程安全问题中最常用的解决策略之一就是“锁”。加锁的本质,就是为了解决在多线程场景中对于共享数据访问的......
  • 光场原理及一些算法代码实现
    2023.3.18好久没有写过博客了,感觉自己比以前更菜了\(//∇//)\好不容易的更新,是为了把最近看的几篇光场论文写个自己的整理和理解,后面可能会写一些用C++实现的光场处理算......
  • 简述CDN的工作原理
    CDN系统的具体工作方式是怎样的呢?先看看没有CDN服务时,一个网站是如何向用户提供服务的。网站系统基本上都是基于B/S架构的。B/S架构,即Browser/Server(浏览器/服务器)架构,是对......
  • maven的原理、配置与简单应用
    目录1Java中的依赖和jar文件2依赖仓库的设计与实现3maven项目 - 3.1maven的配置:配置settings.xml、建立本地仓库目录maven-repo - 3.2maven的使用:以Spring......
  • webpack原理(1):Webpack热更新实现原理代码分析
    热更新,主要就是把前端工程文件变更,即时编译,然后通知到浏览器端,刷新代码。服务单与客户端通信方式有:ajax轮询,EventSource、websockt。客户端刷新一般分为两种:整体页面刷新,......
  • webpack原理(2):ES6 module在Webpack中如何Tree-shaking构建
    Tree-shaking最早由​​打包工具Rollup​​ 提出DCE作用于模块内(webpack的DCE通过UglifyJS完成),而Tree-shaking则是在打包的时候通过模块之间的信息打包必须的代......