弃用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公钥=>得出了应该的数字签名,那可就完蛋了,证书也不管用了,时刻小心提防才是正确的。

相关推荐
pumpkin845149 小时前
客户端发送http请求进行流量控制
python·网络协议·http
可可爱爱的你吖11 小时前
webSocket的使用文档
网络·websocket·网络协议
熊明才11 小时前
Ubuntu 22.04.4 LTS + certbot 做自动续签SSL证书(2024-11-14亲测)
数据库·网络协议·ssl
姝光12 小时前
本地启动浏览器,并禁用web安全性,解决本地启动时,服务端强制要求https协议导致请求不通的问题
web安全·https
写bug的小屁孩13 小时前
websocket身份验证
开发语言·网络·c++·qt·websocket·网络协议·qt6.3
专注VB编程开发20年15 小时前
WebSocket和HTTP协议的性能比较与选择
websocket·网络协议·http
找藉口是失败者的习惯16 小时前
HTTP vs. HTTPS:从基础到安全的全面对比
安全·http·https
群联云防护小杜17 小时前
服务器被挂马怎么办?——解决服务器被挂马的方法和步骤
运维·服务器·网络协议·tcp/ip·安全·ddos
ascarl201017 小时前
生成自签名证书并配置 HTTPS 使用自签名证书
网络协议·http·https
写bug的小屁孩18 小时前
websocket初始化
服务器·开发语言·网络·c++·websocket·网络协议·qt creator