102
计计计计计 计计计计计 计计计计计计计计计 西

计算机网络

Embed Size (px)

DESCRIPTION

计算机网络. 西安交通大学 计算机教学实验中心. 第 10 章 网络管理与网络安全. 本章内容 网络管理 网络安全 * 密码学 防火墙 代理服务 网络病毒的防治. 10 .1 网络管理. 为什么提出网络管理? 网络的快速增长 网络系统的异构性和复杂性 什么是网络管理 网络管理系统是一个软硬件结合以软件为主的分布式网络应用系统,其目的是管理网络,使网络高效正常运行。 网络管理系统标准 - PowerPoint PPT Presentation

Citation preview

Page 1: 计算机网络

计算机网络

西安交通大学 计算机教学实验中心

Page 2: 计算机网络

第 10 章 网络管理与网络安全

本章内容 网络管理 网络安全 * 密码学 防火墙 代理服务 网络病毒的防治

Page 3: 计算机网络

10 .1 网络管理 为什么提出网络管理?

网络的快速增长 网络系统的异构性和复杂性

什么是网络管理 网络管理系统是一个软硬件结合以软件为主的分布式网络应

用系统,其目的是管理网络,使网络高效正常运行。 网络管理系统标准

ISO 公共管理信息协议( Common Management Information Protocol ,CMIP) 公共管理信息服务( Common Management Information Service)

因特网 简单网络管理协议( Simple Network Management Protocol, SNMP)

20 世纪 80 年代初,网络得到巨大的发展,当各公司认识到网络给他们带来的好处时,他们在引进新的网络技术和网络产品的同时也不断扩充现有的网络。到 80 年代中期,人们开始感受到这种无限制扩充网络所带来的日复一日的网络操作管理和网络扩充的规划,尤其是对于每个新的网络技术,均需要有自己的专家加以操作和管理。在 80 年代初,这些网络增长的战略规划已是件十分困难的事。一个较大的网络通常跨越广域网,连接不同类型的局域网,如令牌网,以太网、 FDDI 网等。网络除计算机设备外还有大量网络互连设备,如各类集线器、网桥、路由器、交换设备等。对于这种复杂分布式环境中的各类资源进行”集中”管理就显得十分必要,这种需求最终导致了网络管理系统的诞生

Page 4: 计算机网络

网络管理体系结构大部分网络管理体系结构具有同

样的基本结构和关系集,由端接站(即被管设备,如计算机和其他网络设备)上嵌入的代理软件来搜集网络的通信信息和网络设备的统计数据,并把它们存入管理信息库中。

如果某个统计数据超过规定的阈值则向网管工作站上的管理实体发出告警。接收到这些告警后,管理实体将执行一组动作,包括:① 通知操作员;② 写入事件日志;③ 关闭系统;④ 自动恢复系统。

除了设备上的代理软件可以主动发出告警外,管理实体也可以向被管设备进行轮询,以检查某个统计值。轮循可以是自动的,也可以是由用户发起的,在被管设备中的代理负责对这些轮询作出响应

代理( Agent )是驻留在被管设备中的软件模块,负责搜集被管设备的信息,将这些信息存储到管理数据库中,并通过网络管理协议将这些信息提供给网络管理系统( NMS )中的管理实体。

Page 5: 计算机网络

ISO 网络管理体系 ISO 对网络管理系统制定了三个标准:

ISO 7498-4 定义了开放系统互联管理的体系结构,其中定义了系统管理、层管理和层操作三种不同的管理信息交换形式;

ISO 9596 定义了公共管理信息协议( CMIP ); ISO 9595 定义了公共管理信息服务( CMIS ),

这是一个应用层管理程序。

Page 6: 计算机网络

管理功能 在 OSI 管理体系结构中,定义了五个管理功能:

① 性能管理( Performance Management ); ② 配置管理( Configuration Management ); ③ 记账(计费)管理( Accounting Management ); ④ 故障管理( Fault Management ); ⑤ 安全管理( Security Management )。

Page 7: 计算机网络

1. 性能管理 性能管理的目标是衡量和呈现网络性能的各个方面,

使人们能在一个可接受的水平上维护网络的性能。 对一系列的性能变量实施连续监控来实现的。性能变

量的例子有网络吞吐量、用户响应时间和线路利用率。 性能管理包含以下几个步骤:

① 收集网络管理者感兴趣的那些变量的数据; ② 分析这些数据,以判断是否处于正常水平; ③ 为每个重要的变量决定一个合适的性能阀值,超过该限

值就意味着出现了值得注意的网络故障,管理实体不断地监视性能变量,当某个性能阀值被超过时,就产生一个报警,并将该报警发送到网络管理系统。

Page 8: 计算机网络

2. 配置管理 配置管理的目标是监视网络和系统配置信息,以便跟踪和管理不同的软、硬件单元的配置及其变化情况。

配置信息对于维持一个稳定运行的网络是十分重要的。 每个网络设备均有一系列不同版本的信息,例如,一台工程工作站可能的配置如下有那些?

为了便于访问,配置管理子系统将上述信息存储在数据库中,当发生故障时,可从该数据库中查询到解决故障所需的相关信息。

① Windows 操作系统,版本 2003 SP1 ;② 以太网接口,版本 5.4 ;

③ TCP/IP 软件,版本 2.0 ; ④ Netware 软件,版本 4.1 ;

⑤ 串行通信控制器,版本 1.1 ; ⑥ X.25 软件,版本 1.0 ; ⑦ SNMP 软件,版本 2.0 。

Page 9: 计算机网络

3. 计费管理 计费管理的目标是衡量网络的利用率,以便使

一个或一组网络用户可以更有规则地利用网络资源,这样的规则使网络故障率降低到最小,为什么?也可使所有用户对网络的访问更加公平。

为了达到计费管理的目的,必须通过性能管理测量出所有重要的网络资源的利用率,对其结果的分析就可以产生计费信息和以及可用于资源利用率优化的信息。

因为网络资源可以根据其能力大小而合理地分配,

Page 10: 计算机网络

4. 故障管理 故障管理的目标是自动地检测、记录网络故障

并通知给用户。 故障管理是所有网络管理的实施中首先被考虑

的管理要素。为什么? 故障管理包含几个步骤:

搜集故障信息 判断故障症状; 修复、隔离该故障; 记录故障检测信息及其修复结果。

由于故障可以导致系统的瘫痪或不可接受的网络降级。

Page 11: 计算机网络

5. 安全管理 安全管理的目的是控制对网络资源的安全访问,以保证网络不被侵害(有意识的或无意识的),并保证重要的信息不被未授权的用户访问。 例如,管理子系统可以监视用户对网络资源的登录,而对那些具有不

正确访问代码的用户加以拒绝。 安全管理子系统将网络资源分为授权和未授权两大类。对于某些

用户,不允许访问所有的网络资源(这样的用户通常是公司之外的),即使对一些公司内部用户,对某些敏感信息的访问也应该受到限制。例如,人事部门以外的用户对人事资源的文件的访问应是限制级的。

安全管理子系统执行以下几种功能: ① 标识重要的网络资源(包括系统、文件和其他实体); ② 确定重要的网络资源和用户集间的映射关系; ③ 监视对重要网络资源的访问; ④ 记录对重要网络资源的非法访问。

Page 12: 计算机网络

简单网络管理协议 SNMP ( Simple Network Management Protocol ,

简单网络管理协议)最初是为符合 TCP/IP 的网络管理而开发的一个应用层的协议。

主导思想是尽可能简洁、清晰,因此比 OSI 网络管理体系要简单的多。

SNMP 建立在 TCP/IP 传输层的 UDP 协议之上,提供的是不可靠的无连接服务,以保证信息的快速传递和减少对带宽的消耗。

SNMP 协议到目前为止已有三个版本: SNMP 1.0版本是初始版本; SNMP 2.0版本增加了安全性方面的功能,并在操作性和管理体系结构方面作了较大改进。目前最新的版本是 SNMP 3.0 。

Page 13: 计算机网络

SNMP 管理模型 SNMP 管理模型可以分成三大部分:

SNMP 网络管理系统( NMS ) SNMP 被管理系统 SNMP 管理协议

网络管理系统是 LAN 上安装有网管软件的一台工作站,该工作站称为网管工作站。

网管软件中的管理者驻留在网管工作站上,经过各类操作原语( Get, Set, Trap 等)向上与网管应用软件通信,向下经 UDP/IP及物理网与被管理系统进行通信。

网管应用程序为用户(网络管理员)提供良好的人机界面,通常提供的是基于标准的图形用户界面( GUI )。

网络管理员可以通过 GUI 来监控网络活动,进行配置、故障、性能、计费等管理。

Page 14: 计算机网络

用户界面

管理应用程序

Manager管理者( )

SNMP SNMP SNMP

代理Agent

MIB

代理Agent

MIB

代理Agent

MIB

被管理系统

网络管理员

网络管理系统NMS

网管工组站(管理设备)

(简单网络管理协议)

Page 15: 计算机网络

被管理系统 被管理系统是被管理的所有网络上的设备,包括主机、集线器、

交换器、网桥、通信服务器、路由器等,它们广泛分布在不同的地理位置。

