计算机网络【网络安全】

计算机网络——网络安全

一、网络安全问题概述

网络安全威胁

网络安全面临两大类威胁,被动攻击主动攻击

被动攻击

指攻击者从网络上窃听他人的通信内容,通常把这类攻击称为截获。

主动攻击

  1. 篡改 攻击者故意篡改网络上传送的报文

  2. 恶意程序

  3. 拒绝服务 Dos 攻击者向互联网上的某个服务器不停地发送大量分组,使该服务器无法提供正常服务。

考研真题:DDOS 全称是什么?原理是什么?

DDos ,即 Distributed Denial of Service , 分布式拒绝服务。

安全的计算机网络
  1. 保密性 只有信息的发送方和接收方才能懂得所发送信息的内容,而信息的截获者则看不懂所截获的信息。

  2. 端点鉴别 安全的计算机网络必须能够鉴别信息的发送方和接收方的真实身份。

  3. 信息的完整性 确保信息没有被人篡改过

  4. 运行的安全性 计算机拥有避免网络攻击引起的拥塞和瘫痪的能力。

数据加密模型

加密

密钥 K

解密

接收端利用解密算法 D 运算和解密密钥 K,解出明文 X

学科关系

密码编码学:密码体制的设计学

密码分析学:在未知密钥的情况下从密文推演出明文或密钥的技术。

密码学:密码编码学 + 密码分析学

二、两类密码体制

对称密钥密码体制

加密密钥和解密密钥是使用相同的密码体制

数据加密标准 DES 属于 对称密钥密码体制。DES 的保密性取决于对密钥的保密,而算法是公开的。

公钥密码体制

使用不同的加密密钥与解密密钥的密码体制。

RSA 体制 属于 公钥密码体制。

产生原因

  1. 对称密钥密码体制的密钥分配体制

  2. 对数字签名的需求

基本特点
  1. 在公钥密码体制中,加密密钥 PK 是向公众公开的,解密密钥 SK 则是需要保密的。加密算法 E 和 解密算法 D 也都是公开的。

  2. 发送者 A 用 B 的公钥 PKB 通过 E 运算对明文 X 加密,得出密文 Y,发送给 B。

    B 用自己的私钥 SKB 通过 D 的运算进行解谜,恢复出明文。

  3. 从已知的 PKB 不可能推导出 SKB,即从公钥到私钥是 “计算上不可能的”。

  4. 公钥可以用来加密,但不能用来解密

  5. 先后对明文 X 进行 D 运算和 E 运算 或 进行 E 运算和 D 运算,结果一样

加密算法的去安全性取决于密钥的长度,以及攻破密文所需要的计算量。而不是简单地取决于加密体制。

公钥加密算法相比对称密码体制开销较大。

三、数字签名

签名的三大功能

  1. 报文鉴别 接收者能够确信该报文的确是发送者发送的。

  2. 报文的完整性 接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过。

  3. 不可否认 发送者事后不能抵赖对报文的签名。

这三项功能的关键都在于没有其他人能够持有 A 的私钥 SKA

签名由发送方的私钥进行加密

四、鉴别

鉴别,验证通信的对方的确是自己所要通信的对象,而不是其他的冒充者,并且所传诵的报文是完整的,没有被他人篡改过。

报文鉴别

报文鉴别,即鉴别所收到的报文的确是报文的发送者所发送的,而不是其他人伪造的或篡改的。包含了端点鉴别和报文完整性鉴别

密码散列函数

  1. 函数输入长度可以很长,但其输出长度固定,且短。散列函数的输出叫散列值。

  2. 不同散列值肯定对应于不同的输入,但不同的输入却可能得出相同的散列值。

报文摘要算法 MD5 和 SHA-1 是比较使用的密码散列函数

报文鉴别码 MAC

报文鉴别码 MAC,对散列 H 使用密钥加密后的结果

这个过程报文不加密,只加密散列 H,不会消耗很多的计算资源,可以很方便地保护报文的完整性

实体鉴别

实体鉴别和报文鉴别不同。报文鉴别是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。

重放攻击

入侵者 C 截获 A 发送给 B 的报文,C 也不需要破译这个报文,直接把这个由 A 加秘密的报文发送给 B,使 B 误认为 C 就是 A,B 就向伪装成 A 的 C 发送许多本来应当发给 A 的报文。这就叫做重放攻击。

不重数

不重复使用的大随机数。

在实体鉴别过程中,不重数可以使用户把重复的实体鉴别请求和新的鉴别请求区分开。

使用公钥密码体制实现实体鉴别

中间人攻击

在使用公钥密码体制在实现实体鉴别时,仍有受到攻击的可能。

由此可见,公钥的分配以及认证公钥的真实性也是一个非常重要的问题

五、密钥分配

对称密钥分配

对称密钥密码体制,目前常用的密钥分发方式是建立密钥分配中心 (KDC)

