网络安全与密码学

news2024/11/24 16:40:08

1、网络安全威胁

  破坏网络安全的一些理论方式:

    窃听:窃听信息,在网路通信双方直接进行窃听。

    插入:主动在网络连接中插入信息(可以在message中插入恶意信息)

    假冒:伪造(spoof)分组中的源地址,假冒客户端或服务器。

    劫持:通过移除/取代发送方发或接收方“接管”(take over)连接

    拒绝服务(dos):阻止服务器为其他用户提供服务。

  破坏网络安全的一些实践方式:

    映射(mapping):①探路。②ping命令获取主机地址。③端口扫描(nmap www.insecure.org/nmap/)

    嗅探(sniffing):在广播介质(共享的以太网或无线网络中),混杂(promiscuous)模式的网络接口卡,可以接受所有经过的分组。(wireshark就是一个分组嗅探软件)

    ip欺骗(spoofing)发送分组的源ip地址可以任意改写。网络攻击中大量使用ip欺骗。(应对策略,入口过滤:路由器不转发源ip地址不属于此网络的分组)

    DOS拒绝服务攻击:向接受方恶意泛洪(flood)分组,淹没(swamp)接受方(即耗尽接受方的资源)。

    DDOS分布式拒绝服务攻击:入侵网络中的主机,构建僵尸网络(肉鸡),发动僵尸网络同时攻击目标服务器。

    反射式DDOS攻击:控制僵尸网络,选择反射服务器,运用ip欺骗将请求发向反射服务器,反射服务器将服务响应发送给要攻击的服务器。

    

    DOS应对策略:过滤泛洪分组,追溯攻击源,SYN cookie(测试第三次握手的确认序列号)

    

2、密码学(cryptography)

  密码学基本概念:

    明文(plaintext)--->加密算法(已知) + 秘钥KA(未知)---->密文(ciphertext)---->解密算法 + 秘钥KB ---->明文。    m = KB(KA(m))

    对称秘钥加密:KA == KB。  明文m = KS(KS(m))

    非对称秘钥加密(公开秘钥加密):KA+,KA-;KB+,KB-;m = KB-(KB+(m))

    破解加密方法:暴力破解;统计分析(对传统加密方法很有效);

  传统加密方式:

    替代密码:利用一种东西替代另一种东西

      凯撒密码(Casesar cipher):利用字母表中后面的第k个字母替换当前字母;如果k=3,则a->d;b->e,c->f...........x->a;y->b;z->c。

      单字母替代:每一个字母都有一个固定的替代值。

      多字母替代:明文不同位置的字母使用不同的单码替代密码。

      

    换位密码:

      置换法:将明文划分为固定长度(d)的分组,每个分组内的字母按置换规则(f)变换位置,秘钥(d,f)

      

  现代加密技术:

    不在针对一个个字母处理,而是针对二进制位操作

    对称秘钥加密:(存在秘钥分发问题,如何让对方知道加密秘钥)

      流密码:秘钥流z = z0z1z2z3....;明文流(串)x = x0x1x2x3.....;加密y = y0y1y2...... = Ez0(x0)Ez1(x1)Ez2(x2).....。解密时,使用相同的秘钥流与密文做异或运算(XOR)

      

      分组密码:将明文划分长度为m的明文组(m = 64bit,128bit,256bit等);各明文组在长为i的秘钥组的控制下变成长为n的密文组。通常m == n。

        Feistel分组密码结构(思想):DES(Date Encryption Standard)加密算法(IBM公司研制,1998年12不在成为加密标准)。分组长度64bit(左32bit,右32bit),56bit初始秘钥,16次迭代加密。

    AES(Advanced Encryption Standard)加密算法(Rijndael加密算法):不属于Feistel结构,数据块长度(128/192/256bit),秘钥(128/192/256bit),10轮加密,安全性更高,如果1秒破解DES,则需要149万亿年破解AES。

    非对称秘钥加密(公开秘钥加密):

      RAS加密算法,前提条件:

      

      秘钥生成:

      

       确实有点难。。。先到这里

