您的位置:首页 > 理论基础 > 计算机网络

《计算机网络体系结构》学习笔记之 第十章 网络管理与安全

2010-08-15 18:49 453 查看
•课前索引
[课前思考]
1. 如果对计算机网络不采取任何管理措施将会怎样?
2. 如果让你来管理一个局域网,你会采取什么样的措施?
3. 你认为给别人发电子邮件安全吗?
4. 数字签名与实际的签名是一回事吗?
5. 防火墙是用来防火的吗?
[学习目标]
理解网络管理的概念,初步掌握SNMP协议的基本内容,包括管理信息库MIB、协议数据单元和管理信息结构。了解RMON的概念。掌握数据加密模型,了解DES和RSA,了解鉴别和数字签名的概念。理解防火墙的概念和体系结构。
[学习指南]
认真学习本章内容。关于加密部分可参考专著加深了解。阅读有关期刊、杂志中关于网络安全和防火墙等方面的文章以加深认识和掌握较新动态。
[难重点]
本章中,需要重点掌握的内容有:网络管理的内容,SNMP的基本概念和其体系机构与功能、数据加密模型、常规密钥密码体制、公开密钥密码体制、鉴别与数字签名、防火墙等。

•第一节网络管理概念与功能
一、网络管理的基本概念
计算机网络管理开始于1969年ARPANET诞生之日,并且随着计算机和通信技术的发展而发展。现在,一个有效、实用的网络一刻也离不开网络管理。
目前,网络管理还没有精确的定义。
狭义的网络管理仅仅指网络的通信量(traffic)管理。
广义的网络管理指网络系统的管理。
网络管理的功能可概括为OAM&P:
运行--Operation,包括网络的计费和通信量管理。
处理--Administration,包括从收集和分析设备利用率、以及设备利用率等数据,直到作出相应的控制,以优化网络资源的使用效率等各个方面。
维护--Maintenance,包括报警和性能监控、测试和故障修复等。
服务提供--Provisioning,包括向用户提供新业务和通过增加网络设备和设施来提高网络性能。
实际上,网络管理的范围还可以扩大到网络中通信活动与资源的规划(Planning)和组织。因为如果某个网络不能很好地规划和组织,那就根本谈不上对它的监测、计费和控制。
由于各厂商网络管理产品往往无法对其他厂商的产品进行管理,因此,网络管理需要标准化。使用标准化的管理软件可以大大降低网管的成本,同时也简化了管理操作。
下面对有关网络管理的文献中常用的一些术语进行简要说明:
•网络元素(network element)
又称为网元,指网络中具体的通信设备或逻辑实体。如网络中的交换机、路由器等
•对象(object)
指在通信和信息处理范畴中可标识的且拥有一定信息特性的资源。注意,这里所用"对象"与面向对象系统中所定义的对象不完全一样。
•被管对象(managed object)
指可使用管理协议进行管理和控制的网络资源的抽象表示。例如,指一个层的实体,一个连接等都可为被管对象。
•管理信息库MIB(Management Informaiton Base)
是网络管理系统中的重要构件,由系统内多个被管对象及其属性组成。它实际上是一个虚拟数据库。该数据库能提供有关被管理的网络元素的信息,这些信息可以被各管理进程或代理进程共享。
•综合网络管理INM(Integrated Network Management)
即用统一的方法在异构网络中管理多个厂商生产的软硬件资源,也被称为一体化网络管理。
目前的网络管理中广泛使用下图10.1所示管理模式。在被管系统中,直接管理被管对象的是代理进程(agent),简称为代理;起核心作用是管理进程(manager)。管理进程利用通信手段,通过代理来管理各被管对象。管理进程与代理进程的通信关系通常采用客户/服务器模式。

图10.1 网络管理模式
网络管理的要求
(1) 要有比较强的协议适应性
(2) 要有尽可能大的管理范围但尽可能小的系统开销
(3) 要能同时具有监视和控制两方面的能力
(4) 要具有足够的包容度
(1)要有比较强的协议适应性
这有两方面的含义:一方面,网管系统应能管理网络中尽可能多的协议层次,因为网络系统本身就是按分层体系结构设计的,各个层次都有该层的协议,能管理的层次越多,就越能深入而全面地管理网络的运行状态。另一方面,网管系统应能管理网络中尽可能多的协议体系,这在互连网络中显得尤其重要。现代的网络操作系统在这方面解决得较好,例如Windows NT的网络平台就集成了诸如TCP/IP、IPX/SPX和NetBEUI等多种网络协议。因此对于这样的多协议操作环境下的网管系统,必然也要提出同样的要求。
(2)要有尽可能大的管理范围但尽可能小的系统开销
所谓管理范围,除了指上述的协议层次方面,同时也包括管理所涉及的各种方面。从一条点到点链路到一条端到端连接通路,从基本的网络设备到主机系统中的通信进程,它们的运行状态,都应纳入网络管理的范畴。但要指出的是,网管是OSI能力的扩展,它的管理对象只能是参与开放系统互连的资源,而不涉及一个设备的自治资源。
扩大管理的范围,必然以增加系统的开销为代价。这里所指的开销,一方面是指网络设施在参与较多的管理操作后对其运行效率的影响,另一方面是指管理信息的传输增加了网络的额外业务流,属于通信带宽开销。显然这种开销必须是合理的。
(3)要能同时具有监视和控制两方面的能力
网络监视功能是为了掌握网络的当前运行状态,通过采集所需的参数反映出来。网络控制功能则是能够发出指令性的信息来影响网络的运行状态,从而使得网络的有关部分能纠正不良的运行状态,保证网络性能维持最佳。所以这两方面能力的并存和协作是对网管系统的重要要求。例如,在故障管理中,网管系统一方面能及时发现和诊断出网络故障,同时还应能定位故障、隔离故障并最终排除故障。
(4)要具有足够的包容度
这项要求一方面是指网管系统对它的管理对象(如网络设备)的种类和型号要有包容度,另一方面是指一个网管系统要能容纳在辖区内可能存在的其他网管系统的并存,在互连网络中这种情况往往存在,各个子系统可能有各自的网管系统。一个功能强大的网管系统应能包容其他系统,并且不相互影响或能协调工作,从而形成更大范围内的网络管理和运行控制。
网络管理的功能域
ISO在ISO/IEC 7498-4文件中将开放系统的管理功能分成五个基本功能域,它们分别完成五个方面的网络管理功能,而其他管理功能,比如网络规划、网络管理者的管理等均不在这五个功能域之内。下面分别叙述这五个基本功能域。
•故障管理(Fault Management)
•配置管理(Configuration Management)
•计费管理(Accounting Management)
•性能管理(Performance Management)
•安全管理(Security Management)
(1)故障管理(Fault Management)
故障管理是网络管理功能中与故障检测、故障诊断、故障恢复或排除等措施有关的网管功能,其目的是保证网络能够提供连续、可靠的服务。
故障管理功能主要包括:检测被管对象的差错,或接收被管对象的差错事件报告;在紧急情况下启用备份设备或迂回路径,提供新的网络资源用于服务;创建和维护差错日志库,并对差错日志进行分析;进行诊断和测试,以追踪和确定故障位置、故障性质;通过对故障资源的更换、修复或其他恢复措施使其重新开始服务。
(2)配置管理(Configuration Management)
配置管理是网络管理的最基本功能,用来定义、识别、初始化、控制和监测通信网中的被管对象,改变被管对象的操作特性,报告被管对象状态的变化等。其目的是实现某个特定功能或使网络性能达到最佳。该功能需要监视和控制的内容包括:网络资源及其活动状态;网络资源之间的关系;新资源的引入和旧资源的删除等。
配置管理需要进行的操作内容包括:鉴别并标识辖区内的所有被管对象;设置被管对象属性的参数;处理被管对象之间的关系;改变被管对象的操作特性,报告被管对象的状态变化;动态地定义新的被管对象和删除已废除的被管对象等。
配置管理要求有配置信息数据库,不仅在管理中心必须要有,而且各个被管对象的设备中也要有这种数据库。配置信息数据库记录着关于网络(或设备)的配置关系和当前的状态值,依据这些信息,可以反映出网络中管理对象的关系和它们的运行状态,为其他管理功能提供基础信息来源。
(3)计费管理(Accounting Management)
计费管理随时记录网络资源的使用,目的是控制和监测网络操作的费用和代价。它可以估算出用户使用网络资源可能需要的费用,以及已经使用的资源。计费管理是网络系统向用户提供服务好坏的重要指标之一,而且也能让用户更好地使用网络提供的各种服务,提高网络系统的运营效益,即保护网络运营者和网络使用者双方的利益。网络管理者还可以规定用户可使用的最大费用,从而控制用户过多占用和使用网络资源。
计费管理功能应包括:统计网络的利用率等效益数据,以使网络管理者确定不同时期和时间段的费率;根据用户使用的特定业务在若干用户之间公平、合理地分摊费用;允许采用信用记帐方式收取费用,包括提供有关资源使用的帐单审查;当多个资源同时用来提供一项服务时,能计算各个资源的费用。
(4)性能管理(Performance Management)
性能管理以网络性能为准则收集、分析和调整被管对象的状态,其目的是使用最少的网络资源和具有最少的数据时延下,保证网络可以提供高可靠、高吞吐的通信能力。
网络性能管理的功能具体包括:从被管对象中收集与性能有关的参数信息;分析并统计被管对象的性能,对与性能有关的历史数据进行记录和维护;分析当前统计数据以及时检测性能故障,产生性能告警和事件报告;将当前统计数据的分析结果与历史模型比较以预测性能的长期变化;形成改进性能评价准则和性能门限;以保证网络性能为目的,对被管对象和被管对象组实施控制。
OSI性能管理标准定义了网络或用户对性能管理的需求以及度量网络或开放系统资源性能的准则,还定义了若干参数用于度量负载、吞吐量、资源等待时间、响应时间、传播时延、资源的可用性,以及表示服务质量变化的参数,从这些参数可以反映出网络的关键特性和运行情况。
性能管理域需要获得配置管理服务和故障管理服务的同时支持,才能完成对各种对象的参数收集和控制行为。
(5)安全管理(Security Management)
网络安全性是用户最为关心的问题,因此网络安全管理非常重要。网络中涉及的安全问题在前面已经从技术的角度作了叙述,现在从管理的角度来讨论安全问题。网络安全管理应包括授权机制、访问控制、加密和密钥的管理,以及维护和检查安全日志等。
具体来说,网络安全管理所涉及的内容有:与安全有关的信息发布,如密钥的分发和访问优先权设置等;与安全有关事件的通报,如网络出现非法侵入、无权用户的访问企图等,以及采用安全措施来保护数据和服务的正常访问和更新;与安全有关的服务和设施的创建、控制和删除;涉及到安全访问的网络操作事件的记录、维护和查阅等日志管理工作,以便进行安全追查等事后分析。
因为网络系统的安全问题与系统的其他管理构件(如上述的配置、计费、故障等管理)有密切关系,所以要实现对网络安全的控制与维护,安全管理设施往往要调用一些其他管理的服务功能。例如需要使用具有特殊权限的设备控制命令来实现加密操作;若发现安全管理故障时,需要向故障管理设施通报安全故障事件以便进行故障记录和故障恢复,还要接收计费管理设施发来的计费故障和访问故障事件通报,等等。
上述的五个管理功能简称为FCAPS,它们基本上覆盖了整个网络管理的范围。相比前面提出的OAM&P管理功能,二者只是考虑的角度不同而已。图10.2为二者的对应比较。