在各个可管理的网络设备中都有一个特殊的软件,称为 Agent(代理)。 Agent能监测所在网络设备及其周围的局部网络的工作状况,收集网络运行的有关信息。 Agent响应网络管理系统( NMS )中来自管理者( Manager )的定期轮询、接受管理者设置某个变量的指令以及在某些紧急事件发生时(例如设定的阈值超出时)主动向 NMS 发起 Trap (陷阱)报警。

MIB (管理信息库)通常位于相应的 Agent 上,所有相关的被管对象的网络信息都放在 MIB 上。

Page 16: 计算机网络

SNMP 网管协议 网络管理协议规定在管理者和代理之间使用协议数据

单元( PDU )进行通信以实现被管设备与 NMS间的协同管理操作。

在 SNMP 1.0版本中共定义了五种 PDU 。 基于因特网标准的网络管理结构假定了一种远程检测

的范例,在该范例中,被管设备应 NMS 要求,维护着一系列变量和报告。

例如,一个被管设备可能跟踪以下内容:虚电路的状态和数量、接收到特定类型的错误信息的数量、出入设备的报文个数和字节数、最大的输出队列长度(对于路由器和其他网络互联设备)、发送和接收的广播信息以及活动的和不活动的网络接口等等。

Page 17: 计算机网络

SNMP 协议操作命令类型 如果 NMS想要控制一个被管理设备,它可以向被管

理设备发出一个信息,并通过改变被管理设备的一个或多个变量的值来实现对被管设备的控制。被管理设备发起或响应四种类型的命令 :

读: NMS利用该命令来监视被管理设备, NMS从被管设备中读取变量。

写: NMS利用该命令来控制被管理设备, NMS 将变量写入被管设备中。

移动操作: NMS利用该命令判定被管理设备支持哪些变量,并将信息收集到变量表中。

陷阱( trap ):被管理设备用该命令来向 NMS 异步报告某种事件的发生。

Page 18: 计算机网络

管理信息库 MIB 所有的被管理对象包含在管理信息库( MIB )中, MIB 实际上就

是一个有关对象的数据库。 MIB可描绘成一棵树,其树叶为不同的数据项。在该树中,目标标识符惟一标识了 MIB 的目标。对象标识符与电话号码的编制方法类似,它们均是分级构成的,不同的部分由不同的机构来分配。

对于 MIB 对象标识也是这样,顶级的 MIB 对象标识符由国际标准化组织 / 国际电工联盟来分配,而低级的对象标识符则由相关的机构分配。几个 MIB树的主要分支如图 10.3 所示。

MIB树可根据经验和专用分枝进行扩展。例如,对于设备制造厂而言,他们可以为自己的产品定义专用的分枝,而那些未被标准化的 MIB 则通常处于经验分枝上。

每个网络代理包含有一个 MIB ,代理通过 MIB 来保存所在网络设备的各种配置信息和状态信息。代理接受管理者的请求并予以响应,读取或修改MIB 中相应的变量值;代理也会监测本地网络设置或网络状态,在事件发生时发出 Trap报文。

Page 19: 计算机网络

NMS采用轮询方法管理整个网络上的各个网络设备(主机、路由器、桥等)。在访问某个网络设备时,管理者经该设备上的 Agent访问相应的 MIB可获取该设备所有类型的变量值,即该设备的所有信息内容。 NMS 通过轮询访问全部的网络设备获取所有 MIB 的内容,对全部内容进行统计、综合智能分析,从而实现对全网的基本管理。

图 10.3 MIB树

MIB - 11(1)

1系统( )

2接口( )

地址翻译3( )

IP 4( )ICMP5( )

TCP6( )

UDP 7( )EGP 8( )

SNMP 11( )

10传输( )

Page 20: 计算机网络

网络管理平台 引出了开放的统一的网络管理平台的原因 网络管理平台向上为各类专用网管应用程序提供了统一的标准

应用程序接口( API ),各厂商的专用网管应用程序经 API及平台可直接管理各自的设备,而不同网管应用程序可利用网管平台的资源横向得到集成和统一,并获得更高层次的统一管理方案。此外,平台厂商和用户亦可用 API 接口扩展网管功能。

应用 1 应用 2 应用 3

平台厂商提供的网管软件

用户开发的网管应用

网 络 管 理 平 台

Page 21: 计算机网络

网络管理平台本身是一个支持 SNMP 的提供网管基本服务的软件,目前比较著名的平台有:HP 的 OpenView , Sun 的 SunNet Manager ,IBM 的 NetView , 3COM 的 Transcend , Novell 的 NMS 和 Cisco 的 CiscoWorks2000 等。

提供的图形用户界面( GUI )。 基于 Unix 的环境 基于 Windows 的环境 比较?

Page 22: 计算机网络

网管平台功能 可以通过对 SNMP 各代理的轮询以及接受代理发来

的事件报文创建和维护各种类型的数据库。 其内容可包括网络设备的设置、状态、对象标志符、对象名称、 IP地址、网络拓扑构形图等,还包括注册事件在内的各种事件、网络通信状态及历史网络通信量等记录。

还能利用网管平台具有的图形工具为用户界面显示网络扑拓构形图。

网管平台对事件有过滤处理能力,对事件能以事件日志记入数据库并经过滤后对其中一些事件能经 API传送给相应的网络管理应用。

Page 23: 计算机网络

网络管理系统的各种实现结构• 集中式网络管理结构• 集中式结构的变形• 分布式结构• 分层结构

Page 24: 计算机网络

集中式网络管理结构 集中式体系结构是最常用的

一种网络管理模式,它由一个单独的管理者负责整个网络的管理工作。

该管理者处理与被管网络单元的代理之间的通信,提供集中式的决策支持和控制,并维护管理者的管理数据库。

这种方式的主要不足是当被管网络规模扩大或者结构复杂性增大时自身的管理能力不能随之进行相应的扩充。但是在多数情况下首选的都是集中式控制。

MIB

MIB节点 节点

代理

管理者

代理

代理 节点节点

节点节点

MIB

图 10.5 集中式网络管理结构

Page 25: 计算机网络

集中式结构的变形 集中式体系结构的一种变形是平台方案将管理者划分成两部分:

管理平台和各种管理应用程序。 管理平台作为处理管理数据的第一级,主要涉及信息收集,提供诸如监控、流量计算等关键管理服务,同时向应用程序提供数据处理报告摘要。

应用程序运行在数据处理的第二级,提供各种系统管理功能、处理决策支持等比信息收集和简单计算更高级的功能。

两部分通过公共应用程序接口( API )进行通信。

该体系结构具有较方便的系统维护性和扩展性,并简化了在异种主机、多厂商、多管理协议环境中综合程序的开发工作。异构性和协议复杂性只在平台级处理一次,不必在每个应用程序中考虑。

扩展能力的有限性是集中式结构所固有的。此外,实践证明当应用程序的数量增加时,平台是一个严重的瓶颈。 图 10.6 集中式结构的变形

MIB

MIB节点 节点

代理 代理

代理 节点节点

节点节点

MIB

管理平台

异构网络

应用程序 应用程序

公共API

Page 26: 计算机网络

分布式结构 分布式结构与管理域(按照地域、组织和其他方式定义的域)的概念相关,并且系统中使用了一个以上同等级别的管理者。

因为它为每个域设置一个管理者,因此很适合于多域的大型网络结构。当需要另一个域的管理信息时,管理者通过与同级的系统通信来获取。

这种结构的主要优点是扩展性好,通过建立更多的管理域以及增加相应数量的管理者可以满足更高的性能要求和扩充性。

图 10.7 分布式结构

MIB

MIB

节点

代理 代理

代理 节点节点

节点节点

MIB

1管理者 n管理者

节点

1管理域 n管理域

Page 27: 计算机网络

分层结构 分层结构也应用了在每个管理域中配置管理者的模式。

每个域管理者只负责本域的管理,不关心网络内的其他域的情况。

所有管理者的管理系统( MoM )位于更高的层次,从各域管理者获取管理信息。

与分布式结构不同,域管理者之间并不通信。这种结构能很容易地扩展,并且可以增加一个以上的 MoM 。可以采用在各个 MoM之上建立MoM形成多级分层组合。

在这种结构中可以较容易地开发综合应用程序,从多个域(可以是异构的)获取管理信息。

图 10.8 分层结构

MIB

MIB

节点

代理 代理

代理 节点节点

节点节点

MIB

1管理者 n管理者

节点

1管理域 n管理域

管理者的管理系统

Page 28: 计算机网络

基于 Web 技术的网络管理 随着网络技术的发展和网络规模的日益扩大,

要求网络管理系统更加开放、可互操作及更加灵活。基于 Web 技术的网络管理,可获得在任何操作系统平台上使用的简单而有效的管理界面,因而受到普遍重视。

在现代的很多操作系统中往往也内置了一些网络管理功能,如 Windows NT/2000/XP 操作系统能够提供一些简单的性能、配置、故障、安全等方面的管理功能,并能支持 SNMP 协议。

Page 29: 计算机网络

10.2网络安全 提问:什么是网络安全? 网络安全主要解决数据保密和认证的问题。

数据保密就是采取复杂多样的措施对数据加以保护,以防止数据被有意或无意地泄露给无关人员。

认证分为信息认证和用户认证两个方面 信息认证是指信息从发送到接收整个通路中没有被

第三者修改和伪造, 用户认证是指用户双方都能证实对方是这次通信的

合法用户。通常在一个完备的保密系统中既要求信息认证,也要求用户认证。

Page 30: 计算机网络

