一文说透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 但是!!!装完并没 ...
随机推荐
- Appium安装部署
一.安装JDK 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JD ...
- Gitlab如何进行备份恢复与迁移?
https://blog.csdn.net/ouyang_peng/article/details/77070977 1.Gitlab 创建备份 1.1 创建备份文件 首先我们得把老服务器上的Gitl ...
- 基于ShardingJDBC的分库分表详细整理
转载 https://www.cnblogs.com/jackion5/p/13658615.html 前言 传统应用项目设计通常都是采用单一数据库作为存储方案,但是随着互联网的迅猛发展以及应用数据量 ...
- Echart可视化学习(十一)
文档的源代码地址,需要的下载就可以了(访问密码:7567) https://url56.ctfile.com/f/34653256-527823386-04154f 官网找到类似实例, 适当分析,并且 ...
- 解决maven每次更新都编程java1.5
Maven: 每次更新Maven Project ,JAVA 版本都变为1.5 本文转载自:http://www.cnblogs.com/Hxinguan/p/6132446.html 问题: 1.创 ...
- Go 中实现用户的每日限额(比如一天只能领三次福利)
如果你写一个 bug 管理系统,用了这个 PeriodLimit 你就可以限制每个测试人员每天只能给你提一个 bug.工作是不是就轻松很多了? 如今微服务架构大行其道本质原因是因为要降低系统的整体复杂 ...
- Git 的基本命令的使用
1.获得Git仓库(克隆一份代码到本地仓库) git clone url 2.更新本地的代码 git pull 3.查看本地修改的文件 git status 4.将本地的修改加到stage中 git ...
- FastDFSJava客户端使用
1.1.java客户端 余庆先生提供了一个Java客户端,但是作为一个C程序员,写的java代码可想而知.而且已经很久不维护了. 这里推荐一个开源的FastDFS客户端,支持最新的SpringBoot ...
- UDP代码编写、操作系统发展史、多道技术、进程理论与代码层面创建、进程join方法与进程对象方法
昨日内容回顾 socket基本使用 # 内置的模块 import socket s = socket.socket() # 默认是TCP协议 也可以切换为UDP协议 s.bind((ip,port)) ...
- [爱偷懒的程序员系列]-Section 1. “懒”是一切需求的根源
一直认为"懒"推进了科技的发展,因为"懒"而促生了各种各样的需求.科技的进步加速了各种信息的交互频率,站在台面上说是因为业务需要提高效率,成本需要降低,服务需要 ...