图10.2 OAM&P与FCAPS对应关系
二、SNMP协议的内容
1988年Internet体系结构委员会IAB公布了简单网络管理协议SNMP(Simple Network Management Protocol),很快得到了70多家厂商的支持,这样SNMP就成为事实上的网络管理标准。SNMP只是Internet网络管理标准中为解决网络管理的短期问题而提出的,Internet体系结构委员会还制定了一个从长远考虑的网络管理标准,这就是CMOT(Common Management information service and protocol Over TCP/IP),它使用了OSI的网络管理标准CMIS/CMIP,但其运行环境则是以TCP/IP为基础。它既可以利用面向连接的TCP服务,也可以在无连接的UDP支持下工作,目前CMOT还远未达到实用阶段。
SNMP很适合在多厂商系统的互连网环境中使用,能实时地监测和维护从小型的局域网到大型的互联网。在网络正常运行时,它能提供统计、配置和测试手段;而当网络出现故障或异常时,它又能提供必要的差错检测和恢复功能。SNMP是基于TCP/IP的网络管理协议,也能扩展到其他类型的网络设备上。
SNMP的体系结构包括三个主要部分,即管理信息结构SMI、管理信息库MIB和SNMP协议本身。SMI定义每一个被管对象的信息,以及如何用ASN.1(抽象语法记法1)描述这些信息在管理信息库中的表示。MIB是存储各个被管对象的管理参数的数据库。SNMP提供在网管工作站与被管对象的设备之间交换管理信息的协议。
SNMP协议使用户能够通过轮询、设置一些关键字和监视一些网络事件来达到网络管理目的。它工作在TCP/IP协议体系中的UDP协议上。在SNMP应用实体间通信时无需先建立连接,虽然对报文正确到达不作保证,但这样降低了系统开销。

图10.3 SNMP典型配置
图10.3是使用SNMP的典型配置。整个系统必须有一个管理站(management station),实际上就是网控中心。在管理站上运行管理进程。在每一个被管对象中一定要有代理进程。管理进程和代理进程利用SNMP报文进行通信。上图中有两个主机和一个路由器。
有些网络管理协议无法控制某些网络元素。例如,该网络元素使用的是另一种网络管理协议。这时可以使用委托代理(proxy agent)。委托代理能提供包括协议转换和过滤操作的汇集功能。然后通过委托代理来对被管对象进行管理。图10.4表示委托管理的配置情况。