网络安全并非只是 OSI-RM 某一层上的事情 事实上,每一层都可以采取一定的措施来防止某些类型的网络入侵事件,在一定程度上保障数据的安全。

在物理层上,可以在包容电缆的密封套中充入高压的氖气,当网络入侵者刺破密封套进行线路窃听时,由于气体泄露导致压力下降,从而触发告警装置;

在链路层上可以进行所谓的链路加密,即将每个帧编码后再发出,当到达另一端时再解码恢复出来;

在网络层上可以使用防火墙技术过滤一部分有嫌疑的数据报; 在传输层上甚至整个连接都可以被加密。 但所有这些措施都只能对数据保密有所帮助,而不能解决认证的问题,认证是需要在网络计算中解决的重大问题。

Page 31: 计算机网络

网络安全定义 网络安全从其本质上来讲就是网络上的信息安全。它涉及的领域相当广泛。这是因为在目前的公用通信网络中存在着各种各样的安全漏洞和威胁。

从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论,都是网络安全所要研究的领域。

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 ( l )运行系统安全,即保证信息处理和传输系统的安全。 ( 2 )网络上系统信息的安全。 ( 3 )网络上信息传播的安全,即信息传播后果的安全。 ( 4 )网络上信息内容的安全,即我们讨论的狭义的“信息安全”。

Page 32: 计算机网络

网络安全应具备四个特征 保密性,信息不泄露给非授权的用户、实体或

过程,或供其利用的特性; 完整性,数据未经授权不能进行改变的特性,

即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性;

可用性,可被授权实体访问并按需求使用的特性,即当需要时应能存取所需的信息,网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击;

可控性:对信息的传播及内容具有控制能力。

Page 33: 计算机网络

主要的网络安全的威胁( 1 )非授权访问( unauthorized access ):

一个非授权的人的入侵。( 2 )信息泄露( disclosure of information ):造成将有价值的和高度机密的信息暴露给无权访问该

信息的人的所有问题。( 3 )拒绝服务( denial of service ):

使得系统难以或不可能继续执行任务的所有问题。

Page 34: 计算机网络

网络安全的关键技术 主机安全技术 身份认证技术 访问控制技术 密码技术 防火墙技术 病毒防治技术 安全审计技术 安全管理技术。

Page 35: 计算机网络

制定安全策略涉及四方面 网络用户的安全责任:该策略可以要求用户每隔一段时间改变其口令;使用符合一定准则的口令;执行某些检查,以了解其账户是否被别人访问过等。重要的是,凡是要求用户做到的,都应明确地定义。

系统管理员的安全责任:该策略可以要求在每台主机上使用专门的安全措施、登录标题报文、监测和记录过程等,还可列出在连接网络的所有主机中不能运行的应用程序。

正确利用网络资源:规定谁可以使用网络资源,他们可以做什么,他们不应该做什么等。如果用户的单位认为电子邮件文件和计算机活动的历史记录都应受到安全监视,就应该非常明确地告诉用户,这是其政策。

检测到安全问题时的对策:当检测到安全问题时应该做什么?应该通知谁?这些都是在紧急的情况下容易忽视的事情。

Page 36: 计算机网络

中国国家计算机安全规范 计算机的安全大致可分为三类:

1 )实体安全。包括机房、线路、主机等;2 )网络安全。包括网络的畅通、准确以及网上信息

的安全;3 )应用安全。包括程序开发运行、 I/O 、数据库等

的安全。

Page 37: 计算机网络

网络安全分类 分为基本安全类、管理与记账类、网络互联设备安全类、连接控

制类似类, 基本安全类包括访问控制、授权、认证、加密以及内容安全。 管理与记账类安全包括安全的策略的管理、实时监控、报警以及企业范围内的集中管理与记账。

网络互联设备包括路由器、通信服务器、交换机等,网络互联设备安全正是针对上述这些互联设备而言的,它包括路由安全管理、远程访问服务器安全管理、通信服务器安全管理以及交换机安全管理等等。

连接控制类包括负载均衡、可靠性以及流量管理等。 由于网络安全范围的不断扩大;如今的网络安全不再是仅仅保护内部资源的安全,还必须提供附加的服务,例如,用户确认、通过保密、甚至于安全管理传统的商务交易机制,如订货和记账等。

Page 38: 计算机网络

威胁网络安全的因素 从人类的生态环境的与网络的生态环境进行类比可到这样的概念

即网络安全的生态环境:网络是一个复杂的生态环境。具体体现在:

在网络安全防御与攻击的斗争中,防御能力正受到日益增强的挑战;

网络安全的产业正发展成为一个复杂的,由多种角色构成的生态环境;

斗争手段的不断升级将促进防御技术、防御系统的工作模式的不断进化。

计算机网络安全受到的威胁包括“黑客”的攻击,计算机病毒,拒绝服务攻击( Denial of Service Attack )等方面。

认识网络安全威胁的类型及计算机系统的本身的弱点是解决网络安全问题的前提。

Page 39: 计算机网络

安全威胁的类型 非授权访问,这主要的是指对网络设备以及信息资源

进行非正常使用或超越权限使用。 假冒合法用户,主要指利用各种假冒或欺骗的手段非法获得合法用户的使用权,以达到占用合法用户资源的目的。

数据完整性受破坏。 干扰系统的正常运行,改变系统正常运行的方向,以及延时系统的响应时间。

病毒 通信线路被窃听。

Page 40: 计算机网络

计算机系统的本身的弱点 计算机系统的设计当初,对信息安全考虑不周,计算

机系统自然在安全方面存在弱点,主要表现在操作系统、系统管理,网络协议,数据库系统等方面。

现行的操作系统的体系结构本身就是不安全的一种因素,尤其是操作系统的创建进程机制,即使在网络的节点上同样也可以进行远程进程的创建与激活,更令人不安的是被创建的进程具有可以继续创建过程的权力。

网络操作系统提供的远程过程调用( RPC )服务以及它所安排的无口令入口也是黑客的通道。

计算机系统管理的脆弱性,存在超级用户,如果入侵者得到了超级用户口令,整个系统将完全受控于入侵者。

Page 41: 计算机网络

计算机可能会因硬件或软件故障而停止运转,或被入侵者利用并造成损失。

协议安全的脆弱性表现在当前计算机网络系统都使用的 TCP/ IP 协议以及 FTP 、 E-mail 、 NFS 等都包含着许多影响网络安全的因素,存在许多漏洞。

众所周知的是 Robert Morries 在 VAX 机上用 C语言编写的一个 Guess 软件,它根据对用户名的搜索猜测机器密码口令,程序自在 1988 年 11月开始在网络上传播以后,几乎每年都给 Internet造成上亿美元的损失。黑客通常采用 Sock 、 TCP预测或使用远程访问( RPC )进行直接扫描等方法对防火墙进行攻击。

Page 42: 计算机网络

网络安全解决方案 一个完整的网络信息安全系统至少包括三类措施:

社会的法律政策,企业的规章制度及网络安全教育等外部环境; 技术方面的措施,如防火墙技术、防病毒。信息加密、身份确认

以及授权等; 审计与管理措施,包括技术与社会措施。

在制定网络安全策略时应当考虑如下因素: 对于内部用户和外部用户分别提供哪些服务程序; 初始投资额和后续投资额(新的硬件、软件及工作人员); 方便程度和服务效率; 复杂程度和安全等级的平衡以及网络性能。

网络安全关键技术的主要有: 信息包筛选(基于包过滤的防火墙) 应用中继器(代理技术) 加密技术

Page 43: 计算机网络

为网络安全系统提安全的常用方法( 1 )用备份和镜像技术提高数据完整性( 2 )病毒检查( 3 )补丁程序,修补系统漏洞( 4 )提高物理安全( 5 )安装因特网防火墙( 7 )仔细阅读日志( 8 )加密( 9 )执行身份鉴别,口令守则( 10 )捕捉闯入者

Page 44: 计算机网络

网络安全的评估 是网络安全的必不可少的工作,评估的内容有:

确定有关网络安全的方案, 对已有的网络安全方案进行审查; 确定与网络安全方案有关的人员,并确定对网络资源可

以直接存取的人或单位(部门); 确保所需要的技术能使网络安全方案得以落实;

Page 45: 计算机网络

评估步骤

确定内部网络的类型。 因为网络类型的不同直接影响到安全方案接口的选择;

如果需要接入互联网;则需要仔细检查联人互联网后可能出现的影响网络安全的事项;

确定接入互联网的方式,是拔号接入,还是低速的专线,是一条 T1/E1 中速专线,还是一条更高速的专线;

确定单位内部能提供互联网访问的用户,并明确互联网接入用户是固定的还是移动的;

是否需要加密,如果需要加密,必须说明要求的性质,比如,是对国内的还是对国外的,以便使安全系统的供应商能够做出正确的反应。

Page 46: 计算机网络

10.3密码学 欲加密的数据称为明文 明文经某种加密算法的作用后转换成密文

加密算法中使用的参数称为加密密钥

密文经解密算法作用后形成明文输出

解密算法也有一个密钥,它和加密密钥可以相同也可以不同。

公式 C= Ek ( P )表示明文 P经加密算法 E 和加密密钥 k 作用后转换成密文 C ,

用公式 P= Dk ( C )表示密文 C经解密算法 D 和解密密钥 k 作用后转换成明文 P ,

