HTTPS对HTTP的加密过程

1、HTTPS是在HTTP的基础上,引入了一个加密层(SSL),对数据进行保护,HTTP 是明文传输的(不安全,很可能会被运营商通过referer劫持,或者黑客通过修改链接来窃数据)

2、加密和解密需要一个重要的道具叫做,密钥

3、对称加密:加密和解密,使用的是同一个密钥(主要针对header和body来加密)

(1)对称加密的时候,客户端和服务器需要使用同一个密钥

(2)不同的客户端需要使用不同的密钥,随机生成

我们在用k2对我们的数据key进行加密的时候,就需要把我们的K2密钥也传输给服务器,服务器才能揭秘拿到key,但是我们的k2密钥可能被黑客拿到,此时数据就不安全(需要引用非对称加密)。

4、非对称加密:加密和解密使用的是两个密钥,这两个密钥,K1,K2 是成对的,可以使用K1来加密,此时就是K2解密,也可以使用K2加密,此时就是K1解密,一个密钥公开出去称作公钥,另一个自己保存好叫做私钥。主要目的是为了对对称密钥进行加密,确保密钥的安全性,不能直接使用非对称密钥对各种数据直接进行加密,因为这样CPU的开销太大,消耗太多的CPU资源。

黑客虽然可以拿到公钥,但是密文需要通过私钥才能解密,私钥黑客拿不到(但是此方法仍然有漏洞)

5、非对称密钥的漏洞

我们黑客在中间过程对公钥进行了置换,我们的客户端不知道是谁传来的公钥所以就也会对黑客传来的公钥之后就对数据基于黑客的公钥传输,黑客在中见过程就通过自己的私钥公钥获取到了数据,之后把数据再通过公钥pub1进行传送给服务器,这样的过程客户端和服务器发现不了

6、为解决上述黑客置换公钥的问题,我们引入了证书认证(证书是一个结构化的数据,帧数会包含一系列信息,比如服务器的主域名,公钥,证书有效日期...,证书是搭建服务器的人,要从第三方机构进行公正的申请)

返回证书的时候黑客是不能把证书中的公钥替换成自己的公钥的(因为客户端拿到证书之后会先对证书验证真伪)证书中有证书签名,签名本质上是一个加密的校验和,这个校验过程需要通过一系列的算法来完成

(1)如果两份数据一样校验和经过算法算出来的就一样,反之不同,颁布证书的机构会在发布证书时候给这个证书计算出一个校验和,然后公证机构用自己的私钥对这个校验和进行加密,就得到了证书的签名

(2)如果证书被修改了那么我们的客户端和服务器对证书的校验和就不同,就会报警,如果黑客修改公钥后想尝试重新生成签名,因为黑客不知道公证机构的私钥,就不能对重新生成的数据进行加密,如果黑客拿着自己的私钥进行加密,到了客户端那里也会解密失败。(工作证机构对应的公钥都包含在常见的系统windows中)

(3)黑客不能去申请公证机构的证书,因为黑客申请的证书的域名和服务器的域名肯定不同,域名是唯一的,此时都不需要校验和就知道是假的

相关推荐
CXH7282 小时前
nginx——https
运维·nginx·https
特长腿特长4 小时前
IP Tunneling 基础案例错误日志
网络·网络协议·tcp/ip
IPDEEP全球代理5 小时前
美国纽约IP和普通美国IP有什么区别?
网络·网络协议·tcp/ip
悟道子HD5 小时前
计算机网络端口记忆指南
计算机网络·http·https·ssh·ftp·端口号·smtp
上海合宙LuatOS7 小时前
LuatOS扩展库API——【httpplus】HTTP客户端
网络·物联网·网络协议·http·lua·luatos
胡志辉7 小时前
网络七层到底怎么落到一次前端请求上:从浏览器到网卡,再到远端服务器
前端·网络协议
Johnstons7 小时前
TCP重传率飙升怎么查?一次生产环境排障的完整复盘
网络·网络协议·tcp/ip
IpdataCloud7 小时前
如何将IP查询API集成到网站或应用中?主流方案与选型对比
网络·网络协议·tcp/ip
wanhengidc8 小时前
服务器该如何防范网络攻击?
运维·服务器·网络·网络协议·安全·web安全·智能手机
tang&8 小时前
HTTP与HTTPS协议详解:从基础到加密原理
计算机网络·http·https