安全——网络安全协议的引入

news2024/11/16 5:53:19

在这里插入图片描述

TCP/IP安全缺陷

信息泄露

概述

网络中投递的报文往往包含账号、口令等敏感信息,若这些信息泄露则是灾难性的后果。其中嗅探是一种常见而隐蔽的网络攻击手段。

嗅探

概述

  1. 问题:在共享式网络架构下,所有的数据都是以广播方式进行发送,只需要把网卡的工作模式设置为“混杂”,就可以嗅探网段内所有的通信数据。
  2. 解决方案:解决嗅探广播方式带来的问题,可以使用交换式网络架构,将每个端口与该端口所连物理地址进行绑定,并依据帧首部的“目的地址”把数据直接发送到相应的端口。但会带来另一个问题,ARP欺骗。

ARP欺骗

  1. 问题描述:ARP欺骗是攻击者在交换式网络环境下实施嗅探的基础。假设网络中有一台主机A,需要嗅探B和C的通信数据。三台注解的IP地址分别为IPA、IPB、IPC,物理地址分别为MACA、MACB、MACC。
  2. 流程描述:
    1)A首先向B发送一个ARP应答报文,其中包含映射关系IPA/MACC。
    2)B收到这个应答后,更新自己的缓存,保存映射关系IPA/MACC。
    3)A向C发送一个ARP应答报文,其中包含映射关系IPA/MACB。
    4)C收到这个应到后,更新自己的缓存,保存映射关系IPA/MACB。
    5)此时,B和C之间的所有通信数据都将发送给A,在截获重要通信数据后,A可以把数据转发到正确的目的地,而B和C无法察觉到嗅探行为。ARP缓存虽会定期更新,A只要以小于更新时间间隔的频率发送ARP欺骗报文,就可持续嗅探B和C之间的数据。

信息篡改

概述

  1. 信息篡改可基于实施ARP欺骗的网络嗅探,在转发数据之前对数据进行篡改。
  2. 信息篡改的常用攻击手段是在截获的数据中插入一段恶意的代码,实现木马植入和病毒传播。

身份伪装

概述

  1. APR欺骗就是从TCP/IP协议栈的网络接口层实现身份伪装,另外还有IP欺骗和域名服务器欺骗等。

行为否认

概述

  1. 行为否认是指数据发送方否认自己已发送数据,或接收方否认自己已收到数据的行为。
  2. 如IP欺骗,发送方用伪造的IP地址发送信息进而隐藏自己的身份。

网络安全需求

机密性

  1. 防止数据的未授权公开,也就是要让消息对无关的听众保密。
  2. 如嗅探破坏了数据机密性。
  3. 密码学可提供机密性保护。

完整性

  1. 防止数据被篡改,确保接收者收到的信息就是发送者发送的消息。
  2. 如恶意代码注入破坏了数据完整性。
  3. 杀毒软件、密码学可提供完整性保护。

可控性

  1. 限制对网络资源(硬件和软件)和数据(存储和通信)的访问,组织未授权使用资源、未授权公开或修改数据。
  2. 其要素依次包括:标识和鉴别、授权、决策以及执行。
  3. 访问控制的基本思路是赋予每个通信实体唯一的标识及相应的访问权限,实施通信时,首先确认实体的身份,之后执行相应的访问控制策略。
  4. 如ARP欺骗、IP欺骗和DNS欺骗破坏了可控性。
  5. 防火墙、密码学提供可控性保护。

不可否认性

  1. 通信实体需对自己的行为负责,做过的事情不能抵赖。即两方面:一是发送者不能否认自己发送数据的行为,二是接收者不能否认自己接收过数据的行为。
  2. 如IP欺骗破坏了不可否认性。
  3. 密码学可提供不可否认性保护。

可用性

  1. 即合法用户在需要使用网络资源时,能够获取正常的服务。
  2. 如DoS攻击即为破坏可用性的例子。
  3. 密码学可提供可用性保护。

加密与解密

概述

  1. 加密是保障数据机密性的基本手段,解密是其逆过程。
  2. 加密算法将数据在密钥的作用下转换为密文,该过程可看作增加数据不规则性的过程。在已知密钥的情况下,将密文解密还原为明文。

密码算法

对称密码算法

概述

  1. 通信双方共享同一密钥。
  2. 加密解密都依赖该密钥。

算法

高级加密标准(Advanced Encryption Standard,AES)、三重数据加密标准(Triple DES,3DES)、RC2、RC4、国际数据加密算法(International Data Encrytion Algorithm, IDEA等)

