一文说透https中的s是什么?
- 窃听风险,“有心人”窃听到具体的通信内容,信息被不该知道的人,知道了,比如盗取QQ账号。
- 篡改风险,“有心人”篡改了通信内容。不该知道的人,虽然没有知道信息的内容,但是他在信息序列上加上、删除、或者编辑了原来的的内容。比如强制植入垃圾广告
- 冒充风险,“有心人”冒充银行、淘宝等网站,诱导用户输入一些敏感信息,从而盗取用户账户中的钱财等,俗称钓鱼网站。
所以https解决了三个问题,防窃听、防篡改、防冒充。
四、基础的加密算法和基于这些加密算法的加密机制
1、对称加密算法
加密密钥和解密密钥是一样的,加密过程和解密过程是对称的,所以叫做对称加密算法。
优点:加密速度快
缺点:需要双方都有密钥,怎么样传输密钥是最大的问题。
2、非对称加密算法(公开密钥加密算法)

几点说明:
- 加密密钥和解密密钥是不一样的,所以是非对称加密。
- 加密密钥和解密密钥是成对的,可以互相加解密,也就是用其中一个加密,用另一个可以解密。
- 一个公钥,一个私钥,公钥公开,私钥只能自己持有,是自己的一个特征,就好像身份证上的照片,而且不能通过其中一个推算出另一一个。
3、混合加密--数字信封技术

通过公开密钥加密算法传输对称加密算法的密钥,这样就解决了对称加密算法的密钥分发问题。
在实际的通信过程中,HTTPS 采用的是对称加密和非对称加密结合的「混合加密」方式:
4、摘要算法(哈希算法)