关系: P=Dk ( Ek ( P ))。

加密方法 解密方法C

密文C=EK (P)

加密密钥 接密密钥

图 10.9 加密模型

Page 47: 计算机网络

密文在网络中传输时会被网络入侵者窃听,但由于他们不知道解密的方法,破译起来比较困难。

网络入侵者分为消极入侵者和积极入侵者两种 消极入侵者只是窃听而已,并不对数据造成破坏; 而积极入侵者会截获密文,篡改数据甚至伪造假数

据送入网中。 破译密码的技术叫做密码分析,设计密码和破译密码的技术统称为密码学

Page 48: 计算机网络

基本假设 密码学的一条基本原则是,必须假定破译者知道通用的加密方法,

也就是说加密算法 E 是公开的。为什么? 这种假设是合理的也是必要的,因为事实上任何一种加密算法都

不可能做到完全保密,其次一个加密算法在被公开之后仍能经得起攻击才称得上是一个强壮的算法。

既然加密算法是公开的,那么真正的秘密就在于密钥了,密钥是必须保密的,它通常是一个字符串或位串,并且可以按需要频繁更换。注意: 在这里密钥的长度很重要,因为找到了解密密钥也就破译了密码,而密钥长度越长,密钥空间就越大,遍历密钥空间所花的时间就越多,破译的可能性就越小。

基本假设:加密算法是公开的和相对稳定的,而作为参数的密钥是保密的,并且是易于更换的。

Page 49: 计算机网络

破译 -密码分析 从破译者的角度来看,密码分析所面对的问题有三种主要的变型:

当仅有密文而无明文时,称为”只有密文”问题; 当已拥有了一批相匹配的明文和密文时,称为”已知明文”问题; 当能够加密自己所选的一些明文时,称为”选择明文”问题。

一个密码系统仅能经得起”只有密文”的攻击还不能算是安全的,因为破译者完全可以从一般的通信规律中猜测出一部分的明文,从而就会拥用一些匹配的明文和密文,这对破译工作将大为有用。

真正安全的密码系统应是,即使破译者能够加密任意数量的明文,也无法破译密文。

密码学的历史非常悠久,传统的加密方法可以分成两类:替代密码和换位密码。

Page 50: 计算机网络

替代密码 -凯撒密码 替代密码就用一组密文字母来代替一组明文字母以隐藏明文,但保持明文字母的位置不变。

凯撒密码,它用 D表示 a ,用 E表示 b ,用 F表示 c ,……,用 C表示 z ,也就是说密文字母相对明文字母左移了 3位。 计法约定:用小写表示明文,用大写表示密文 这样明文的“ cipher” 就变成了密文的“ FLSKHU” 。

更一般地,可以让密文字母相对明文字母左移 k位,这样 k 就成了加密和解密的密钥。

容易破译,因为最多只需尝试 25次( k=1~ 25 )即可轻松破译密码。

Page 51: 计算机网络

替代密码 - 单字母表替换 使明文字母和密文字母之间的映射关系没有规律可循,比如将 26 个英文字母随意映射到其他字母上

密钥是对应于整个字母表的 26 个字母串。虽然初看起来这个方法是很安全的,因为若要试遍所有 26!种可能的密钥、即使计算机每微秒试一个密钥,也需要 1013 年。

但事实上完全不需要这么做,破译者只要拥有很少一点密文,利用自然语言的统计特征,很容易就可破译密码。

破译的关键在于找出各种字母或字母组合出现的频率 比如经统计发现,

英文中字母 e 出现的频率最高,其次是 t 、 o 、 a 、 n 、 i 最常见的两字母组合依次为 th 、 in 、 er 、 re 和 an , 最常见的三字母组合依次为 the 、 ing 、 and 和 ion 。

因此破译者首先可将密文中出现频率最高的字母定为 e , 频率次高的字母定为 t ,……;

然后猜测最常见的两字母组、三字母组,比如密文中经常出现 tXe ,就可以推测X很可能就是 h ,如经常出现 thYt ,则 Y很可能就是 a 等。

采用这种合理的推测,破译者就可以逐字逐句组织出一个试验性的明文。

Page 52: 计算机网络

替代密码 -多张密码字母表 对明文中不同位置上的字母用不同的密码字母表来加密。比如任意选择 26张不同的单字母密码表,相互间排定一个顺序,然后选择一个简短易记的单词或短语作为密钥,在加密一条明文时,将密钥重复写在明文的上面,则每个明文字母上的密钥字母即指出该明文字母用哪一张单字母密码表来加密。

Page 53: 计算机网络

举例 比如要加密明文“ please execute the latest scheme” ,密钥为“ computer” ,则将“ computer”重复写在报文上面

于是第 1 个明文字母 p 用第 3张(假设 a~ z 分别表示顺序 1~26 )单字母密码表加密,第 2 个明文字母 l 用第 12张单字母密码表加密,……。显然,同一个明文字母因位置不同而在密文中可能用不同的字母来表示,从而消除了各种字母出现的频率特征。

c o m p u t e r c o m p u t … e r c o m p

p l e a s e e x e c u t e t … s c h e m e

Page 54: 计算机网络

破译 虽然破译多字母密码表要困难一些,但如果破译者手头有较多的密文,仍然是可以破译的。破译的诀窍在于猜测密钥的长度。

首先破译者假设密钥的长度为止,然后将密文按每行k 个字母排成若干行,

如果猜测正确,那么同一列的密文字母应是用同一单字母密码表加密的,因此同一列中各密文字母的频率分布应与英文相同,即最常用的字母(对应明文字母e )频率为 13%,次常用的字母(对应明文字母 t )频率为 9%等等。

如果猜测不正确,则换一个 k 进行重试,一旦猜测正确,即可逐列使用破译单字母表密码的方法进行破译。

Page 55: 计算机网络

换位密码 换位有时也称为排列,它不对明文字母进行变换,只是将明文字母的次序进行重新排列。

下图是一种常用的换位密码,它的密钥必须是一个不含重复字母的单词或短语,加密时将明文按密钥长度截成若干行排在密钥下面,按照密钥字母在英文字母表中的先后顺序给各列进行编号,然后按照编好的序号按列输出明文即成密文。

C O M P U T E R

1 4 3 5 8 7 2 6

p 1 e a s e e x

明文

pleaseexecutethelatestscheme

e c u t e t h e

1 a t e s t s c

h e m e a b c d

密文

PELHEHSCEUTMLCAE

ATEEXECDETTBSESA

Page 56: 计算机网络

破译 第一步是判断密码类型,检查密文中 E 、 T 、 O 、 A 、 N 、 I 等字母的出现频率,如果符合自然语言特征,则说明密文是用换位密码写的。

第二步是猜测密钥的长度,也即列数。在许多情况下,破译者根据消息的上下文,常常可以猜测出消息中可能包含的单词或短语,选择的单词或短语最好比较长一些,使其至少可能跨越两行,如“ latestscheme” 。

将选择的单词或短语按照假定的长度 k截成几行,由于同一列上相邻的字母在密文中必是相邻的,因此可以将各列上的各种字母组合记下来,在密文中搜索。

比如将“ latestscheme”按照假设的长度 8截成两行,则相邻的字母组合有 lh , ae , tm 和 ee 。假如设想的 k 是正确的,则大部分设想的字母组合在密文中都会出现;如果搜索不到,则换一个 k再试。通过寻找各种可能性,破译者常常能够确定密钥的长度。

Page 57: 计算机网络

第三步是确定各列的顺序。 如果列数比较少的话,可以逐个检查( k ( k-

1 ))个列对,查看它们的二字母组的频率是否符合英文统计特征,与特征符合最好的列对认为其位置正确。

然后从剩下的列中寻找这两列的后继列,如果某列和这两列组合后,二字母组和三字母组的频率都很好地符合英文统计特征,那么该列就是正确的后继列。

通过同构法也可以找到它们的前趋列,直至最终将所有的列序全部找到。

Page 58: 计算机网络

密钥算法 在密码学中,加密和解密的密钥有两种截然不同的

实现方法,这就是秘密密钥算法和公开密钥算法。 秘密密钥算法 现代密码学也使用替代密码和换位密码的思想,但

和传统密码学的侧重点不同。传统密码学的加密算法比较简单,主要通过加长密钥长度来提高保密程度;而现代密码学正好相反,它使用极为复杂的加密算法,即使破译者能够对任意数量的选择明文进行加密,他也无法找出破译密文的方法。

Page 59: 计算机网络

电路实现

P盒

3|8译码器

8|3编码器

S盒

S1

S2

S3

S4

P1

S1

S2

S3

S4

P2

S1

S2

S3

S4

P3 P4

乘积系统

a( ) b( ) c( )

换位密码和替代密码可以用简单的电路来实现。

图( a )是一个实现换位密码的基本部件,称为 P盒( P-box ),它将输入顺序映射到某个输出顺序上,只要适当改变盒内的连线,它就可以实现任意的排列。

图( b )是一个实现替代密码的基本部件,称为 S盒( S-box ),它由一个3-8译码器、一个 P盒和一个 8-3编码器组成。一个 3比特的输入将选择 3-8译码器的一根输出线,该线经 P盒换位后从另一根线上输出,再经 8-3编码器转换成一个新的 3比特序列。将 P盒和 S盒相复合构成乘积密码系统,就可以实现非常复杂的加密算法。