图10.4 委托管理
管理信息库MIB
管理信息库MIB指明了网络元素所维护的变量。MIB给出了一个所有可能的被管理对象的数据结构。SNMP的管理采用和域名系统DNS类似的树状结构。它的根在最上面,根没有名字。图10.5所示为MIB的一部分,又被称为对象命名树(object naming tree

图10.5 对象命名树
对象命名树的顶级对象有三个,都是世界上著名的标准制订单位:ISO、CCITT(现已是ITU-T)和这两个组织的联合体。在ISO的下面有4个节点,其中的一个是被标识的组织(标号为3)。在其下面有一个美国国防部(DoD,Department of Defense)的子树(标号为6),其下就是Internet(标号为1)。在指Internet中的对象时,可只画Internet以下的子树,并在Internet结点旁加注{1.3.6.1}即可。
在Internet结点下面的第二个结点是mgmt(管理),标号为2。再下面是管理信息库,原先的结点名是mib。1991年定义了新版本MIB-II,命名树上的名现改用mib-2,其标识为{1.3.6.1.2.1}或{internet(1).2.1}。这种标识称为对象标识(Object Identifier)。
最初的结点mib将其所管理的信息分为8个类别,见下表。现在mib-2所信息类别已超过40个。
表10.1 mib的信息类别
类别 标号 所包含的信息
system
interfaces
address translation
ip
icmp
tcp
udp
egp (1)
(2)
(3)
(4)
(5)
(6)
(7)
(8) 主机或路由器的操作系统
各种网络接口
地址转换(例如ARP映射)
IP软件
ICMP软件
TCP软件
UDP软件
EGP软件
表中列举的大多数项目的值可用一个整数来表示。但MIB也定义了更复杂的结构。例如,MIB变量ipRoutingTable指明一个路由器的选路表。还有其他一些MIB变量定义了选路表项目的内容,并允许网络管理协议引用各个项目的数据。当然,MIB变量只给出了每个数据项的逻辑定义,而一个路由器使用的内部数据结构可能与MIB的定义不同。当一个查询到达路由器时,路由器上的代理软件负责MIB变量和路由器用于存储信息的数据结构之间的映射。
表10.2 mib2的信息类别
MIB变量 所属类别 意义
sysUpTime
ifNumber
ifMtu
ipDefaultTTL
ipInReceives
ipForwDatagrams
ipOutNoRoutes
ipReasmOKs
ipFragOKs
ipRoutingTable
icmpInEchos
tcpRtoMin
tcpMaxConn
tcpInSegs
udpInDatagrams
egpInMsgs system
interfaces
interfaces
ip
ip
ip
ip
ip
ip
ip
icmp
tcp
tcp
tcp
udp
egp 距上次重启动的时间
网络接口数
对某特定接口的最大传送单元MTU
IP在寿命字段中使用的值
接收到的数据报数目
转发的数据报数目
选路失败的数目
重新组装的数据报数目
分片的数据报数目
IP选路表
收到的ICMP回送请求数目
TCP允许的最小重传时间
允许的最大TCP连接数目
已收到的TCP报文段数目
已收到的UDP数据报数目
已收到的EGP报文数目
这里要提一下MIB中的对象{1.3.6.1.4.1},即enterprises(企业),其所属结点数已超过3000。例如,IBM为{1.1.3.6.1.4.1.2},Cisco为{1.1.3.6.1.4.1.9},Novell为{1.1.3.6.1.4.1.23}等。世界上任何一个公司、学校只要用电子邮件发往iana-mib@isi.edu进行申请即可获得一个结点名。这样,各厂家就可以定义自己的产品的被管对象名,使它能用SNMP进行管理。
SNMP的5种协议数据单元
SNMP规定了5种协议数据单元(也就是SNMP报文),用来管理进程和代理之间的交换。实际上,SNMP的操作只有两种基本的管理功能,即:
(1) "读"操作,用get报文来检测各被管对象的状况;
(2) "写"操作,用set报文来控制各被管对象的状况。
SNMP的这些功能通过轮询操作来实现,即SNMP管理进程定时向被管理设备周期性地发送轮询信息。上述时间间隔可通过SNMP的管理信息库MIB来建立。轮询的好处是:第一,可使系统相对简单。第二,能限制通过网络所产生的管理信息的通信量。但轮询管理协议不够灵活,而且所能管理的设备数目不能太多。轮询系统的开销也较大。如轮询频繁而并未得到有用的报告,则通信线路和计算机的cpu周期就被浪费了。
但SNMP不是完全的轮询协议,它允许不经过询问就能发送某些信息;这种信息称为trap,即陷井,表示它能够捕捉事件。trap和一般的中断不同。使用一般的中断时,被管对象将中断信息发给网控中心,网控中心再对其作出反应。但中断使计算机的CPU承担可观的负担。因为每次中断都使用CPU周期。但这种信息的参数是受限制的。
这样,使用轮询(至少是周期性地)以维持对网络资源的实时监视,同时也采用trap机制报告特殊事件,使得SNMP成为一种有效的网络管理协议。
图10.6中,从协议的层次结构表示了SNMP的位置。

图10.6 SNMP在TCP/IP中的位置
SNMP共定义了表中所列5种类型的协议数据单元。
图10.7归纳了SNMP的5种报文的操作。在代理进程端是用熟知端口161来接收get或set报文,而在管理进程端是用熟知端口162来接收trap报文。
表10.3 SNMP的5种协议数据单元
PDU编号 PDU名称 用途
0 get-request 用来查询一个或多个变量的值
1 get-next-request 允许在一个MIB树上检索下一个变
量,此操作可反复进行
2 get-response 对get/set报文作出响应,并提供
差错码、差错状态等信息
3 set-request 对一个或多个变量的值进行设置
4 trap 向管理进程报告代理中发生的事件

图10.7 SNMP的5种报文
管理信息结构SMI
管理信息结构SMI(Structure of Management Information)是SNMP的另一个重要组成部分。为了使网络管理的协议简单SMI对MIB可使用的变量类型作了许多限制,因而产生了定义MIB变量类型的规则。这些规则称为SMI说明。
SMI标准指明了所有的MIB变量必须使用抽象语法记法1(ASN.1,Abstract Syntax Notation 1)来定义。ASN.1有两个主要特点:一个是人们阅读的文档中使用的,另一个是同一信息在使用的紧凑编码表示。这种记法使得数据的含义不存在任何可能的二义性。这里不对ASN.1做详细介绍。
SNMP主要有以下两方面缺点:
(1)它没有伸缩性
在大型的网络中,轮询会产生巨大的网络管理通信量,因而导致通信拥挤情况的发生。
(2)它将收集数据的负担加在网络管理控制台上
管理站也许能轻松地收集8个网段的信息,当它们监控48个网段时,恐怕就应付不下来。
三、RMON概念
RMON是一种在物理层自主监控LAN网段,并报告异常情况的网络管理协议。
Internet工程特别小组(IETF)于1991年11月公布RMON MIB来解决SNMP在日益扩大的分布式网络中所面临的局限性。RMON MIB的目的在于使SNMP更为有效更为积极主动地监控远程设备。
RMON MIB由一组统计数据、分析数据和诊断数据构成,利用许多供应商生产的标准工具都可以显示出这些数据,因而它具有独立于供应商的远程网络分析功能。RMON探测器和RMON客户机软件结合在一起在网络环境中实施RMON。RMON的监控功能是否有效,关键在于其探测器要具有存储统计数据历史的能力,这样就不需要不停地轮询才能生成一个有关网络运行状况趋势的视图。"RMON MIB功能组"功能框可以对通过RMOM MIB收集的网络管理信息类型进行描述。
遍布在LAN网段之中的RMON探测器不会干扰网络。它能自动地工作,无论何时出现意外的网络事件,它都能上报。探测器的过滤功能使它根据用户定义的参数来捕获特定类型的数据。当一个探测器发现一个网段处于一种不正常状态时,它会主动与在中心的网络管理控制台的RMON客户应用程序联系,并将描述不正常状况的捕获信息转发。客户应用程序对RMON数据从结构上进行分析来诊断问题之所在。
通过追踪谁与谁交谈,RMON可以帮助网管员确定如何最佳给他们的网络分段。网管员通过报告意外事,可以识别出占有最大带宽的用户;这些用户然后放置于各自的网段之中来尽可能减少他们对其它用户的影响。

•第二节网络安全概念
计算机网络面临的威胁多种多样,概括起来主要有以下几类:
(1)内部泄密和破坏
(2)截收
(3)非法访问
(4)破坏信息的完整性
(5)冒充
(6)破坏系统的可用性
(7)重演
(8)抵赖
(9)其他威胁
(1)内部泄密和破坏
内部人员可能对信息网络形成的威胁包括:内部泄密人员有意或无意泄密、更改记录信息;内部非授权人员有意偷窃机密信息、更改记录信息;内部人员破坏信息系统等。
(2)截收
网络攻击者可能通过搭线或在电磁波辐射范围内安装截收装置等方式,截获机密信息,或通过对信息流量和流向、通信频度和长度等参数的分析,推出有用信息。这种方式是过去军事对抗、政治对抗和当今经济对抗中最常采用的窃密方式,也是一种针对计算机通信网的被动攻击方式,它不破坏传输信息的内容,不易被察觉。
(3)非法访问
非法访问是指未经授权使用信息资源或以未授权的方式使用信息资源,它包括:非法用户(通常称为黑客)进入网络或系统,进行违法操作;合法用户以未授权的方式进行操作。
(4)破坏信息的完整性
网络攻击者可能从三个方面破坏信息的完整性:
•篡改--改变信息流的次序、时序、流向,更改信息的内容和形式;
•删除--删除某个消息或消息的某些部分;
•插入--在消息中插入一些信息,让接收方读不懂或接收错误的信息。
(5)冒充
网络攻击者可能进行的冒充行为包括:冒充领导发布命令、调阅密件;冒充主机欺骗合法主机及合法用户;冒充网络控制程序套取或修改使用权限、口令、密钥等信息,越权使用网络设备和资源;接管合法用户,欺骗系统,占用合法用户的资源。
(6)破坏系统的可用性
网络攻击者可能从以下几个方面破坏计算机通信网的可用性:使合法用户不能正常访问网络资源;使有严格时间要求的服务不能及时得到响应;摧毁系统等。
(7)重演
重演指的是攻击者截收并录制信息,然后在必要的时候重发或反复发送这些信息。例如,一个实体可以重发含有另一个实体鉴别信息的消息,以证明自己是该实体,达到冒充的目的。
(8)抵赖
可能出现的抵赖行为包括:发送信息者事后否认曾经发送过某条消息;发送信息者事后否认曾经发送过某条消息的内容;接收信息者事后否认曾经收到过某条消息;接收信息者事后否认曾经收到过某条消息的内容。
(9)其他威胁
对计算机通信网的威胁还包括计算机病毒、电磁泄漏、各种灾害、操作失误等。
计算机通信网的安全机制是对付威胁、保护信息资源的所有措施的总和,它涉及政策、法律、技术等多方面内容。其中,技术措施是最直接的屏障,它们在与威胁的对抗过程中,不断发展和完善。
OSI安全体系结构和Internet安全策略
OSI安全体系结构定义了网络安全的层次(ISO 7498-2),这个安全层次是与OSI/RM相对应的,也就是说,安全服务与实现的层次之间存在明确的关系。表10.4列出了每一层所能提供的安全服务类型,在表中有√记号的即表示该层应提供此安全服务。
表10.4 OSI安全体系结构中安全服务与层次
OSI层次
安全服务 1 2 3 4 5 6 7
对等协议实体鉴别 √ √ √
数据源鉴别 √ √ √
访问控制服务 √ √ √ √
连接保密 √ √ √ √ √
无连接保密 √ √ √ √
选择字段保密 √
分组流保密 √ √ √
可恢复连接完整性 √
无恢复连接完整性 √ √ √
选择字段连接完整性 √
无连接完整性 √ √ √
选择字段无连接完整性 √
数字签名 √
上表中,安全服务中的数据源鉴别是指在连接和传送数据时鉴别相应的协议实体的服务;访问控制用于防止未得到授权的人访问不应该访问的网络资源;连接保密、无连接保密、选择字段保密以及分组流保密这些服务都是用来防止未经许可暴露所传输的数据内容的;其他几种完整性服务主要用于防止他人利用网络修改传输数据,以保证发送和接收的数据安全一致;数字签名主要用于确认数据来源和接收。
但是,OSI的安全体系主要是针对网络协议的有关部分,这对于保证网络安全或者信息系统安全来说,可能是不完整的。而且,当前主要使用的网络系统是Internet或基于TCP/IP协议模型的Intranet等,因此,从Internet的角度考察网络安全就变得非常重要。
从整体上看,Internet网络安全策略可分为以下几个层次,即操作系统层、用户层、应用层、网络层(路由器)和数据链路层,如图10.8所示。

图10.8 Internet网络安全策略的五个方面
(1)操作系统层的安全
因为用户的应用系统都在操作系统上运行,而且大部分安全工具或软件也都在操作系统上运行,所以,操作系统的安全问题直接影响到网络安全。操作系统的安全策略主要在于用户口令的设置与保护、同一局域网内的共享文件和数据库的访问控制权限的设置等方面。
(2)用户层安全
用户层安全主要指他人冒充或用户通过网络进行有关活动而事后抵赖的问题。用户层的安全策略主要涉及对用户的识别、认证以及数字签名等方面。
(3)应用层安全
应用层安全与应用系统直接相关,它既包括不同用户的访问权限设置和用户认证、数据的加密与完整性确认,也包括对非法信息的过滤和防止代理服务器的信息转让等方面。
(4)网络层(路由器)安全
网络层的安全是Internet网络安全中最重要的部分。它涉及到三个方面。第一,IP协议本身的安全性。如果IP协议本身未加密,就使得人们非法窃取信息和口令等成为可能。第二是网管协议的安全性。正如在以上的网络管理中将介绍的,由于SMTP协议的认证机制非常简单,且使用未加保密的明码传输,这就存在人们通过非法途径获得SMTP协议分组并分析破解有关网络管理信息的可能性。第三个方面,也是最重要的方面,就是网络交换设备的安全性。交换设备包括路由器(router)和交换机(switch),由于Internet普遍采用无连接转发技术,且路由协议为动态更新的OSPF和RIP协议,这些协议动态更新每个装有这些协议的路由器的路由表。从而,一旦某一个路由器发生故障或安全问题,将迅速波及与路由器相关的整个Internet自治域。
(5)数据链路层的安全
数据链路层的安全主要涉及到传输过程中的数据加密以及数据的修改等问题。
一、数据加密模型
如果不论截取者获得了多少密文,但在密文中都没有足够的信息来唯一地确定出对应的明文,则这一密码体制称为无条件安全的,或称为理论上是不可破的。在无任何限制的条件下,目前几乎所有的密码体制均是可破的。因此,人们关心的是要研制出在计算上(而不是在理论上)是不可破的密码体制。如果一个密码体制中的密码不能被可以使用的计算资源破译,则这一密码体制称为在计算上是安全的。

图10.9 一般数据加密模型
明文X用加密算法E和加密密钥K得到密文Y=Ek(X)。在传送过程中可能出现密文截取者。到了收端,利用解密算法D和解密密钥K解出明文为Dk(Y)=Dk(Ek(X))=X。其中,截取者也可称为攻击者或入侵者。在这里,我们假定加密密钥和解密密钥都是一样的。但实际上,它们可以是不一样的(即使不一样,二者之间也具有某种关联性)。密钥通常是由一个密钥源提供。当密钥需要向远地传送时,一定要通过另一个安全信道。密码编码学是密码体制的设计学,而密码分析学则是在未知密钥的情况下,从密文推演出明文或密钥的技术。密码编码学与密码分析学合起来即为密码学。
早在几千年前人类就已经有了思想和方法。但直到1949年,创始人香农(C.E.Shannon)发表著名文"Communication Theory of Secrecy Systems",论证了一般经典加密方法得到的密文几乎都是可破的。密码学的研究曾面临着危机。但从20世纪60年代起,随着电子技术。计算技术的迅速发展以及结构代数。可计算性和计算复杂性理论等学科的研究,密码学又进入了一个新的发展时期。在20世纪70年代后期。美国的数据加密标准DES(Data Encryption Standard)和公开密钥密码体制(public key crypto-system)的出现,成为近代密码学发展史上的两个重要里程碑。
二、常规密钥密码体制
所谓常规密钥密码体制,即加密密钥与解密密钥相同的密码体制。
1.替代密码与转换密码
在早期的常规密钥密码体制中,有两种常用的密码,即替代密码和转换密码。
替代密码(substitution cipher)的原理可用一个例子来说明。例如,将字母a,b,c,d…,w,x,y,z的自然顺序保持不变,但使之与D,E,F,G,…,X,A,B,C分别对应(即相差3个)。若明文为caesar cipher,则对就的密文为FDHVDU FLSKHU(此时密钥为3)。由于英文字母中各字母的频度早已有人进行过统计,所以根据字母频度表可以很容易对这种替代密码进行破译。目前,替代密码只是复杂的编码过程中的一个中间步骤。
转换密码(transposition cipher)则是按照某一规则重新排列消息中的字符的顺序。例如,以CIPHER这个字为规则。我们注意到,在此密钥中的英文字母顺序,C为第1,E为第2,……,R为第6.于是得出密钥的顺序为145326。这就表示在形成密文时,首先读取第1列的字符,然后读取第5列、第4列、第2列、第3列和第6列。明文也以6个字符为一组写在密钥下,如:
密钥CIPHER
顺序145326(注:此顺序与密钥等价,但不如密钥便于记忆。)
明文attack
begins
at two(注:明文的意思是"二时开始进攻"。)
这样得出密文为abacnwaittettg kso。接收者按密钥中的字母顺序按列写下按行读出,即得明文。这种密码很容易破译,同样是作为加密过程中的中间步骤。
从得到的密文序列的结构来划分,则有序列密码与分组密码两种不同的密码体制。序列密码体制是将明文X看成是连续的比特流(或字符流)x1x2…,并且用密钥序列K=k1k2…中的第I个元素ki对明文中的xi进行加密,即
Ek(X)=Ek1(x1)Ek2(x2)…
图10.10给出了序列密码的框图。在开始工作时,种子I0对密钥序列产生器进行初始化。

图10.10 序列密码框图
ki,xi和yi均为1bit(或均为1个字符),并按照模2进行运算,得出:

在收端,对yi的解密算法为:

序列密码又称为密钥流密码。这种体制的保密性完全在于密钥的随机性。如果密钥是真正的随机数,则这种体制就是理论上不可破的。这也可称为一次一密乱码本体制。
严格的一次一密乱码本体制所需的密钥量不存在上限,很难实用化。密码学家就试图以某种方法模仿这种一次一密乱码本体制。目前常使用伪随机序列作为密钥序列。关键是序列的周期要足够长,且序列要有很好的随机性,这本身就很难实现。现在周期小于1010的序列很少被采用,而周期长达1050的序列也不罕见。这种伪随机序列一般用n级移位寄存器来构成。
另一种密码体制与序列密码不同。它将明文划分成固定的n数据组,然后以组为单位,在密钥的控制下,进行一系列的线性或非线性的变化而得到密文。这就是分组密码(block cipher)。图10.11为分组密码体制的框图。

图10.11 分组密码体制
分组密码一次变换一组数据。分组密码算法的一个重要特点就是:当给定一个密钥后,若明文分组相同,那么所变换出密文分组也相同。
分组密码的一个重要优点是不需要同步,因而在分组交换网中有着广泛的用途。分组密码中最有名的就是美国的数据加密标准DES和国际数据加密算法IDEA。
2.分组密码算法之一:数据加密标准DES
数据加密标准DES体制属于常规密钥密码体制。它由IBM公司研制,于1977年被美国定为联邦信息标准。
DES是一种分组密码。在加密前,先对整个明文进行分组。每一个组长为64位。然后对每个64位二进制数据进行加密处理,产生一组64位密文数据。最后将各组密文串接起来,即得出整个密文。使用的密钥为64位。实际密钥长度为56位,有8位用于奇偶校验。其加密算法如图10.12所示。

图10.12 DES加密算法
64位的明文X进行初始转换IP后得出X0,其左半边32位和右半边32位分别记为L0和R0,然后再经过16次迭代。如果用Xi表示第I次迭代结果,同时令Li和Ri分别Xi的左半边和右半边,则从上图可以看出:

式中I=1,2,…,16,而Ki是48位密钥,从原来的64位密钥经过若干次变换而得出。上面公式即为DES加密议程。每次迭代要进行函数f的变换、模2加运算以及左右半边交换。在最后一次迭代之后,左右半边没有交换。这是为了使算法既能加密又能解密。最后一次变换是IP的逆变换IP-1,其输入是R16L16。Y即为输出的密文。
DES加密中起关键作用的是函数f。它是一个复杂的变换,其具体细节不在这里详述。
解密过程和加密相似,但生成16个密钥的顺序正好相反。
上述过程的一个明显缺点就是它实际上是一种单字符替代,而这种字符的长度是64bit。因此,使用这种DES算法对相同的明文就会产生相同的密文。这不利于DES的安全性,为解决这个问题,可以采用加密分组链接的方法,见图10.13。

图10.13 加密(解密)的分组链接方法
上图中,a是加密过程。64bit的明文分组X0先和初始向量逐位进行民或运算,然后进行加密操作,得到密文Y0,再将Y0和下一明文分组X1进行异或运算后再加密,得出密文Y1,后面依次类推。可以看出,即使出现明文相同的分组,加密后得到的密文也是不一样的。这给攻击者的破译增加了难度。
上图b是解密过程。根据上面加密的方法可以类推出解密的步骤。
3.分组密码算法之二:国际数据加密算法IDEA
国际数据加密算法IDEA(International Data Encryption Algorithm)使用128位密钥,因而更不容易被攻破。其加密框图如图10.14所示。
IDEA和DES相似,也是先将明文划分成多个64bit长的数据分组,然后经过8次迭代和一次变换,得出64bit密文。如a所示。B为每一次迭代的运算步骤。

(a)IDEA采用8次

(b)每次迭代的计算
图10.14 IDEA加密框图
这里讨论一下密钥长度对破译密码的影响。若使用穷举法如表所示。就是按顺序从密钥空间取一个密钥,看能否将密文变成明文。如不能则再取下一个试。一般认为平均搜索密钥空间的一半即可找到密钥。
表10.5 IDEA密钥长度及破译时间关系
密钥长度
(bit) 密钥总数 破译时间
(搜索1次/μs) 破译时间
(搜索106次/μs)
128 2128=3.4×109 231μs=35.8分 2.15毫秒
56 256=7.2×1016 255μs=1142年 10.01小时
128 2128=3.4×1038 2127μs=5.4×1024年 5.4×1018年
由表中数字可以看出,若每微秒可搜索1百万次,则56位长的密钥就不能认为是安全的,但128位的密钥显然还是很安全的。
三、公开密钥密码体制
公开密钥密码体制的概念是由斯坦福大学的研究人员于1976年提出的。所谓公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种由已知加密密钥推导出解密密钥在计算上是不可行的密码体制。
公开密钥密码体制的产生主要是因为两个方面的原因,一是由于常规密钥密码体制的密钥分配问题,另一是由于对数字签名的需求。
公开密钥密码体制提出不久,人们就找到了三种公开密钥密码体制。它们是基于NP完全理论的Merkel-Hellman背包体制,基于数论中大数分解问题的RSA体制和基于编码理论的McEliece体制。背包体制提出不久,人们就研究出多种攻击方法,此后它就"衰落"了。McElicec体制需要几百万比特的数据来,并且有很大的数据扩展。另外,它与背包体制在结构上非常相似,因此也没有得到广泛的承认。目前,最著名的公开密钥密码体制就是RSA体制。它是由美国MIT的三位科学家于1976提出的并在1978年正式发表的。这一体制是被应用得最多的公开密钥密码体制。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
公开密钥算法的特点如下:
(1)发送者用加密密钥PK对明文X加密后,在接收者用解密密钥SK解密,即可恢复出明文,公式为:
Dsk(Epk(X))=X
解密密钥是专用的秘密密钥,对其他人都保密。此外,加密和解密的运算可以对调,即:
Epk(Dsk(X))=X
(2)加密密钥是公开的,但不能用它来解密,即
Dpk(Epk(X))!=X
(3)在计算机上可以容易地产生成对的PK和SK。
(4)从已知的PK实际上不可能推导出SK,即从PK到SK是"计算上不可能的"。
(5)加密和解密算法都是公开。
如下图10.15所示。

图10.15 公开密钥密码算法
RSA公开密钥密码体制
RSA 算法(以该算法的开发者Rivest、Shamir和Adleman命名)使用模运算和大数分解,即使EpK是已知的,该算法的密文也易于生成而难于破解。
加密
算法的部分理论基于数学中的数论,特别是著名的费马定理和欧拉定理这里不予讨论,仅举例介绍一下RSA算法的步骤。
1)为字母制定一个简单的编码,例如1到26分别对应于A到Z。
2)选择n,n为两个大的素数(除自身和1外,素数无因子)p和q的乘积。实际中,大的素数包括200或更多的位数。然而,为节省空间和精力,我们使用n=p×q=11×7=77。
3)找出一个数字k,k与(p-1)×(q-1)互为素数(若两数除1外无公因子,则互为素数)。本例中,我们选择k=7,与(p-1)×(q-1)=10×6=60互为素数。数字k就是加密密钥。你可能会问,我们总能找到有这种性质的数字k 吗?答案是肯定的。数论中一个著名结果证明了它。
4)将信息分成很多部分。一般地讲,为避免重复,每部分都包含很多字母。然而,在本例中,每部分只包含一个字母。若信息是"HELLO",则为H、E、L、L和O。
5)对每部分,将所有字母的二进制编码串接起来,并将比特串解释为整数。我们这里每部分只有一个字母。所以,整数为8、5、12、12和15(最初与字母对应的数字)。
6)将每个数字增大到它的k次方而加密。使用模n运算。本例中,这要求如下运算:
, , , , 结果就是加密信息。这里,计算结果分别为57、47、12、12和71。注意这里两个12表示重复字母。这是每部分只有一个字母的结果。若每部分包含多个字母,类似的重复就可避免。
解密
接收方接收到加密信息57、47、12、12和71,根据下列步骤解密。
1)找出一个数字k',使k×k'-1=0 mod(p-1)×(q-1)。这意味着k×k'-1可被(p-1)×(q-1)整除。k'的值就是解密密钥。
本例中,(p-1)×(q-1)=60,而k'=43即可。也就是,7×43-1=300可被60整除。你可能会再问,k'值总能找到吗?是的!数论中欧拉和费马的著名结论证明了这一点。
2)将从上述第6步中得到的加密数字增大到它的k'次方,并进行模n运算。结果就是第5步中的数字。本例中,要求下列运算:

结果为原来的数字:8、5、12、12和15。
使用前面的表示法, 和 ,所以有 。只要K和K'按所述选择,则 结果为x。对此的验证再次依赖于数论。
RSA算法的三位提出者用129位进进制数字模数n,并预言要经过40×1015年才能攻破。然而,最近一个世界范围的研究组在Internet上用1600台协同工作的计算机仅用了8个月就攻破了。这件事并不是说明RSA是不可靠的,而是告诉我们,在使用RSA加密时,必须选择足够长的密钥。对目前的计算机水平,一般认为只要选择1024位长的密钥就可以认为是无法攻破的。
RSA体制的保密性在于对大数进行因数分解很花时间。一个b位二进制n的因数分解大约需要机器周期数为: 。若机器同期为1微秒,则b为不同数值时分解 所需时间见下表。
表10.6 二进制数分解因式所需时间与数长度关系
b(bit) 100 200 300 500 750 1000
时间 30秒 3天 9年 1兆年 2×109年 6×1015年
四、鉴别与数字签名
1.鉴别
鉴别的目的是验明用户或消息的正身。
鉴别技术可以验证消息的完整性,有效地对抗冒充、非法访问、重演等威胁。
按照鉴别对象的不同,鉴别技术可分为消息源鉴别和通信双方相互鉴别。
按照鉴别内容的不同,鉴别技术可分为用户身份鉴别和消息内容鉴别。
鉴别的方法很多,例如,利用消息鉴别码(MAC)验证消息的完整性;利用通信字、物理钥匙、个人鉴别码(PAC)、生物特征(声纹、指纹、视网膜扫描、DNA信息)、卡(磁条卡、IC卡、CPU卡)、访问控制机制等鉴别用户身份,防止冒充、非法访问;利用时变量作为初始化向量,通过在消息中插入时变量、使用一次性口令等鉴别消息的时间性,防止重演等等。不过,当今最佳的鉴别方法是数字签名。
利用数字签名,可实现消息源鉴别、访问者身份鉴别、消息完整性鉴别。而且,利用收发双方数字签名,可同时实现收发双方身份鉴别、消息完整性鉴别。
2.数字签名
通信结束后,有时会发生抵赖事件,这在金融、商贸活动中特别常见,票据的收/发双方可能会为是否发送票据或者票据的内容是否属实发生争执,这时需要判定哪方在撒谎。目前,有一种非常有效的技术可以帮助我们做出这种判定(即抗抵赖),这就是数字签名。
现在实用的数字签名机制一般利用公开密钥算法实现。具体的实现方式如下所述。
当A方打算发一条消息x给B方并签名时,首先用他的秘密密钥Kd对x加密,得到签名 ,然后发送有序信息对(x,y)。B方收到(x,y)后,用A方的公开密钥Ke对y解密,得到 。x'与x完全相同的条件是:
•信息对(x,y)在传输过程中无任何变化,x或y的任何变化都会使 。
•y确实是用Kd对x加密得到的,Kd的任何变化都会使 。
因此,只要 ,就可以确定三件事:
•消息x确实由A方发来。
•签名y确实由A方生成。
•B方收到的消息是完整的。
由于只有A方知道他的秘密密钥Kd,所以通过上述签名和验证可以防止下面两种情况:
•A方否认他曾经发送消息x,或者否认B方收到的消息属实。因为只有他能生成y,而y与x是对应的。
•B方伪造消息。因为他得不到Kd,无法证明与伪造消息对应的签名是A方生成的。
为了防止B方事后否认收到消息x,A方可以要求B方提供收信回执,如"B从A处得到x"一段文字,并且要求B方用他的秘密密钥对这段文字签名,以防抵赖。
综上所述,数字签名可以验证消息的完整性,有效地对抗冒充、抵赖等威胁。
不过,当消息x较长时,上述签名要占用过多的信息资源。现在一般利用单向散列函数先对消息进行处理,得到较短的消息摘要(如使用美国政府颁布的数字签名标准DSS,消息摘要为160比特),然后对消息摘要签名,从而提高签名效率。单向散列函数的一个特点是,消息的任何变化都会使消息摘要改变,利用这个特点,可以验证收到的消息的完整性。
利用单向散列函数和公开密钥算法实现数字签名的过程简述如下:A方打算发送消息x给B方并签名时,先用公开的单向散列函数h()对x进行处理,得到消息摘要z=h(x),再用他的秘密密钥Kd对z进行处理,得到签名 ,然后发送有序信息对(x,y)给B方。B方收到(x,y)后,用公开的单向散列函数生成消息摘要z=h(x),并用A方的公开密钥Ke对y脱密,得到 ,比较z和z',从而验证签名和消息的完整性。
利用公开密钥算法实现加密和数字签名,必须保证用户得到的公开密钥完全正确,否则就可能造成损失。例如,假定A方要发一条保密消息给B方,如果攻击者E方能欺骗A方把他的(E方的)公开密钥当作B方的公开密钥,E方就能脱密消息,从而造成信息的未授权泄漏;另外,E方可能用他的秘密密钥签署一条消息并发给A方,声称消息来自B方,欺骗A方把他的(E方的)公开密钥当作B方的公开密钥来验证签名,达到冒充B方向A方发号施令的目的。因此,必须保证A方得到的公开密钥确实是B方的。
在一个小的封闭用户群体内,可以通过人工交换公开密钥,如把它们置于光盘上或其他什么手段,保证用户所用公开密钥的正确性。但是在一个开放的环境里,如进行全国性或全球性金融商贸活动,通过人工方法交换公开密钥就不现实了,而必须通过可靠的电子方式来交换公开密钥并保证其正确性。为此,美国提出了公钥基础结构(PKI)的概念:
假定A方发送一条消息及他的签名给B方,如果B方拥有A方的公开密钥,就可以验证签名;如果B方没有A方的公开密钥,则向某处索取A方的证书(含有A方的身份信息和公开密钥);如果B方拥有A方颁证机关的公开密钥,B方就可以向该机关索取A方的证书,并验证该证书的真实性;如果B方没有A方颁证机关的公开密钥,则先设法从更高一级颁证机关获取该颁证机关的证书。B方可采用这个过程逐级向上直到他信任的那个颁证机关,即他拥有那个机关的真实的公开密钥,然后逐级向下验证证书,直到得到A方的真实的公开密钥,验证A方的签名。
五、防火墙
防火墙是一类防范措施的总称,它使得内部网络与Internet之间或者与其他外部网络互相隔离、限制网络互访用来保护内部网络。防火墙简单的可以只用路由器实现,复杂的可以用主机甚至一个子网来实现。设置防火墙目的都是为了在内部网与外部网之间设立唯一的通道,简化网络的安全管理。
防火墙的功能有:
•过滤掉不安全服务和非法用户
•控制对特殊站点的访问
•提供监视Internet安全和预警的方便端点
由于Internet的开放性,有许多防范功能的防火墙也有一些防范不到的地方:
1、防火墙不能防范不经由防火墙的攻击。例如,如果允许从受保护网内部不受限制的向外拨号,一些用户可以形成与Internet的直接的连接,从而绕过防火墙,造成一个潜在的后门攻击渠道。
2、防火墙不能防止感染了病毒的软件或文件的传输。这只能在每台主机上装反病毒软件。
3、防火墙不能防止数据驱动式攻击。当有些表面看来无害的数据被邮寄或复制到Internet主机上并被执行而发起攻击时,就会发生数据驱动攻击。
因此,防火墙只是一种整体安全防范政策的一部分。这种安全政策必须包括公开的、以便用户知道自身责任的安全准则、职员培训计划以及与网络访问、当地和远程用户认证、拨出拨入呼叫、磁盘和数据加密以及病毒防护的有关政策。
1.防火墙的系统结构
(1) 防火墙系统的基本组件
防火墙是一个由软件和硬件组成的系统,所以又称防火墙系统。构成一个防火墙系统的基本组件有以下几方面。
•屏蔽路由器(Screening Router)