几点说明:
- 哈希算法也是一种加密算法。
- 同样的明文输入,输出的密文相同;无论多长的明文,密文的长度都是相同的。不同的明文,哪怕只是很长明文中改动一个字符,输出的密文也会不同。
- 哈希算法不可逆,就是不可能通过密文解密出明文。但是可以通过加密同样的明文,来比对在传输过程中密文是否被改动过。
5、数字证书
1、服务器把自己的公钥在数字证书认证机构(CA)注册,数字证书认证机构用自己的私钥加密服务器的公钥,得到服务器的数字证书,并发给服务器。
2、在客户端和服务器通信时,服务器把自己的CA证书发送给客户端。
3、客户端用数字证书认证机构的公钥解密服务器的数字证书,得到服务器的公钥。并用服务器的公钥加密通信信息,传给服务器。
4、服务器用自己的私钥解密客户端传来的密文,得到明文。
综上:一共讲述了三种加密算法和三种基于这些加密算法的加密机制,加密算法:对称加密算法、非对称加密算法(公开密钥加密算法)和哈希算法(摘要算法);加密机制:数字信封技术、混合加密机制、数字证书。
四、HTTPS是如何建立连接的?其间交互了什么?
在传输层,通过TCP协议的三次握手通信双方建立连接之后,SSL/TLS 协议的握手阶段涉及四次通信。
这四次的通信过程其一为了产生一个双方都知道的会话密钥,来加密通信的内容;其二是验证服务器的真实身份。具体可见下图::
综合四次握手过程,
在第一次和第二次握手中,双方互换了各自随机数给对方,协定了TLS版本和加密算法。
在第二次握手中,服务器发送自己的CA证书给客户端。客户端解密出服务器的公钥。验证了服务器的真实身份,防冒充
在第三次握手中,客户端用服务器的公钥加密第三个随机数,使得通信双方都有了产生会话密钥的全部的、原始的信息:三个随机数和加密算法,这样产生了对称加密的密钥,并且分发给了通信双方。防窃听
在第三次握手中,客户端除了向服务器传输了第三个随机数的密文,还有所有通信数据的摘要,供服务器比对校验,防篡改
在第四次握手中,服务器向服务器向客户端传输了所有通信数据的摘要,供客户端比对校验,防篡改。
一文说透https中的s是什么?的更多相关文章
- 用故事说透 HTTPS
本文来自素燕公众号,原文地址:用故事说透 HTTPS 故事中的主演:小华今年上大一,这是她第一次离开父母,独自一人到北京上学.今天妈妈的生日,想了想要给妈妈一个祝福,便给妈妈发了条消息:妈妈收到这条消 ...
- 网站部署 HTTPS 中需要做的事情
这篇文章首发于我的个人网站:听说 - https://tasaid.com/,建议在我的个人网站阅读,拥有更好的阅读体验. 这篇文章与 博客园 和 Segmentfault 共享. 前端开发QQ群:3 ...
- HTTPS 中双向认证SSL 协议的具体过程
HTTPS 中双向认证SSL 协议的具体过程: 这里总结为详细的步骤: ① 浏览器发送一个连接请求给安全服务器.② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器.③ 客户浏览器检查服务器送 ...
- 关于调用百度地图api在自己写的网页中实现和解决在https中正常显示
百度地图开发者:http://lbsyun.baidu.com/index.php?title=jspopular 我们打开百度地图开发者网站,注册一个百度账号,然后打开控制台,开始创建应用:(如果你 ...
- HTTPS中SSL/TLS握手时的私钥用途(RSA、ECDHE)
从上一篇HTTPS中CA证书的签发及使用过程中知道服务端在申请CA证书时只上交了密钥对中的公钥,那么只有服务端知道的私钥有什么作用呢? SSL/TLS层的位置 SSL/TLS层在网络模型的位置,它属于 ...
- Nginx中配置https中引用http的问题
Nginx中配置https中引用http的问题 遇到问题: 今天公司要在后台增加直播入口,使用腾讯云的实时音视频,要求是必须使用https,在配置完强制跳转https候,发现后台无法上传图片,在浏览器 ...
- https中引用http
https里引用http不安全,会报错 解决方案 1.可以部署在http中,http中引用https不会存在安全问题报错 2.https中引用https,把需要引用的http部署成https
- 理解https中的安全及其实现原理
Google的一份网络上的 HTTPS 加密透明报告(数据截至2022年1月)中指出HTTPS 连接的普及率在过去几年激增,互联网上排名前 100 位的非 Google 网站HTTPS 使用情况为:9 ...
- charles抓取https中出现unknow
http正常抓包,https则出现unknown 1.安装证书 Help->SSL Proxying->Install Charles Root Certificate 但是!!!装完并没 ...
随机推荐
- centos7-collabora-office(在线文档编辑)
1.wget https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7/repodata/repomd.xml.key &a ...
- Linux上天之路(四)之Linux界面介绍
Linux界面 linux为使用者提供了图形界面和文本界面,但是很多操作依然需要文本界面的操作才能完成,很多人使用起来比较蹩脚,又因为linux平台的个人应用APP相对较少,使得大家的个人PC安装了l ...
- Pandas系列(十七)-EDA(pandas-profiling)
对于探索性数据分析来说,做数据分析前需要先看一下数据的总体概况,pandas_profiling工具可以快速预览数据. 安装 pip install pandas-profiling 使用 impor ...
- Golang实现集合(set)
package set package set import ( "bytes" "fmt" "sync" ) type Set struc ...
- 深入浅出 CSS 动画
本文将比较全面细致的梳理一下 CSS 动画的方方面面,针对每个属性用法的讲解及进阶用法的示意,希望能成为一个比较好的从入门到进阶的教程. CSS 动画介绍及语法 首先,我们来简单介绍一下 CSS 动画 ...
- Nginx高级模块学习
Nginx的rewrite规则 实现url重写一级重定向 使用场景: 1.URL访问跳转,支持开发设计 页面跳转.兼容性支持.展示效果 2.SEO优化 3.维护 后台维护.流量转发等 4.安全 配置语 ...
- 【Java】eclipse中的JUnit单元测试
eclipse中的JUnit单元测试 步骤: 选中当前工程 - 右键选择:build path - add libraries - JUnit 4 - 下一步 创建Java类,进行单元测试. 此时的J ...
- 如何使用Github搭建自己的博客
1.前期准备 sudo apt-get install npm sudo npm install hexo -g 首先使用如下命令创建项目,name是你要创建的博客的名字: hexo init {na ...
- 【刷题-LeetCode】216. Combination Sum III
Combination Sum III Find all possible combinations of k numbers that add up to a number n, given tha ...
- 【解决了一个小问题】alpine镜像中,busybox的date命令获取昨天的日期
直接上答案: date -d@"$(( `date +%s`-86400))" +"%Y-%m-%d"