图( c )是一个乘积密码系统的例子。一个 12比特的明文经第一个 P盒排列后,按 3比特一组分成 4 组,分别进入 4 个不同的 S盒进行替代,替代后的输出又经第二个 P盒排列,然后再进入 4 个 S盒进行替代,这个过程重复进行直至最后输出密文。只要级联的级数足够大,算法就可以设计得非常复杂。

Page 60: 计算机网络

密钥分发问题 秘密密钥的一个弱点是解密密钥必须和加密密钥相同,

这就产生了如何安全地分发密钥的问题。 传统上是由一个中心密钥生成设备产生一个相同的密钥对,并由人工信使将其传送到各自的目的地。

对于一个拥有许多部门的组织来说,这种分发方式是不能令人满意的,尤其是出于安全方面的考虑需要经常更换密钥时更是如此。

两个完全陌生的人要想秘密地进行通信,就必须通过实际会面来商定密钥,否则别无它法。

Page 61: 计算机网络

公开密钥算法 在公开密钥算法提出之前,所有密码系统的解密密钥和加密密钥都有很直

接的联系,即从加密密钥可以很容易地导出解密密钥,因此所有的密码学家理所当然地认为应对加密密钥进行保密。

Diffle 和 Hellman 提出了一种完全不同的设想,从根本上改变了人们研究密码系统的方式。

在 Diffie 和 Hel1man 提出的方法中,加密密钥和解密密钥是不同的,并且从加密密钥不能得到解密密钥。为此,加密算法 E 和解密算法 D 必须满足以下的三个条件:

① D ( E ( P )) =P ;② 从 E 导出 D非常困难;③ 使用”选择明文”攻击不能攻破 E 。 第一个条件是指将解密算法 D 作用于密文 E ( P )后就可获得明文 P 第二个条件是说不可能从 E 导出 D 第三个条件是指破译者即使能加密任意数量的选择明文,也无法破译密码。

如果能够满足以上三个条件,则加密算法完全可以公开。

Page 62: 计算机网络

Diffie 和 Hel1man 算法的基本思想 如果某个用户希望接收秘密报文,他必须设计两个算法:加密算法 E 和解密算法 D ,然后将加密算法放于任何一个公开的文件中广而告知,这也是公开密钥算法名称的由来,他甚至也可以公开他的解密方法,只要他妥善保存解密密钥即可。

当两个完全陌生的用户 A 和 B希望进行秘密通信时,各自可以从公开的文件中查到对方的加密算法。

若 A 需要将秘密报文发给 B , 则 A 用 B 的加密算法EB 对报文进行加密,然后将密文发给 B , B 使用解密算法 DB 进行解密,而除 B 以外的任何人都无法读懂这个报文;

当 B 需要向 A 发送消息时, B 使用 A 的加密算法 EA

对报文进行加密,然后发给 A , A利用 DA 进行解密。

Page 63: 计算机网络

在这种算法中,每个用户都使用两个密钥,其中加密密钥是供其他人向他发送报文用的,这是公开的,解密密钥是用于对收到的密文进行解密的,这是保密的。

通常用公开密钥和私人密钥分别称呼公开密钥算法中的加密密钥和解密密钥,以同传统密码学中的秘密密钥相区分。

由于私人密钥只由用户自己掌握,不需要分发给别人,也就不用担心在传输的过程中或被其他用户泄密,因而是极其安全的。

用公开密钥算法解决密钥分发问题: 中心密钥生成设备产生一个密钥后,用各个用户公开的加密算法对之

进行加密,然后分发给各用户,各用户再用自己的私人密钥进行解密,既安全又省事。

两个完全陌生的用户之间,也可以使用这种方法很方便地商定一个秘密的会话密钥。

Page 64: 计算机网络

RSA 算法 RSA 算法基于了一些数论的原理,在此不对它做理论上的推导,只说明如何使用这种算法。 ① 选择两个大素数 p 和 q (典型值为大于 10100 ); ② 计算 n= p×q 和 z=( p- 1 ) × ( q- 1 ); ③ 选择一个与 z 互质的数,令其为 d ; ④ 找到一个 e 使其满足 e×d=1 ( mod z )。

计算了以上参数后,就可以开始对明文加密。 首先将明文看成是一个比特串,将其划分成一个个的数据块 P且有 0≤

P< n 。要做到这一点并不难,只需先求出满足 2k< n 的最大 k 值,然后使得每个数据块长度不超过 k 即可。

对数据块 P 进行加密,计算 C=Pe ( mod n ), C 即为 P 的密文; 对 C 进行解密,计算 P=Cd ( mod n )。可以证明,对于指定范围内

的所有 P ,其加密函数和解密函数互为反函数。进行加密需要参数 e和 n ,进行解密需要参数 d 和 n 。所以公开密钥由( e , n )组成,私人密钥由( d , n )组成。

Page 65: 计算机网络

RSA 算法举例 假设取 p=3 , q= 11 计算出 n= p×q=33 和 z= (p-1) ×(q-1)=20 。由于 7 和 20没有公

因子,因此可取 d=7 ; 解方程 7e=1 ( mod 20 )可以得到 e=3 。 由此公开密钥为( 3 , 33 ),私人密钥为( 7 , 33 )。 假设要加密的明文为 M=4 ,则 C=Me ( mod n ) =43 ( mod 3

3 )= 31 ,于是对应的密文为 C= 31 。 接收方收到密文后进行解密,计算 M=Cd ( mod n )= 317 ( mo

d 33 ) =4 ,恢复出原文。 应该指出的是,虽然 RSA 算法具有安全方便的特点,但它的运行

速度太慢,因而通常只用来进行用户认证、数字签名或发送一次性的秘密密钥,数据的加密仍使用秘密密钥算法。

Page 66: 计算机网络

RSA 算法的安全性 建立在难以对大数提取因子的基础上,如果破译者能

对已知的 n 提取出因子 p 和 q 就能求出 z ,知道了 z和 e ,就能求出 d 。

所幸的是, 300多年来虽然数学家们已对大数的因式分解问题作了大量研究,但并没有取得什么进展,到目前为止这仍是一个极其困难的问题。

据 Rivest 等人的推算,用最好的算法和指令时间为 1微秒的计算机对一个 200位的十进制数作因式分解需要 40亿年的机器时间,而对一个 500位的数作因式分解需要 1025 年。即使计算机的速度每 10 年提高一个数量级,能作 500位数的因式分解也是在若干世纪之后,然而到那时,人们只要选取更大的 p 和 q 就行了。

Page 67: 计算机网络

用户认证

通信双方在进行重要的数据交换前,常常需要验证对方的身份,这种技术称为用户认证。

在实际的操作中,除了认证对方的身份外,同时还要在双方间建立一个秘密的会话密钥,该会话密钥用于对其后的会话进行加密。

每次连接都使用一个新的随机选择的密钥,其目的在于防止网络入侵者收集足够数量的密文进行破译。

Page 68: 计算机网络

使用共享秘密密钥进行用户认证 假设在 A 和 B之间有一个共享的秘密密钥 KAB 。

某个时候 A希望和 B 进行通信,于是双方采用图 10.13 所示的过程进行用户认证。

首先 A 向 B 发送自己的身份标识; B 收到后,为了证实确实是 A 发出的,于是选择一个随机的大数 RB ,用明文发给 A ;

A 收到后用共享的秘密密钥 KAB 对 RB 进行加密,然后将密文发回给 B , B 收到密文后确信对方就是 A ,因为除此以外无人知道密钥 KAB ;

但这时 A尚无法确定对方是否为 B ,所以 A 也选择了一个随机的大数 RA ,用明文发给 B ; B收到后用 KAB 对 RA 进行加密,然后将密文发回给 A , A 收到密文后也确信对方就是 B ;

至此用户认证完毕。 如果这时 A希望和 B建立一个秘密的会话密钥,

它可以选择一个密钥 KS ,然后用 KAB 对其进行加密后发送给 B ,此后双方即可使用 KS 进行会话。

图 10.13 使用共享秘密密钥进行用户认证

A B

1

2

3

4

5

A

RB

KAB(RB)

RA

KAB(RA)

Page 69: 计算机网络

使用密钥分发中心的用户认证协议 要求通信的双方具有共享的秘密密钥有时是做

不到的,比如在两个陌生人之间。另外如果某个用户要和 n 个用户进行通信,就需要有 n 个不同的密钥,这给密钥的管理也带来很大的麻烦。

解决的办法是引进一个密钥分发中心( Key Distribution Center , KDC )。 KDC 是可以信赖的,并且每个用户和 KDC间有一个共享的秘密密钥,用户认证和会话密钥的管理都通过KDC 来进行。

Page 70: 计算机网络

KDC举例 如图 10.14 所示。 A希望和 B 进行

通信 A选择一个会话密钥 KS然后用与 K

DC 共享的密钥 KA 对 KS 和 B 的标识进行加密,并将密文和 A 的标识一起发给 KDC ;

KDC 收到后,用与 A 共享的密钥 KA ,将密文解开,此时 KDC可以确信这是 A 发来的,因为其他人无法用 KA 来加密报文;然后 KDC重新构造一个报文,放入 A 的标识和会话密钥 KS ,并用与 B 共享的密钥 KB ,加密报文,将密文发给 B ;

B 用密钥 KB 将密文解开,此时 B可以确信这是 KDC 发来的,并且获知了 A希望用 KS 与它进行会话。