图10.16 屏蔽路由器
这是防火墙最基本的构件。它可以由厂家专门生产的路由器实现,也可以用主机来实现。屏蔽路由器作为内外连接的唯一通道,要求所有的报文都必须在此通过检查。路由器上可以装基于IP层的报文过滤软件,实现报文过滤功能。许多路由器本身带有报文过滤配置选项,但一般比较简单。
单纯由屏蔽路由器构成的防火墙的危险带包括路由器本身及路由器允许访问的主机。它的缺点是一旦被攻陷后很难发现,而且不能识别不同的用户。
•双目主机网关(Dual Homed Gateway)
这种配置是用一台装有两块网卡的堡垒主机做防火墙。两块网卡各自与受保护网和外部网相连。堡垒主机上运行着防火墙软件,可以转发应用程序,提供服务等。如图10.17所示。

图10.17 双目主机网关
双目主机网关优于屏蔽路由器的地方是:堡垒主机的系统软件可用于维护系统日志、硬件拷贝日志或远程日志。这对于日后的检查很有用。但这不能帮助网络管理者确认内网中哪些主机可能已被黑客入侵。
双目主机网关的一个致命弱点是:一旦入侵者侵入堡垒主机并使其只具有路由功能,则任何网上用户均可以随便访问内网。
•应用网关(Application Gateway)
应用网关是在一台双目主机上的运行应用网关代理服务器程序。如图10.18所示。
代理某种Internet网络服务并进行安全检查,每一个应用网关代理服务程序都是为一种网络应用服务而定制的程序,如FTP代理、Telnet代理、SMTP代理等。应用网关的体系结构如图10.19所示。

