https 协议

目录

加密方式

对称加密

非对称加密

非对称加密 + 非对称加密

非对称加密 + 对称加密

AC证书

AC证书内容

数据摘要

数据签名


在我们前面学习的http协议里面,我们发送的内容都是明文传输的,所以在安全上并不安全,但是在现在信息发达的时代里,如果还是使用 http 协议,那么就是很危险的,所以目前我们接触到的基本上都是 https 协议。

而https协议上也就是在 http 协议里面加了 TLS/SSL 协议,而这两个协议就是用来加密的。

http协议是明文传输的,所以当有中间人修改数据后,我们也是不能被发现的,或者是明文传输的话,被黑客看到我们的信息,那么也是很不隐私的。

那么解决方案是什么呢?加密!

加密方式

但是我们下面并不是要谈加密,而是谈如何加密!

那么加密有哪些方式呢?

  1. 对称加密

  2. 非对称加密

  3. 非对称 + 对称加密

加密的方式就是这三种,那么这些加密有什么特点呢?

对称加密

对称加密:对称加密相对于非对称加密比较简单,举一个简单的例子,对称加密有,假设现在发送的是数据 那么对这个数据异或另一个数字,然后得到带了一个数据,那么这个数据就是经过加密的数据,当这个数据到达对端主机后,那么将这个数据在异或这个密钥,那么就可以得到原始的数据。

这就是使用对称加密,但是对称加密是有问题的。

如果使用对称加密,那么第一次的密钥怎么让对方主机知道呢?

如果服务器将通信使用的密钥明文发送的话,那么就会被黑客看到,那么第一次的密钥协商就是有问题的?那么此就需要一个密钥的密钥来解决问题,这就是鸡生蛋,蛋生鸡的问题了。

非对称加密

非对称加密就是首先,服务器有公钥和私钥,当客户端第一次给服务器发送的时候,服务器就会将自己的公钥交给客户端,那么客户端就可以拿公钥加密,然后发送给服务器,此时就只有拿私钥的服务器能解密的,后面服务器也就可以拿私钥加密,然后客户端手里有公钥,那么客户端也就可以看到服务器发送的数据了。

非对称加密就是这样,但是非对称加密也是有问题的,因为不仅仅是客户端给服务发送数据,服务器也需要给客户端响应,那么当服务器给客户端响应的时候,黑客也是可以看到服务器的公钥的,那么此时黑客就可以看到服务器到客户端的数据,此时也是不安全的。

那么需要怎么办呢?

非对称加密 + 非对称加密

由于只有一个非对称加密是不够的,那么就需要采用双放都是非对称加密。

第一次,客户端访问服务器,然后服务器给客户端返回自己的公钥,此时公钥是可以被其他人拿到的,然后客户端拿到服务器公钥后,拿服务器公钥对自己的公钥加密,然后发送给服务器,此时黑客是不能拿到的,因为此时被服务器公钥加密的数据,只能由服务器的私钥解密,然后服务器拿到了客户端的数据后,使用自己的私钥解密,然后拿到客户端的公钥,此时服务器就可以给客户端发送数据的时候,就可以拿客户端发送的公钥加密了,此时发送到网络中的数据,只有客户端可以解密。

但是非对称加密是比较复杂的,而且在解密的时候也是比较浪费世间的,所以非对称加密+非对称加密是不好的,其实不光是这样,而且其实也是可以被中间人拿到数据的!

那么中间人要怎么拿到数据呢?我们下面先看一下如何解决非对称加密的速度慢的问题。

非对称加密 + 对称加密

上面由于双方都是非对称,所以比较慢,下面使用非对称和对称一起用,前面使用非对称密钥协商对称密钥,后面就使用对称密钥来通信。

首先客户端访问服务器,服务器将公钥发送给客户端,客户端使用服务器公钥对一格对称密钥加密,然后对称密钥此时是不能被黑客看到的,所以此时数据是安全的,当服务器拿到数据后解密,拿到对称密钥,然后后面就是使用对称密钥加密解密。

这里我们就来说一下前面说的中间人问题,那么中间人怎么攻击呢?

假设现在有一个中间人,mid。

当客户端服务器第一次通信的时候,也就是当服务器给客户端返回公钥M的时候,此时中间人将M替换成自己的公钥H,但是把M保存起来,此时在将数据发送给客户端,此时客户端拿到的公钥就是H,然后客户端会使用H来加密一个对称密钥S,然后发送给服务器,此时中间人拿到该数据,然后使用中间人的私钥H‘来解密,拿到对称的密钥,然后中间人对对称密钥S使用M加密,然后发送给服务器,此时服务器也就拿到了对称密钥S,在此过程中,客户端和服务器都不知道中间人的存在,也并不知道中间人修改过数据,在客户端和服务器协商好密钥S后就使用密钥S通信,但是中间人也是知道S密钥的,所以此时中间人是可以知道客户端和服务器的数据的。