非对称密码算法

概述

  1. 双方各自拥有一对密钥,即公钥和私钥。
  2. 公钥了可以公开,私钥需要保密。
  3. 通信双方将各自的公钥告知双方,在给对方发送数据时,就可用对方的公钥加密以保障数据机密性。对方收到数据后,可用私钥解密。

算法

RSA、数字签名算法(Digital Signature Algorithm, DSA)、ElGamal、椭圆曲线密码(Elliptic Curves Cryptography,ECC)

消息摘要

概述

  1. 一段数据的摘要digest是表征该数据特征的字符串,获取数据摘要的功能通常由散列hash函数完成。散列函数可以接收任意长度的数据,并产生定长的散列值。
  2. 散列函数公式:h=H(M),其中M是任意长度的明文,H是散列函数,h是M在H的作用下得到的散列值。
  3. 散列函数是一种压缩映射过程,散列值的空间远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一确定输入值。
  4. TCP/IP中IP、ICMP、TCP、UDP等协议的报文包含了“校验和”字段,定长2B,即为一种摘要信息。

消息验证码

概述

  1. 消息验证码是基于密钥和消息摘要所获得的一个值,可用于数据源发认证和完整性校验。

流程

  1. 在发送数据前,发送方首先使用通信双方协商好的散列函数计算其摘要值。在双方共享的会话密钥作用下,由摘要只获得消息验证码。
  2. 将消息验证码和数据一起发送。
  3. 接收方收到报文后,首先利用会话密钥还原摘要值,同时利用散列幻术在本地计算所收到数据的摘要只,并将这两个值比对。若两者相等,则报文通过认证。

数字签名

概述

  1. 数字签名通常用于保证不可否认性,具备认证功能。
  2. 数字签名也需要基于消息摘要,但不同于消息验证码的地方是消息验证码使用通信双方共享的会话密钥处理摘要,数字签名使用发送方的私钥加密摘要。接收方在验证数字签名时,须利用发送方的公钥进行解密。

算法

DSA和RSA

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

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

相关文章

程序员大专毕业,月薪2w是什么体验?

在这个数据驱动的时代,大数据行业的发展前景也非常广阔,我相信我的未来会越来越光明 01 开始学习 是迈向前方的第一步 我是三月,一个来自小城市的大专毕业生。现在在杭州一家公司做大数据开发工程师,目前薪资是20k*13。 我本身…

运维小白必学篇之基础篇第十三集:网络概述中继实验

网络概述中继实验 实验作业(主机名为自己的名字): 1、搭建中继环境,要求如下: 网络要求: 内网:192.168.50.50 网关:192.168.50.254 192.168.60.254 外网:192.168.60.60 主…

【论文阅读】An Object SLAM Framework for Association, Mapping, and High-Level Tasks

一、系统概述 这篇文章是一个十分完整的物体级SLAM框架,偏重于建图及高层应用,在前端的部分使用了ORBSLAM作为基础框架,用于提供点云以及相机的位姿,需要注意的是,这篇文章使用的是相机,虽然用的是点云这个…

DevOps该怎么做?

年初在家待了一段时间看了两本书收获还是挺多的. 这些年一直忙于项目, 经历了软件项目的每个阶段, 多多少少知道每个阶段是个什么, 会做哪些事情浮于表面, 没有深入去思考每个阶段背后的理论基础, 最佳实践和落地工具. 某天leader说你书看完了, 只有笔记没有总结, 你就写个总结…

小白必看!轻松理解和解决MySQL幻读问题!

大家好,我是小米!今天我来给大家分享一下关于MySQL数据库中常见的一个问题——幻读,以及如何解决它。相信对于数据库开发和管理的小伙伴们来说,幻读是一个相对棘手的问题,但只要我们掌握了正确的解决方法,它…

网络故障管理

网络故障管理是以最快的方式查找、隔离和排除网络故障的过程。故障管理是网络管理的重要组成部分,它通过快速解决故障来最大限度地减少停机时间并防止设备故障,从而确保最佳的网络可用性并防止业务损失。 网络故障监控是故障管理的第一步,因…

Linux Shell脚本攻略

一、echo命令 1、在echo中转义换行符 默认情况下,echo会在输出文本的尾部追加一个换行符。可以使用选项-n来禁止这种行为。 echo同样接受双包含转义序列的双引号字符串作为参数。在使用转义序列时,需要使用echo -e "包含转义序列的字符串"这…

有哪些测试框架和工具推荐? - 易智编译EaseEditing