图10.18 应用网关

图10.19 应用网关所处的位置
它是建立在应用层上的具有协议过滤和转发功能的一种防火墙。
系统可以针对某一个(或多个)应用服务协议指定数据过滤逻辑,并同时对数据包分析的结果及采取的措施作登录和统计并形成报告。应用网关的安全策略类与壁垒主机。
(2) 防火墙系统结构
防火墙系统具有简单结构和复合型结构两类。简单结构包括只使用屏蔽路由器或者作为代理服务器的双目主机结构;复合型结构一般包括了屏蔽主机和屏蔽子网。复合型系统具有更高的安全性。
•双目主机结构
双目主机结构防火墙系统主要由一台双目主机构成。双目主机具有两个网络接口,它的位置位于内部网络与Internet的连接处。运行应用代理程序,充当内、外网络之间的转发器。双目主机关闭了正常的IP路由功能,使来自一个网络接口的IP包不能直接到达另一个网络接口,内部网络与外部的通信完全由运行于双目主机上的防火应用程序完成。双目主机结构防火墙系统如图10.20所示。

图10.20 双目主机结构防火墙系统
双目主机可以使用包过滤技术与应用代理技术,并且在网络结构上简单明了,易于实现,成本低,能为内部网络与外部网络的通信提供较为完善的控制机制,如监测、认证、日志文件等。双目主机对外屏蔽了内部网络的结构,使内部网络对外部不可见。
双目主机在配置原则上遵循"禁止未被明确允许的服务"。
由于双目主机是内部网络与外部网络相互通信的桥梁,内外部网络之间的通信量需求比较大时,双目主机本身将成为通信的瓶颈。因此,双目主机的硬件平台应当尽可能地选用性能优良的工作站。双目主机结构可以扩展成多目主机结构,从而可以隔离多个网络。
•屏蔽主机结构
屏蔽主机结构防火墙系统由屏蔽路由器与壁垒主机构成,屏蔽路由器位于内部网络与Internet之间的连接处,而壁垒主机位于内部网络上。在这种结构中,屏蔽路由器为系统提供主要的安全功能。壁垒主机则主要提供面向应用的服务。屏蔽主机结构防火墙系统如图10.21所示。

图10.21 屏蔽主机结构防火墙系统
屏蔽路由器使用包过滤技术,它只允许壁垒主机与外部通信,使壁垒主机成为Internet上其他节点所能到达的唯一节点,并同时根据设立的过滤规则进行控制。对内部网络中其他主机直接对外的通信,屏蔽路由器将予以拒绝。而这些主机的对外通信,必须通过壁垒主机来完成,即按照图中所示的方式完成通信。其体系结构如下图10.22所示。

图10.22 屏蔽主机防火墙体系结构
此外,为保证上述固定的数据路径不被更改,屏蔽路由器上应当采用静态路由设置,并且路由器应当不接受ICMP、ARP等网络协议。
•屏蔽子网结构
屏蔽子网结构防火墙系统在屏蔽主机结构的基础上增加了一个周边防御网段,用以进一步隔离内部网络与外部网络。屏蔽子网结构防火墙系统如图10.23所示。

图10.23 屏蔽子网结构
周边防御网段是位于内部网络与外部网络之间的另一层安全网段,分别由内、外两个屏蔽路由器与它们相连。周边防御网段所构成的安全子网又称为"非军事区"(DMZ,Demilitrized Zone),又称为"参数子网"。这一网段受到安全威胁不会影响到内部网络。
跨越防火墙的数据流必须经过外部屏蔽路由器、壁垒主机与内部屏蔽路由器,在两个路由器之上都可以设置过滤规则,壁垒主机运行应用代理服务软件。同时,企业对外的如WWW、FTP服务器等可以放在DMZ内。
这种结构优点在于当壁垒主机或企业对外的服务器受到安全威胁时,由于DMZ与内部屏蔽路由器的隔离作用,使得内部网络的安全威胁尽可能地减少。
一般情况下,对DMZ配置成如下状态:内部网和Internet均能够访问DMZ上的某些资源,但不能通过DMZ让内部网和Internet直接进行信息传输。外部屏蔽路由器用于防范Internet上来的外部攻击,并管理Internet到DMZ的访问,访问壁垒主机和上面的信息服务器。;内部屏蔽路由器只接收壁垒主机发出的数据包,并管理DMZ到内部网的访问。对于内部网去往Internet的数据包,内部屏蔽路由器管理内部网络到DMZ的访问,它允许内部网只能访问DMZ上的壁垒主机及信息服务器;外部屏蔽路由器上的过滤规则只接受来自壁垒主机去往Internet的数据包。
防火墙的实现从层次上大体上可以分两种:IP级防火墙和应用级防火墙。
2.IP级防火墙
IP级防火墙是在IP层实现的,因此,它可以只用路由器完成。IP级防火墙根据IP数据报的源IP地址、目的IP地址、源端口、目的端口及报文传递方向等报头信息来判断是否允许报文通过。现在也出现了一种可以分析报文数据区内容的智能型报文过滤器。
报文过滤器的应用非常广泛,因为CPU用来处理报文过滤的时间可以忽略不计。而且这种防护措施对用户透明,合法用户在进出网络时,根本感觉不到它的存在,使用起来很方便。报文过滤另一个也是很关键的弱点是不能在用户级别上进行过滤,即不能识别不同的用户和防止IP地址的盗用。如果攻击者把自己主机的IP地址设成一个合法主机的IP地址,就可以很轻易地通过报文过滤器。
IP级防火墙的弱点可以用应用级防火墙解决。
3.应用级防火墙
应用级防火墙是在应用层实现防火墙。其方式多种多样,下面是几种应用层防火墙的设计实现。
•应用代理服务器
•回路级代理服务器
•代管服务器
•IP隧道
•网络地址转换器
•隔离域名服务器
•邮件技术
(1)应用代理服务器(Application Gateway Proxy)
在网络应用层提供授权检查及代理服务。当外部某台主机试图访问受保护网络时,必须先在防火墙上经过身份认证。通过身份认证后,防火墙运行一个专门为该网络设计的程序,把外部主机与内部主机连接。在这个过程中,防火墙可以限制用户访问的主机、访问时间及访问的方式。同样,受保护网络内部用户访问外部网时也需先登录到防火墙上,通过验证后,才可访问。
应用网关代理的优点是既可以隐藏内部IP地址,也可以给单个用户授权,即使攻击者盗用了一个合法的IP地址,也通不过严格的身份认证。因此应用网关比报文过滤具有更高的安全性。但是这种认证使得应用网关不透明,用户每次连接都要受到认证,这给用户带来许多不便。这种代理技术需要为每个应用写专门的程序。
(2)回路级代理服务器
即通常意义的代理服务器,它适用于多个协议,但不能解释应用协议,需要通过其他方式来获得信息,所以,回路级代理服务器通常要求修改用户程序。
套接字服务器(Sockets Server)就是回路级代理服务器。套接字(Sockets)是一种网络应用层的国际标准。当受保护网络客户机需要与外部网交互信息时,在防火墙上的套接字服务器检查客户的User ID、IP源地址和IP目的地址,经过确认后,套接字服务器才与外部的服务器建立连接。对用户来说,受保护网与外部网的信息交换是透明的,感觉不到防火墙的存在,那是因为网络用户不需要登录到防火墙上。但是客户端的应用软件必须支持 "Socketsified API",受保护网络用户访问公共网所使用的IP地址也都是防火墙的IP地址。
(3)代管服务器
代管服务器技术是把不安全的服务如FTP、Telnet等放到防火墙上,使它同时充当服务器,对外部的请求作出回答。与应用层代理实现相比,代管服务器技术不必为每种服务专门写程序。而且,受保护网内部用户想对外部网访问时,也需先登录到防火墙上,再向外提出请求,这样从外部网向内就只能看到防火墙,从而隐藏了内部地址,提高了安全性。
(4)IP隧道(IP Tunnels)
如果一个大公司的两个子公司相隔较远,通过Internet通信。这种情况下,可以采用IP Tunnels来防止Internet上的黑客截取信息,从而在Internet上形成一个虚拟的企业网。
(5)网络地址转换器(NAT Network Address Translate)
当受保护网连到Internet上时,受保护网用户若要访问Internet,必须使用一个合法的IP地址。但由于合法Internet IP地址有限,而且受保护网络往往有自己的一套IP地址规划(非正式IP地址)。网络地址转换器就是在防火墙上装一个合法IP地址集。当内部某一用户要访问Internet时,防火墙动态地从地址集中选一个未分配的地址分配给该用户,该用户即可使用这个合法地址进行通信。同时,对于内部的某些服务器如Web服务器,网络地址转换器允许为其分配一个固定的合法地址。外部网络的用户就可通过防火墙来访问内部的服务器。这种技术既缓解了少量的IP地址和大量的主机之间的矛盾,又对外隐藏了内部主机的IP地址,提高了安全性。
(6)隔离域名服务器(Split Domain Name Server)
这种技术是通过防火墙将受保护网络的域名服务器与外部网的域名服务器隔离,使外部网的域名服务器只能看到防火墙的IP地址,无法了解受保护网络的具体情况,这样可以保证受保护网络的IP地址不被外部网络知悉。
(7)邮件技术(Mail Forwarding)
当防火墙采用上面所提到的几种技术使得外部网络只知道防火墙的IP地址和域名时,从外部网络发来的邮件,就只能送到防火墙上。这时防火墙对邮件进行检查,只有当发送邮件的源主机是被允许通过的,防火墙才对邮件的目的地址进行转换,送到内部的邮件服务器,由其进行转发。
4.防火墙的未来发展趋势
目前,防火墙技术已经引起了人们的注意,随着新技术的发展,混合使用包过滤技术、代理服务技术和其它一些新技术的防火墙已经出现。
越来越多的客户端和服务器端的应用程序本身就支持代理服务方式。比如,许多WWW 客户服务软件包就具有代理能力,而许多象SOCKS 这样的软件在运行编译时也支持类代理服务。
包过滤系统向着更具柔性和多功能的方向发展。比如动态包过滤系统,在CheckPoint Firewall-1、Karl Brige/Karl Brouter 以 及 Morning Star Secure Connect router 中的包过滤规则可由路由器灵活、快速的来设置。一个输出的UDP 数据包可以引起对应的允许应答UDP 创立一个临时的包过滤规则,允许其对应的UDP 包进入内部网。
被称为" 第三代"产品的第一批系统已开始进入市场。如Border 网络技术公司的Border 产品和Truest 信息系统公司的Gauntlet 3.0 产品从外部向内看起来像是代理服务(任何外部服务请求都来自于同一主机),而由内部向外看像一个包过滤系统(内部用户认为他们直接与外部网交互)。这些产品通过对大量内部网的外向连接请求的计帐系统和包的批次修改对防火墙的内外提供相关的伪像。Karl Bridge/Karl Brouter 产品拓展了包过滤的范围,它对应用层上的包过滤和授权进行了扩展。这比传统的包过滤要精细得多。

