导图社区 计算机网络第七章网络安全
计算机网络第七章网络安全:计算机网络面临的安全性威胁:指攻击者从网络上窃听他人的通信内容,常称为截获、攻击者一般不能理解数据部分,但可以通过观察PDU的控制部分了解通信实体的地址和身份。
编辑于2022-01-23 13:58:03计算机网络第七章 网络安全
网络安全问题概述
计算机网络面临的安全性威胁
被动攻击
指攻击者从网络上窃听他人的通信内容,常称为截获
攻击者只是观察和分析一个协议数据单元PDU而不干扰其信息流
攻击者一般不能理解数据部分,但可以通过观察PDU的控制部分了解通信实体的地址和身份
这种被动攻击又称流量分析,一般在战争中定位敌方指挥所
主动攻击
篡改
攻击者故意篡改网络上传送的报文,包括彻底中断传送的报文,甚至把伪造的报文传送给接收方
也称更改报文流
恶意程序
恶意程序种类繁多
危害较大的种类
计算机病毒
计算机蠕虫
特洛伊木马
逻辑炸弹
后门入侵
流氓软件
拒绝服务DoS
指攻击者向互联网上的某个服务器不停发送大量分组,使得该服务器无法提供正常服务,甚至完全瘫痪
若从数千个网站集中攻击一个网站,则称为分布式拒绝服务DDoS
其他网络安全
交换机中毒
将大量假的MAC帧写入交换表,将交换表填满后导致以太网无法正常工作
安全的计算机网络
应达到的目标
机密性
只有信息的发送方和接受方才懂所发信息的内容
端点鉴别
安全的计算机网络必须能够鉴别信息的发送方和接收方的真实身份
信息的完整性
确认发送的信息是完整、没有被人篡改过的
运行的安全性
访问控制
多级安全
规定每个用户的访问权限,对计算机系统安全非常重要
能够确保计算机网络的安全性
数据加密模型
一般数据加密模型
在通信双方通过加密和解密算法在网络上传递信息
加密算法和解密算法要经过密匙K(一串字符串)
Y=Ek(X)
X为明文,Y为密文,加密过程
X=Dk(Ek(X))
解密过程
密码学
密码编码学
密码体制的设计学
密码分析学
在未知密匙的情况下从密文中推演出明文或密匙的技术
无条件安全/理论不可破密码体制
不管截取者获得多少密文,都不能有足够信息来唯一确定对应明文
目前实用的密码体制均是可破的,人们现在转向研究在计算上不可破的密码体制,若在一定时间内不能破解的密码则在计算上是安全的
美国的 数据加密标准DES,公匙密码体制
两类密码体制
对称密钥密码体制
加密密钥与解密密钥都使用相同密钥的密码体制
数据加密标准DES属于对称密钥密码体制
实现
将整个明文分组,64位一组,然后对每组数据进行加密,产生密文数据后串起来得到整个密文
使用的密钥有64位(实际长度56位,奇偶校验位8位)
改进
三重DES
把一个64位明文用一个密钥加密,然后用另一个密钥解密,然后再使用第一个密钥加密
广泛应用于网络金融信用卡系统
高级加密标准AES
Rijndael算法
分为128,196,256位,加密步骤复杂,运算速度比3DES快很多,安全性大大加强
公钥密码体制
公钥密码体制使用不同的加密密钥与解密密钥
产生原因
对称密钥密码体制的密钥分配问题
事先约定
更改不便
用信使传送
不安全
网络成本增加
对数字签名的需求
表明该信息确实是由某个特定的人产生的
RSA体制
加密密钥公开,解密密钥保密,加密解密算法公开
特点
密钥对产生器产生接收者的一对密钥,接收者将加密密钥发给发送者
发送者用加密密钥对明文进行加密,注意:从加密密钥不能将密文解密为明文
接收者用解密密钥进行解密
先解密后加密和先加密后解密都是得到明文X
适合一对一双向保密通信,也适合多对一单向保密通信
任何加密方法的安全性取决于密钥的长度以及攻破密文所需的计算量
公钥加密算法开销较大,传统加密方法还不一定放弃
鉴别
报文鉴别
概念
鉴别发信者
实体鉴别/端点鉴别
鉴别报文完整性
检查报文是否被他人篡改
区别
授权是所进行的过程是否被允许
有时报文鉴别包括鉴别和授权
用数字签名进行鉴别(原理)
A用私钥对明文进行D运算得到密文,将其转换成为某种不可读密文
A将密文传送给B
B通过用A的公钥进行E运算核实签名,还原出明文X
数字签名另一种功能
不可否认
解释:不可抵赖对报文的签名
一般鉴别和加密同时存在
A和B分别产生一对密钥,将公钥发给对方,发送时自己的密钥充当签名,使用对方的公钥进行加密,对方只要相反操作即可
但是运算量太大,会耗费CPU时间,很难用于现实生活
密码散列函数
又称杂凑函数/哈希函数,在计算机领域应用广泛
符合密码学要求的散列函数又常称为密码散列函数
特点
输入报文X的长度不受限制,但是计算出的结果H(X)的长度应该是较短和固定的。输出H(X)又称散列值或散列
散列函数的输入和输出的关系是多对一的
给出散列值H(X),则无人能找出输入报文,散列函数是一种单向函数,逆向变换是不可能的
散列函数输出的每一个比特都与输入的每一个比特有关
MD5公布于1991年,但由于可以产生相同的摘要代码,被安全散列算法SHA代替
MD5算法流程
把任意长报文按模2的64次方计算余数追加在报文后面
在报文和余数之间填充1~512位,使得填充后的总长度是512的整数倍,填充首位是1,其余都是0
把追加和填充后的报文分割成许多512位数据块,再将512位的报文数据分成4个128位数据块依次送到不同散列函数进行4轮计算,每轮又都按32位的小数据块进行复杂的运算,一直到最后计算出MD5报文摘要代码
SHA比MD5更加安全,但计算比MD5慢一些,其散列值长度为160位
用报文鉴别码实现报文鉴别
步骤(有漏洞)
用户A根据明文X计算出散列H(X),记为H
用户A把散列H拼接在明文X后面,生成了扩展的报文(X,H),发送给B
用户B收到这个扩展的报文(X,H),因为H长度已知,很容易把X和H分开
B再通过散列函数的计算X的H(X),若H(X)=H,则证明收到的明文是A发送过来的
H(X+K)称为报文鉴别码MAC
要消除漏洞,则必须将共享的密钥K拼接到报文X中,进行散列运算,得到MAC,将明文X和MAC拼接后传送给B,在B上通过反运算看MAC与新得到的H(X+K)是否相同。注意,K并没有在传送报文内
A的报文鉴别码称为数字签名/数字指纹
消耗计算资源少,有效保护资源完整性
改进:A用私钥进行签名,B用A的公钥进行鉴别
实体鉴别
问题
黑客C可以假装是用户A,将A的信息截取后发给服务器B,让B直接与C建立连接,称为重放攻击,或者将A的IP地址截获后冒充为自己的IP地址
解决思路
使用不重数:不重复使用的大随机数,即一次一数
在鉴别过程中不重数可以使B把重复的鉴别请求和新的鉴别请求区分开
密钥分配
密钥管理
密钥的产生、分配、注入、验证和使用
密钥分配是最重要的问题
网外分配模式
网内分配模式
对称密钥分配
设立密钥分配中心KDC,用户登记完主密匙后即可
产生一次一密的会话密钥供需要会话的用户使用
定期更换
Kerberos V5
对称密钥分配协议
鉴别服务器AS(KDC),票据授予服务器TGS
流程
用户A用明文向鉴别服务器AS表明身份,AS对A的身份进行验证,才会让A和TGS联系
AS向A发送用A的对称密钥Ka加密的报文,这个报文包含A和TGS通信的会话密钥Ks以及AS要发送给TGS的票据(票据是用TGS的对称密钥Ktg加密)
A向TGS发送
转发鉴别服务器AS发来的票据
服务器B的名字,表明请求A和B的服务
用Ks加密的时间戳T,防止重放攻击
TGS发送两个票据,每一个都包含A和B通信的会话密钥Kab,给A的票据用Ks加密,给B的票据用Kb加密
A向B转发TGS发来的票据,同时发送用Kab加密的时间戳T
B把时间戳T加1后来证实收到了票据,B向A发送的报文用密钥Kab加密
公钥的分配
找可信任的第三者——认证中心CA给拥有公钥的实体签发数字证书
数字证书就是对公钥与其对应的实体进行绑定一个证明
证书中有CA使用自己的私钥的数字签名
将未签名的B的数字证书进行散列运算得到H(X)
CA使用自己的私钥对H(X)进行D运算
将未签名的B的证书和CA的数字签名放在一起最后构成了已签名的B的数字证书
X.509
称为互联网公钥基础结构PKI
重要字段
X.509的版本
数字证书名称及序列号
本数字证书所使用的签名算法
数字证书签发者的唯一标识符
数字证书的有效期
主体名/公钥和数字证书拥有者的唯一标识符
公钥
提出把多级认证中心链接起来,构成一个树状的认证系统,在认证系统末端就是用户,形成一个“证书链”,最顶层的根证书数字签名是自签名,信任链的起点
互联网使用的安全协议
网络层安全协议
IPsec协议族概述
VPN加密技术的应用
IPsec包含一个通用框架和若干加密算法,具有相当的灵活性和可扩展性
划分
IP安全数据包格式
鉴别首部AH协议
封装安全有效载荷ESP协议
有关加密算法的三个协议
互联网密钥交换IKE协议
ESP
使用ESP或AH的IP数据包都称为IP安全数据包
不同工作方式
运输方式
在整个运输层报文段的前后分别添加若干控制信息,再加上IP首部构成IP安全数据包
隧道方式
在原始IP数据包前后分别添加若干控制信息,再加上新的IP首部,构成一个IP安全数据包
IP首部不能加密,否则各个部分识别不出来。
安全数据包指的是数据包的数据部分是经过加密的,并且能够被鉴别
安全关联
安全关联SA
在发送IP安全数据包之前,在源实体和目的实体之间必须创建一条网络层的逻辑链接
这样传统互联网中无连接的网络层变成为具有逻辑连接的一个层
安全关联是从源点到终点的单向连接,能提供安全服务,若要双向连接则两个方向都要建立安全关联
总公司的安全通信
到子公司的安全通信是通过SA到装有IPsec的路由器解码后将IP数据包给用户
到出差的个体是直接将IP安全数据包通过SA传递给装有IPsec的主机用户进行解码
SA状态信息包括项目
32位的连接标识符,称为安全参数索引
安全关联SA的源点和终点的IP地址
所使用的加密类型
加密的密钥
完整性检查的类型
鉴别使用的密钥
IP安全数据包的格式
首先在原始IP数据包后面添加ESP尾部
填充字段
全0填充
填充长度
占8位,指明填充字段的字节数
下一个首部
指明在接受端ESP的有效载荷应交给哪个协议处理
按照安全关联SA指明的加密算法和密钥,对ESP有效载荷+ESP尾部进行加密
对加密部分完成加密后,就添加ESP首部
安全参数索引SPI
通过同一个SA的所有IP安全数据包都使用相同的SPI值
序号
鉴别要用到这个序号,防止重放攻击
按照SA指明的算法和密钥,对“ESP首部+加密部分”生成报文鉴别码MAC
把所生成的报文鉴别码MAC添加在ESP尾部,和ESP首部,ESP有效载荷、ESP尾部一起,构成IP安全数据包的有效载荷
生成新的IP首部,通常字节为20字节,和普通数据包首部格式一样,但协议字段值为50,表明要交给ESP处理
IPsec的其他构件
安全关联数据库SAD
SA的存放点
指出应该使用哪个SA
安全策略数据库SPD
SPD指出应不应该使用IP安全数据包
互联网密钥交换IKE
为IP安全数据包创建SA
IKEv2基础
Oakley
密钥生成协议
安全密钥交换机制SKEME
用于密钥交换协议
互联网安全关联和密钥管理协议ISAKMP
用于实现IKE中定义密钥交换,使IKE交换标准化、格式化报文创建SA
运输层安全协议
协议TLS要点
安全套接字层SSL
在TCP之上建立安全通道,为通过TCP传输的应用层数据提供安全保障
TLS1.3
TLS1.0类似SSL3.0,但均发现有安全漏洞,现在TLS1.3不向后兼容
TLS是对TCP加密,在任何TCP上运行的应用均可使用TLS
TCP的HTTPS端口号是443,不是HTTP的80
TLS流程
TLS握手阶段
协商加密算法
用户选定加密算法,服务器确认
服务器鉴别
客户A用数字证书中CA的公钥对数字证书进行验证鉴别
生成主密钥
客户A按照双方确定的密钥交换算法生成主密钥MS
客户A用B的公钥PKb对主密钥MS加密,得出加密的主密钥PKb(MS),发送给服务器B
服务器B用自己的私钥把主密钥解密出来,这样客户A和服务器B都拥有了共同的主密钥MS
为使双方通信安全,A和B使用不同的密钥
TLS会话阶段
将长数据划分为较小的数据块,也叫“记录”,然后对每个记录进行鉴别运算和加密运算
TLS的记录协议对每个记录按发送顺序赋予序号,最大值不超过2的64次方-1,不允许序号绕回。此序号是在计算MAC时把其包含进去,发送时不携带序号
接收方用同样的会话密钥进行解密,分离明文和MAC,将同样的MAC密钥和该记录该有的序号拼接在此明文记录后进行散列运算,进行比较
对记录加密的方法称为AEAD,即带关联数据的鉴别加密
协议TLS必须包含的措施
尽量理解,,,,
应用层安全协议
有关电子邮件的安全协议
单向报文安全问题
PGP
一个完整的电子邮件安全软件包
加密流程
用A的私钥对明文邮件X进行签名
利用随机数A生成一次性密钥
用A生成的一次性密钥K对已签名邮件加密
用B的公钥对A生成的一次性密钥K进行加密
把已加密的一次性密钥和已加密的签名邮件拼接在一起发送给B
解密:与加密相反,使用附带的密钥解开签名邮件即可
系统安全:防火墙与入侵检测
防火墙
访问控制技术
通过严格控制进出网络边界的分组,禁止不必要的通信,减少潜在入侵的发生
入侵检测技术IDS
通过对进入网络的分组进行深度分析和检测发现疑似入侵行为的网络活动,并采取进一步措施
防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,实施访问控制策略
防火墙内的网络称为可信的网络
防火墙外的网络称为不可信的网络
防火墙技术
分组过滤路由
具有分组过滤功能的路由器,通过过滤规则对进出内部网络的分组执行转发或者丢弃
过滤规则是基于分组的网络层或者运输层首部的信息
应用网关/代理服务器
在应用层通信扮演报文中继角色
入侵检测系统
在入侵开始后,还没造成更大危害前,及时检测出威胁,以阻止入侵
分类
基于特征的入侵检测
只能检测已知攻击
基于异常的入侵检测
通过观察正常运行的网络流量,学习正常流量的统计特性和规律,当检测到网络中流量的某种统计规律不符合正常情况是,则认为可能发生了入侵行为