网络协议八 网络安全相关

news2024/11/15 2:15:04

网络通讯中的4种 安全问题

网络层- ARP欺骗

ARP欺骗的防护原理

DoS,DDoS 攻击

应用层 DNS 劫持

HTTP 协议的安全问题

单向散列函数,不可逆 MD4,MD5,SHA全家桶

可逆,对称加密 DES,3DES,AES

DES,已经被破解,不建议使用

3DES

AES 目前都使用的一种

密钥配送问题

实际开发中,用的比较多的是 非对称加密 方法

可逆,非对称加密 RSA

非对称加密解密 大致流程如下:

A 和 B,C,D 三个通讯。

B,C,D可以给A发信息

那么 A 会 生成 一对密钥,一对密钥的意思就是一个公钥,一个私钥

A 会把 公钥 公布,或者发送给 B,C,D

那么 B,C,D拿到公钥后,将自己的的信息使用 公钥 加密,发送出去。

这时候即使  E 这个黑客 拦截了 B,C,D 发送给A的 信息,由于E 没有私钥(即使E有公钥),也无法解密。

 A 想给 C 发信息

C会生成  一对密钥,

C将 公钥 公布,或者发送给A

那么 A 拿到公钥后,将自己的的信息使用 公钥 加密,发送出去。

只能C 解密,完成通讯

也就是说:在我们目前学习的认知里面,一般都是 公钥加密,私钥解密就可以了

但是实际上,使用私钥加密,公钥解密 的场景也有,比如在数字签名的时候也能用到

混合密码系统

实际开发中的如何使用的?是非对称加密 和 对称加密 结合起来一起完成的。

实际上完全使用 非对称加密 就可以完成,那么为啥还需要对称加密呢?

因为 非对称加密的 效率低,因此要结合 对称加密一起来完成

数字签名

我们来看一个问题

如下是 数字签名的 过程

我们会将要发送的消息 通过发送者的私钥 加密,变成签名,然后将消息和签名一起发过去。接受者 收到后,通过 发送者的公钥 解密,就知道发送者发送的消息是啥了。

实际上我们在发送者的步骤的时候,除了发送被发送者的私钥加密后的信息外,还应该明文的发送消息本身。

因为数字签名本身的应用场景:就是发送一些 让大家都可以看的消息,但是又要让大家知道这个消息确实是我发送的,不是别人发送的。

从上面看到:我们会发两个内容,一个是明文的消息本身,一个是消息加密后的 签名。为什么要发两个呢?只是发一个 消息加密后的 签名,行不行呢?

由于发送方使用的私钥加密的,那么理论上 中间窃取者  也能收到该消息并成功解密,收到后,可以改动消息内容,但是由于 中间窃取者 没有 发送者的私钥,没有办法使用发送者的私钥 加密,但是 中间窃取者 可以随便用个密钥加密(注意,这里是随便一个密钥) ,然后发送给接受者。接受者在收到加密后的消息后,使用 发送方的公钥解密,发现解出来是乱码,但是接受者这个乱码是不是就是发送方想发送的真正的内容呢?因此还要发送 明文的消息本身。

这里还有一个问题,就是我们是把 整个消息都加密了,但是这个消息有可能很大,直接加密浪费的资源太大了。

数字签名改进

证书

到这里,前面的加密 和 数字签名 实际上还有一个问题没有解决,就是公钥的传播问题,我们回头去看一下,不管是 加密 还是 数字签名,实际上都存在着,对方要先知道 另外一方的公钥 问题,但是这个公钥 是可以被篡改的,如下图 :为了解决此问题,因此有了 证书 。

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

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

相关文章

2024新型数字政府综合解决方案(三)

新型数字政府综合解决方案通过融合人工智能、大数据和云计算技术,建立了一个智能化、互联互通的政府服务平台,旨在提升政府服务效率与透明度。该方案通过全面数字化政务流程,实现数据的实时共享和自动化处理,使公众能够便捷地访问…

Qt作业合集

8.14作业 设置窗口,按钮,标签,行编辑器,实现快递速运登录页面 #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//窗口//设置窗口的标题this->setWindowTitle("邮递系统")…

Flink on yarn 开发过程中遇到的问题

1. 任务启动报错Trying to access closed classloader. Exception in thread "Thread-5" java.lang.IllegalStateException: Trying to access closed classloader. Please check if you store classloaders directly or indirectly in static fields. If the st…

Qt QLabel标签制作弹框效果,3s后缓慢自动消失