3、身份认证

  身份认证过程中存在:假冒身份,ip欺骗,回放攻击。

  提出一种机制:一次性随机数(nonce)

  

  存在问题:在传输过程开始时必须知道本次通信的秘钥KA-B(对称秘钥)。

  

  存在问题:中间人攻击

  

 4、消息完整性和数字签名

  message integrity:确定来自声称的发送发,传输过程中没有被篡改(内容,时间,顺序),持有期被修改,抵赖(发送方抵赖,接收方抵赖)。

  密码散列函数:H(m) ,m为message。

    特性:散列算法公开;H(m)足够快;对于任意长度message均生成定长的输出;不同message不能产生相同散列值,根据散列值不能倒推出message。

    

    MD5算法:通过4个步骤,对任意长度的message输出128bit的散列值。不是足够安全,1996曾被找到两个不同的512bit块在MD5算法下产生两个相同的散列值。

    SHA-1:消息长度不超过2的64次方bit,散列值固定160bit,速度慢于MD5,安全性高于MD5。

  message digests(消息摘要):H(m) 可以作为m的数字指纹。

  message认证:将message 和 message digests组成新的message发送。(m,H(m))。存在问题:伪造m

  message认证码(MAC):m + s认证秘钥 + H数列函数 ---->(m,H(m+s))。如果s为对称秘钥,存在接受方和发送方抵赖问题。

  数字签名(Digital signatures):

    要求:可验证性,不可伪造性,不可抵赖性。

    采用私钥加密技术,将私钥加密的密文和message一起发送给接收方。(m,KB-(m))。缺点:message过大,因此加密后的KB-(m)太大,导致速度慢

    采用签名消息摘要:(m,KB-(H(m)))。解决数字签名问题。

 5、秘钥分发:

  在身份认证中,对称秘钥如何分发?

  机制:秘钥分发中心(KDC):在网络上是一个服务器的存在,这是一个可信任机构。

    在KDC上注册自己的秘钥(对称秘钥,此秘钥只有用户和KDC知道)。

    

  机制:认证中心(CA):在网络上是一个服务器的存在,这是一个可信任机构。

    在CA上注册公钥 ---->生成公钥证书

    

     

6、总结:

  ①如何建立安全的传输:秘钥分发中心和认证中心,有了这两个可以说在用户之间建立连接时是安全的,意味着不会和第三方(恶意中间方)建立连接。在认证中心中用到了私钥和公钥技术,但这是为了解决身份问题(在建立连接时的身份问题)

  ②如何在传输中保持数据安全:对称加密中随机的R1(对称秘钥)加密数据。非对称加密中使用私钥加密和公钥解密。

  ③如何保证传输的数据不会让对方抵赖。对明文进行hasn算法得到固定的消息摘要H(m),再对消息摘要进行私钥加密KB-(H(m)),最后得到新消息(m,KB-(H(m)))。传输过程可以为:密文 = KA+((m,KB-(H(m)))),即可保证传输安全性,又可保证不可抵赖性。

  ④有一个很重要的概念:私钥加密的数据公钥解密,公钥加密的数据私钥解密。

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

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

相关文章

【从零开始学习CSS | 第一篇】选择器介绍

目录 前言: 选择器介绍: 各类选择器: 总结: 前言: 本文以及后续几篇文章我们将会集中介绍CSS中的常见选择器,选择器的出现可以让我们实现对具体的元素标签进行定制,因此我们要掌握好各类选择…

LiveGBS流媒体平台GB/T28181功能-如何将海康大华宇视华为摄像头视频流集中存储云端录像分布式录像存储

LiveGBS如何将海康大华宇视华为摄像头视频流集中存储云端录像分布式录像存储 1、云端录像存储2、手动配置录像2.1、按需录像2.2、一直录像 3、录像计划3.1、录像计划入口3.2、新增录像计划3.3、编辑录像计划3.4、关联通道 4、查看云端录像4.1、查看录像4.1.1、时间轴模式4.1.2、…

解决Ubuntu 虚拟机没有网络图标(无法联网问题)

问题: 我们打开Ubuntu虚拟机的时候,发现没有网络图标,这就使得联网无从下手,该怎么解决呢? 第一步:点击编辑虚拟机 第二步:点击虚拟网络编辑器 第三步,还原默认设置: 第四…

简单爬虫项目练习

爬虫项目练习 前言任务基本爬虫框架URL管理器Html 下载器HTML 解析器数据存储器爬虫调度器效果分析 前言 自学,参考书籍为 Python爬虫开发与项目实战 ,具体参考了该书的第六章。过程中出现两个问题: 在 Pycharm 上实现时发现有些库名更改及…

界面控件DevExpress WPF数据编辑器组件,让数据处理更灵活!(一)

界面控件DevExpress WPF编辑器库可以帮助用户提供直观的用户体验,具有无与伦比的运行时选项和灵活性。WPF数据编辑器提供了全面的掩码和数据验证支持,可以独立使用,也可以作为容器控件(如DevExpress WPF Grid和WPF TreeList)中的单元格编辑器…

2023/7/12总结

最近踩的坑(也不算坑,也算自己没学扎实): bug1 在css布局当中,flex布局display:flex 必须在父级身上,才能起作用。 bug2 引用bootstrap的时候,会需要样式覆盖的问题&#xff0c…

