JavaEE HTTPS加密原理

HTTPS加密原理✿✿ヽ(°▽°)ノ✿

在这里插入图片描述

文章目录

  • JavaEE & HTTPS加密原理
    • 1. 为什么要加密
    • 2. HTTPS加密原理
      • 2.1 初始想法
      • 2.2 引入非对称加密
      • 2.3 中间人攻击
      • 2.4 引入证书

JavaEE & HTTPS加密原理

1. 为什么要加密

例子:(运营商劫持)

你可能经常遇到一个现象,就是在下载一些软件的时候,明明是软件A,弹出的下载连接确实软件B:

未劫持的版本:

在这里插入图片描述

劫持后的版本:

在这里插入图片描述

  • 变成QQ浏览器了 >、 v <、
  • 因为数据报在网络上是通过许多交换机和路由器的转发进行传输的,所以经过运营商设备很正常!
    • 因此被劫持了

在这里插入图片描述

在这里插入图片描述

不仅仅运营商可以劫持,黑客当然也可以~

  • 只要网络上的数据是明文传输的,都是存在被劫持被更改的风险!
  • 而我们让网络数据传输变得相对安全的方法就是,让破解的成本高于数据的价值!
    • 因为再厉害的方法,都不是万能的~

HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):

一般理解为HTTP+SSL/TLS,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。

https即在http的基础上通过加密,提高破解成本!

  • 此处的加密,我们就只作为一个“行为”,如何加密的不讲~
    • 认为加密后就是乱码~
  • 解密也是,看成一个“行为”就是了

2. HTTPS加密原理

2.1 初始想法

我们的想法是:将明文转化为密文传过去

明文 => 密文, 【加密】

密文 => 明文, 【解密】

而加密的过程我们抽象成一个对象“秘钥”,通过这个秘钥,可以让我们的明文通过一定的逻辑去计算后转化为密文

  • 加密一般针对的是HTTP的各种header 和 body
    • 一般黑客篡改响应,而不是篡改请求让服务器返回不同的响应,因为知道正文没这个必要去篡改请求,反而有风险~
    • 因为看得到请求才能篡改响应和篡改请求,至于不让请求发出去或者发不一样的请求(响应是发回黑客,不是客户端),客户端如果收不到(超时重传),起不到效果~
    • 所以,只有黑客解密成功,并加密成功,客户端才认这个数据
      在这里插入图片描述

而这就是最原始的:对称秘钥

  • 即,加密和解密用的是同一把钥匙

那我们来看一下数据报在网络上的传输~

在这里插入图片描述

  • 这样,数据报在网络上以密文的形式传输,黑客自然就无法篡改

聪明的你可能想到了:

  1. 如果这个密钥每个客户端都是一样的,那么黑客也可以是客户端,这样密钥就拿到手了,所以每个客户端都是不一样的密钥~
  2. 如果这个密钥由每个客户端自己生成的,那么则需要连同密文一起传给服务器才行,而黑客因此也可以拿到密钥了!这样子,对称密钥的安全性几乎为0~

在这里插入图片描述

2.2 引入非对称加密

由于对此加密的不安全性,则需要引入非对称加密,提高数据传输安全性~

非对称加密的加密规则如下:

  • 相比于对称加密,它多了一把密钥

在这里插入图片描述

就是说,通过pub加密的密文,不能由pub解密,得由与之对应的pri解密;而通过pri加密的密文,不能由pri解密,得由与之对应的pub解密!

  • 同理,通过pub解密的明文,也只能由pri加密;pri解密的明文,也只能由pub加密!

那我们来看一下数据报在网络上的传输~

第一步:

在这里插入图片描述

  • 目前所有人都拥有公钥pub,只有服务器拥有私钥pri

第二步:

在这里插入图片描述

  • 客户端本来就有key,响应的时候没必要传key
    • 千万不能用pri加密key,因为pub可以进行解密!
    • 并且私钥就是私用的,并不是人人皆知~

为什么不用pub直接加密req?

