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为什么能保证安全性 -> 正文阅读

[网络协议]https为什么能保证安全性

首先从直接走http协议来看。我们直接看登陆流程,用户提交post请求向后端发送username password这个可能是明文传输,也可能经过base64等等操作,后端验证登陆成功后生成一个token,这个token可能是通过aes或者rsa或者hs512等等加密算法生成,同时这个token可能包含了userid过期时间等等,如果是通过hs512这种算法,后端通过一个key就可以完成加密,如果是rsa这种非对称加密,需要用产生的公钥进行加密。然后发送给客户端,客户端每次发送请求都会携带token来作为身份检验的依据,一般是放在http请求头cookie中。

那么问题来了,这种方式如果客户端被中间人攻击了(arp欺骗等等),或者通过xss、csrf等攻击方式让黑客拿到了这个token,这样将会变得非常不安全。由此我们想到了能不能用rsa来加密这个传输内容,每次客户端发送请求都用公钥来进行加密,黑客不知道私钥就不能拿到客户端加密的数据,只有服务端拥有私钥才能解密数据。
但是问题又来了,怎么保证客户端拿到的公钥一定是真的呢,黑客可以自己生成公私钥对,伪造服务器发送一个自己的公钥给客户端,客户端傻傻的拿着这个黑客的公钥加密数据,然后被黑客用他的私钥解密。

那怎么保证这个用户拿到的公钥一定是没被修改过的呢,这就需要一个"公证处",也就是ca机构,自己数字签名这个玩意。

具体过程可以好好看看附带的这张图

整个过程如下,说白了就是怎么保证服务器的公钥能够安全到达客户端,因此需要CA公私密钥颁发机构,这些机构颁发的公私密钥才是安全的

https://blog.csdn.net/oZhuZhiYuan/article/details/106650944

但是为什么不能自己去签发CA,因为自己签发的不安全,在用户通过浏览器浏览的时候会自动下载该网站对应的证书的,

https://blog.csdn.net/DeepHugY/article/details/103522033

如果这个证书不是一些有google 火狐微软等机构认证的证书

会显示不安全,也非常容易遭受ssl中间人攻击也就是黑客也自己签发CA证书,然后用户浏览网页的时候发送的下载证书请求下的是黑客自己签发的CA证书。这样他就有CA私钥进行解密。

https://www.trustauth.cn/wiki/5823.html

https://www.huaweicloud.com/zhishi/dyl108.html

tls/ssl是加密传输层传输内容的协议,http协议是基于tcp协议设计的
(图片来自其他一篇文章忘记从哪里来的了…)
在这里插入图片描述

有哪些写的不对的忘指正!

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:27:49  更:2022-09-24 21:28:01 
 
开发: 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年5日历 -2024/5/19 2:50:39-

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