KDC 是一个公众都信任的机构,其任务就是给需要进行秘密通信的用户临时分配一个会话密钥。

Keberos 协议,是目前最出名的密钥分发协议

公钥分配

认证中心(CA),将公钥与其对应的实体(人或机器)进行绑定,是一个值得信赖的机构。

需要发布公钥的用户可以让 CA 为其公钥签发一个证书,证书中包含有公钥及其拥有者的身份证标识信息(人名、公司名或 IP 地址等)。

CA 签发证书的过程:

  1. CA 必须合适用户真实身份。

  2. CA 为用户产生公钥 - 私钥对,并生成证书。

  3. CA 用自己的私钥对证书进行数字签名。

  4. 该证书就可以通过网络发送给任何希望与该证书拥有者通信的实体,也可将该证书存放在服务器由其他用户自由下载。

因特网采用的是 RFC 给出的、在全球范围内为所有因特网用户提供证书签发与认证服务的 公钥基础结构(PKI)。

CA 的五种功能

  • 1.证书的颁发

  • 2.证书的更新

  • 3.证书的查询

  • 4.证书的作废

  • 5.证书的归档

六、防火墙与入侵检测

防火墙

防火墙作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,尽可能降低这类安全威胁所带来的安全风险。

防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。

(1)分组过滤路由器

分组过滤器是一种具有分组过滤功能的路由器,它根据过滤规则对进出内部网络的分组执行转发或丢弃

例如,可以将外部的特定分组过滤掉,也可以将内部往外发的特定分组阻拦住。

优缺点:分组过滤路由器的优点是简单高效,且对于用户是透明的,但不能对高层数据进行过滤。

(2)应用网关 / 代理服务器(proxy server)

应用网关,它在应用层通信中扮演报文中继的角色。

在应用网关中,可以实现基于应用层数据的过滤和高层用户鉴别

功能:所有进出网络的应用程序报文都必须通过应用网关。当某应用客户进程向服务器发送一份请求报文时,先发送给应用网关,应用网关在应用层打开该报文,查看该请求是否合法。

缺点:

  • 1.每种一应用都需要一个不同的网关

  • 2.在应用层转发和处理报文,处理负担较重

  • 3.对应用程序不透明,需要在应用程序客户端配置应用网关程序。

入侵检测系统

由于防火墙不可能阻止所有入侵行为,作为系统防御的第二道防线入侵检测系统 IDS 通过对进入网络的分组进行深度分析与检测疑似入侵行为的网络活动,并进行报警以便进一步采取相应措施。

(1)基于特征的入侵检测

针对已知攻击

基于特征的 IDS 维护一个所有已知攻击标志性特征的数据库。当发现有与某种攻击特征匹配的分组或分组序列时,则认为检测到某种入侵行为。

(2) 基于异常的入侵检测

针对未知攻击

基于异常的 IDS 通过观察正常运行的网络流量,学习正常流量的统计特性和规律,当检测到网络中流量的某种统计规律不符合正常情况时,则认为可能发生了入侵行为。

学习计划安排

如果你也想学习:黑客&网络安全的零基础攻防教程

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

在这里领取:

这个是我花了几天几夜自整理的最新最全网安学习资料包免费共享给你们,其中包含以下东西:

1.学习路线&职业规划

在这里插入图片描述
在这里插入图片描述

2.全套体系课&入门到精通

在这里插入图片描述

3.黑客电子书&面试资料

在这里插入图片描述

4.漏洞挖掘工具和学习文档

在这里插入图片描述

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

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

相关文章

InnoDB索引与优化篇(5)-InnoDB中的查询优化策略

InnoDB是MySQL数据库中一种常用的存储引擎,它具有高性能和可靠性。查询优化是数据库开发中非常重要的一环,它能够帮助我们提高数据库查询的效率和性能。在本篇博客中,我们将介绍一些在使用InnoDB存储引擎时进行查询优化的常用策略&#xff0c…

贪心 Leetcode 455 分发饼干

分发饼干 Leetcode 455 学习记录自代码随想录 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸&#xff1…

神经网络算法:卷积神经网络

神经网络算法,也称为人工神经网络算法,是一种模仿人脑神经网络结构和功能的计算模型。它由多个神经元相互连接而成的网络组成,每个神经元都有输入和输出,并通过学习算法来调整连接权重,从而实现对输入数据的模式识别和…

JavaScript Web Socket 详解

Web Socket ​ Web Socket(套接字)的目标是通过一个长时连接实现与服务器全双工、双向的通信。在 JavaScript 中创建 Web Socket 时,一个 HTTP 请求会发送到服务器以初始化连接。服务器响应后,连接使用 HTTP 的 Upgrade 头部从 H…

12、窗口看门狗