•第三节网络安全技术的应用
电子邮件中的应用
关于电子邮件系统中的安全性问题,目前比较常用的PGP技术,此外,还有已经成为Internet标准的PEM技术。
PGP(Pretty Good Privacy)是Zimmermann于1995年开发出来的。它是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。PGP并没有使用什么新的概念,它只是将现有的一些算法如MD5、RSA以及IDEA等综合在一起而已。由于包括源程序的整个软件包可从Internet免费下载,因此PGP在MS DOS/Windows以及UNIX等平台上得到了广泛的应用。需要注意的是,PGP虽然已经被广泛使用,但它还不是Internet的正式标准。
下图10.24是PGP的工作原理。用户A向用户B发送一个电子邮件明文P,用PGP进行加密。假定A和B都有RSA的秘密密钥Dx和公开密钥Ex,都有对方的公开密钥。
明文P先经过MD5运算,再用RSA的秘密密钥DA对报文摘要用MD5进行加密,得出H。明文P和RSA的输出H拼接在一起,成为另一个报文P1,经ZIP程序压缩后,得出P1.Z。

图10.24 PGP工作原理
下一步是对P1.Z进行IDEA加密,使用的是一次一密的加密密钥,即128bit的KM。此外,密钥KM再经过RSA加密,其密钥是B的公开密钥DB。加密后的KM与加密后的P1.Z拼接在一起,用base64进行编码,然后得出ASCII码的文本, 只包括52个字母、10个数字和"+"、"/"、"="三个符号,发送到Internet上。
用户B收到加密的邮件后,先进行base64解码,并用其RSA秘密密钥解出IDEA的密钥。用此密钥恢复出P1.Z。对P1.Z进行解压后,还原出P1.B接着分开明文P和加了密的MD5,并用A的公开密钥解出MD5。若与B自己算出的MD5一致,则可认为P是从A发来的邮件。
从上图可以看出,有2个地方使用了RSA:对128bit的MD5加密和对128bit的IDEA密钥加密。虽然RSA的运算较慢,但这里只对256个bit进行加密,所以问题不明显。
PGP支持三种RSA密钥长度:384bit(偶尔使用)、512bit(商用)和1024bit(军用)。
PGP很难被攻破:根据计算,仅破译其中的RSA部分(密钥为1024bit长,使用l000MIPS的计算机)就需要3亿年。因此,目前可以认为PGP是足够安全的。
PGP的报文格式如图10.25所示。可以看出,PGP报文由三个部分组成,即报文的IDEA密钥部分、签字部分以及报文本身。密钥部分不仅是密钥,而且还有密钥的标识符,因为用户可能拥有多个公开密钥。

图10.25 PGP报文
签字部分从一个首部开始,接下去是一个时间戳,然后是发信人的公开密钥(用于对MD5签名)。再后面的类型标识所使用的加密算法。
报文部分也包括一个头部。文件名是当收信人将信件存盘时使用的默认文件名,在时间戳后面才是报文本身。
密钥管理是PGP系统的一个关键,每个用户在其所在地要维持两个数据结构:秘密密钥环(Private key ring)和公开密钥环(Public key ring)。秘密密钥环包括一个或几个用户自己的秘密密钥-公开密钥对。这样做是为了使用户可以经常更换自己的密钥。每一对密钥有对应的标识符。发信人将此标识符通知收信人,使收信人知道哪一个公开公开密钥进行解密。公开密钥环包括用户的一些经常通信对象的公开密钥。
PEM(Privacy Enhanced Mail)是Internet的正式邮件加密标准,由4个RFC来描述:
•RFC1421:报文加密与鉴别过程
•RFC1422:基于证书的密钥管理
•RFC1423:PEM算法、工作方式和标识符
•RFC1424:密钥证书和相关服务
PEM的功能和PGP的差不多。都是对基于RFC822的电子邮件进行加密鉴别。
报文在使用PEM之前先要经过规范形式的处理(即对空格、制表符、回车、抽象符等的处理)。接着使用MD2或MD5得出报文摘要,与报文拼接在一起后,用DES加密。加密后的报文可再用base64编码,然后发送给收信人。
和PGP相似,每个报文都使用一次一密的方法进行加密,并且密钥也是放在报文中一起在网络上传送。当然对密钥还必须加密。可以使用RSA或三重DES。
PEM有比PGP更加完善的密钥管理机制。由证书管理机构(Certificate Authority)发布证书,上面有用户姓名、公开密钥及密钥的使用期限。每个证书有一个唯一的序号。证书还包括用证书管理机构的秘密密钥签了名的MD5散列。这种证书与ITU-T X.509关于公开密钥证书的建议书以及X.400 的名字体系相符合。

