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理解

HTTPS :http over ssl
服务器和浏览器之间交互为了安全会使用密钥进行加密。
服务器不确定有多少客户端,不会为每个客户端准备一套密钥,所有的客户端都会用一套密钥,所有的客户端都可以向服务器申请密钥且得到的是一样的。
如果使用对称加密,黑客也可以从服务器获取key,这样双向通讯都没有秘密可言。
如果使用非对称加密,S->C通讯不安全,黑客也可以从服务器获取公钥,服务器给客户端的内容等于明文 。
使用对称加非对称的方式比较合适,但是缺陷是中间人攻击。

浏览器采用非对称+对称加密工作步骤:
1.客户端向浏览器请求非对称加密的公钥(私钥SK,公钥PK)
2.浏览器本地生成随机num,利用非对称密钥,公钥加密发送给服务器
3.服务器利用私钥解密得到num,从起num作为两方进行数据机密的对称密钥

这种方式的缺陷--中间人攻击:黑客在第一步就截取了客户端的通讯,黑客给客户端返回一个黑客的公钥,这样客户端就会和黑客建立一套密钥体系,然后黑客伪装客户端和服务端建立一套密钥体系,客户端和服务端彻底失联,黑客作为中间人转发消息,
黑客浏览器的信息解密后在使用服务器的密钥加密转发给服务器,服务器返回的信息,黑客加密后使用自己的密钥加密发送费浏览器。

解决办法,引入CA
服务器先向CA机构申请证书,当客户端第一步向浏览器请求公钥的时候,服务器不直接返回公钥,而是返回CA证书
CA为服务器生成证书的过程:
CA机构有自己的一套非对称公钥私钥(私钥CSK,公钥CPK),服务器向CA申请证书,CA会将(PK和服务器的一些信息)使用CSK加密生成证书
操作系统中会写预装大量权威CA机构的公钥(其实是根证书),所以,浏览器不需要去CA申请CPK,
操作系统在进行第一步申请得到证书,使用本地浏览器的SPK解密就能服务器的PK(然后经过多次通信,客户端和服务端都会添加随机数,来生成最后通信用的
对称密钥)


根证书的作用:
CA除了颁发给服务者证书外,自己也给自己颁发一套证书,称之为根证书,根证书也有自己的公钥私钥
根证书的公钥和加密算法公开,私钥CA自己严格保密
证书有一个叫指纹的字符串来代表唯一身份
数字证书在颁发的时候
CA机构将证书的指纹和指纹算法通过自己的私钥加密得到的就是证书的签名了
我们在验证证书的时候,
首先通过机构的根公钥去解密证书的签名,
解密成功的话会得到证书的指纹和指纹算法,
指纹是一个hash值,它代表着证书的原始内容,
此时再通过指纹算法计算证书内容得到另外一个hash值,
如果这两个hash值相同,则代表证书没有被篡改过,否则就是被篡改了
世界上权威CA机构的根证书都是预先嵌入到操作系统中的,
如果在操作系统中没有找到对应的根证书,就代表此机构不是受信任的,
那么就会警告无法确认证书的真假,比如以前打开12360网站就会提示,现在不会了

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

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