目录 1、窗口看门狗概述 2、常用寄存器和库函数配置 3、窗口看门狗实验 1、窗口看门狗概述 之所以称为窗口就是因为其喂狗时间是一个有上下限的范围内(窗口),你可以通过设定相关寄存器,设定其上限时间(下限固定&…

数据结构 栈和队列 力扣例题AC——代码以及思路记录

20. 有效的括号 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应…

mysql使用连接池

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、mysql连接池?二、使用步骤1.引入库 前言 提示:这里可以添加本文要记录的大概内容: 例如: 提示&#xff1a…

深入理解Flutter中的StreamSubscription和StreamController

在Flutter中,StreamSubscription和StreamController是处理异步数据流的重要工具。它们提供了一种方便的方式来处理来自异步事件源的数据。本文将深入探讨它们的区别以及在实际应用中的使用场景。 StreamSubscription StreamSubscription代表了对数据流的订阅&…

代码随想录算法训练营番外 刷题日记0301 || 29、两数相除,31、下一个排列

29、两数相除 思路:不断相减就是求解的最直接方法,我这样计算时间复杂度有点高 // 时间复杂度O(count*divisor) // 空间复杂度O(1)class Solution {int res 0;public int divide(int dividend, int divisor) {// dividend 是被除数if(dividend 0) …

技术栈选型的时候,ruby、go、java、vue、react应该怎么选择?

选择适合项目需求、团队技术背景和偏好、开发速度、性能要求以及可扩展性的技术栈和框架是一个综合考虑的过程,没有一种通用的最佳选择,取决于具体情况。 选择Vue.js或React应该综合考虑项目的需求、团队的技术背景和偏好、生态系统的支持和发展趋势等因…

随记-点选验证码

文字验证码(点击文字) 模板匹配(从一张图片中寻找 icon),放弃,目前准确率不高,且处理过程复杂 灰度处理将 complete_image_path 截取并另存为 target_image_path, verify_image_path…

WPF真入门教程30--顺风物流单据管理系统

1、教程回顾 到现在为止,真入门系列教程已完成了29刺由浅入深地讲解,当然不可能讲到了WPF的所有技能点,但读者看到了wpf的内部各种功能及之间的联系,在此基础上,提供一个完整有效的综合项目,本项目采用的是…

c++知识点之 --this

在成员函数中存在。struct和class每个成员函数都隐含一个名为this的指针形参,并且它是该成员函数的第一个参数,当某个对象调用成员函数时,就会把该对象的地址传给被调用成员函数的隐式形参this。 this是一个指针 ,存放的是当前对象…

加密与安全_深入了解Hmac算法(消息认证码)

文章目录 PreHMAC概述常见的Hmac算法Code随机的key的生成 KeyGeneratorHmacMD5用Hmac算法取代原有的自定义的加盐算法 HmacMD5 VS MD5HmacSHA256 Pre 加密与安全_深入了解哈希算法中我们提到, 存储用户的哈希口令时,要加盐存储,目的就在于抵…

操作系统系列学习——CPU管理的直观想法

文章目录 前言CPU管理的直观想法 前言 一个本硕双非的小菜鸡,备战24年秋招,计划学习操作系统并完成6.0S81,加油! 本文总结自B站【哈工大】操作系统 李治军(全32讲) 老师课程讲的非常好,感谢 【…

OpenLayers线性渐变和中心渐变(径向渐变)

目录 1.前言2.添加一个面要素3.线性渐变3.1 第一个注意点3.2 第二个注意点 4.中心渐变(径向渐变)5.总结 1.前言 OpenLayers官网有整个图层的渐变示例,但是没有单个要素的渐变示例,我们这里来补充一下。OpenLayers中的渐变是通过fi…

python defaultdict

python中的dict是一个重要的数据类型,知道如何使用这个数据类型很简单,但是这个类型使用过程中容易进入一些误区,这篇文章主要对defaultdict方法的讲解,深入的了解dict数据类型。 字典(dictionary)数据类型…

编译链接实战(22)C/C++代码覆盖率统计报告生成

文章目录 GCOV 工具简介gcov 使用lcov相关编译选项 GCOV 工具简介 gcov是一个测试代码覆盖率的工具,它是 gcc 自带的查看代码覆盖率的工具。 与GCC结合使用,可以分析您的程序以帮助创建更高效、运行更快的代码,并发现程序中未经测试的部分。…

PCIE 4.0 L0s/L1/L2

L0是PCIE设备正常工作的状态,当设备链路处于非工作状态可以跳转大相应的低功耗状态,L0s是一种可以快速恢复到L0的低功耗状态;L1必须经过Reovery状态才可以恢复到L0状态;L2需要从Detect开始逐步进入到L0状态。它们的恢复时间依次延…

麒麟银河操作系统V10部署ffmpeg(也能用于Linux系统)

麒麟银河操作系统V10部署ffmpeg(也能用于Linux系统) 部署ffmpeg用来处理视频的各种操作 想使用ffmpeg,要先安装nasm,yasm,x264之后,否则会报错 nkvers 查看麒麟操作系统版本 cat /proc/version #查看linux版本信息 uname -a …