《漫谈计算机网络》上次已经完结啦,今天出一个番外篇!

2022-12-06

今天我们来聊一聊网络安全

废话不多说直接进入正题

网络安全问题概述

计算机网络面临的安全性威胁

两大类威胁:被动攻击和主动攻击。

被动攻击

  指攻击者从网络上窃听他人的通信内容。 通常把这类攻击称为截获。 攻击者只是观察和分析某一个协议数据单元 PDU,以便了解所交换的数据的某种性质,但不干扰信息流。 这种被动攻击又称为流量分析 (traffic analysis)

主动攻击

主要有:

篡改:故意篡改网络上传送的报文。这种攻击方式有时也称为更改报文流。

恶意程序 (rogue program):种类繁多,主要包括:计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹、后门入侵、流氓软件等。

拒绝服务 DoS (Denial of Service):指攻击者向互联网上的某个服务器不停地发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪。

分布式拒绝服务 DDoS

  若从互联网上的成百上千的网站集中攻击一个网站,则称为分布式拒绝服务 DDoS (Distributed Denial of Service)。 有时也把这种攻击称为网络带宽攻击或连通性攻击。

通俗的说就是以多打少:通过大规模互连网流量来淹没目标服务器或其他基础设施!!!

因为存在如此的网络计算机网络通信安全的目标潜在威胁导致的网络安全问题,所以

计算机网络通信安全的目标是——

对于主动攻击,可以采取适当措施加以检测。 对于被动攻击,通常是检测不出来的。

计算机网络通信安全的目标: 防止分析出报文内容和流量分析。 防止恶意程序。 检测更改报文流和拒绝服务。

对付被动攻击:加密技术。

对付主动攻击:加密技术 + 鉴别技术。

一个安全的计算机网络应达到四个目标

保密性 端点鉴别 信息的完整性 运行的安全性

应对方法:数据加密模型

什么是密钥?

加密和解密用的密钥 K (key) 是一串秘密的字符串(即比特串)。 明文通过加密算法 E 和加密密钥 K 变成密文Y:

接收端利用解密算法 D 运算和解密密钥 K  解出明文 X。解密算法是加密算法的逆运算。

加密密钥和解密密钥可以一样,也可以不一样。

密钥通常由密钥中心提供。

当密钥需要向远地传送时,一定要通过另一个安全信道。

相关技术

  密码编码学 (cryptography) :密码体制的设计学。 密码分析学 (cryptanalysis) :在未知密钥的情况下从密文推演出明文或密钥的技术。 密码编码学与密码分析学合起来即为密码学 (cryptology)。

  如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则这一密码体制称为无条件安全的,或称为理论上是不可破的。 如果密码体制中的密码不能被可使用的计算资源破译,则这一密码体制称为在计算上是安全的。

具体措施:两类密码体制

对称密钥密码体制 (DES、AES):

加密密钥与解密密钥都使用相同密钥的密码体制。

数据加密标准 DES

  DES 属于对称密钥密码体制,是一种分组密码。 在加密前,先对整个明文进行分组。每一个组长为 64 位。 然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文 数据。 最后将各组密文串接起来,即得出整个的密文。 使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。

DES 的保密性,仅取决于对密钥的保密,其算法是公开的。

严重问题:DES 密钥长度较短。 现在已经设计出搜索 DES 密钥的专用芯片。56 位 DES 已不再认为是安全的了。

三重 DES

  使用两个 56 位的密钥。 把一个 64 位明文用一个密钥加密,再用另一个密钥解密,然后再使用第一个密钥加密,即

高级加密标准 AES

  2002 年成为美国政府加密标准。现在是 ISO/IEC 18033-3 标准。 高级加密标准 AES(Advanced Encryption Standard)是一种分组密码,分组长度为 128 位。 有三种加密标准,其密钥分别为 128 位、192 位和 256 位。 加密步骤复杂,运算速度比 3DES 快得多,安全性也大大加强。

公钥密码体制(RSA)

  又称为公开密钥密码体制。 使用不同的加密密钥与解密密钥。 这种加密体制又称为非对称密钥密码体制。 公钥密码体制产生的主要原因: 1.对称密钥密码体制的密钥分配问题。 2.对数字签名的需求。 典型:RSA 体制,一种基于数论中的大数分解问题的体制。

加密密钥 PK(public key,即公钥):公开。

解密密钥 SK(secret key,即私钥或秘钥):需要保密。

加密算法 E 和解密算法 D :公开。

虽然私钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。

公钥算法的特点

(1) 密钥对产生器产生出接收者 B 的一对密钥: 加密密钥 PKB 和 解密密钥 SKB 。 加密密钥 PKB 就是接收者 B 的公钥,向公众公开。 解密密钥 SKB 就是接收者 B 的私钥对其他任何人都保密。

(2) 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算),然后发送给 B。

接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:

3) 从已知的 PKB 实际上不可能推导出 SKB,即从 PKB 到 SKB 是“计算上不可能的”。

(4) 加密密钥是公开的,但不能用来解密,即:

(5) 加密和解密运算可以对调,即加密和解密是互逆的:

开密钥与对称密钥的区别

  使用对称密钥: 在通信信道上可以进行一对一的双向保密通信。 这种保密通信仅限于持有此密钥的双方。

  使用公开密钥: 在通信信道上可以是多对一的单向保密通信。 例如:很多顾客都向同一个网站发送各自的信用卡信息。

