网络原理 一> 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地址,域名 服务器的公钥等等进行计算算出一个校验和,拿着这个校验和与证书上的校验和进行比较

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

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

相关推荐
2501_915921432 小时前
iOS IPA 混淆实测分析:从逆向视角验证加固效果与防护流程
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_915918412 小时前
打造可观测的 iOS CICD 流程:调试、追踪与质量保障全记录
websocket·网络协议·tcp/ip·http·网络安全·https·udp
Absinthe_苦艾酒4 小时前
计算机网络(三)传输层TCP
网络·tcp/ip·计算机网络
GLAB-Mary5 小时前
AI会取代网络工程师吗?理解AI在网络安全中的角色
网络·人工智能·web安全
敲敲敲-敲代码5 小时前
【ArcGIS10.2】网络数据集构建---最短路径分析
网络·arcgis
小菜鸡95275 小时前
http、SSL、TLS、https、证书
http·https·证书·ssl·tls
泡泡以安5 小时前
安卓高版本HTTPS抓包:终极解决方案
爬虫·https·安卓逆向·安卓抓包
RW~5 小时前
Minio安装配置,桶权限设置,nginx代理 https minio
运维·nginx·https·minio
2501_915909066 小时前
调试 WebView 旧资源缓存问题:一次从偶发到复现的实战经历
websocket·网络协议·tcp/ip·http·网络安全·https·udp
向明天乄7 小时前
在小程序中实现实时聊天:WebSocket最佳实践
websocket·网络协议·小程序