弃用http改用https的缘故,与密钥的使用,证书意义

为何弃用http协议

在十几年前,我们的传输协议是http协议,为何到了如今改成了https协议呢?为了安全的考虑。

在http协议中,我们的内容是透明的,不被保护的,在黑客等恶意分子的面前,信息极其任意被破译

让我们看看客户端如果使用http发送账户信息

使用http协议的port

客户端以get方式提交数据。

在url时就会暴露我们的账户密码数据

我们客户端改用post提交信息

不会在url暴露我们的账户信息,但是真的安全吗,使用《fiddler》抓包工具

在fiddler中,我们捕获了,这台从这台机器发送给目标服务器的一条报文,截获了账户数据。

fiddler的工作原理是:在client和server之间,加了个中间层。

让我们看看post方式发送的账户信息被截获的情况。

在被捕捉后,在fiddler中,我们可以查看到账户的信息情况,这种传递数据的发送依旧是不安全的。

https可以看成http+加密数据

使用我们的https协议就会对数据进行数据加密,保护了我们的数据流动的安全性。

如何加密呢?密钥的出现。

密钥

在加密算法中,传入正确的密钥参数对明文数据进行加密处理,返回密文。

在解密算法中,传入正确的密钥参数对密文数据进行解密处理,返回明文。

这里的Secret_key1与Secret_key2,可能相同也可能不同,不同场景不同使用。

密钥的意义:控制密码处理过程的关键因素,密码技术中需要保密的只有密钥。 为了安全,可以定期更换密钥,而无须改变密码的处理过程,也就是不用更换密码算法,这样既安全又节省成本。 实际上,密钥是一系列不可预测的随机数,用于控制加密操作

密钥功能种类

对称型密钥

双方都使用同一把密钥对数据加密解密操作,加密效率较高。

同用X密钥加密解密,效率高,不用区分密钥,程序编写容易。

服务端与客户端用同样的密钥加密解密数据。

非对称密钥

加密解密算法的

  • A钥加密的数据A钥无法解密,必须由B钥解密。
  • B钥加密的数据B钥无法解密,必须由A钥解密。

在被攻击时,如何使用密钥起到保护

在第一次交流后遭受攻击

在第一次交流时候就遭受攻击,第一种攻击类型

但是正所谓不怕贼偷,就怕贼惦记,黑客一直在server前蹲守client做三次握手动作。

这个时候client一旦对server发起请求,就会被发现黑客截获,发现你开始第一次交流开始了。

对对称密钥的攻击

如果我们是以对称密钥加密数据下,在server发回数据时会携带X密钥数据,这个时候就会被黑客得知X密钥信息。

对非对称密钥的攻击

双端非对称密钥

客户端和服务器都有一对公钥密钥。

非对称密钥+对称密钥

这个方法效率要优于双端非对称密钥。

在第一次交流时候就遭受攻击,第二种攻击类型

别忘了,黑客不仅仅可以看数据,还可以改数据!!!!!

在第一种攻击中,第三和第四看似安全,但在第二种攻击中加密就消失了。

拿第四个防护用第二种攻击方式攻击。

哪我们怎么办呢??那我们的信息岂不是随随便便被人看见,还有安全可言吗?

在防范之前先介绍两个东西,数据摘要于数字签名

数据摘要和数字签名

数据摘要

一篇文章经过一个hash算法形成一段固定的数字,这就是数据摘要.

不论文章字数长度,100w字和1个标点符号生产的数据摘要是一样长的。

一个文章只要有一点点哪怕一个符号的改变,经过同一个哈希函数生成的数据摘要都相差甚远。

数据签名

数据签名是对数据摘要做非对称加密算法生成的一串密文,这种签名必须是政府机构发行的签名,解密也必须只能用政府机构的公钥解密。

铺垫结束

CA机构给的证书

客户端与服务器建立链接的时候,服务器发送的并不是只有公钥这么简单的东西,而是发送了一份由CA机构承认的证书。

什么意思呢?就是类似于我们开店需要政府发行的经营资格证,公司在创立早期时候,会向国际CA组织申请CA证书,需要我们提交各种各样的信息。

什么是证书呢?

为什么CA证书可以有效抵挡中间者伪造密钥

让我们模拟中间人第二种攻击模式,攻击证书吧。

不仅篡改服务器公钥也篡改数字签名

没有人会用黑客的公钥来解密数字签名,所以伪造的数字签名+CA公钥生成的数据摘要无法和hash算法的算出的数据摘要配对。保证了证书的合法性。


大千世界无奇不有,有攻有防,没有绝对的安全再计算机领域,我们做个假设,如果有个黑客特别牛皮,可以逆推出,伪数据摘要+CA公钥=>得出了应该的数字签名,那可就完蛋了,证书也不管用了,时刻小心提防才是正确的。

相关推荐
Jason-河山4 分钟前
利用 Python 爬虫采集 1688商品详情
java·http
DieSnowK10 分钟前
[C++][第三方库][httplib]详细讲解
服务器·开发语言·c++·http·第三方库·新手向·httplib
GZ_TOGOGO9 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
三金1213810 小时前
SpringIoC容器的初识
网络·网络协议·rpc
SizeTheMoment12 小时前
初识HTTP协议
网络·网络协议·http
程序员-珍15 小时前
虚拟机ip突然看不了了
linux·网络·网络协议·tcp/ip·centos
魏大橙17 小时前
linux RCE本地/公网测试
网络·网络协议·udp
l1x1n017 小时前
No.3 笔记 | Web安全基础:Web1.0 - 3.0 发展史
前端·http·html
鄃鳕18 小时前
HTTP【网络】
网络·网络协议·http
读心悦19 小时前
如何在 Axios 中封装事件中心EventEmitter
javascript·http