《JavaEE》HTTPS

news2024/11/22 16:38:12

文章目录

  • HTTPS起源
  • HTTPS
    • 对称加密
    • 非对称加密
    • 两者的区别
  • HTTPS的安全问题
    • 使用对称加密
      • 正常交互
      • 黑客入侵
      • 解决方案
    • 非对称加密
      • 引入非对称加密后的流程
    • 中间人攻击
      • 黑客的入侵方案加入后的流程
      • 解决方案
      • 黑客再次加注
      • 解决方案


​👑作者主页:Java冰激凌
📖专栏链接:JavaEE


HTTPS起源

在2015年前 国家还没有明确的颁布互联网保护法 在这个之前 很多做广告的公司是根据访问连接请求中的Referer来确认是哪个平台引流进入的 其中请求就需要经过网络通信 在网络通信的过程中 因为利益的驱使 就导致了有很多来专门截取请求 然后修改请求为其他平台以此来谋取利益 为了维护自己的利益 官司肯定是会打的 但是打官司会有一个很长的过程 所以为了更快的维护自己的利益 HTTPS应运而生


HTTPS

HTTPS是在HTTP的基础上引入了一个加密层 这个加密层叫做SSL\TLS
这个加密层主要通过两种方式来实现加密

对称加密

使用同一个密钥进行加密解密

非对称加密

有两个密钥 分别是公钥和私钥
其中 公钥是公开的 私钥是不会公开的 但是其中的数据 使用公钥加密后 只能使用私钥来进行解密
也可以使用私钥进行加密 公钥来进行解密 公钥和私钥两者是相相成的

两者的区别

速度:速度上对称加密的效率是大于非对称加密的
解密:使用对称机密的数据只需要使用对称密钥即可解密 非对称加密的数据只能使用私钥来解密
安全:对称密钥很容易被篡改 非对称密钥在引入各种措施之后不容易被篡改
(其中 我们是要明确 安全只能是相对的安全 不会是绝对的安全)


HTTPS的安全问题

使用对称加密

正常交互

首先是正常的进行交互 从客户端发起获取密钥 之后服务器会返回一个对称密钥 之后客户端会使用这个对称密钥进行数据传输的加密 服务器拿到之后会使用对称密钥来进行解密
在这里插入图片描述

黑客入侵

当黑客入侵之后 如果我们使用对称密钥加密的话 此时服务器返回key的时候 黑客也随之获取到了密钥key 之后的传输黑客也能窃取到数据交互的内容
在这里插入图片描述

解决方案

使用非对称加密来防止黑客直接获取到密钥key

非对称加密

引入非对称加密后的流程

引入非对称加密之后 会进行以下的交互过程

  1. 客户端发起获取密钥 黑客获取到消息转发给服务器
  2. 服务器生成一个非对称密钥 再将公钥发送给客户端 黑客获取到公钥 转发给客户端
  3. 客户端使用公钥将自己的对称密钥key进行加密 再发送给服务器 黑客获取到加密后的key 但是此时黑客是无法得知其中的key是什么的 即使是黑客明确的知道这个公钥是什么 但是因为非对称加密中的公钥和私钥是一对 使用公钥加密的只能使用私钥来解密 所以黑客是获取不到其中的key的 只能乖乖的转发给服务器
  4. 服务器收到加密后的key之后 使用私钥来对数据进行解密 解密之后获取到key 之后的传输就会一直使用这个对称公钥来进行加密和解密
    在这里插入图片描述

中间人攻击

虽然如此一来引入非对称加密之后 安全系数得到进一步的提高 但是黑客就真的没办法了吗?还是有的

黑客的入侵方案加入后的流程

  1. 客户端发起获取密钥 黑客获取到消息转发给服务器
  2. 服务器生成一个非对称密钥 再将公钥发送给客户端 黑客获取到公钥 此时 黑客会自己生成一个对称密钥newKey 然后将公钥为newKey发送给客户端
  3. 客户端收到之后 是不能分辨出是否是被黑客篡改过的公钥 之后客户端会使用获取到的公钥将自己的key进行加密
  4. 加密之后发送给服务器 黑客获取到了使用newKey加密后的key 然后使用newKey来进行解密 如此一来黑客便获取到了客户端的key 然后黑客只需要使用pub_key来对已经获取到的客户端的key来进行加密发送给服务器
  5. 服务器收到之后也无法判断是否被篡改过 之后会使用key来进行交互 其实和之前是没有变化的 但是此时的黑客已经获取到了客户单的对称密钥key
    在这里插入图片描述

解决方案

