文章图片
网络安全 本文主要描述计算机网络
的安全问题,不涉及主机安全
网络安全问题 计算机网络通信面临的两大类威胁,即被动攻击
和主动攻击
。
被动攻击
指攻击者从网络上窃听他人的通信内容,也被称为截获
。包含:
流量分析
。攻击者只是观察
、分析
协议数据单元而不干扰
信息流,从而了解所交换数据的某种特征。
主动攻击
的常见方式:篡改
。攻击者故意篡改网络上传送的报文。恶意程序
,主要种类:计算机病毒(computer virus)
。一种会“传染”其它程序的程序,传染是通过修改其它程序
来把自身或自己的变种
复制进去而完成的。计算机蠕虫(computer worm)
。通过网络通信
功能,将自身从一个节点发送到另一个节点并自动启动运行
的程序。特洛伊木马(Trojan horse)
。一种程序,它执行的功能并非它所声称
的功能,而是某种恶意功能
。逻辑炸弹(logic bomb)
。一种当运行环境满足某种特定条件时,执行其他特殊功能
的程序。后门入侵(backdoor knocking)
。利用系统
实现过程中的漏洞
通过网络
入侵系统。流氓软件
。一种未经客户允许
就在用户计算机上安装运行
并损害用户利益
的软件。
拒绝服务Dos (Denial of Service)
。指攻击者向互联网上的某台服务器不停的发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪。分布式拒绝服务 DDoS(Distributed Denial of Service)
。从互联网上N 个网站
集中攻击一个网站
。交换机中毒
。在使用以太网交换机的网络中,攻击者向某个交换机发送大量伪造的源 MAC 地址的帧,交换机的交换表因写入大量源 MAC 而存储不够用,导致交换机无法正常工作。
- 防止析出报文内容和流量分析
- 防止恶意程序
- 检测更改报文流和拒绝服务
保密性
。信息的内容,仅有信息的发送方和接收方懂。端点识别
。能够鉴别发送方、接收方的真实身份。信息的完整性
。信息的内容未被人篡改过。运行的安全性
。计算机网络能够正常、安全的运行。
对称密钥密码体制
和公钥密码体制
对称密钥密码体系
即加密密钥、解密密钥是使用相同的密码体制。
常用算法:
数据加密标准 DES(Data Encryption Standard)
- 保密性仅取决于对密钥的保密,算法公开。
三重 DES
,算法流程- 先用 KEY1 使用 DES 算法加密
- 再用 KEY2 进行 DES 解密
- 最后用 KEY1 进行 DES 加密,得到最终的秘文
高级加密标准 AES(Advanced Encryption Standard)
使用
一对
密钥,加密密钥
向公众公开,解密密钥
则是需要保密的。加密算法、解密算法也都是公开滴。引入公钥密码体制的原因:
对称密码体制
的密钥分配
问题,分配的方式有:事先约定
。这种方式,造成密钥的管理、更换极大的不便。信使传达
。在高度自动化的计算机网络中,使用信息传达密钥明显不合适。使用高度安全的密钥分配中心 KDC(Key Distributed Center)
。会使网络成本增加。
- 数字签名的需求
算法实现:
- RSA 算法
公钥密码体制的特点:
- 密钥成对存在
- 公钥加密,私钥解密
- 私钥加密,公钥验签
报文鉴别
。即接收者能够确信该报文的确是发送者发送的。报文的完整性
。接收者接收到的数据,与发送者发送的报文保持一致。不可否认
。发送着事后不能抵赖对报文的签名。
文章图片
数字签名的流程
D 运算:解密算法;备注:RSA 的 E 运算、D 运算需要占用非常多的计算机的 CPU 时间。
E 运算:加密算法
鉴别
- 报文鉴别,对每一个收到的报文都要鉴别报文的发送者。包含:
- 端点鉴别。
- 文件完整性鉴别。
- 实体鉴别,在系统接入的全部时间内,对和自己通信的对方实体只需验证一次。
- 实体可以是人、进程(客户或服务器),即端点鉴别
密码散列函数
散列函数的特点:
- 输入可以很长,输出长度固定,并且较短。
- 不同的输入可以对应同一个输出。
密码学
中使用的密码散列函数
,最重要的一个特点:要找到不同的报文,具有同样的密码散列函数输出,在计算上是不可行的
。实用的密码散列函数 MD5 和 SHA-1
- 报文摘要 MD5(Message Digest)
- 安全散列算法 SHA(Secure Hash Algorithm)
文章图片
用报文鉴别码 MAC鉴别报文
由于入侵者不掌握密钥 K,所以入侵者无法伪造 A 的报文鉴别码 MAC,因为无法伪造 A 发送的报文。这样就完成了对报文的鉴别。
注意:这里的密钥 K,可以是对称密钥体系,也可以公钥体系。所以在正式通信前,会有一次密钥交换过程。实体鉴别 实体鉴别所面临的问题:
1. 重放攻击
- 原理:
- C 拦截到 A 向 B 发送报文
- C 不破译秘文,直接将秘文发送给 B,
- 使 B 误认为 C 就是 A,然后,B 将报文发回给伪装 A 的 B
- 解决方案:
- 使用不重数解决
- 重要的理论依据是:A 和 B 对不同的会话使用不同的不重数集。
文章图片
即便使用
公钥体系 + 不重数字
,中间人攻击
依然可以使互相通信的 A 和 B 毫无察觉。这里需要确认你所收到的公钥真的是对方的公钥吗?所以,公钥的分配、以及认证公钥的真实性是一个非常重要的事情。密钥分配 密钥分配的两种方式:
- 网外分配。即派遣最可靠的信使携带密钥分配给互相通信的各用户。
- 网内分配。即密钥自动分配。
常用的方式是设立
密钥分配中心 KDC(Key Distribution Center)
,它的特点是:大家
都信任
的机构- 任务是,给需要进行
秘密通信
的用户临时分配一个会话密钥(仅在一次会话期间使用)
- 客户 A、B,在 KDC 登记时,就在 KDC 服务器上,记录了
与 KDC 通信的主密钥
图:KDC对会话密钥的分配
分配结束后,A 与 B 获得一个临时会话密钥 Kab,使用 Kab 进行加密通信。
公钥额分配
认证中心 CA(Certification Authority),特点:
- 一般由
政府
出资建立 - 能够将公钥与其对应的实体(人或机器)
绑定
- 每个实体都有
CA 发来的证书
,证书里面有公钥及其拥有者的标识信息(人名或 IP 地址)
- 此证书被 CA 进行了数字签名
- 任何用户都可以从可信的地方(如代表政府的报纸)获得认证中心 CA 的公钥,此公钥用来验证某个公钥是否某个实体所拥有(通过向 CA 查询)
网络层使用 IPsec(IP security) 协议族,它不是一个单一协议,是一个框架,允许通信双方选择合适的算法和参数(例如,密钥长度)
运输层的安全协议
广泛使用的两种协议:
- 安全套接字层 SSL(Secure Socket Layer)
- 运输安全 TLS(Transport layer Security)
SSL
作用在端系统的应用层 HTTP 和运输层
之间,在 TCP
之上建立一个安全通道,为通过 TCP 传输的应用层数据
提供安全保障。未使用 SSL 时,应用层的应用程序通过 TCP 套接字与运输层进行交互的。应用层使用 SSL 最多的是 HTTP,但 SSL 并非仅用于 HTTP,而是可用于任何应用层的协议。比如:邮件 IMAP
【网络|计算机网络-网络安全】SSL 提供的安全服务可归纳为三种:
- SSL 服务器鉴别,允许用户证实服务器的身份。支持 SSL 的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份、并获得服务器的公钥。
- SSL 客户鉴别,SSL 的可选安全服务,允许服务器证实客户的身份。即双向认证。
- 加密的 SSL 会话,对客户和服务器间发送的所有报文进行加密,并检测报文是否被篡改。
文章图片
SSL建立安全会话的简单过程
应用层的安全协议
- 电子邮件的安全协议:PGP(Pretty Good Privacy) 协议
- 用户入侵行为:
- 利用系统漏洞进行未授权登录
- 已授权的用户非法获取更高级别的权限
- 软件入侵行为:
- 通过网络传播病毒、蠕虫、特洛伊木马
- 拒绝服务攻击:阻止合法用户正常使用服务
事前
可以采用防火墙技术
防范,事中
采用入侵检测系统
防范。防火墙(firewall)
防火墙作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止不必要的通信,从而减少潜在入侵的发生。
防火墙是一种可特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。
防火墙技术一般分为两类:
分组过滤路由器
- 特点:
- 具备分组过滤功能的路由器
- 过滤规则基于分组的网络层、运输层的首部信息,如源/目的 IP 地址、源/目的端口、协议类型(TCP、UDP)等
- 优缺点:
- 简单高效,且对用户是透明的
- 不能对高层数据进行过滤。比如:
- 不能禁止某个用户对某个特定应用进行某个特定的操作
- 不能支持应用层用户鉴别
- 特点:
应用网关,也称为代理服务器
- 特点:
- 它在应用层通信中扮演报文中继的角色
- 一种网络应用需要一个应用网关
- 基于应用层的数据过滤和高层用户鉴别
- 所有进出网络的应用程序报文都必须通过应用网关
- 网关对报文进行合法性检查,合法的报文才会转发给原始服务器,否则丢弃。例如,报文中敏感关键字检查
- 优缺点:
- 每种应用都需要不同的应用网关
- 在应用层转发、处理报文,处理负担较重
- 对应用程序不透明,需要在应用程序客户端配置应用网关地址
- 特点:
入侵检测方法一般分为
基于特征的入侵检测
和基于异常的入侵检测
基于特征的入侵检测
只能检测已知攻击,对未知攻击则束手无策,原理:- 维护一个所有已知攻击标志性特征的数据库
- 每个特征是一个与某种入侵活动关联的规则集
- 当发现有与某种攻击特征匹配的分组、分组序列时,则认为发生入侵
基于异常的入侵检测
,原理:观察正常运行的网络流量,学习正常流量的统计特征和规律,当检测到网络流量不符合正常情况时,则认为发生入侵入侵检测系统中的
漏报、误报
,如果漏报率
比较高,则仅能检测到少量的入侵,给人以安全的假象;误报率太大
会导致大量的虚假报警。文章关联:
- 概述
- 网络层
- 运输层
- 应用层
- 网络安全
推荐阅读
- 小白复现“永恒之蓝”漏洞
- k8s|k8s flannel
- 网络|简单易用的嵌入式网络库(Mongoose)
- 交换机|第16章 以太网交换机工作原理(H3CNE)
- 网络运营|做网络必须掌握83句话,网络成功可以复制
- 大数据|Kubernetes-在Kubernetes集群上搭建Stateful Elasticsearch集群
- 安全|第一篇关于我的个人博客--与诸君共勉
- Apsara Stack 技术百科 | 数字化业务系统安全工程
- 网络|视觉注意力机制概述