•本章小结/课后习题
[章节小结]
本章分为两个部分,网络管理和网络安全。按照ISO的定义,网络管理的内容包括配置管理、故障管理、性能管理、安全管理和计费管理。在TCP/IP协议上的网管协议是SNMP,SNMP的组成结构包括网络工作站、被管对象、管理代理和管理协议等部分。SNMP协议包括管理信息结构SMI、管理信息库MIB和SNMP协议本身。SNMP的操作只有两种基本的管理功能,即:
(1)"读"操作,用get报文来检测各被管对象的状况;(2)"写"操作,用set报文来控制各被管对象的状况。被管对象可以通过Trap来向管理工作站报告特殊事件。
网络安全包括数据加密和网络防火墙技术2大部分内容。数据加密策略包括对称和非对称加密2种,即常规密钥密码体制和公开密钥密码体制。对称加密算法的代表DES,非对称加密算法的代表是RSA。
为防止信息被假冒、保证信息的完整性和一方的抵赖,采用数字签名技术来保证信息的真实性。
网络防火墙是将内部网络与Internet之间或者与其他外部网络互相隔离、限制网络互访用来保护内部网络。 防火墙技术分成两大类,网络级防火墙和应用级防火墙。网络级防火墙即在IP层根据IP地址进行IP包的过滤,可以通过路由器来实现。应用级防火墙结构可分为双穴主机网关、屏蔽主机网关和屏蔽子网网关等结构。
[课后习题]
1.ISO规定的网络管理五个基本功能是什么?
2.SNMP的体系结构包括哪几部分?
3.SNMP定义了哪几种协议数据单元?
4.SNMP主要有什么缺点?
5.RMON是什么?
6.计算机网络主要面临哪此安全威胁?
7.Internet网络安全策略可分为哪几个层次?
8.用图示来说明一般数据加密模型。
9.什么是常规密钥密码体制?
10.简述DES的加密过程。
11.公开密钥密码体制有什么特点?
12.试述RSA的加密过程。
13.试述数据签名的过程。
14.构成防火墙的基本组件有哪些?
15.什么是IP级防火墙和应用级防火墙?
课后习题答案:
1.解答:
网络管理的五个基本功能域是:故障管理(Fault Management)、配置管理(Configuration Management)、计费管理(Accounting Management)、性能管理(Performance Management)和安全管理(Security Management)。
2.解答:
SNMP的体系结构包括三个主要部分,即管理信息结构SMI、管理信息库MIB和SNMP协议本身。SMI定义每一个被管对象的信息,以及如何用ASN.1描述这些信息在管理信息库中的表示。MIB是存储各个被管对象的管理参数的数据库。SNMP提供在网管工作站与被管对象的设备之间交换管理信息的协议。
3.解答:
SNMP定义了五种协议数据单元,它们分别是:
get.request:用来查询一个或多个变量的值。
get.next.request:允许在一个MIB树上检索下一个变量,此操作可反复进行。
get.response:对get/set报文作出响应,并提供差错码、差错状态等信息。
set.request:对一个或多个变量的值进行设置。
trap:向管理进程报告代理中发生的事件。
4.解答:
SNMP主要有以下两方面缺点:
(1)它没有伸缩性。在大型的网络中,轮询会产生巨大的网络管理通信量,因而导致通信拥挤情况的发生。
(2)它将收集数据的负担加在网络管理控制台上。管理站也许能轻松地收集8个网段的信息,当它们监控48个网段时,恐怕就应付不下来。
5.解答:
RMON是一种在物理层自主监控LAN网段,并报告异常情况的网络管理协议。
Internet工程特别小组(IETF)于1991年11月公布RMON MIB来解决SNMP在日益扩大的分布式网络中所面临的局限性。RMON MIB的目的在于使SNMP更为有效更为积极主动地监控远程设备。
6.解答:
计算机网络面临的威胁多种多样,概括起来主要有以下几类:
(1) 内部泄密和破坏。
(2) 截收。
(3) 非法访问。
(4) 破坏信息的完整性。
(5) 冒充。
(6) 破坏系统的可用性。
(7) 重演。
(8) 抵赖。
(9) 其他威胁。对计算机通信网的威胁还包括计算机病毒、电磁泄漏、各种灾害、操作失误等。
7.解答:
从整体上看,Internet网络安全策略可分为以下几个层次,即操作系统层、用户层、应用层、网络层(路由器)和数据链路层。
(1)操作系统层的安全。因为用户的应用系统都在操作系统上运行,而且大部分安全工具或软件也都在操作系统上运行,所以,操作系统的安全问题直接影响到网络安全。操作系统的安全策略主要在于用户口令的设置与保护、同一局域网内的共享文件和数据库的访问控制权限的设置等方面。
(2)用户层安全。用户层安全主要指他人冒充或用户通过网络进行有关活动而事后抵赖的问题。用户层的安全策略主要涉及对用户的识别、认证以及数字签名等方面。
(3)应用层安全。应用层安全与应用系统直接相关,它既包括不同用户的访问权限设置和用户认证、数据的加密与完整性确认,也包括对非法信息的过滤和防止代理服务器的信息转让等方面。
(4)网络层(路由器)安全。网络层的安全是Internet网络安全中最重要的部分。它涉及到三个方面。第一,IP协议本身的安全性。如果IP协议本身未加密,就使得人们非法窃取信息和口令等成为可能。第二是网管协议的安全性。正如在以下的网络管理中将介绍的,由于SMTP协议的认证机制非常简单,且使用未加保密的明码传输,这就存在人们通过非法途径获得SMTP协议分组并分析破解有关网络管理信息的可能性。第三个方面,也是最重要的方面,就是网络交换设备的安全性。交换设备包括路由器(router)和交换机(switch),由于Internet普遍采用无连接转发技术,且路由协议为动态更新的OSPF和RIP协议,这些协议动态更新每个装有这些协议的路由器的路由表。从而,一旦某一个路由器发生故障或安全问题,将迅速波及与路由器相关的整个Internet自治域。
(5)数据链路层的安全。数据链路层的安全主要涉及到传输过程中的数据加密以及数据的修改等问题。
8.解答:
见图10.9所示。明文X用加密算法E和加密密钥K得到密文Y=Ek(X)。在传送过程中可能出现密文截取者。到了收端,利用解密算法D和解密密钥K解出明文为Dk(Y)=Dk(Ek(X))=X。其中,截取者也可称为攻击者或入侵者。在这里,我们假定加密密钥和解密密钥都是一样的。但实际上,它们可以是不一样的(即使不一样,二者之间也具有某种关联性)。密钥通常是由一个密钥源提供。当密钥需要向远地传送时,一定要通过另一个安全信道。
9.解答:
所谓常规密钥密码体制,即加密密钥与解密密钥相同的密码体制。
10.解答:
在加密前,先对整个明文进行分组。每一个组长为64位。然后对每个64位二进制数据进行加密处理,产生一组64位密文数据。最后将各组密文串接起来,即得出整个密文。使用的密钥为64位。
64位的明文X进行初始转换IP后得出X0,其左半边32位和右半边32位分别记为L0和R0,然后再经过16次迭代。如果用Xi表示第I次迭代结果,同时令Li和Ri分别Xi的左半边和右半边,则

式中I=1,2,…,16,而Ki是48位密钥。上面公式就是DES加密方程。每次迭代要进行函数f的变换、模2加运算以及左右半边交换。在最后一次迭代之后,左右半边没有交换。这是为了使算法既能加密又能解密。最后一次变换是IP的逆变换IP-1,其输入是R16L16。Y即为输出的密文。
11.解答:
公开密钥算法的特点如下:
(1) 发送者用加密密钥PK对明文X加密后,在接收者用解密密钥SK解密,即可恢复出明文,公式为:
Dsk(Epk(X))=X
解密密钥是专用的秘密密钥,对其他人都保密。此外,加密和解密的运算可以对调,即:
Epk(Dsk(X))=X
(2) 加密密钥是公开的,但不能用它来解密,即
Dpk(Epk(XX))!=X
在计算机上可以容易地产生成对的PK和SK。
(3) 从书籍的PK实际上不可能推导出SK,即从PK到SK是“计算上不可能的”。
(4) 加密和解密算法都是公开。
12.解答:
1)为字母制定一个简单的编码,例如1到26分别对应于A到Z。
2)选择n,n为两个大的素数p和q的乘积。实际中,大的素数包括200或更多的位数。然而,为节省空间和精力,我们使用n=p×q=11×7=77。
3)找出一个数字k,k与(p-1)×(q-1)互为素数。本例中,我们选择k=7,与(p-1)×(q-1)=10×6=60互为素数。数字k就是加密密钥。
4)将信息分成很多部分。一般地讲,为避免重复,每部分都包含很多字母。然而,在本例中,每部分只包含一个字母。若信息是“HELLO”,则为H、E、L、L和O。
5)对每部分,将所有字母的二进制编码串接起来,并将比特串解释为整数。我们这里每部分只有一个字母。所以,整数为8、5、12、12和15(最初与字母对应的数字)。
6)将每个数字增大到它的k 次方而加密。使用模n 运算。本例中,这要求如下运算:
, , , , 结果就是加密信息。这里,计算结果分别为57、47、12、12和71。注意这里两个12表示重复字母。这是每部分只有一个字母的结果。若每部分包含多个字母,类似的重复就可避免。
13.解答:
数字签名的过程如下:
当A方打算发一条消息x给B方并签名时,首先用他的秘密密钥Kd对x加密,得到签名 ,然后发送有序信息对(x,y)。B方收到(x,y)后,用A方的公开密钥Ke对y解密,得到 。x'与x完全相同的条件是:
•信息对(x,y)在传输过程中无任何变化,x或y的任何变化都会使 。
•y确实是用Kd对x加密得到的,Kd的任何变化都会使 。
因此,只要 ,就可以确定三件事:
•消息x确实由A方发来。
•签名y确实由A方生成。
•B方收到的消息是完整的。
由于只有A方知道他的秘密密钥Kd,所以通过上述签名和验证可以防止下面两种情况:
•A方否认他曾经发送消息x,或者否认B方收到的消息属实。因为只有他能生成y,而y与x是对应的。
•B方伪造消息。因为他得不到Kd,无法证明与伪造消息对应的签名是A方生成的。
为了防止B方事后否认收到消息x,A方可以要求B方提供收信回执,如“B从A处得到x”一段文字,并且要求B方用他的秘密密钥对这段文字签名,以防抵赖。
14.解答:
(1)屏蔽路由器(Screening Router)
(2)双穴主机网关(Dual Homed Gateway)
(3)应用网关(Application Gateway)
15.解答:
IP级防火墙是在IP层实现的,因此,它可以只用路由器完成。IP级防火墙根据IP数据报的源IP地址、目的IP地址、源端口、目的端口及报文传递方向等报头信息来判断是否允许报文通过。
应用级防火墙是在应用层实现防火墙。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