图 10.14 一个用 KDC 进行用户认证的协议

A,KA(B,KS)

KB(A,KS)

A BKDC

1

2

重复攻击问题:假如有个 C ,当他为 A 提供了一定的服务后,希望 A 用银行转账的方式支付他的酬金,于是 A 和 B (银行)建立一个会话,指令 B 将一定数量的金额转至 C 的账上。这时 C 将 KDC 发给 B 的密文和随后 A 发给 B 的报文复制了下来,等会话结束后, C 将这些报文依次重发给 B , 而 B 无法区分这是一个新的指令还是一个老指令的副本,因此又将相同数量的金额转至 C 的账上,这个问题称为重复攻击问题。为解决这个问题,可以在每个报文中放一个一次性的报文号,每个用户都记住所有已经用过的报文号,并将重复编号的报文丢弃。另外还可以在报文上加一个时间戳,并规定一个有效期,当接收方收到一个过期的报文时就将它丢弃。

Page 71: 计算机网络

使用公开密钥算法的用户认证协议 如图 10.15 所示。 A选择一个随机数 RA ,用 B 的公开密钥 EB ,对 A 的标识符和 RA 进行加密,将密文发给 B ,

B解开密文后不能确定密文是否真的来自 A ,于是它选择一个随机数 RB

和一个会话密钥 KS ,用 A 的公开密钥 EA 对 RA , RB 和 KS 进行加密,将密文发回给 A ;

A解开密文,看到其中的 RA 正是自己刚才发给 B 的,于是知道该密文一定发自 B , 因为其他人不可能得到R RA ,并且这是一个最新的报文而不是一个复制品,于是 A 用 KS 对 RB进行加密表示确认;

B解开密文,知道这一定是 A 发来的,因为其他人无法知道 KS 和 RB 。

图 10.15 使用公开密钥进行用户认证

A B

1

2

3

EB(A,RA)

EA(RA,RB,KS)

KS(RB)

Page 72: 计算机网络

数字签名 在许多情况下,文件是否真实有效要取决于

是否有授权人的亲笔签名,但在使用计算机进行信息处理时,手迹签名显然是行不通的,必须使用数字形式的签名来解决。一个可以替代手迹签名的系统必须满足以下三个条件:

① 接收方通过文件中的签名能认证发送方的身份;② 发送方以后不能否认发送过签名文件;③ 接收方不可能伪造文件内容。

Page 73: 计算机网络

三个条件是必需 假设一个股民委托他的股票经纪人代为炒股,并指令当他所持的股票达到某个价位时,立即全部抛出。

股票经纪人首先必须认证该指令确实是由该客户发出的,而不是其他什么人在伪造指令,这就需要第一个条件。

假定股票刚一卖出,股价立即猛升,该客户后悔不己,如果该客户是不诚实的,他可能会控告股票经纪人,宣称他从未发出过任何卖出股票的指令,这时股票经纪人可以拿出有他自己签名的委托书作为最有力的证据,所以第二个条件也是必需的。

另一种可能是股票经纪人玩忽职守,当股票价位合适时没有立即抛出,不料此后股价一路下跌,客户损失惨重,为了推卸责任,股票经纪人可能试图修改委托书,修改成客户要求在某一个更高价位上(实际上该价位不可能达到)卖出股票,否则不卖等等,为了保障客户的权益,需要第三个条件。

Page 74: 计算机网络

使用秘密密钥算法的数字签名 这种方式需要一个可以信赖的中央权威机构( Centra1 Authority ,以下简称 CA )的参与,每

个用户事先选择好一个与 CA 共享的秘密密钥并亲自交到 CA ,以保证只有用户和 CA 知道这个密钥。

除此以外, CA 还有一个对所有用户都保密的秘密密钥 KCA 。

当 A想向 B 发送一个签名的报文 P 时,它向 CA 发出 KA ( B , RA , t , P ),其中 RA 为报文的随机编号, t 为时间戳;

CA 将其解密后,重新组织成一个新的密文 KB ( A , RA , t , P , KCA ( A , t , P ))发给 B ,因为只有 CA 知道密钥 KCA ,因此其他任何人都无法产生和解开密文 KCA ( A , t ,P );

B 用密钥 KB解开密文后,首先将 KCA ( A , t , P )放在一个安全的地方,然后阅读和执行P 。

B

A,KA(B,RA,t,P)

ACA

KB(A,RA,t,p,KCA(A,t,P))

Page 75: 计算机网络

验证 当过后 A试图否认给 B 发过报文 P 时, B可以出示 K

CA ( A , t , P )来证明 A确实发过 P ,因为 B 自己无法伪造出 KCA ( A , t , P ),它是由 CA 发来的,而 CA 是可以信赖的,如果 A没有给 CA 发过 P , CA 就不会将 P 发给 B ,这只要用 KCA 对 KCA ( A , t ,P )进行解密,一切就可真相大白。

为了避免重复攻击,协议中使用了随机报文编号 RA

和时间戳 t 。 B能记住最近收到的所有报文编号,如果 RA 和其中的某个编号相同,则 P 就被当成是一个复制品而丢弃,另外 B 也根据时间戳 t丢弃旧报文,以防止攻击者经过很长一段时间后,再用旧报文来重复攻击。

Page 76: 计算机网络

使用公开密钥算法的数字签名 使用秘密密钥算法的数字签名,需要

一个大家共同信赖的中央授权机构,而在实际中要找到这样一个机构是比较困难的,所幸的是使用公开密钥算法的数字签名可不受此条件的限制。

使用公开密钥算法的数字签名,其加密算法和解密算法 除了要满足 D ( E ( P )) = P 外, 还必须满足 E ( D ( P )) = P ,

这个假设是可能的,因为 RSA 算法就具有这样的特性。

数字签名的过程如图 10.17 所示,当A想向 B 发送签名的报文 P 时,它向B 发送 EB ( DA ( P )),由于 A 知道自己的私人密钥 DA 和 B 的公开密钥 EB ,因而这是可能的;

B 收到密文后,先用私人密钥 DB解开密文,将 DA ( P )复制一份放于安全的地方,然后用 A 的公开密钥 EA 将 DA ( P )解开,取出 P 。

A的私人密钥DA

A的公开密钥EA

B的公开密钥EB

B的私人密钥EB

DA(P) EA(DA(P)) DA(P)

P P

EB ( DA ( P ))

Page 77: 计算机网络

验证 当 A 过后试图否认给 B 发过 P 时, B可以出示 DA ( P )作为证

据,因为 B没有 A 的私人密钥 DA ,除非 A确实发过 DA ( P ),否则 B 是不会有这样一份密文的,只要用 A 的公开密钥 EA解开 DA

( P ),就可以知道 B说的是真话。 这种数字签名看上去很好,但在实际的使用中也存在一些问题,

这些问题不是算法本身的问题,而是和算法的使用环境有关。 首先只有 DA仍然是秘密的, B才能证明 A确实发送过 DA ( P ),如

果 A试图否认这一点,他只需公开他的私人密钥,并声称他的私人密钥被盗了,这样任何人包括 B都有可能发送 DA ( P );

其次是 A改变了他的私人密钥,出于安全因素的考虑,这种做法显然是无可非议的,但这时如果发生纠纷的话,裁决人用新的 EA去解老的DA ( P ),就会置 B 于非常不利的地位。

因此在实际的使用中,还需要有某种集中控制机制记录所有密钥的变化情况及变化日期。

Page 78: 计算机网络

报文摘要 有人对以上的签名方法提出批评,认为它们将认证和保密两种截然不同的功能混在了一起,有些报文只需要签名而不需要保密,将报文全部进行加密速度太慢也不必要。

为此有人提出一个新的方案,该方案使用一个单向的哈希( Hash )函数,将任意长的明文转换成一个固定长度的比特串,然后仅对该比特串进行加密。

这样的方法通常称为报文摘要( Message Digest , MD ),它必须满足以下三个条件:① 给定 P ,很容易计算出 MD ( P );② 给出 MD ( P ),很难计算出 P ;③ 任何人不可能产生出具有相同报文摘要的两个不同的报文。

为满足条件 3 , MD ( P )至少必须达到 128位,实际上有很多函数符合以上三个条件。

Page 79: 计算机网络

报文摘要 -CA 考虑图 10.16 的例子, CA解开密文后,首先计算出 MD ( P ),然后着手组织一个新

的密文,在新的密文中它不是发送 KCA ( A , t , P ),而是发送 KCA ( A , t , MD( P )),

B解开密文后将 KCA ( A , t , MD ( P ))保存起来。 如果发生纠纷, B可以出示 P 和 KCA ( A , t , MD ( P ))作为证据。因为 KCA ( A ,

t , MD ( P ))是由 CA送来的, B 无法伪造。 CA 用 KCA解开密文取出 MD ( P )后,可将哈希函数作用于 B 提供的明文 P ,然后判

断报文摘要是否和 MD ( P )相同。 因为条件 3保证了不可能伪造出另一个报文使得其报文摘要同 MD ( P )一样,因此只

要两个报文摘要相同,就证明了 B确实收到了 P 。

B

A,KA(B,RA,t,P)

ACA

KB(A,RA,t,p,KCA(A,t,P))

KCA ( A , t , MD ( P ))

Page 80: 计算机网络