引入“工信机构” 这个机构负责颁布数字证书

  1. 客户端发起获取数字证书(因为数字证书的引入就要直接获取数字证书 数字证书中就包含了公钥)此时黑客获取到 转发给服务器
  2. 服务器收到获取请求后 会先生成一个非对称密钥 使用公钥来向工信机构来申请数字证书 申请到数字证书后就可以将数字证书返回给客户端
  3. 服务器返回客户端 黑客收到 黑客转发数字证书给客户端 客户端收到之后就会使用系统中自带的公钥来进行解密(这个公钥 不单单是客户端有 黑客也会有 所以黑客也能获取到这个公钥 但是没办法对它进行修改)解密之后获取到公钥 然后使用公钥对key进行加密发送给服务器
    在这里插入图片描述

黑客再次加注

黑客可以通过伪造修改数字证书来达到获取key的目的
在这里插入图片描述

解决方案

我们在数字证书中加入了签名机制 这个签名其实和校验和有相同的用处 都是为了检验数据是否被发生过修改 其实用了其中的数据来计算出的签名 这个签名被工信机构生成的一对非对称加密进行加密 使用私钥来进行加密 加密后的数据只能使用公钥来解密

  1. 客户端发起获取数字证书 黑客获取到 转发给服务器
  2. 服务器收到后生成一对非对称密钥向工信机构认证 认证之后返回数字证书
  3. 黑客获取到之后 是可以使用公钥来进行解密 获取到其中的内容 但是如果对于数字证书中的内容进行修改的话 就需要使用到工信机构的密钥来进行加密 而黑客是获取不到这个私钥的 以此达到了只能读不能改的效果
  4. 客户端获取到数字证书之后会先使用公钥计算原始签名 然后也会使用相同的计算方式计算签名 核对签名和初始签名是否一致 如果不一致就代表被篡改过 就会在浏览器中抛出大大的异常
    在这里插入图片描述

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

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

相关文章

ChatGPT突然上线APP!iPhone可用、速度更快,GPT-4用量限制疑似取消

新建了一个网站 ChatGPT人工智能中文站 - ChatGPT人工智能中文站http://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT免费镜像站 OpenAIChatGPT正式推出iOS应用程序的官方公告突然发布。 立即在苹果商店的免费列表中排名第二,在效率列表中排名第一。 &am…

VScode+LaTeX 配置时遇到的一些问题

文章目录 VScodeLaTeX 配置时遇到的一些问题1. json 配置文件总览2. 使用 SumatraPDF 作为 pdf 阅读器时的双向跳转3. 选择使用 VScode 内置的 tab 打开 pdf 或者使用外部 SumatraPDF 打开4. 关于 LaTeX Workshop 插件的安装 VScodeLaTeX 配置时遇到的一些问题 1. json 配置文…

『MySQL 实战 45 讲』17 - 如何正确地显示随机消息?(随机抽取 3 个词)

如何正确地显示随机消息?(随机抽取 3 个词) 需求:从用户的英语单词表中,随机选择三个单词,创表和插入数据如下: # 建表 CREATE TABLE words (id INT(11) NOT NULL AUTO_INCREMENT,word VARCHA…

Chatgpt版本的opencv安装教程

文章目录 前言一、安装opencv方法一二、安装opencv方法二 前言 最近刚买了台RTX 3070的电脑,顺手刷了个ubuntu系统专门玩Carla,为了方便查资料,也顺手搭了浏览chatgpt的环境,用的clash,还挺好用的。然后刚好在看Carla…

(转载)MATLAB智能算法30个案例分析(4)——基于遗传算法的TSP算法

1 理论基础 TSP(traveling salesman problem,旅行商问题)是典型的NP完全问题,即其最坏情况下的时间复杂度随着问题规模的增大按指数方式增长,到目前为止还未找到一个多项式时间的有效算法。 TSP问题可描述为:已知n个城市相互之间的距离&…

chatgpt赋能python:PythonUrwid:一个优秀的控制台UI工具

Python Urwid:一个优秀的控制台UI工具 在开发控制台应用程序时,通常需要一种轻而易举的方法来创建用户界面。Python Urwid是一个高效,可定制的控制台UI工具,它可以帮助你创建强大的用户界面,同时获取出色的响应时间。…

SpringCloudAlibaba:继解决登录问题之后,Sentinel持久化没有效果问题

说实话好麻烦,每次使用关于Nacos的时候,bootstrap.yaml中都得配置username和password。 我后悔了。。。 哪位大哥有好办法啊!!! 因为之前开启登录鉴权,导致使用Nacos就得配username和password&#xff0c…