原因是,服务区虽然可以pri解密计算响应,但是这么返回响应呢?

  1. pri加密响应,pub可以解密
  2. pub加密响应,客户端看不懂
  • 这样,数据报在网络上以密文的形式传输,黑客自然就无法篡改

2.3 中间人攻击

相信聪明的你又能想到黑客可以怎么做:

在这里插入图片描述

  • 之后客户端就是小丑了

在这里插入图片描述

  • 黑客又赢了~

这就是中间人攻击~

2.4 引入证书

说到底,这里的问题就是,客户端直接相信了黑客传过来的pub,那么我们只需要判断这个pub的权威性,就行了~

这里的证书,不是“纸质”的证书,而是一个抽象的“对象”,里面又很多属性

  • 即,电子数字证

在这里插入图片描述

有一个权威的机构,负责颁发证书

  • 而我们的服务器要加密传输的https,那么我们就需要去这个机构里,申请证书!

  • 申请的时候,要提交一些资料(甚至要交钱),机构审核通过了,就会颁发证书

    • 而我们在提交资料的时候,就提交上公钥pub,就行了~

而第一步的索要pub就变为索要证书:

在这里插入图片描述

  • 现在,每个人都拥有这个证书

与之前的方法不同的是,黑客不能轻易的篡改证书,是由于现实原因和客户端证书的验证机制:

一、黑客不可以自己去申请证书?

  1. 成本高
  2. 只有pri才能解密得到key,而这个pri还在服务器那~
  3. 证书的属性里面有“服务器的域名”等等…,所以黑客如果改域名为服务器的以免穿帮,校验和也会因此变化~

二、黑客自己就是权威机构?

  1. 不现实,成本极其高,因为权威机构规模得很大
  2. 不安全,权威机构人人都是实名的,所以黑客不会这么做,客户端有损失,就会查到

客户端验证证书的机制,靠的就是证书的这一个属性:签名(即校验和)

  • 这个校验和的计算,跟之前学的校验和一样,是由一个“一一对应”的函数计算得来的
    • 假如**校验和 = f(x1, x2, x3, x4 …)** ,那么这个函数的每一对参数序列,都对应不一样的值!
    • 也就是说,只有证书的所有属性都不变,校验和才不变

在这里插入图片描述

而这个签名,由证书的私钥pri进行加密了,而我们怎么解密的?

  • 这个是一个权威的机构,几乎每一台机器上,都保存了他们的pri所对应的pub
  • 而黑客跟客户端一样,拥有公钥去获取签名

第二步(校验):

在这里插入图片描述

问题:

  1. 那这样黑客不就知道客户端的信息了吗?
    • 并不是,这里黑客只知道“我要证书”的请求(截断它的请求,会超时重传,所以没必要)
    • 黑客也只知道证书这个对象,而这个对象本来就是公布的
    • 而真正值钱的信息则是客户端信任后发布的请求!
  2. 黑客就不能修改属性后,调整到与校验和一致?
    • 不行,因为计算校验和的函数是“一一对应”的函数
    • 其次,调整后不符合侵略目的
  3. 黑客就不能修改属性后,修改校验和?
    • 不行,因为黑客得到校验和,将其修改,那么还要将其加密,加密成能由pub解密的密文,而这个加密过程的难度等同于去“解密对称密钥key”,因为黑客没有证书pri
  4. 能不能将校验和正文传过去
    • 不行,因为客户端会将这个正文当成密文,用pub解密,解密后就会发现对不上~
    • 那得找到解密后为正确的校验和的那个密文,那就是加密啊,回归到问题3的逻辑了~

这样黑客破解起来的成本就很高了

  • 但不代表这种方式百分百安全,因为安全是相对的,没有绝对的安全~

文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

✿✿ヽ(°▽°)ノ✿


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/253159.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

骁龙888和麒麟9000哪个好 骁龙888和麒麟9000有什么区别

麒麟9000采用台积电5nm工艺&#xff0c;8核CPU设计&#xff0c;1个A77超大核3.31GHz&#xff0c;3个A77大核2.54GHz&#xff0c;4个A55小核2.05GHz&#xff0c;GPU采用24核Mali-G78&#xff0c;AI部分是双大核 NPU 微核 NPU 我的手机就是活动时8折抢购的 点击开抢 http://shou…