景联文科技助力医疗AI大模型:数据标注与专业医学资源的重要性

随着通用人工智能(AI)与生成式人工智能(AIGC)的兴起,人工智能对一些产业的颠覆性影响开始显著加速。我们正在进入一个全新的、属于人工智能的时代。 近日,谷歌对外发布谷歌医疗版ChatGPT已在多家诊所内测试…

数据结构---手撕图解单链表---phead的多种传参方式对比和辅助理解

文章目录 为什么要引入链表?单链表单链表的定义和原理单链表的头插 对于指针的深层次理解链表的尾插封装malloc函数 尾删头删查找链表中元素的插入在某节点前插入在某节点后插入 链表中元素的删除删除pos位置的值删除pos元素之后的值 链表的销毁关于链表传参问题如何…

用VScode运行vue框架时,报无法运行的错误

报错内容 问题出在了版本上面,从reason可以了解到是由于不支持的原因 然后上面报错的几乎都属于node_modules包内的,因此我们可以判断,是node.js版本的问题导致的(尤其是你从网上拷贝比较旧的项目的时候,可能需要对依赖…

Go参考TcMalloc内存分配

我发现搞懂 Go 语言内存对象分配,真的没有那么简单。为什么要搞懂 Go 语言的内存分配呢,吃饱了撑的呢!我计划涉猎多些博客,能弥补这块的知识缺失。但也可能中途就放弃了… 下图是截取自 《Go语言变编程入门和实战技巧》的这本书中…

企业选择中端CRM系统应看中哪四方面?

中端市场做得更好的CRM系统是哪家?有咨询公司针对企业用户进行了调研,评估得出——在中端市场,CRM操作简单、开箱即用、学习难度低,加快了实施进度,降低使用成本。 CRM系统适合中端市场的四方面: 1、性价比…

【Python+selenium】生成测试报告

批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的。 unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner 一、导入HTMLT…

探索TikTok本土MCN,怎么入驻呢?

探索TikTok本土MCN:崛起的新媒体力量 引言: 随着社交媒体的快速发展,TikTok作为一款全球热门的短视频应用,吸引了数以亿计的用户。在这个平台上,用户可以通过创作有趣、创新的短视频内容来吸引关注和粉丝。而在TikTo…

J. 二进制与、平方和

Problem - J - Codeforces 思路:因为与操作是按位进行的,我们可以考虑拆开每一位,并且我们发现了一个性质,如果x的某一位是1,那么x对这一位是无影响的,因为任何数与1都是它本身,所以对于x的二进…

【逻辑回归实例】

逻辑回归:从理论到实践 在本文中,我们将介绍一种被广泛用于二分类问题的机器学习模型——逻辑回归。我们将通过一个实例,深入解析如何在 Python 环境中实现逻辑回归。 源数据下载链接 1. 什么是逻辑回归? 逻辑回归是一种用于解…

一次零基础靶机渗透细节全程记录

一、打靶总流程 1.确定目标: 在本靶场中,确定目标就是使用nmap进行ip扫描,确定ip即为目标,只是针对此靶场而言。其他实战中确定目标的方式包括nmap进行扫描,但不局限于这个nmap。 2.信息收集: 比如平常挖…

园区预付费远程抄表方案

园区预付费远程抄表方案是一种能够实现园区内电表数据远程采集、实时监控和预付费管理的方案。该方案解决了传统手动抄表方式的不便和不准确问题,同时避免了上门收费的安全隐患和成本问题。下面将从方案组成、工作原理、优点等方面进行详细介绍。 一、方案组成 园区…

P1095 [NOIP2007 普及组] 守望者的逃离

总的来说就是能闪则闪&#xff0c;闪烁在能闪时一定比跑的快&#xff1b;分批进行&#xff0c;判断哪个更快&#xff1b; 直接上代码吧&#xff0c;里面有注释&#xff0c; #include <iostream>using namespace std;const int N 3e5 5; int M, S, T, blue[N], dp[N];…

selenium自动化测试的显示等待

目录 等待条件 条件类的实现原理 WebDriverWait是如何进行条件判断的 selenium里都有哪些条件 然后就是自定义了 总结&#xff1a; 在进行UI自动化测试的时候&#xff0c;我们为了保持用例的稳定性&#xff0c;往往要设置显示等待&#xff0c;显示等待就是说明确的要等到某…

Java中的IO流详解

目录 友情提醒第一章、File类和IO技术概述1.1&#xff09;File类和IO技术的作用1.2&#xff09;创建File类对象1.3&#xff09;File类中的方法1.4&#xff09;文件过滤器&#xff1a;FileFileter 第二章、IO流2.1&#xff09;IO流的分类2.2&#xff09;字节输入流&#xff1a;I…