【知识要点】
1.网络安全基本知识。
2.数据加密技术:加密原理;传统加密技术;私钥密码体制、公钥密码体制;链路加密、结点加密、端到端加密。
3.认证技术:数字签名、数字证书;消息认证、身份认证;密钥管理;信息摘要。
4.安全协议:PAP、CHAP、WEP、WPA;IPSec;SSL;SSH、Kerberos、PGP、S-MIME、S-HTTP、SET。
5.虚拟专用网的类型与实现技术。
6.VPN隧道技术、第二层隧道协议、第三层隧道协议。
7.计算机病毒的特点、分类与防御。
8.防火墙的类型及其网络结构。
9.入侵检测技术。
【学习内容】
8.1网络安全概述
网络安全威胁可分为无意造成的威胁和有意造成的威胁。无意造成的威胁具有很大的偶然性,例如水灾、火灾、硬件断电、误操作等;有意造成的威胁主要来自人为信息窃取、攻击和破坏。
网络安全的目标是保证信息的完整性、保密性和可用性,保障各种网络资源的稳定、可靠地运行和受控、合法地使用。具体说明如下。
可靠性:指网络系统能够在正常的运行条件下完成规定的功能,包括硬件可靠性、软件可靠性、人员可靠性、通信可靠性等。
可用性:指保证授权用户对资源合法使用。
保密性:指防止非法授权用户获得有用信息。
完整性:指信息没有被非授权用户更改和破坏,包括信息在生成、传输、存储中不被删除、篡改、伪造等。
不可抵赖性:指实体无法否认或抵赖曾经发送、接受某信息或参与网络信息交互活动的事实。
网络信息安全通常是由一系列安全机制来实现。常见的高层机制有预警、防护、检测、响应、恢复和反击;中层机制有加密、数字签名、访问控制、数据完整性等。信息安全基础应用域包括网络基础设施安全、边界安全和局域网安全;网络信息安全具体应用域包括防火墙、入侵检测、反病毒、文件共享安全应用等。
安全服务、安全机制和安全应用域是网络信息安全系统的三要素。
8.2数据加密技术
数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能获知被保护信息的具体内容。
8.2.1 密码学基础
密码学是研究如何实现数据加密的学科,密码学包括两方面内容:密码编码学和密码分析学。研究数据加密的技术和科学叫做密码编码学,与此对应的是破译密文的技术和科学叫做密码分析学。
对需要保密的数据进行编码的过程称为加密,编码的规则称为加密算法,加密后的数据称为密文,原来的数据称为明文;而把密文转变为明文的过程称为解密,解密的规则称为解密算法。加密与解密通常需要参数控制,该参数称为密钥。
密码算法是用于加密和解密的数学函数。如果数据的保密性取决于算法的保密性,这种密码算法称为受限制的算法。根据现代密码学的观点,密码系统的安全应该只取决于密钥的安全,而不是算法的安全。加密算法和解密算法通常在一对密钥的控制下进行,分别称为加密密钥和解密密钥。
一个现代密码系统包括所有可能的明文、密文、加密算法和解密算法。
密码系统根据密钥可以分为两类:对称密钥系统和非对称密钥系统(公钥系统、公开密钥系统)。对称密钥系统就是加密密钥能够从解密密钥中推算出来,反过来也是这样;非对称密钥系统有两个密钥,一个是公开的加密密钥,另一个是私有的解密密钥,从加密密钥推倒不出解密密钥。
数据加密的基本方法可分为换位和替代,实现时的算法通常是这两种方法的组合运用。换位法不改变明文的字母,但对字母进行重新排序,形成新的密文序列;替代法中每个字母或字母组合被另一个字母或字母组合取代,从而将明文中的字母伪装起来。
按照发展进程,数据加密算法经历了古典密码、对称密钥密码和公开密钥密码阶段。对称加密算法包括DES和AES;公开密钥算法包括RSA。目前在数据通信中使用最普遍的是DES算法、3DES算法、RSA算法和PGP算法。
8.2.2 私钥密码体制
私钥密码体制即通常所说的对称密钥密码体制,也称为单密钥体制。在这种体制下,加密密钥和解密密钥相同,或者一个可从另一个导出。
私钥密码体制的优点是加密算法效率高、速度快、具有很高的保密强度,可以经受较高级破译力量的分析和攻击。但是由于加密和解密双方使用相同的密钥,因此密钥的分发成了一个最薄弱的环节。
采用对称密码体制的算法主要有数据加密标准DES和多重DES。
DES是一种分组加密算法,在加密前,先对整个明文进行分组,每组长度为64位。然后对每64位二进制数据进行加密处理,经过16轮迭代,产生一组64位密文数据。最后将各组密文串接起来,即得出整个密文。密钥长度也是64位,其中每个字节的第8位用作奇偶校验,因此实际的有效密钥长度为56位。
多重DES中最典型的是三重DES,使用两个密钥,执行三次DES算法。其安全性较DES提高了很多。
8.2.3 公钥密码体制
公钥密码体制也叫非对称密钥密码体制。在这种密码体制下,每个用户都有一对密钥:公钥和私钥。其中一个用于加密,另一个用于解密。由公钥并不能推导出私钥。
与私钥密码体制相比,公钥密码体制使密钥分发简单多了,但是加密和解密的速度却比对称密码算法慢几个数量级。
典型的公钥加密算法是RSA。RSA算法基于一个数论难题:寻求两个大素数比较简单,但是对它们进行质因子分解极其困难。因此,可以把一对大素数的乘积作为公钥公布,而把质因子作为私钥秘密保存。
8.2.4 数据加密的实现方式
网络通信中数据加密的实现方式有三种:链路加密、结点加密和端到端加密。
对于链路加密,所有消息在被传输之前进行加密,在每一个结点对接收到的消息进行解密,然后使用下一个链路的密钥对消息进行加密,再进行传输,直至到达目的地。
结点加密不允许消息在网络结点中以明文形式存在,而是将收到的消息进行解密,然后采用另一个不同的密钥进行加密。与链路加密相比,结点加密使得消息在结点中以密文的形式存在。
端到端加密允许数据在从源点到终点的传输过程中始终以密文的形式存在,也就是说消息在被传输到终点之前不进行解密。
8.2.5 密钥管理
密钥管理涉及密钥的生成、分配、传递、更新、存储、备份、恢复和销毁等多个方面。
目前的密钥管理体制主要有三种:一是适用于封闭网络的技术,以传统的密钥管理中心为代表的KMI机制;二是使用于开放网的PKI机制;三是适用于规模化专用网的SPK机制。
密钥管理基础设施KMI提供统一的的密钥管理服务,涉及密钥生成服务器、密钥数据库服务器和密钥服务管理服务器等组成部分。
公共基础设施PKI是一个使用公钥概念和技术来实施和提供安全服务的具有普适性的安全基础设施。PKI采用证书管理公钥,通过第三方,即可信任的认证中心把用户的公钥和其它标识信息捆绑在一起,在Internet上验证用户的身份。
8.2.6 信息摘要
通常对于数据完整性的威胁包括内容篡改、顺序篡改和时间篡改。这些攻击将导致数据在内容或上下文之间不一致。因此,对数据完整性保护的基本思路是为需要保护的信息生成唯一的附加信息,即信息摘要。
MD5是目前广泛使用的信息摘要算法。MD5以512位分组处理输入的信息,且每一个分组又被划分为16个32位子分组,经过一系列的处理后将输出128位的信息摘要代码。如果数据在传输过程中发生任何形式的改变,生成的信息摘要都将与原来的不一致。
安全散列算法SHA也是一种信息摘要算法。SHA的实现思想与MD5类似,即将信息根据不同的SHA函数分成若干个512位或1024位的定长块,每一块与当前的信息摘要值结合,产生信息摘要的下一个中间结果,直到处理完毕。
8.3数字签名
数字签名是用于确认发送者身份和消息完整性的一个加密的消息摘要。其过程是:发送方从发送报文中抽取特征数据,然后使用发送方的私钥对特征数据进行加密,接收方使用公钥解密并验证报文。数字签名必须满足三个要求:接收者能够核实发送者的身份;发送者事后不能抵赖对报文的签名;接收者或第三方不能伪造对报文的签名。
数字签名可以利用对称密码体系、公钥密码体系或公证体系来实现。常见的数字签名算法有RSA签名、DSS签名和Hash签名。
8.4数字证书
数字证书是一个经证书认证中心数字签名的包含用户身份信息、公钥信息的文件。数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公钥及部分个人身份信息传送给认证中心,认证中心在核实用户身份并进行相关处理后,向用户发送一个数字证书。该证书内包含一个公钥、用户名称、证书授权中心的数字签名、有效时间、证书序列号等。
8.5认证技术
认证技术用来确保数据的真实性,防止篡改、冒充等攻击,一般可分为两种:消息认证和用户认证。
消息认证验证所收到的消息确实是来自真正的发送方且未被修改的消息,一般采用信息摘要的方法。用户认证用于鉴别用户身份是否合法,一般采用数字签名的方法。
8.6安全协议
由于TCP/IP协议体系在设计之初没有充分考虑网络通信中的安全问题,因此在开放式网络环境中,网络通信经常会遭受各种各样的攻击。为了保证网络信息的安全可靠,人们不断研究设计出TCP/IP协议体系的各层的安全协议,用以弥补原有协议的安全缺陷。以下按照协议层次介绍主要的安全协议。
8.6.1 网络接口层安全协议
网络接口层的安全协议主要在通信过程中对数据进行加密、身份认证、隧道传输,向上层提供一条可靠的、无差错的通信链路。网络接口层的安全协议主要有建立在PPP上的口令认证协议PAP、挑战握手认证协议CHAP,无线局域网上的无线等效保密协议WEP、无线局域网安全协议WPA。
8.6.2 网络层安全协议
IP层是整个TCP/IP协议体系的核心,它不仅向用户的应用程序提供服务,而且还向其它一些协议提供服务,是唯一由所有高层协议共享的协议。因此,在IP层实现安全就可以为所有上层应用提供安全保障。
网络层安全协议主要是IP层安全协议IPSec。IPSec定义了在网络层提供的安全服务,其主要功能包括数据加密、身份认证、数据完整性检查和防止重放攻击。
8.6.3 传输层安全协议
IP层提供点对点的服务,而传输层提供端到端的服务。由于应用层协议的服务都依赖于传输层,因此加强传输层的安全性可以保障高层应用的安全。传输层最典型的安全协议是安全套接字层SSL。
SSL为Internet通信提供了安全保障,广泛应用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL使用了对称密钥密码技术、公开密钥技术和散列函数。
8.6.4 应用层安全协议
应用层的安全性除了安全协议,还依赖所使用的操作系统所提供的运行环境。应用层的安全协议主要有安全外壳协议SSH、Kerberos、PGP、基于RSA的安全电子邮件包、安全的多功能Internet电子邮件扩展S-MIME、安全的超文本传输协议S-HTTP和安全电子交易SET。
8.7虚拟专用网
虚拟专用网VPN使用IP机制仿真出一个私有的广域网。在VPN中,任意两个结点之间的连接并没有传统的专用网络所需的端到端的物理链路。而是在两个专用网络之间或用户与专用网络之间,利用ISP和NSP提供的网络服务,通过专用VPN设备和软件构建专用通道。
根据应用方式,可将VPN分为Access VPN、Intranet VPN和Extranet VPN。
Access VPN主要应用于单位内部人员在非内部网络访问单位内部网络,或者是为在家办公的用户提供远程接入单位内部网络的服务。
Intranet VPN将位于不同位置的两个内部网络通过公共网络连接起来,形成一个逻辑上的局域网,位于不同物理网络中的用户在通信时,就像在同一个局域网中一样。
Extranet VPN用于将企业同合作伙伴连接起来,进行电子商务活动,它们之间的通信就像在同一个网络中一样。
VPN主要采用隧道、加密、身份认证等技术来保障通信的安全。
8.7.1 VPN的隧道技术
隧道技术利用Internet等公共网络现有的数据通信方式,在公用网上建立一条数据通道(即隧道),在隧道的一端将数据封装,然后通过隧道传输到另一端,再进行解封装,最后将得到的原始数据提交给目的设备。隧道技术的核心是利用一种网络协议(即隧道协议)来传输另一种网络协议。
隧道有三个组成部分:隧道开通器,在公共网络中创建一条隧道,对数据进行封装;有路由功能的公共网络;隧道终止器,终止隧道,将数据解封装后交给终端用户。
8.7.2 VPN的第二层隧道协议
第二层隧道技术是在数据链路层使用隧道协议对数据进行封装,然后再把封装好的数据作为数据链路层的原始数据进行传输。第二次隧道协议最典型的是点对点隧道协议PPTP。PPTP是建立在PPP协议和TCP/IP协议之上的协议,实际上是对PPP协议的扩展,在PPP的基础上增强了身份认证、数据压缩和加密等功能,提高了PPP协议的安全性。
8.7.3 VPN的第三层隧道协议
第三层隧道技术是在网络层进行数据封装,然后再把封装好的数据通过网络层进行传输。用于实现VPN的第三层隧道协议主要是通用路由封装GRE。GRE定义了在任意一种网络层协议上封装任意一个其它网络层协议的协议。假如发送端有一个有效载荷包,需要将它封装并发送至某个目的地。要做的工作是首先将有效载荷封装在一个GRE包中,然后将此GRE包封装在其它协议中并进行转发。
8.8计算机病毒
计算机病毒是具有自我复制和破坏能力的计算机指令或代码。计算机病毒具有传染性、隐蔽性、潜伏性、破坏性和非授权可执行性等特点。按照寄生方式和传播途径,可将计算机病毒分为引导型病毒、文件型病毒、混合型病毒、宏病毒等。对于计算机病毒的防治可分为四个方面:检测、清除、免疫和防御。
8.9防火墙技术
防火墙是指在两个网络间执行访问控制策略的一个或一组系统,它将不可信网络与可信网络隔开,从而限制威胁从一个网络扩散到另一个网络。
防火墙一般采用两种基本的技术:数据包过滤和代理服务。
包过滤是在网络层中对数据包实施有选择的通过,例如根据数据包的源地址、目标地址、端口号等确定是否允许数据包通过。当前大多数的网络路由器都具备一定的数据包过滤能力。
通常将防火墙分为四类:包过滤防火墙、状态检测防火墙、应用网关防火墙和复合型防火墙。
8.10入侵检测
入侵检测系统IDS通过对计算机网络或计算机系统中的若干关键点搜集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。IDS一般包括三个部分:信息的收集和预处理;入侵分析引擎;响应和恢复系统。根据IDS的工作范围和所依据的数据源,可以把IDS分为基于网络的IDS与基于主机的IDS。
基于网络的IDS使用原始的网络分组数据包作为进行攻击分析的数据源。而基于主机的IDS通过监视操作系统安全日志、审计记录以及关键应用的日志文件来检测入侵。