报文摘要 - 公开密钥密码系统 在公开密钥密码系统中,使用报文摘要进行数字签名的过程如图 10.18 所示。

A 首先对明文 P , 计 算 出 MD( P ),然后用私人密钥对 MD( P )进行加密,连同明文 P 一起发送给 B ;

B 将 DA ( MD ( P ))复制一份放于安全的地方,然后用 A 的公开密钥解开密文取出 MD ( P )。

为防止途中有人更换报文 P , B 对P 计算报文摘要,如果结果同 MD( P )相同,则将 P 接收下来。

当 A试图否认发送过 P 时, B可以出示 P 和 DA ( MD ( P ))来证明自己确实收到过 P 。

A BP,BA(MD(P))

图 10.18 使用报文摘要的数字签名

P,DA ( MD ( P ))

Page 81: 计算机网络

10.4防火墙 防火墙( Firewall )是在两个网络之间执行访问控制策略的硬件或软件系

统,目的是保护网络不被他人侵扰。 本质上,它遵循的是一种数据进行过滤的网络通信安全机制,只允许授权

的通信,而禁止非授权的通信。 通常,防火墙就是位于内部网或Web 站点与因特网之间的一台路由器或

计算机。 通常,部署防火墙的理由包括:

防止入侵者干扰内部网络的正常运行; 防止入侵者删除或修改存储再内部网络中的信息; 防止入侵者偷窃内部的秘密信息。

部署防火墙应该满足以下规则: 所有进出网络的通信流都应该通过防火墙。 所有穿过防火墙的通信流都必须有安全策略和计划的确认和授权。

理论上说,防火墙是不会被攻破的。 防火墙不是万能的,它不能防范恶意的知情者和不通过它的连接,不能防止内

部人员的攻击,也不能防范病毒。

Page 82: 计算机网络

防火墙体系结构 1.双重宿主主机 双重宿主主机结构是围绕具有双重宿主的计算机而构筑的。

该计算机至少有两个网络接口,这样的主机可以充当与之相连的网络之间的路由器,并能够在网络之间转发 IP 数据包。

防火墙内部的网络系统能与双重宿主主机通信,同时防火墙外部的网络系统(在因特网上)也能与双重宿主主机通信。

通过双重宿主主机,防火墙内外的计算机便可进行通信了,但是这些系统不能直接互相通信,它们之间的 IP 通信被完全阻止(这意味着双重宿主主机具有两个不同的 IP地址,一个属于外网,另一个属于内网)。

双重宿主主机防火墙结构是相当简单的,双重宿主主机位于两者之间,并且被连接到因特网和内部的网络。图 10.20 显示了这种结构。

有时双重宿主主机也可以由一台路由器实现,由路由器的数据包过滤特性提供安全防护。

I nternet

防火墙(双重宿主主机)

工作站 工作站 工作站内部主机

内部网络

图 10.20 双重宿主主机防火墙的结构

Page 83: 计算机网络

2.内网过滤结构 内网过滤结构添加了额外的过滤路由器

和应用网关,更进一步地把企业网络与因特网隔离开。

内网过滤结构包含两个过滤路由器,每一个都连接到内部网络,一个位于内部网络与企业网络之间,另一个位于内部网络与外部网络之间。如果需要,还可以在内部网络上安装一个或多个针对某些特殊应用的应用网关( Application Gateway )。

过滤路由器的作用是检查每个进来或出去的分组,,只有满足某种准则的分组才被转发,不满足条件的分组责备丢弃。

应用网关的主要功能是:接收进入( inbound )和出去( outbound )的应用层数据,对其内容进行分析,然后再根据安全策略决定是否将其送往指定的目的地。应用网关与过滤路由器相结合能够大大提高网络的安全性,但也牺牲了部分性能和使用的便利性。

I nternet

工作站 工作站 工作站内部主机

企业网络

外部路由器

内部路由器

应用网关防火墙

内部网络

Page 84: 计算机网络

包过滤 包过滤是防火墙最基本的实现方法,它控制哪些数据包可以进出网络而哪些数据包应被网络拒绝。包过滤防火墙通常是放置在因特网与内部网络之间的一个具备包过滤功能的简单路由器,这是因为包过滤是路由器的固有属性。

路由器能够打开数据包获得有关网络层的信息。根据这些信息和预先定义的规则,路由器就能对流经过它数据包进行过滤。

包过滤可依据以下几类条件允许或阻止数据包通过路由器: 包的源地址及源端口; 包的目的地址及目的端口; ICMP消息类型; 包的传送协议,如 FTP 、 SMTP 、 rlogin 等; 使用 TCP SYN或 ACK位建立连接时的数据报。

例如,包过滤能让我们实施类似以下情况的控制: 不让任何用户从外部网使用 Telnet登录内部服务器; 允许任何外部网络用户使用 SMTP 协议往内部网发电子邮件; 只允许外部网络用户访问内部网的 WWW 服务器,而不允许访问数据库服务器。

包过滤不能对包中的应用数据进行过滤。例如,下述操作是包过滤所不能实现的: 允许某个用户从外部网用 Telnet登录而不允许其它用户进行这种操作。 允许用户传送MS Word文件而不允许用户传送MP3文件。 禁止传输含有公司机密信息的 JPEG图像文件。

Page 85: 计算机网络

包过滤的优缺点 优点:

简单、易于实现、对用户透明、路由器免费提供此功能。 仅用一个放置在内部网与因特网边界上的包过滤路由器就可保护整个内部网络。

缺点: 编制逻辑上严密无漏洞的包过滤规则比较困难,对编制好的规则进行测试也较麻烦。

维护复杂的包过滤规则也是一件很麻烦的事情,网络管理员必须根据防火墙的包过滤规则理解和评估网络每天的变化。如果网络中增加了一台服务器又没有加入保护它的包过滤规则,可能它就会成为黑客的攻破点。

包过滤规则的判别会降低路由器的转发速度,规则集越大,判别过程花的时间就越多,何况随着时间的推移,规则集还会不断增长。

它总是假定包头部信息是合法有效的。实际上包头部信息很容易被精通网络的人篡改,使得包过滤器认为包是来自合法的用户。例如,入侵者总是把他们伪装成来自于内部网。

以上这些缺点使得包过滤技术通常不单独使用,而是作为其他安全技术的一种补充。

Page 86: 计算机网络

包过滤规则 在配置包过滤路由器时,首先要确定哪些服务允许通过而哪些服

务应被拒绝,并将这些规定翻译成有关的包过滤规则(在路由器中,包过滤规则又被称为访问控制表( Access List ))。

下面给出将有关服务翻译成包过滤规则时非常重要的几个概念。 协议的双向性。

协议总是双向的,协议包括一方发送一个请求而另一方返回一个应答。在制定包过滤规则时,要注意包是从两个方向来到路由器的。

“往内”与“往外”的含义。 在制定包过滤规则时,必须准确理解“往内”与“往外”的包和“往内”与“往外”的服务这几个词的语义。

“默认允许”与“默认拒绝”。 网络的安全策略中的有两种方法:默认拒绝(没有明确地被允许就应

被拒绝)与默认允许(没有明确地被拒绝就应被允许)。从安全角度来看,用默认拒绝应该更合适。

Page 87: 计算机网络

包过滤处理流程

Page 88: 计算机网络

设计示例 假设网络策略安全规则确定:从外部主机发来的因特网邮件由特定网关“Mail-GW” 接收,

并且要拒绝从不信任的主机“ CREE-PHOST” 发来的数据流。在这个例子中, SMTP 使用的网络安全策略必须翻译成包过滤规则。为便于理解,把网络安全规则翻译成下列中文形式:

[ 过滤器规则 1] :不相信从 CREE-PHOST 来的连接。 [ 过滤器规则 2] :允许与邮件网关 Mail-GW 的连接。 这些规则被编成表 10.1 的形式。其中星号( * )表明它可以匹配该列的任何值。 对于过滤器规则 1 ,阻塞任何( * )从 CREE-PHOST 来的到本地任意( * )主

机的任意( * )端口的连接。对于过滤器规则 2 ,允许任意( * )外部主机从其任意( * )端口到 Mail-GW 主机端口的连接。对于过滤器规则 3 ,表示允许任意内部主机发送邮件到任意外部主机的端口 25 。

序号 动作 内部主机 内 外部主机 外 说明

1 阻塞 * * Cree-phost * 阻塞来自CREE-PHOST流量

2 允许 Mail-GW 25 * * 允许邮件网关Mail-GW的连接

3 允许 * * * 25 允许输出SMTP至远程邮件网关

Page 89: 计算机网络

讨论 这些规则应用的顺序与它们在表中的顺序相同。如果一个包不与任何

规则匹配,它就会遭到拒绝。 从以上示例可知过滤办法有依据地址进行过滤和依据服务进行过滤。 最简单的方法是依据地址进行过滤。用地址进行过滤可以不管使用什

么协议,仅根据源地址 / 目的地址对流动的包进行过滤。我们可用这种方法只让某些被指定的外部主机与某些被指定的内部主机进行交互。还可以防止黑客伪装成来自某台合法主机,而其实并非来自于那台主机,对网络进行侵扰。

依据服务进行过滤主要是依据源端口来过滤,依据源端口来过滤必须有个前提,提供端口号的机器必须是真实的。如果入侵者已经具有最高权限,完全控制了这台机器,那他就可随意在这台机器上做任何事情,也就等于在能够在包过滤规则的端口上运行任意的客户程序或服务器程序。所以,源主机提供的源地址有时是不可信的,因为那台主机很可能就是伪装的入侵者。