EclipseCDT远程交叉编译远程单步调试基于makefile例程(实测有效)

文章目录 前言&#xff1a;1. 新建工程2. 远程编译环境配置2.1 下载sshfs并挂载目录2.2 Debug配置2.3安装EclipseCDT的远程插件2.4 拷贝gdbserver 3. 调试总结: 前言&#xff1a; 之前写过一篇VSCode远程调试linux&#xff0c;当时是把程序以及代码通过远程的方式&#xff0c;…

骁龙780G和麒麟980哪个好

骁龙780G&#xff1a;采用了6nm的制作工艺 麒麟980采用的是7nm的工艺制作。 我用的手机就是活动时7.5折抢购的 点击开抢 http://shouji.adiannao.cn/7 骁龙780G&#xff1a;“116”的八核架构&#xff0c;1Cortex A76 2.6GHz 1Cortex A76 2.4GHz 6*Cortex A55 2.0GHz。GPU型号…

甜品网站界面

最开始就是logo部分和导航栏部分 logo部分就是用的div里面写img然后给浮动就可以了 第二个是导航栏部分 用的也是无序标签 代码如下&#xff1a; 轮播图部分 没做出来效果 甜蜜约会品牌简介 红色框框以外的我用的是 div img 和 p标签做的 这些很简单 就不展示代码了 红色边…

maccmsv10 苹果cms 深度定制站群版

熊猫站群系统苹果MacCmsV10 熊猫电影站群系统苹果MacCmsV10是一款专门为每个做站群的独行侠量身打造的省时省力省心的电影站群系统。 作为站群的重度使用者&#xff0c;深知作站痛点。从站长角度出发&#xff0c;解决痛点。非侵入式开发,基于Thinkphp框架&#xff0c;兼容苹果M…

苹果CMS采集工具

苹果CMS采集&#xff0c;是苹果CMS影视站必不可少的功能。现在很多站长想做一个自己的影视站点&#xff0c;感觉影视站点的流量很大&#xff0c;关键词多&#xff0c;做起来会非常容易&#xff0c;的确是这样。这篇文章主要是给大家分享一下关于影视站以及苹果CMS采集的&#x…

苹果c语言怎么用windows。h_苹果12怎么用蓝牙传照片?iphone12无线传相片的详细步骤...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都会有分享,都是免费订阅,请您放心关注。注图文来源网络,侵删 …

苹果CMS火车头采集发布模块教程

苹果CMS火车头采集教程苹果CMS发布模块&#xff0c;苹果CMS怎么自动采集&#xff1f;苹果CMS怎么自动发布。今天给大家分享一款免费的苹果CMS自动采集发布工具&#xff0c;支持指定网站数据采集&#xff0c;支持关键词内容采集。详细参考图片教程 百度最近更新得比拟多&#xf…

android 双卡 默认流量 卡,双卡双待功能怎么用?如何设置默认流量卡?

原标题&#xff1a;双卡双待功能怎么用&#xff1f;如何设置默认流量卡? 了解双 SIM 卡状态图标 屏幕顶部状态栏中的图标能够显示两个运营商的信号强度&#xff0c;在「控制中心」可以显示更详细的 SIM 卡状态。 设置默认号码 将「主卡」作为默认号码&#xff1a;勾选此方案后…

苹果手机更改照片大小kb,苹果手机怎么把图片缩小 怎么用手机把图片缩小

关于如何使用手机把图片缩小到自己需要的大小体积?这是一个比较有含量的技术活了&#xff0c;在不借助任何软件的辅助下&#xff0c;苹果手机就可以做到这一点&#xff0c;具体的操作方法请和小编一起来看看吧。 苹果手机怎么把图片缩小 怎么用手机把图片缩小 首先打开苹果手机…

苹果CMS采集方法支持文章资源采集

