【计算机网络】HTTPS协议

03-13 阅读 0评论

【计算机网络】HTTPS协议

【计算机网络】HTTPS协议,【计算机网络】HTTPS协议,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,我们,访问,第2张
(图片来源网络,侵删)
  • 🎥 个人主页:Dikz12
  • 🔥个人专栏:网络原理
  • 📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香
  • 欢迎大家👍点赞✍评论⭐收藏

    目录

     HTTPS是什么?

    为什么要加密? 

    加密是什么? 

    HTTPS工作流程 

     引入对称加密

    【计算机网络】HTTPS协议,【计算机网络】HTTPS协议,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,我们,访问,第3张
    (图片来源网络,侵删)

      引入非对称加密

    中间人攻击 

    引入证书 

    总结 

    完整流程 


     HTTPS是什么?

     HTTPS 也是⼀个应⽤层协议. 是在 HTTP 协议的基础上引⼊了⼀个加密层.

    【计算机网络】HTTPS协议,【计算机网络】HTTPS协议,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,使用,我们,访问,第4张
    (图片来源网络,侵删)

     HTTP 协议内容都是按照⽂本的⽅式明⽂传输的. 这就导致在传输过程中出现⼀些被篡改的.

    为什么要加密? 

      这就不得不提一下臭名昭著的 "运营商劫持".

    比如:好像是2017年,"国务院App遭流量劫持"事件,也是上新闻了.国务院app弹出疑似不良广告,经排查“基本确定为用户当地运营商http劫持导致h5页面被插入广告..”(感兴趣的可以去搜一下).

    以前,在浏览器下载软件的时候,想要下载的软件跟弹出的下载链接不符合.

    正常情况下:

    【计算机网络】HTTPS协议 

    被运营商劫持的情况下:

    【计算机网络】HTTPS协议 

    分析整个过程: 

    点击 "下载按钮", 其实就是在给服务器发送了⼀个 HTTP 请求, 获取到的 HTTP 响应其实就包含了该APP 的下载链接. 运营商劫持之后, 就发现这个请求是要下载天天动听, 那么就⾃动的把交给⽤户的响应给篡改成 "QQ浏览器" 的下载地址了.

    【计算机网络】HTTPS协议

    不⽌运营商可以劫持, 其他的 ⿊客 也可以⽤类似的⼿段进⾏劫持, 来窃取⽤户隐私信息, 或者篡改内容.

    在互联⽹上, 明⽂传输是⽐较危险的事情!!!
    HTTPS 就是在 HTTP 的基础上进⾏了加密, 进⼀步的来保证⽤户的信息安全。

    加密是什么? 

    加密:就是把 明⽂ (要传输的信息)进⾏⼀系列变换, ⽣成 密⽂ .
    解密:就是把 密⽂ 再进⾏⼀系列变换, 还原成 明⽂ .

    比如:83 版 , 有⼈要谋反⼲掉慈禧太后. 恭亲王奕䜣给慈禧递的折⼦. 折⼦内容只是扯⼀扯家常, 套上⼀张挖了洞的纸就能看到真实要表达的意思.

    明⽂: "当⼼肃顺, 端华, 戴恒" (这⼏个⼈都是当时的权⾂, 后来被慈禧⼀锅端).

    密⽂: 奏折全⽂.
    密钥: 挖了洞的纸.

    【计算机网络】HTTPS协议 

    【计算机网络】HTTPS协议 

    HTTPS工作流程 

     引入对称加密

     对称加密就是通过同一个“密钥”,设密钥为key.

    明文 + key => 密文 ;密文 + key => 明文.

    【计算机网络】HTTPS协议

    这没有我们想的这么简单,服务器可不是只服务一个客户端,所以,每个客户端的密钥都是不同的,服务器就要维护每个客户端和每个密钥之间的关联关系!!!

     【计算机网络】HTTPS协议

    比较理想的方式:每个客户端,在和服务器建立连接的时候就把密钥给生成出来!!!

    客户端再把自已的密钥通过网络传输给服务器.

    这时候传输的密钥可相当于是明文传输,如果被黑客截获可就直接凉凉了----裤衩子都被看光了!!!在对称加密的基础就需要引入非对称加密了.

      引入非对称加密

      非对称加密就要用到两个密钥,一个 公钥,一个 私钥.

      公钥和私钥是配对的.是由服务器生成的,服务器把私钥藏好,公钥返回给客户端.

    • 通过公钥对明文加密,私钥对密文进行解密
    • 或者反着用,私钥加密,公钥解密

      【计算机网络】HTTPS协议 过程分析:

      • 客户端在本地⽣成对称密钥, 通过公钥对 对称密钥进行加密, 发送给服务器
      • 如果黑客拿到加密后的 对称密钥,也是无能为力的,公钥加密需要私钥解密,私钥只有服务器才有,也就无法获取对称密钥.
      • 服务器通过私钥解密, 还原出客户端发送的对称密钥. 并且使⽤这个对称密钥加密给客户端返回的响应数据

        大家会不会有这样的疑问?

        既然已经引入了非对称加密了,为啥还还需要引入对称加密?直接使用非对称加密,来完成所有的业务数据的传输不好吗?

        进行非对称加密:加密 / 解密 , 运算成本是比较高的.运算速度也是比较低的.

        而对称加密 : 加密 / 解密 ,运算成本低, 速度快. 业务数据使用非对称加密,整体的效率就会大大折扣.

        所以,使用非对称加密,只需要进行关键环节,比如:传输密钥. 这种一次性工作,成本比较可控.

        中间人攻击 

        【计算机网络】HTTPS协议

         过程分析:

        •  黑客自己也生成一对非对称密钥:公钥 pub2 , 私钥 pri 2
        • 当客户端询问公钥的时候,服务器响应返回一个公钥pub1,经过黑客的设备就把pub1替换成了pub2
        • 客户端就会基于pub2进行加密对称密钥,黑客就通过自己的pri2进行解密,拿到了对称密钥,于是又把对称密钥基于pub1进行加密,重新使用pub1就是为了瞒天过海,骗过服务器.

          上诉过程存在问题就是:

          • 客户端如何获取到公钥?
          • 客户端如何确定这个公钥不是⿊客伪造的?

            引入证书 

             之所以能进行中间人攻击,关键点在于客户端没有“分辨能力”,客户端不知道当前这个公钥是不是黑客伪造的!!!所以,就需要引入都被大家信任的第三方“公正机构”,就可以说明当前这个公钥不是伪造的,是可以信任的.

            这个 证书 可以理解成是⼀个结构化的字符串, ⾥⾯包含了以下信息:

            • 证书发布机构
            • 证书有效期
            • 公钥
            • 证书所有者
            • 数字签名
            • ......

              【计算机网络】HTTPS协议

              颁发证书的时候,公正机构就会针对证书的各个属性,计算出一个校验和,并且针对这个校验和进行加密,就得到了数字签名.  

              这个加密也是非对称加密,公正机构自己生成一对公钥和私钥 跟 服务器的不一样,公正机构就会自己持有私钥,而公钥往往就内置在我们的系统中,Windows系统、Linux系统......,就会自带公钥.

              过程分析:

              • 服务器向 公正机构提出申请,审核通过就会给服务器颁发一个“证书”.
              • 客户端请求建立连接(你的证书是是啥),服务器响应返回一个证书(包含服务器公钥).
              • 客户端就得到了一个证书,通过系统内置的公钥对证书进行解密,就拿到了公钥,就需要验证这个公钥是否是服务器最初的公钥,这个过程被称为“证书的校验”.
              • 证书的校验:核心机制就是“数字签名” => 被加密后的校验和,通过系统内置的公钥进行解密,得到⼀个 hash 值(称为数据摘要), 设为 hash1. 然后计算整个证书的 hash 值, 设为 hash2. 对⽐ hash1 和 hash2 是否相等. 如果相等, 则说明证书是没有被篡改过的,公钥是可信的!!

                在上诉机制下,黑客就无法对证书里的内容进行篡改了,即使篡改,也是很容易被发现的. 

                当黑客收到证书之后,如果直接修改里面的公钥,替换成自己的,客户端在进行证书校验的时候,就会发现校验和不一样!!客户端就认为被篡改过了,就会弹出一些对话框的形式来警告用户,存在安全风险!!!(比如你访问一些“奇奇怪怪”的网站,就很有可能会遇到这种情况~)

                总结 

                完整流程 

                 【计算机网络】HTTPS协议

                https加密: 

                •  对称加密,加密业务数据
                • 非对称加密,加密对称密钥
                • 中间人攻击
                • 引入证书,校验服务器公钥

免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]