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

相关推荐
fy zs10 分钟前
HTTP协议与HTTPS
网络协议·http·https
DARLING Zero two♡22 分钟前
【计算机网络】简学深悟启示录:socket编程之tcp
网络协议·tcp/ip·计算机网络
Arwen3031 小时前
如何消除APP、软件的不安全下载提示?怎样快速申请代码签名证书?
网络·网络协议·tcp/ip·安全·php·ssl
科技块儿1 小时前
如何通过部署IP离线库,实现批量、高速、无网络依赖的IP查询能力?
网络·网络协议·tcp/ip
txinyu的博客1 小时前
结合游戏场景解析UDP可靠性问题
java·开发语言·c++·网络协议·游戏·udp
fy zs2 小时前
传输层协议UDP
网络协议·tcp/ip·udp
w陆压2 小时前
2.TCP三次握手、四次挥手
网络·网络协议·计网知识点
2501_915106322 小时前
常见 iOS 抓包工具的使用方式与组合思路
android·ios·小程序·https·uni-app·iphone·webview
紫色的路2 小时前
TCP消息边界处理的精妙算法
c++·网络协议·tcp/ip·算法
CHENKONG_CK2 小时前
晨控CK-FR09EIP与汇川H5U系列PLC配置EtherNet/IP通讯连接手册
网络·网络协议·自动化·rfid