day2 - 使用OpenCV进行图像的读取与展示

本期将使用OpenCV对图像进行一些基本的了解和操作:主要包含图像的读取、展示和保存,以及查看图像的基本属性,让我们充分的了解图像,为后续图像处理做准备。 完成本期内容,你可以: 会使用OpenCV对图像进行读…

Redis常用命令详解

Redis 是Remote Dictionary Service 的简称;也是远程字典服务。它是内存数据库,KV 数据库,数据结构数据库。它是一个单线程的单reactor模型。其交互方式是请求响应方式。在正常情况下,如果向redis发出请求,则一定会有响…

MyBatis 框架

MyBatis 框架 MyBatis 简介搭建 MyBatis 开发环境核心配置文件详解mapper 映射文件(实现增删改查)MyBatis获取参数值的两种方式MyBatis的各种查询功能特殊SQL的执行自定义映射resultMapresultMap 字段和属性的映射多对一映射处理一对多映射处理 动态SQLM…

11 - YOLO算法二 (目标检测)

要点: 三 YOLO v3 3.1 Darknet-53 (backbone) 3.2 目标边界框的预测 将预测的边界框中心限制在当前cell中, s(x) Sigmoid(x) 。 3.3 正负样本的匹配 3.4 损失的计算 3.4.1 置信度损失 (Binary Cross Entropy) 其中 表示预测…

能耗监测系统在淼泉卫生院项目的应用

摘要:随着社会生活水平的提高,经济的繁荣发展,人们对能源的需求逐渐增长,由此带来的能源危机日益严重。办公建筑、医院、商场等场所如何实时的了解、分析和控制能源消耗已成为需要解决的迫在眉睫的难题。传统的能源消耗只能以月/季…

CPU性能优化:分支预测

条件跳转引起的控制冒险虽然也可以通过在流水线中插入空泡来避免,但是当流水线很深时,需要插入更多的空泡。一个20级的流水线为例,如果一条指令需要上一条指令的执行结束才能执行,则需要在这两条指令之间插入19个空泡,…

STL详解— list类的模拟实现

本文章所需实现三个类及其每个类里的各个函数接口总览&#xff1a; namespace zhc {//模拟实现list当中的结点类template<class T>struct list_node{//成员函数list_node(const T& val T()); //构造函数//成员变量T _val; //数据域list_node<T&g…

推荐系统简介

文章目录 推荐系统的分类基于人口统计学的推荐算法基于内容的推荐算法基于协同过滤的推荐算法协同过滤&#xff08;CF&#xff09;推荐方法基于近邻基于用户的协同过滤基于物品的协同过滤 混合推荐推荐系统实验方法离线实验用户调查在线实验 学习下b站上尚硅谷的推荐系统的课程…

易观千帆 | 2023年4月证券APP月活跃用户规模盘点

易观&#xff1a;2023年4月证券服务应用活跃人数13924.88万人&#xff0c;相较上月&#xff0c;环比下降1.46%&#xff0c;同比增长3.64%&#xff1b;2023年4月自营类证券服务应用Top10 活跃人数6144.02万人&#xff0c;环比下降0.01%&#xff1b;2023年4月第三方证券服务应用T…

「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接(1)

文章目录 前言视频教程1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 转…

chatgpt赋能python:PythonWorkon-使Python多环境管理更加轻松

Python Workon - 使Python多环境管理更加轻松 Python是一种广泛使用的高级编程语言&#xff0c;在众多开发者中应用广泛。在实际工作中&#xff0c;我们有时需要使用不同版本的Python或不同的环境来开发不同的项目。这时候就需要一个Python环境管理器来帮助我们快速地进行环境…

chatgpt赋能python:PythonWSDL:实现更好的Web服务和集成

Python WSDL&#xff1a;实现更好的Web服务和集成 在现代的互联网世界中&#xff0c;我们面临着不断增长的需求&#xff0c;需要实现与不同系统之间的交互和数据共享。Web服务是一种解决方案&#xff0c;允许应用程序通过互联网相互通信。其中Web服务描述语言&#xff08;WSDL…

python+django在线音乐分享网站系统vue_6045i.

本系统主要包括管理员和用户&#xff1a;主要包括个人中心、用户管理、通知公告管理、音乐类型管理、音乐分享管理、音乐榜单管理、音乐论坛、系统管理等功能的管理系统。 (1)绪论 系统的开发背景&#xff0c;意义和系统状况等&#xff0c;详细讲述了系统的用处&#xff0c;对本…