在软件测试领域,有许多测试框架和工具可供选择。以下是一些常见的测试框架和工具的推荐: Selenium: 一个用于自动化Web应用程序测试的流行框架。它支持多种编程语言,并提供丰富的功能和灵活性。 JUnit: 一个用于Java应用程序的单元测试框架…

MongoDB(学习笔记1.0)

最近在学非关系型数据库MongoDB,猛地用起来的真的没关系型数据库方便啊。 首先还是数据库的安装: 安装直接去官网安装即可,官网地址:MongoDB: The Developer Data Platform | MongoDB 当前也有免安装版的,这里就不再…

毕业三年,自学软件测试到就业,我用了4个月

我转行的经历 17年毕业,普通专科,通信专业。 当初选择这个专业是因为有一个校企合作,承诺学生毕业之后给学生安排就业,在学校里面混了三年之后,学校也是履行了当初安排就业的承诺,给我“发配”到了上海&a…

chatgpt赋能python:Python同一行输入

Python同一行输入 在Python编程中,你可能需要在同一行中输入多个命令或语句。这可以通过使用分号来实现。 在本文中,我们将介绍如何在Python中使用同一行输入,并探讨其优缺点。 使用分号实现同一行输入 在Python中,分号&#x…

地震勘探基础(九)之地震速度分析

速度分析 在地震资料数字处理中,速度分析是动校正和水平叠加和地震偏移的基础。 在水平界面情况下,共中心点时距曲线方程是一条双曲线。在共中心点时距曲线中,炮检距 x x x 和时间 t 0 t_0 t0​ 都是已知的,只有速度 v v v 是…

30天从入门到精通TensorFlow1.x 第五天,跨计算设备执行计算图-cpu

一、接前一天 前天学习了,数据流图,今天尝试在不同设备上(cpu或者gpu)来执行计算图。 本次使用cpu来执行,但是不涉及gpu。gpu放在后面学习,这里比较重要。 二、示例 1. 先看看自己的设备 from tensorfl…

My Note of Diffusion Models

Diffusion Models Links: https://theaisummer.com/diffusion-models/ Markovian Hierachical VAE rvs: data: x 0 x_{0} x0​,representation: x T x_{T} xT​ ( p ( x 0 , x 1 , ⋯ , x T ) , q ( x 1 , ⋯ , x T ∣ x 0 ) ) (p(x_0,x_1,\cdots,x_T),q(x_1,\cdots,x_{T…

AcWing 回转游戏 dfs IDA* 剪枝 统一操作 java

🍑 算法题解专栏 🍑 回转游戏 如下图所示,有一个 # 形的棋盘,上面有 1 , 2 , 3 1,2,3 1,2,3 三种数字各 8 8 8 个。 给定 8 8 8 种操作,分别为图中的 A s i m H A \\sim H AsimH。 这些操作会按照图中字母和箭头…

ChatGPT会取代低代码开发平台吗?

编程作为一种高端技能,向来是高收入高科技的代名词。近期,伴随着ChatGPT在全球的爆火,过去通过窗口“拖拉拽”的所见即所得方式的低代码开发模式,在更加智能和更低成本的AI搅局之下,又面临了更深层次的影响。 低代码平…

MySQL redo log、undo log、binlog

MySQL是一个广泛使用的关系型数据库管理系统,它通过一系列的日志来保证数据的一致性和持久性。在MySQL中,有三个重要的日志组件,它们分别是redo log(重做日志)、undo log(回滚日志)和binlog&…

MyBatis深入学习总结

MyBatis总结 MyBatis入门操作 简介 原始jdbc操作(查询数据) 原始jdbc操作(插入数据) 原始jdbc操作的分析 原始jdbbc开发存在的问题如下: 数据库连接创建、释放频繁造成系统资源的浪费从而影响系统性能sql语句在代…

深度学习基础知识-tf.keras实例:衣物图像多分类分类器

参考书籍:《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition (Aurelien Geron [Gron, Aurlien])》 本次使用的数据集是tf.keras.datasets.fashion_mnist,里面包含6w张图,涵盖10个分类。 import tensorflo…

Linux中的ACL以及加固

ACL访问控制 // ACL:Access Control List 访问控制列表 // -p :以原始格式显示 ACL [rootzbx ~]# getfacl -p /root/ // 查看ACL策略 # file: /root/ # owner: root # group: root user::r-x group::r-x other::--- 设置ACL策略 // -m : 修改文件的ACL // -b : 表示删除所有的…