https基础概念

目录

1.什么是https

1.1.https概念

1.2.一些术语

2.https如何加密

2.1.使用对称加密

2.2.使用非对称加密


1.什么是https

首先,https不是http的复数形式

1.1.https概念

(1)产生背景

为什么会出现https,是因为http协议在传输数据的时候,数据容易被窃取和篡改,为了安全性,就产生了https协议,也就是在http协议的基础上加上一个加密层。

最重要的原因是:由于万恶的运营商,篡改里面的一些重要数据,成为运营商劫持。

(2)https是什么?

https是http协议加上一个加密层即可,剩下的和http协议一样,没有区别。

要学习https,就需要先学习http协议,在此基础上,只需要学习加密的过程即可

1.2.一些术语

既然需要加密,那就需要去了解关于加密的一些术语,来自《密码学》

把情书用木箱保护起来,送给女神,女神再用打开木箱,拿到情书。

(1)明文

表示真正要传输的数据,不做任何的掩饰或者加密

(2)密文

就是经过掩饰或者加密后的数据

(3)密钥

用来对明文进行加密的道具或者数据

(4)加密

将明文变成密文的过程称为加密

(5)解密

将密文变成明文的过程称为解密

(6)对称加密

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

优缺点:加密解密速度快,但是安全性较低

(7)非对称加密

加密和加密,使用不同的密钥。其中分为公钥和私钥,都可以进行加密或者解密

优缺点:加密解密的过程较慢,但是安全性高

2.https如何加密

2.1.使用对称加密

https假设采用对称加密的方式

步骤:

(1)每个客户端向服务器发送自己采取的对称加密的密钥(明文传输)

(2)后续发送的数据都采取密文传输

缺点:

(1)密钥采取明文传输,黑客很容易获取到,信息从而被泄漏

(2)所以,都是采取非对称加密的方式

2.2.使用非对称加密

引入非对称加密,并不是直接对数据进行加密,而是在对称加密的基础上,对"对称密钥"的传输进行加密。

(1)普通非对称加密

原理:当客户端连接上服务器后,服务器就会告诉客户端自己的公钥(私钥由自己保存),客户端就可以使用服务器的公钥对自己的"对称密钥"进行加密发送给服务器,服务器就可以拿着自己的私钥知道客户端的对称密钥是啥;后续客户端使用对称密钥对数据进行加密,服务器也可以解密。

这里即使黑客获取到了中间的数据,也是无法解密的。

(2)存在中间人攻击

上述的过程却存在一个问题,也就是存在中间人攻击问题。

问题介绍:

当客户端向服务器询问公钥,服务器并且返回时,中间人就会截获并篡改。将服务器返回的公钥替换成自己的;当客户端收到后,就会拿着中间人的公钥对自己的对称密钥进行加密发送出去,中间人就可以拿着自己的私钥而拿到对称密钥,再把对称密钥使用服务器的公钥发送给服务器;后续客户端发送给服务器的加密数据,中间人都可以解密了。

中间人要拿着服务器的公钥加密的原因就是为了隐藏自己的存在,发送这一切的问题就是客户端没有办法鉴别公钥是否为服务器的。

(3)解决方法

上述的问题也是有解决方案的,那就是引入公证机构,那么中间人就无法伪造公钥了。

解决方案:服务器会向公证机构申请一个"证书"(类似一个字符串),后续客户端第一次连接上服务器时,就不是询问公钥是啥,而是询问证书是啥?从而可以解决问题。

证书是啥:

证书里面会包含这些内容

其中:第六项"数字签名"是由:前面五项内容计算出来的校验和,并且使用公证机构自己的私钥进行加密而成。

客户端拿到证书后如何验证真假:

客户端拿到证书后,就会拿着证书的前五项数据进行计算校验和,得到校验和1;再拿着数字签名使用公证机构的公钥进行解密,得到校验和2,比较两个校验和,如果相等,说明是正确的,否是是假的。(原因:数字签名是公证机构的私钥对校验和1加密得到的,拿着对应的公钥解密就可以得到对应的校验和)

上述做法真正做到安全的原因:

1)如果黑客修改的是证书中服务器的公钥,而不修改数字签名?

在客户端拿着自己计算出来校验和1和自己对数字签名解密出来的校验和2进行对比,就会发送不一致,从而发现证书非法

2)如果黑客修改了证书中服务器的公钥,并且重新计算校验和再得到数字签名是否可以?

黑客无法拿到公证机构的私钥,只能使用其他的私钥进行加密;当客户端使用公证机构的公钥进行加密,就会解密失败,从而判断证书非法

为了保证下载证书的安全性,一般所有公证机构的证书都会直接安装在电脑硬盘上了。

相关推荐
用户9623779544816 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机19 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机19 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544821 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star21 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954481 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
小时前端1 天前
HTTPS 页面加载 HTTP 脚本被拦?同源代理来救场
前端·https
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
cipher3 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器