AC证书

我们发现上面的加密都是有问题的,那么我们需要怎么做呢?

AC证书,AC证书是什么呢?AC证书就是一个可以信任的机构,该机构为特定的网站颁发证书,然后每一次通信的时候,网站就将该证书进行hash映射形成摘要,然后通过加密后,形成签名,然后就将该证书与签名一起发送过去,如果中间被修改,那么对签名进行解密后,然后再对证书进行相同的hash映射后,如果形成的摘要和签名解密后的摘要不同,那么说明数据被中间人修改过,所以就是不可以的。

上面就是如何通过AC证书来检测数据是否被修改过,如果修改过,那么该数据就是不可信任的。

下面我们介绍一下什么是AC证书:

AC证书内容

AC证书里面包含了一些内容,其中该内容就包含了对应网站的信息,例如:网站的网址、以及该网站的公钥等...

重要的就是该网站的公钥,主要是为了让客户端看到该公钥。

数据摘要

数据摘要就是对AC证书进行hash有映射,对证书进行hash隐私后,就形成了摘要,然后对摘要再进行AC机构的私钥加密后,然后形成数据签名。

数据签名

数据签名就是再通过数据摘要,然后使用AC机构的私钥加密,只能由AC机构的公钥解密,但是私钥只有AC机构拥有,所以想要形成签名,只能由AC机构来形成。

所以对数据摘要进行加密后就形成了签名。

有了数据签名后,此时网站和客户端通信的时候,就可以将网站的信息和数据签名放在一起了,然后发送给客户端。

那么有了数据签名和证书后,看一下如何加密。

此时当客户端第一次给服务器发送数据的时候,服务器给客户端返回了自己的证书和数据签名放到一起。

如果此时中间人想攻击的时候,那么中间人将AC证书里面的公钥切换为自己的公钥。

那么当该数据到达客户端的时候,客户端就会验证AC证书的真假,客户端就会对AC证书进行相同的hash映射,然后,形成数据摘要,然后在对数据签名进行解密,也形成一个数据摘要,如果AC证书美哟被修改,那么这两个摘要就是相同的,如果被修改了,那么形成的数据摘要就会差别很大,此时客户端就会意识到数据被修改。

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

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

相关文章

Linux之Apache服务器安装及配置

一、Apache服务器简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用。Apache曾经是世界使用排名第一的Web服务器软件&#xf…

VSCODE连接远程服务器

安装ssh插件 根据你的操作系统选择对应的版本进行下载和安装。 安装完成之后,启动vscode,选择左侧Extensions 选项卡,在输入框搜索 remote ,选择安装Remote-SSH插件。 安装完成之后会在左侧新增一个选项卡Remote Explorer&#xf…

肥猫游戏报价器|计价器|王者荣耀代练陪练等游戏报价器软件介绍说明

目录 1. 前言2. 软件著作权3. 软件使用说明3.1 进入软件3.2 用户登录3.3 首页3.4 报价器3.4.1 总体介绍3.4.2 王者报价器3.4.3 LOL手游报价器3.4.4 英雄联盟报价器3.4.5 云顶之弈报价器3.4.7 王者水晶报价器3.4.8 和平精英报价器3.4.9 蛋仔派对报价器3.4.10 穿越火线报价器3.4.…

kafka学习笔记--broker工作流程、重要参数

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…

TypeScript 常用高级类型