苹果cms采集视频可以在后台联盟资源库里直接设置采集&#xff0c;也可以自己配置自定义采集库&#xff0c;而关于文章资讯采集&#xff0c;苹果cms后台并没有配备专门的采集库&#xff0c;所以文章采集我们需要自己去添加采集接口&#xff0c;或者是使用第三方的采集工具&#…

苹果采集插件全套教程-苹果cmsV10采集插件

最近几年随着互联网时代的发展&#xff0c;做电影网站的站长越来越多了&#xff0c;加入此行列的人也是与日俱增&#xff01;但是很多站长都是跟风来做电影站的&#xff0c;怎么做一点思路都没有。电影资源都不知道怎么来的。今天就教大家怎么做好电影站&#xff0c;文章有点长…

苹果自带的APP下载分析统计工具

对于APP运营的工作人员&#xff0c;查看APP的下载量和访问量是非常重要的。当然&#xff0c;我们开发人员有时候也会想看看自己开发的APP有多少人在使用&#xff0c;但是苹果开发者官网一直没有提供这个功能&#xff0c;一些第三方的网站&#xff0c;比如蒲公英、友盟等提供了这…

android流量定位吗,安卓消耗流量比iPhone多?揭密真相:意外

“手机充电3小时,耗流量23GB”,“武汉一女子,一夜间用掉流量53.3GB”…… 不少网友称,最近他们的流量消耗快得惊人。是手机的问题?是软件的问题?还是运营商的问题?钱江晚报联合省质监局,对多品牌手机、多种网络信号源进行较严谨的流量试验,试图弄明白几个问题: 1、关…

苹果怎样用小米云服务器,苹果换华为/小米,怎么同步数据?教程来了!

原标题&#xff1a;苹果换华为/小米&#xff0c;怎么同步数据&#xff1f;教程来了&#xff01; 由于系统不同&#xff0c;iOS和Android之间数据迁移一直都是跨平台换机用户的“绊脚石”。而且iOS是封闭系统&#xff0c;不像Android那么开源。 尽管市面上的App基本都支持两大系…

苹果CMS插件-苹果CMS必备插件

苹果CMS插件是指针对苹果CMS网站开发的插件&#xff0c;在已经熟悉了解的苹果CMS的情况下&#xff0c;结合插件以及seo手法制定出适合这个网站的优化方法。随着近几年影视产业的快速发展&#xff0c;电影网站也成为从事互联网工作者们饱受关注的网站之一。&#xff0c;由原先的…

苹果CMS插件安装使用下载苹果CMS插件集合

其实博主做SEO已经十二年了&#xff0c;一直都是通过深入研究搜索引擎的各种核心算法&#xff0c;来帮助大家网站快速收录从而达到关键词排名。所以对于网站SEO优化掌握的技术也算是精通各种手法。毕竟这十几年来也踩过一些坑&#xff0c;所以还是有一些经验可以跟大家分享下&a…

证件照怎么自己P图?证件照拍照攻略 记得收藏

很多同学都表示自己的证件照太丑&#xff0c;皮肤瑕疵、身材臃肿、表情狰狞、眼神呆滞......但你知道嘛&#xff1f;现在证件照也可以自己在家P图啦&#xff01;市面上有一种证件照工具&#xff0c;叫做证件照生成器&#xff0c;既有着美颜、换装、换底色等功能&#xff1b;又有…

ps制作计算机考试证件照,如何通过PS制作一寸证件照(超详细流程)?

一寸证件照的用途很广泛&#xff0c;比如我们在毕业证书上、求职简历上等都需要提供&#xff0c;多数人可能会选择去打印店花钱制作&#xff0c;但是这样下来既浪费钱又花费时间&#xff0c;如果你的电脑里安装了Photoshop软件&#xff0c;那么何不自己动手做一个呢&#xff1f…

证照之星软件2020免费版PS做证件照的方法教程

作为人力行政部负责招聘的员工&#xff0c;经常需要面对求职者&#xff0c;看着他们简历上的证件照&#xff0c;有的真的是非常美观&#xff0c;有的则是特别普通。其实&#xff0c;证件照的制作真的不难&#xff0c;大家只要稍加用心&#xff0c;即可制作出满意的证件照&#…