网络原理 一> HTTPS协议详解,加密方式, 证书原理,中间人攻击 (一文搞懂)

目录:

一:HTTPS协议基本介绍

二.HTTPS协议的加密方式

三. 证书原理说明

一:HTTPS基本介绍:

1. HTTPS是什么:

HTTPS 也是⼀个应用层协议. 是在 HTTP 协议的基础上引入了⼀个加密层.HTTP 协议内容都是按照文本的方式明文传输的, 这就导致在传输过程中出现⼀些被篡改的情况

**具体:HPPT +**S (SSL/TLS) 这个也是一个应用层协议,专门用来加密


2.运行商劫持:

由于我们通过⽹络传输的任何的数据包都会经过运营商的⽹络设备(路由器, 交换机等), 那么运营商的网络设备就可以解析出你传输的数据内容, 并进⾏篡改. 点击 "下载按钮", 其实就是在给服务器发送了⼀个 HTTP 请求, 获取到的 HTTP 响应其实就包含了该 APP 的下载链接. 运营商劫持之后, 就发现这个请求是要下载天天动听, 那么就自动的把交给用户的响应 给篡改成 "QQ浏览器" 的下载地址了


3.运行商为什么要进行劫持?

不止运营商可以劫持, 其他的 黑客 也可以用类似的⼿段进⾏劫持,来窃取⽤⼾隐私信息, 或者篡改内容. 试想⼀下, 如果⿊客在用户登陆⽀付宝的时候获取到用户账⼾余额, 甚⾄获取到用户的支付密码..... 在互联网上, 明⽂传输是比较危险的事情!!! HTTPS 就是在 HTTP 的基础上进行了加密, 进⼀步的来保证用户的信息安全


4.什么是加密:

加密:就是把明文 (要传输的信息)进行⼀系列变换, 生成密文 。

解密:就是把密文再进行一系列变换, 还原成明文。



二.HTTPS的加密方式:

1.对称加密:

加密和解密使用同一个密钥。

对称加密需要把对称密钥传输给对端,对方才可以根据这个对称密钥,进行加密解密,构造请求和响应也是通过对称密钥加密传输过去。


**痛点:**密钥也是明文传输的,可能被黑客和运营商劫持。

密钥一旦被 黑客和运营商拿到就没有意义了。****所以我们要引入非对称加密!


2.非对称加密: (服务器会自己生成一对公钥和私钥)

思想:我们把对称密钥再包一层进行加密传输,黑客要拿到私钥才可以

进行解密拿到对称密钥!但是****私钥是服务器自己持有不会公开出去。

具体加密方式:

有两个密钥公钥和私钥,公钥给对称密钥进行了加密

这里是私钥对公钥进行解密,才可以拿到里面的对称密钥。

服务器会自动生成 私钥黑客拿不到只有服务器自己持有,公钥是公开的都可以拿得到

注意:这里如果直接全部用非对称加密进行加密,效率会很慢,所以我们都是两个加密方式都采用。



三. 证书原理说明:

1. 上述加密方式还不够安全,可能会被"中间人攻击"


说一下中间人攻击:

被入侵的中间运营商设备,会自己生成一对公钥和私钥,在客户端询问服务端时,把这个 "假公钥" 给客户端,客户端误以为是服务端发来的,就拿着这个 "假公钥" 自己的对称密钥加密,这样运营商 / 黑客就拿到了对称密钥。 黑客会继续拿着服务端发来的 "真公钥"加密对称密钥发送给服务器,实现偷梁换柱


2.校验机制**(证书)****:**

中间人攻击主要是因为客户端区分不了,收到的公钥是服务器真实的公钥,还是"假公钥"

引入 校验机制就是来解决这个问题,我们安装fiddler就相当于授权


4.证书是什么:

证书是第三方机构给服务器颁发的证书,需要服务器就行申请。


5.证书的内容:

(1).服务器的IP地址,域名

(2).服务器的公钥

(3).证书的有效期是多久

(4).证书的有效期是多久

(5).证书的数字签名


6.数字签名:

实际上是一个被加密的校验和,通过这个校验和来让服务器识别 "真公钥" 来防止中间人攻击 这个校验和被第三方机构自己生成的的私钥进行加密,第三方机构生成的公钥让客户端拿到来获取这个校验和


7.证书的工作原理:

客户端会向服务器要证书,这个时候客户端就拿到了证书,拿到后会根据自己从服务端拿到的信息"主要是公钥"根据证书中的内容->服务器的IP地址,域名 服务器的公钥等等进行计算算出一个校验和,拿着这个校验和与证书上的校验和进行比较

如果发现校验和,不一样就会报错证书无效。

补充:证书的数字签名中的校验和****是通过拿到第三方生成的公钥进行解密拿到的

相关推荐
虚空之月&&轮舞者2 小时前
Python与矢量网络分析仪3671E:自动化测试(Vscode)
网络·vscode·python·射频工程
Hello.Reader2 小时前
ngx_http_keyval_module动态键值管理
网络协议·nginx·http
lisw056 小时前
网络化:DevOps 工程的必要基础(Networking: The Essential Foundation for DevOps Engineering)
网络·devops
驱动小百科8 小时前
WiFi出现感叹号上不了网怎么办 轻松恢复网络
网络·智能路由器·wifi出现感叹号怎么解决·wifi无法上网·电脑wifi
好多知识都想学8 小时前
协议路由与路由协议
网络·智能路由器
SZ1701102318 小时前
中继器的作用
服务器·网络·智能路由器
Huazzi.9 小时前
Ubuntu 22虚拟机【网络故障】快速解决指南
linux·网络·学习·ubuntu·bash·编程
熙曦Sakura9 小时前
【Linux网络】HTTP
linux·网络·http
毒果10 小时前
网络安全:账号密码与诈骗防范
网络·安全·web安全
八股文领域大手子10 小时前
SSL/TLS 证书与数字签名:构建互联网信任的详解
网络·网络协议·ssl