Page 90: 计算机网络

选择防火墙的原则 设计和选用防火墙

首先要明确哪些数据是必须保护的,这些数据的被侵入会导致什么样的后果及网络不同区域需要什么等级的安全级别。不管采用原始设计还是使用现成的防火墙产品,对于防火墙的安全标准,首先需根据安全级别确定。

其次,设计或选用防火墙必须与网络接口匹配,要防止你所能想到的威胁。防火墙可以是软件或硬件模块,并能集成于路由器和网关等设备之中。

选择防火墙的原则如下:1.防火墙自身的安全性

大多数人在选择防火墙时都将注意力放在防火墙如何控制连接以及防火墙支持多少种服务上,但往往忽略一点,防火墙也是网络上的主机设备,也可能存在安全问题。

防火墙如果不能确保自身安全,则防火墙的控制功能再强,也终究不能完全保护内部网络。

Page 91: 计算机网络

2.考虑特殊的需求( 1 ) IP地址转换( IP Address Translation )。

进行 IP地址转换有两个好处:其一是隐藏内部网络真正的 IP ,这可以使黑客无法直接攻击内部网络,但这要建立在防火墙自身安全性的基础上;另一个好处是可以让内部用户使用保留的 IP ,这对许多 IP 不足的企业是非常重要的。

( 2 )双重 DNS 。 当内部网络使用没有注册的 IP地址,或是防火墙进行 IP转换时, DNS 也必须经过转换。因为,同样的一个主机在内部的 IP 与给予外界的 IP 将会不同,有的防火墙会提供双重 DNS 有的则必须在不同主机上各安装一个 DNS 。

( 3 )虚拟企业网络( VPN )。 VPN可以在防火墙与防火墙或移动的 Client间建立一个虚拟通道,让两者间

感觉是在同一个网络上,可以安全且不受拘束地互相存取。 ( 4 )病毒扫描功能。

大部分防火墙都可以与防病毒防火墙配合实现病毒扫描功能。有的防火墙则可以直接集成病毒扫描功能。

( 5 )特殊控制需求。 有时候企业会有特别的控制需求,如限制特定使用者才能发送 E-mail , FTP只能得到档案不能上传档案,限制同时上网人数、使用时间等,依需求不同而定。

Page 92: 计算机网络

10.5 代理服务 代理服务就是指定一台有访问因特网能力的主机作为网络中客户

端的代理去与因特网中的主机进行通信。 代理服务器判断从客户端来的请求并决定哪些请求允许传送而哪

些应被拒绝。当某个请求被允许时,代理服务器就代表客户与真正的服务器进行交谈,并将从客户端来的请求传送给真实服务器,将真实服务器的回答传送给客户。

代理服务器作为内部网络用户的”代言人”,必须是用户网络中具有合法因特网 IP地址的主机。这意味着只有具有访问因特网能力的主机才可以作为代理服务器。同时,因为代理服务器的合法因特网 IP地址不属于内部网络,这样就使得内部网络完全被隐藏起来。

Page 93: 计算机网络

代理的工作过程

代理服务器

外部主机用户

感觉的连接实际的连接

优点 它使得一些不能访问因特网

的主机通过代理服务也可以完成访问因特网的工作。

缺点 代理服务速度落后于非代理

服务;每个代理服务要求不同的服务器;代理服务一般要求对客户或程序进行修改;代理服务不能消除由于协议本身缺点所造成的一些限制。

Page 94: 计算机网络

代理服务器分类 代理服务器可分为应用级与电路级代理、公共与专用代理服务器

和智能代理服务器。1.应用级与电路级代理

应用级代理在应用级别上对进出网络的信息的行为进行监视。它可以解释应用协议,因此应用级代理通常都是专用的。应用级代理的一个例子是病毒扫描器,它持续地监视从网络入侵的病毒程序,将它们拒之门外。而电路级代理通过接收拦截 TCP 连接请求,从得到的信息中判断它要与哪里继续进行连接。电路级代理不能解释应用协议。

2.公共与专用代理服务器一个专用代理服务器只适用于单个协议,而一个公共代理服务器则适

用多个协议。实际上专用代理服务器是应用级的,而公共代理服务器是属于电路级的。

3.智能代理服务器如果一个代理服务器不仅能处理转发请求,同时还能够做其它许多事情的话,这样的代理服务器就称为智能代理服务器。

Page 95: 计算机网络

10.6 网络病毒的防治 计算机病毒的防御对网络管理员来说是一个望而生畏的任务。特别是随着病毒编写者的水平越来越高,情况就变得更是如此。

目前,几千种不同的病毒不时地对计算机和网络的安全构成严重威胁。因此,了解和控制病毒威胁显得格外的重要,任何有关网络数据完整性和安全的讨论都应考虑到病毒。

由于计算机病毒是计算机信息安全的范畴,网络安全只涉及到一部分

什么是计算机病毒 计算机病毒是一种“计算机程序”,它不仅能破坏计算机系统,而且还能够传播、感染到其它系统。它通常隐藏在其它看起来无害的程序中,能复制自身并将其插入其它的程序中,执行恶意的行动。

Page 96: 计算机网络

计算机病毒分类( 1 )文件病毒。

该病毒在操作系统执行文件时取得控制权并把自己依附在可执行文件上,然后,利用这些指令来调用附在文件中某处的病毒代码。当文件执行时,病毒会调出自己的代码来执行,接着又返回到正常的执行系列。通常,这些情况发生得很快,以致于用户并不知道病毒代码已被执行。

( 2 )引导扇区病毒。 它会潜伏在磁盘的引导扇区或主引导记录中。此时,如果计

算机从被感染的磁盘引导时,病毒就会把自己的代码调入内存,并感染其它的磁盘。触发引导区病毒的典型事件是系统日期和时间。

( 3 )多裂变病毒。 多裂变病毒是文件和引导扇区病毒的混合种,它能感染可执

行文件,从而能在网上迅速传播蔓延。

Page 97: 计算机网络

( 4 )秘密病毒。 这种病毒通过挂接中断把它所进行的修改和自己的真面目隐藏起

来,具有很大的欺骗性。因此,当某系统函数被调用时,这些病毒便“伪造”结果,使一切看起来非常正常。秘密病毒的行为是伪造文件大小和日期,隐藏对引导区的修改,而且使大多读操作重定向。

( 5 )变异病毒。 这是一种能不断自行变异的病毒,随着感染时间的不同而具有不

同的形态,从而使传统的模式匹配法防病毒软件失效。( 6 )宏病毒。

宏病毒不只是感染可执行文件,它可以感染一般软件文件。虽然宏病毒不会有严重的危害,但它仍是令人讨厌的,因为它会影响系统的性能以及用户的工作效率。宏病毒对病毒而言是一次革命。现在通过 E-mail 、 WWW强大的互联能力及宏语言的进一步强化,极大地增强了它的传播能力。

Page 98: 计算机网络

宏病毒及网络病毒

宏病毒 宏,就是软件设计者为了在使用软件工作时,避免一再的重复相同的动作而设计出来的一种工具。它利用简单的语法,把常用的动作写成宏,当再工作时,就可以直接利用事先写好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作。

“宏病毒”,就是利用宏命令编写成的具有复制、传染能力的宏。

宏病毒是一种新形态的计算机病毒,也是一种跨平台的计算机病毒,可以在 Windows 9X 、 Windows NT 、OS/2 和 Macintosh System 7 等操作系统上执行病毒行为。

Page 99: 计算机网络

2.网络病毒 计算机网络的主要特点是资源共享。一旦共享资源感染病毒,网

络各结点间信息的频繁传输会把病毒传染到所共享的机器上,从而形成多种共享资源的交叉感染。病毒的迅速传播、再生、发作将造成比单机病毒更大的危害。因此,网络环境下病毒的防治就显得更加重要。

病毒入侵网络的主要途径是通过工作站传播到服务器硬盘,再由服务器的共享目录传播到其它工作站。 用户直接从文件服务器复制已感染的文件到本地并执行它时,病毒就会感染本机器上的其它文件。文件病毒也可以通过因特网毫无困难地发送,此时因特网是文件病毒的载体。

电子邮件在因特网中的应用极为广泛,因此现在大多数的网络病毒都通过电子邮件系统进行传播。

特别是很多病毒都隐藏在邮件的附件中,而附件只是作为邮件的数据被携带并且不同的系统使用的编码格式也各不相同,因此传统的杀毒软件往往不能查杀电子邮件病毒,而必须采用具有邮件扫描功能的防病毒软件。

Page 100: 计算机网络

防治办法 通过采取技术上和管理上的措施,计算机病毒

是完全可以防范的。 面前最有效的防治办法是购买商业化的病毒防御解决方案及其服务,享受专业公司提供的不断升级的防病毒产品及服务。

较为成熟的方案和产品有诺顿多层次病毒防御方案、 KV 系列防病毒软件、金山系列防病毒软件和瑞星系列防病毒软件等。

Page 101: 计算机网络

小 结

网络管理 网络安全 * 密码学 防火墙 代理服务 网络病毒的防治

Page 102: 计算机网络

作 业

1 、 2 、 3 、 4 、 9 、 11 、 13 、 16 、 17 、 20