目录 前言: TypeScript 常用高级类型 基本概念 高级类型 1. 交叉类型(Intersection Types) 2. 联合类型(Union Types) 3. 映射类型(Mapped Types) 4. 条件类型(Conditional…

Pytorch-Transformer轴承故障一维信号分类(三)

目录 前言 1 数据集制作与加载 1.1 导入数据 第一步,导入十分类数据 第二步,读取MAT文件驱动端数据 第三步,制作数据集 第四步,制作训练集和标签 1.2 数据加载,训练数据、测试数据分组,数据分batch…

据房间Id是否存在,判断当前房间是否到期且实时更改颜色

重点代码展示&#xff1a; <template><el-col style"width: 100%;height: 100%;"><el-col :span"20"><el-card class"room_info"><avue-data-icons :option"option"></avue-data-icons></el-…

RT-DETR算法优化改进:轻量化自研设计双卷积重新设计backbone和neck,完成涨点且计算量和参数量显著下降

💡💡💡本文自研创新改进:双卷积由组卷积和异构卷积组成,执行 33 和 11 卷积运算代替其他卷积核仅执行 11 卷积,YOLOv8 Conv,从而轻量化RT-DETR,性能如下表,GFLOPs 8.1降低至7.6,参数量6.3MB降低至5.8MB RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_637742…

ubuntu-c++-可执行模块-动态链接库-链接库搜索-基础知识

文章目录 1.动态链接库简介2.动态库搜索路径3.运行时链接及搜索顺序4.查看可运行模块的链接库5.总结 1.动态链接库简介 动态库又叫动态链接库&#xff0c;是程序运行的时候加载的库&#xff0c;当动态链接库正确安装后&#xff0c;所有的程序都可以使用动态库来运行程序。动态…

Android帝国之日志系统--logd、logcat

本文概要 这是Android系统进程系列的第四篇文章&#xff0c;本文以自述的方式来介绍logd进程&#xff0c;通过本文您将了解到logd进程存在的意义&#xff0c;以及日志系统的实现原理。&#xff08;文中的代码是基于android13&#xff09; Android系统进程系列的前三篇文章如下…

如何在OpenWRT软路由系统部署uhttpd搭建web服务器实现远程访问——“cpolar内网穿透”

文章目录 前言1. 检查uhttpd安装2. 部署web站点3. 安装cpolar内网穿透4. 配置远程访问地址5. 配置固定远程地址 前言 uhttpd 是 OpenWrt/LuCI 开发者从零开始编写的 Web 服务器&#xff0c;目的是成为优秀稳定的、适合嵌入式设备的轻量级任务的 HTTP 服务器&#xff0c;并且和…

docker-compose的介绍与使用

一、docker-compose 常用命令和指令 1. 概要 默认的模板文件是 docker-compose.yml&#xff0c;其中定义的每个服务可以通过 image 指令指定镜像或 build 指令&#xff08;需要 Dockerfile&#xff09;来自动构建。 注意如果使用 build 指令&#xff0c;在 Dockerfile 中设置…

RHEL网络服务器

目录 1.时间同步的重要性 2.配置时间服务器 &#xff08;1&#xff09;指定所使用的上层时间服务器。 (2&#xff09;指定允许访问的客户端 (3&#xff09;把local stratum 前的注释符#去掉。 3.配置chrony客户端 &#xff08;1&#xff09;修改pool那行,指定要从哪台时间…

Python常见面试知识总结(一):迭代器、拷贝、线程及底层结构

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天来总结一下Python和C语言中常见的面试知识&#xff0c;欢迎大家一起前来探讨学习~ 【一】Python中迭代器的概念&#xff1f; 可迭代对象是迭代器、生成器和装饰器的基础。简单来说&#xff0c;可以使用for来循环遍历…

[古剑山2023] pwn

最近这个打stdout的题真多。这个比赛没打。拿到附件作了一天。 choice 32位&#xff0c;libc-2.23-i386&#xff0c;nbytes初始值为0x14,读入0x804A04C 0x14字节后会覆盖到nbytes 1个字节。当再次向v1读入nbytes字节时会造成溢出。 先写0x14p8(0xff)覆盖到nbytes然后溢出写传…

记录一次postgresql临时表丢失问题

项目相关技术栈 springboot hikari连接池pgbouncerpostgresql数据库 背景 为了优化一个任务执行的速度&#xff0c;我将任务的sql中部分语句抽出生成临时表&#xff08;create temp table tempqw as xxxxxxxxx&#xff09;&#xff0c;再和其他表关联&#xff0c;提高查询速…

三翼鸟2023辉煌收官, 定盘2024高质量棋局

最近在不同平台上接连看到这样的热搜话题&#xff1a;用时间胶囊记录2023的自己、2023年度问答、2023十大网络流行语公布… 显然&#xff0c; 2023年进入最后一个月&#xff0c;时间匆匆&#xff0c;这也意味着又到了总结过去和规划未来的时候。拿到结果、取得成绩当然是对202…

短视频引流获客系统:引领未来营销的新潮流

在这个信息爆炸的时代&#xff0c;短视频已经成为了人们获取信息的主要渠道之一。而随着短视频的火爆&#xff0c;引流获客系统也逐渐成为了营销领域的新宠。本文将详细介绍短视频引流获客系统的开发流程以及涉及到的技术&#xff0c;让我们一起来看看这个引领未来营销的新潮流…

华清远见作业第二十四天

使用消息队列完成两个进程之间相互通信 代码 #include<stdio.h> #include<string.h> #include<stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/ipc.h> #include <sys/msg.h> #in…

k8s一键部署uniswap

1、拉取uniswap源码 github地址 2、编写Dockerfile并打镜像 # Set the base image FROM node:18.10.0# WORKDIR /usr/src/app/ WORKDIR /home/gateway# Copy files COPY ./ /home/gateway/# Dockerfile author / maintainer LABEL maintainer"Michael Feng <mikehummi…