防火墙

  前述基于密码的安全机制不能有效解决以下安全问题:

    用户入侵: 利用系统漏洞进行未授权登录; 授权用户非法获取更高级别权限等。

    软件入侵: 通过网络传播病毒、蠕虫和特洛伊木马。 拒绝服务攻击等。

解决方法:

  防火墙:控制进出网络边界的分组。

入侵检测:深度分析与检测进入的分组,发现疑似入侵行为。

防火墙 (firewall)

一般把防火墙里面的网络称为“可信的网络”(trusted network) ,把防火墙外面的网络称为“不可信的网络”(untrusted network).

两类防火墙技术:

分组过滤路由器

具有分组过滤功能的路由器。根据过滤规则对进出内部网络的分组进行过滤(转发或者丢弃)。 过滤规则:基于分组的网络层或运输层首部信息,例如:源/目的IP地址、源/目的端口、协议类型(TCP 或 UDP),等等。

无状态的:独立地处理每一个分组。

有状态的:跟踪每个连接或会话的通信状态,根据状态信息决定是否转发分组。

优点:简单高效,对用户透明

缺点:不能对高层数据进行过滤。例如:不能禁止某个用户对某个特定应用进行某个特定的操作,不能支持应用层用户鉴别等。

应用网关

  也称为代理服务器 (proxy server) 对报文进行中继,实现基于应用层数据的过滤和高层用户鉴别。 所有进出网络的应用程序报文都必须通过应用网关。 应用网关在应用层打开报文查看请求是否合法。 如果合法,应用网关以客户进程的身份将请求报文转发给原始服务器。 如果不合法,则丢弃报文。

缺点: 每种应用都需要一个不同的应用网关 在应用层转发和处理报文,处理负担较重。 对应用程序不透明,需要在应用程序客户端配置应用网关地址。

入侵检测系统(IDS)

入侵检测系统 IDS (Intrusion Detection System) 能够在入侵已经开始,但还没有造成危害或在造成更大危害前,及时检测到入侵,以便尽快阻止入侵,把危害降低到最小。 IDS 对进入网络的分组执行深度分组检查。当观察到可疑分组时,向网络管理员发出告警或执行阻断操作(由于 IDS 的“误报”率通常较高,多数情况不执行自动阻断)。 IDS 能用于检测多种网络攻击,包括:网络映射、端口扫描、DoS 攻击、蠕虫和病毒、系统漏洞攻击等。

两种入侵检测方法

基于特征的 IDS

维护一个所有已知攻击标志性特征的数据库。 特征和规则通常由网络安全专家生成,由机构的网络管理员定制并将其加入到数据库中。 只能检测已知攻击,对于未知攻击则束手无策。 至今为止,大多数部署的 IDS 主要是基于特征的。

基于异常的 IDS

通过观察正常运行的网络流量,学习正常流量的统计特性和规律。 当检测到网络中流量某种统计规律不符合正常情况时,则认为可能发生了入侵行为。 但区分正常流和统计异常流是一个非常困难的。

以上

漫谈计算机网络 连载的其他章节:

1.漫谈计算机网络:概述 ------ 从起源开始到分层协议结构,初识究竟什么是计算机网络? - slowlydance2me - 博客园 (cnblogs.com)

2.漫谈计算机网络:物理层 ----- 双绞线&光纤?,从最底层开始了解计算机网络 - slowlydance2me - 博客园 (cnblogs.com)

3.漫谈计算机网络:数据链路层 ----- 数据链路路在何方? --从点对点数据传输 到 "广泛撒网,重点捕获"的局域网 - slowlydance2me - 博客园 (cnblogs.com)

4.漫谈计算机网络:网络层 ------ 重点:IP协议与互联网路由选择协议 - slowlydance2me - 博客园 (cnblogs.com)

5.漫谈计算机网络: 运输层 ------ 从UDP ->TCP , 从面向通信->面向用户,三次握手/四次挥手? - slowlydance2me - 博客园 (cnblogs.com)

最新文章

  1. 《CLR.via.C#第三版》第二部分第10,11章节读书笔记(五)
  2. 安装DELL R430服务器的过程记录
  3. 開博客了, 因為搞Delphi 開發的關於Delphi學習
  4. Radio Basics for RFID
  5. [BZOJ 2241][SDOI2011]打地鼠(枚举+预处理)
  6. Flex通信-与Java实现Socket通信实例
  7. java--面向抽象编程
  8. What is an eigenvector of a covariance matrix?
  9. 场景类(CCSence)
  10. CD冷却效果实现
  11. 在什么情况下使用@ResponseBody 注解?
  12. 淘宝的推荐系统 计算之道2A
  13. 面试题-如何测试一个APP
  14. 个人项目 Individual Project
  15. Redis设置内存最大占用值
  16. draw9patch图片拉伸
  17. 使用python读取yaml文件
  18. Django的视图层简介
  19. jmeter之数据库相关
  20. JS实现文本框和文本域获取焦点focus()时,光标在本文的末尾

热门文章

  1. es,logstash各版本对应要求的JDK版本,操作系统对应示意图
  2. Loki 简明教程
  3. PAT (Basic Level) Practice 1007 素数对猜想 分数 20
  4. gin项目部署到服务器并后台启动
  5. P1084 [NOIP2012 提高组] 疫情控制 (二分答案、贪心)
  6. vue+spirngboot 分离技术实现图书信息的增删改查(改造这学期的课程设计【1】)
  7. BootStrap--selectpicker的使用
  8. (二)Three光线检测-实现摄像机向鼠标点击位置滑动动画
  9. Python基础部分:9、数据的类型和内置方法
  10. MYSQL ---mysql 数据导入与导出