IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> https比http哪些地方改良了 -> 正文阅读

[网络协议]https比http哪些地方改良了

1.http

tcp三次握手,明文传输。

(1)为什么http协议是无状态的?
http无状态特性简化了http服务器的设计,是服务器更容易支持大量并发的http请求。
(2)http/1.1使用持续连接?
非持续连接每次请求都要进行tcp重连,每一次建立新的tcp连接都要分配缓存和量,开销很大不利于并发。持续连接是服务器发生响应后仍在一段时间内保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的http请求和响应报文。

2.https

tcp三次握手,ssl加密,加密传输。

步骤:

  1. tcp三次握手之后,
  2. 客户端向服务器hello,里面携带有加密算法列表
    服务器选择认为最佳的算法之后,生成公钥和私钥,用证书(公钥)回复。(所以说,是在ssl第一次握手时就确定了用哪一种加密算法。)
  3. 然后客户端生成一个随机数,用证书的公钥加密后发送给服务器,
  4. 服务器用私钥解密后得到随机数。
  5. 之后,服务器就可以把information+随机数 用之前商定好的算法进行对称加密。发送给客户端。
  6. 客户端收到后用之前确定的加密算法逆运算进行解密。
  7. 安全通信完成。

(1)中间经过了多次通信,内容格式分别是什么?
SSL握手协议报文:
协议报文类型 + 报文长度 + 报文内容
(2)https协议开始的时候会切换加密算法,由非对称加密(RSA)切换为对称加密(AES),这个过程是怎么实现的?
首先,什么是非对称加密,什么是对称加密?
非对称加密:公钥加密的密文只有私钥可以解密;私钥只有一个人有公钥可以发给所有人。
对称加密:加密和解密都是通过同一个密钥进行的。

用非对称加密算法 协商 要用的对称加密算法是什么。
客户端 Client Hello ,携带加密列表。
服务器 Server Hello , 携带SSL证书。
客户端校验证书,如果证书可信,浏览器读取证书的公钥,确保是真正的公钥。
客户端用公钥对随机数进行加密,发送到服务器。这个加密数据只有私钥能解密。这就是非对称加密。
服务器收到后,用私钥解密,得到随机数。这时候,就使用对称加密了。将information和随机数用之前协商的加密算法,加密后,发送给客户端。
加密和解密都是通过这同一个随机数key。只要第三方不知道这个key,就是安全的。

SSL/TSL证书把公钥和私钥存到服务器中,公钥由客户端验证,私钥用于解密过程

(3)https是否能防御中间人攻击?如果可以,那他是怎么做到的

防御中间人攻击的方法是确保客户端收到的公钥是真正的公钥,不是被篡改的。

安全的获取公钥:SSL 证书(需要购买)和CA机构

SSL 证书中包含的具体内容有证书的颁发机构、有效期、公钥、证书持有者、签名,通过第三方的校验保证了身份的合法,解决了公钥获取的安全性
校验过程:

  • 浏览器读取证书中的所有者、有效期等信息进行校验
  • 浏览器查找操作系统内置的受信任的证书颁发机构CA,与服务器发来的证书的颁发者CA比对,校验证书是否为合格机构颁发
  • 如果找不到,浏览器会报错,说明服务器发来的证书不可信任。
  • 如果找到,浏览器会从操作系统中去除颁发者CA的公钥,对服务器发来的证书里面的签名进行解密。
  • 浏览器使用相同的hash算法计算服务器发来的证书的hash值,与证书中的签名对比
  • 对比结果一致则证明服务器发来的证书合法,没有被冒充。这时客户端可以读取证书的公钥用于后续加密。
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:45:58  更:2021-11-10 12:46:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/1 21:51:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码