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

  • 相关阅读:
    交换机与路由技术-16-生成树协议STP
    SpringBoot开发的实用小工具集,YYDS
    【Visual Leak Detector】核心源码剖析(VLD 1.0)
    【离散化】【 树状树状 】100246 将元素分配到两个数组中
    Linux 基础IO
    Flood Fill 算法
    JS功能实现
    基于YOLOv8模型和UA-DETRAC数据集的车辆目标检测系统(PyTorch+Pyside6+YOLOv8模型)
    怎么在dreamweaver嵌套盒子?
    批量插入数据,自定义分页器,forms组件,钩子函数,forms组件重要参数,modelform组件
  • 原文地址:https://blog.csdn.net/2201_75352618/article/details/132769053