• 总结 HTTPS 的加密流程


    HTTPS

    我在之前的文章中给大家介绍过HTTP,接下来给大家详细的介绍一下HTTPS

    HTTPS相当于HTTP的孪生兄弟~,HTTPSHTTP的基础之上,引入了一个加密层。

    在上篇介绍HTTP的文章中,和大家介绍过运营商劫持事件,可能很多小伙伴没看过之前的文章,在这里就给大家再简单的介绍一下

    大家有时候在网站上下载东西的时候应该遇到过这样一种情况吧,明明我点击下载的时候是正经的程序,却老是下载到别的乱七八糟的软件。
    在这里插入图片描述
    在这里插入图片描述

    之前介绍的HTTP是明文传输,传输的数据,是容易被获取的,也容易被篡改的,引入HTTPS ,对数据加密,也就能更好的保护数据的安全。

    加密是一个非常复杂的事情,计算机领域中专门有一个学科,叫做“密码学”,在密码学真的成为一个现代学科之前,其实还是比较单纯简单的,那时候基本上都是“古典加密”。密码学与其说是一个和计算机相关的学问,不如说是一个和数学相关的学问。
    基本的流程大概就是有三个部分:
    明文:要传输的原始信息
    密文:整个奏折~~即使被别人获取到了,拿着密文,别人也看不出有啥毛病
    密钥:通过密钥,就可以将明文转换成密文,或者把密文转换成明文。

    加密和解密这件事情,本身是一个和数学密切相关的事情,咱们此处,只能简单讨论“流程”,无法讨论加密解密的“实现细节”,加密之后,也不是就绝对安全,只能说破解起来计算量很大,成本很高。有些数据经过加密之后,哪怕使用当前最牛逼的计算机,破解起来也需要个几十年甚至上百年,这种我们就默认为是安全的~只要破解成本高于数据本身的价值,就是安全的,就比如你印假钞,造一个100块钱的假钞,但是你实际的成本是110,你说你还会去造吗?

    HTTPS中引入的加密层,称为SSL/TLS
    在SSL里面,涉及到的加密操作,其实主要是两种方式
    1.对称加密:使用同一个密钥,既可以进行加密操作,也可以进行解密操作。
    2.非对称加密~~

    我们先来看看对称加密:

    在这里插入图片描述
    对称性加密可靠性不强,很容易被黑客攻击,因为密钥很容易就被黑客拿到了。
    在这里插入图片描述
    经过上面的简单分析,就明确了,使用对称加密,最大的问题,在于说密钥得能够传递过去,如果明文传递,是不行的,必须针对这个密钥再进行加密~~这里解决问题的关键,就是需要引入,非对称加密了。

    非对称加密:

    有两个密钥,分别叫做公钥和私钥。
    公钥,就是人人都能获取到的
    私钥,就是只有自己才知道的~
    这样的话,我们就可以使用公钥来加密,再使用私钥来解密。或者是使用私钥来加密,使用公钥来解密,
    基于非对称加密,就可以让服务器自己生成一对公钥和私钥,公钥发出去(人人都能拿到),私钥自己保存,客户端生成一个对称密钥,客户端就可以使用服务器的公钥,对对称的密钥进行加密,然后把数据传给服务器,服务器再通过私钥进行解密~
    在这里插入图片描述
    现在可能有的小伙伴就在想了既然非对称加密这么好使,还要对称加密干啥呢?直接非对称加密一把梭不就好了吗?
    但是实际现实中,对称加密的计算开销《《 对称加密的~
    如果只是少来少去的用用这个非对称加密,成本还好,但是如果所有的数据都走非对称加密,这个事成本就太大了

    中间人攻击

    上述的非对称加密除了多花开销以外,貌似就很完美了,其实不然,这里还存在一个非常巨大的漏洞,服务器要把自己的公钥放回给客户端,在这个操作中,就可能会涉及到一个非常经典的”中间人攻击“
    在这里插入图片描述
    既然存在中间人攻击,如何解决这个问题??关键要点,得让客户端能够确认,当前得公钥确实是来自于服务器,而不是黑客伪造的~~

    想想看,生活中其他的场景是怎么样验证的??例如,你去网吧上网或者去住小旅馆,需要进行身份登记,如何验证你的身份?显然是身份证呀,网管就会拿着你的身份证刷一下,这一刷其实就是再访问公安局的相关服务器,验证你的信息,因此,就需要引入一个第三方公信机构,来证明这个公钥是一个合法的公钥~~因为我们是信任这个机构的,就像我们信任JC叔叔一样,公信机构说这个公钥ok,我们就认为这个公钥可信。
    在这里插入图片描述

  • 相关阅读:
    FolkMQ 作个简单的消息中间件(最简单的那种), v1.3.1 发布
    【自动化测试】web自动化框架之四测试报告的搭建
    手绘地图制作的关键点之“导航智能纠偏”
    文档管理是什么?都有哪些?
    SSM框架具体功能实现
    MVC,MVP,MVVM的理解和区别
    MATLAB中finddelay函数使用
    订阅发布和请求响应都是消息传递模式
    OpenCV计算机视觉学习(15)——浅谈图像处理的饱和运算和取模运算
    基于Java的家政预约管理平台
  • 原文地址:https://blog.csdn.net/m0_56642224/article/details/125522213