计算机网络-网络安全
计算机网络-网络安全
概念
网络安全的一个通用定义指网络信息系统的硬件、软件及其系统
中的数据受到保护,不因偶然的或者恶意的破坏、更改、泄露,
系统能连续、可靠、正常地运行,服务不中断。
网络安全简单的说是在网络环境下能够识别和消除不安全因素的
能力 。
要素
机密性
- 保护数据避免非授权泄露,保障数据来源的可靠性
完整性
- 阻止对数据进行非授权篡改
可用性
- 数据可访问,无延迟
可控性
- 控制数据传播范围和方式
可审查性
- 对出现的网络安全问题提供调查的依据和手段
安全机制位于协议栈的哪一层
没有单独的位置,安全性与每一层都有关
- 物理层:传输线封装在包含高压氩气的密封管,漏气报警
- 数据链路层:点到点线路加解密,不能经过中间路由器
- 网络层:防火墙、IP报文头的安全域
- 传输层:端到端连接的加解密
- 应用层:大多数安全机制都集中在此层
加密技术
加密技术定义
利用技术手段把数据变为乱码(加密)传送,到达目的地后再用
相同或不同的手段还原(解密)
加密技术分类
- 哈希:无密钥,单向(只能x->y,反过来不行)
- 单密钥加密:加解密都用一个密钥。
- 公开密钥加密:用两个密钥(公钥和私钥)(公钥公开,私钥自己保存)。
对称加密(单密钥加密)
- 密文长度约等于明文长度
- 算法:DES,AES
- 优点:加解密速度快
- 缺点(问题):
- 密钥管理量大。
- 要求密钥传输的信道,安全性更高。
- 存在数字签名的问题。
DES算法
- DES即数据加密标准
- 参数:
- Key 密钥 56位
- Data 数据 64位
- Mode 模式(加密和解密)
- 破解方法:穷举搜索法
DES算法工作原理
- 第一步:明文按64位分组,每组明文经
初始排列 - 第二步:通过子密钥k1~k16进行16次乘
积变换(R0移位,L0乘积+异或) - 第三步:通过最终排列(第3步)得到64
位密文 - 注:k1~k16由初始密钥经过16次移位交换产生,用以对经过初始排列的64位明文做16次乘积变换。
- 注:解密运算与加密运算一样,只是所取子密钥的顺序相反,从k16到k1。
非对称加密(公开密钥加密)
- 两个密钥:私钥,公钥
- 加解密分别用不同的密钥
- 公钥加密私钥解密(公开密钥加密)
- 私钥加密公钥解密(数字签名认证)
- 公私钥成对出现
- 算法:RSA
- 缺点:加解密速度慢
- 优点:
- 密钥的分配(密钥管理量小)
- 解决了数字签名问题
- 私钥不能由公钥推导出来
- 无需事先分配密钥(对称加密算法需要事先分配密钥)
对称加密非对称加密结合
由于对称加密需要事先分配密钥,要求传输密钥的信道安全性高。因此,我们可以使用非对称加密传输对称加密的密钥。由于对称加密加解密速度快,因此当传输完密钥之后,我们就可以使用对称加密来加密数据了。
公开密钥加密
- 共享你的公钥
- 发信者对明文使用你的公钥加密
- 发信者将加密后的密文发给你
- 使用你的私钥解密,读取明文
数字签名认证(证明数据是我发的,不要求数据的保密性)
- 共享你的公钥
- 对你的数据进行哈希
- 把哈希值进行用私钥加密
- 发送数据和加密的哈希值
- 收信者对哈希值用公钥解密
- 把接收的数据进行哈希,与解密后的哈希值对比,判断数据是否被篡改
数字签名认证的好处
- 接收方可以验证发送方所宣称的身份
- 发送方以后不能否认报文是他发的(不可抵赖性)
- 接收方不能伪造对报文的签名
RSA算法工作原理
注:e需要满足:e x d % z == 1
注:如何判断两数是否互质?质因数分解:将两个数分别进行质因数分解,如果它们没有相同的质因数,则它们是互质数。(例如:12和35互质)
RSA算法基于还尚未解决的数学难题,因此破解很难
RSA算法的例题
单向校验和(CK)
- 不需要对整个报文加密(而是对哈希值加密)的身份验证模式(数字签名)
- 假定有一明文报文P,计算出CK(P)必须比较容易,但从CK(P)几乎不
可能找出P
单向校验和
注:B对签名部分(即DA(CK(m))应用EA(公钥解密)
争议解决
以下是大模型给出的结果:
数字签名是一种使用公钥加密技术来实现的方法,主要用于鉴别数字信息的真实性和不可抵赖性。它涉及到hash算法和公钥/私钥加密技术。以下是接收方不能伪造签名,且发送方不可抵赖的原因:
接收方不能伪造签名:
数字签名中的私钥具有唯一性,只有签名者才拥有。私钥用于生成签名,而公钥用于验证签名。由于接收方没有发送方的私钥,因此他们无法伪造发送方的签名。
如果接收方尝试更改报文内容,由于数字签名中包含hash算法,对签名文档的任何未经授权的修改都将导致哈希值的变化,从而使签名无效。因此,接收方无法伪造一个有效的签名来匹配他们修改后的报文。
发送方不可抵赖:
数字签名是与原有文件形成一个混合的整体数据的,这个数据是不能被篡改的,这就保证了数据的完整性。只要接收方保留好签名的报文,就等于保留了证据,发送者就无法抵赖。
在数字签名体制中,还可以引入第三方机制或要求接收者返回一个自己签名的表示收到的报文,从而预防接收者或发送者的抵赖。这样,双方均不可抵赖。
数字签名是使用发送方的私钥进行签名的,由于私钥的唯一性,其他人无法获取其私钥,因此无法伪造其签名。这意味着发送方不能抵赖,因为他们是唯一能够生成该签名的人。
综上所述,数字签名的过程确保了接收方不能伪造签名,且发送方不可抵赖,从而提供了数据完整性和身份验证的安全保障。
网络攻击
主动攻击
主动攻击会导致某些数据流的篡改和虚假数据流的产生。这类攻击可分为篡改、伪造消息数据和终端,拒绝服务。
被动攻击
被动攻击中攻击者不对数据信息做任何修改,截取/窃听是指在未经用户同意的情况下攻击者获得了信息。通常包括窃听、流量分析、破解弱加密的数据流等攻击方式。
致谢
[1] 上图的课件来自于孙毅老师的计算机网络课程。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构