效果图 初始化说明 void InitStatusTips() {if (NULL statusTips_) {return;}statusTips_->setFixedSize(300, 80);//固定大小statusTips_->move((width() - statusTips_->width()) / 2, height() - 30 - statusTips_->height());//移动位置statusTips_->setA…

汽车IVI中控OS Linux driver开发实操(二十四):I2C设备驱动的编写

在Linux驱动中I2C系统中主要包含以下几个成员: I2C adapter(即I2C适配器,用来控制各种I2C从设备,其驱动需要完成对适配器的完整描述,最主要的工作是需要完成i2c_algorithm结构体。这个结构体包含了此I2C控制器的数据传输具体实现,以及对外上报此设备所支持的功能类型。具…

钉钉虚拟位置打卡神器2024免费试用版下载-钉钉虚拟位置打卡神器

钉钉虚拟位置打卡神器是一款能够快速帮助用户修改定位的辅助,钉钉虚拟位置打卡免费版能够一键切换手机上班的打开地点,帮助打工人更好的应对公司,收获奖金!软件不需要root就可以安装使用,并且体积也比较小,…

仿RabbitMq实现简易消息队列基础篇(future操作实现异步线程池)

TOC 介绍 std::future 是C11标准库中的一个模板类,他表示一个异步操作的结果,当我们在多线程编程中使用异步任务时,std::future可以帮助我们在需要的时候,获取任务的执行结果,std::future 的一个重要特性是能…

【Java学习】Stream流详解

所属专栏:Java学习 Stream流是JDK 8引入的一个概念,它提供了一种高效且表达力强的方式来处理数据集合(如List、Set等)或数组。Stream API可以以声明性方式(指定做什么)来处理数据序列。流操作可以被分为两大…

GD32 ADC配置跳坑

GD32 ADC配置跳坑 :时钟使能配置需在ADC前面 放在后面读取ADC值失败。 DMA配置放在ADC配置后面可以正常读取ADC的值 不同的模式选择可能会导致ADC存在读取失败的问题,红色部分是常用的模式,一般可以读取到相应的ADC的值 adc_software_trigge…

优雅谈大模型:Python编程篇

Python在机器学习领域的地位十分关键,虽然后面有Julia,Mojo等其他对手的挑战,然而Python拥有庞大的机器学习库和框架,尤其是生态系统比以往任何时候又强大了不少。从另外维度它和Java,Scala,Go,…

游戏安全入门-扫雷分析远程线程注入

前言 无论学习什么,首先,我们应该有个目标,那么入门windows游戏安全,脑海中浮现出来的一个游戏 – 扫雷,一款家喻户晓的游戏,虽然已经被大家分析的不能再透了,但是我觉得自己去分析一下还是极好…

适配器模式, 修饰器模式 与 代理模式

这三种模式, 感觉非常类似, 都是把核心类包一层, 在外部做一些额外的事情, 我还没发现他们之间具体的区别, 有想法的同学, 可以评论或者私聊我 适配器模式 简介: 就是在目标类外面包一层, 用以适配其他的模块,兼容整个程序框架 举个例子: 比如运动员, 中国运动员参加法国奥运…

市域社会治理平台规划建设方案

1. 建设背景与市域治理定义 市域社会治理作为国家治理体系的重要组成部分,具有承上启下的枢纽作用。2019年,全国市域社会治理现代化工作会议提出了推进市域社会治理现代化的总体思路,强调以城带乡、以点带面,明确了市域治理的方向…

[项目]文海泛舟测试报告

目录 一、项目背景 二、项目功能 三、功能测试 1. 测试用例: 2. 实际测试的部分(含截图) 1. 正常登录 2. 文章列表页显示/登录用户信息显示 3. 文章详情页内容显示/文章作者信息显示 4. 编辑功能 1. 点击“更新博客”按钮前 2. 点击…

前端开发攻略---Vue实现图像裁剪功能,支持用户通过图形界面进行裁剪区域的调整,最终生成裁剪后的图像。

目录 1、演示 2、实现原理 3、实现功能 4、代码 1、演示 2、实现原理 这里有详细介绍: 前端开发攻略---图片裁剪上传的原理-CSDN博客 3、实现功能 上传图像: 用户选择文件后,changeFile 方法读取文件内容并将其转换为 Data URL&#xff0c…

Amesim中动力电池建模方法与原则简介

引言 新能源动力电池一维仿真与三维仿真的主要区别在与,一维仿真中无法在仿真中精准的得到各个点的温度变化,其仅为质量块的平均温度。而在新能源动力电池一维仿真中,旨在对动力电池的策略、充放电时间等进行验证。而无论是策略还是充放电时…

jmreport测试数据库出现 权限不足,此功能需要分配角色 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法前言 关于jmreport的补充可看官网:jmreport上线安全配置 1. 问题所示 jmreport测试数据库出现,出现如下所示的问题:权限不足,此功能需要分配角色! 截图如下所示: 2. 原理分析 对于原理分析的Bug,代表当前用户没有足够的…

HDFS的编程

一、HDFS原理 HDFS(Hadoop Distributed File System)是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件,在整个Hadoop中的地位非同一般,是最基础的一部分,因为它涉及到数据存储,MapReduce等计算模型都要依赖于存储在HDFS中的数据。HDFS是一个分布式文件系统,…

20款必试AI工具:轻松搞定设计到协作

随着人工智能技术的发展,各种AI工具如雨后春笋般涌现,给我们的工作和生活带来了极大便利。 在AI工具的海洋中,哪一款才是你的真命天子? 众所周知,AI工具如雨后春笋般涌现,让人目不暇接。面对琳琅满目的选…

Oracle 字符串转多行(REGEXP_SUBSTR)

方案一: SQL 1.一个数据表(TABLE1_ZK)中存在一个字段(STRS)(存储格式是以【,】隔开的字符串) 2.现需要将其查分为多行数据(每行为其中一个字符串) 3.sql SELECT t.id,REGEXP_SUBSTR(t.STRS, [^,], 1, LEVEL) AS ma…