- V9 n" r- G7 B' F- {. H防火墙的技术实现通常是基于所谓"包过滤"技术,而进行包过滤的标准通常就是根据安全策略制定的。在防火墙产品中,包过滤的标准一般是靠网络管理员在防火墙设备的访问控制清单中设定。访问控制一般基于的标准有:包的源地址、包的目的地址、连接请求的方向(连入或连出)、数据包协议(如TCP/IP等)以及服务请求的类型(如ftp、www等)等。 " p) b) `; s' Q/ p8 ?. u) a- N+ S0 w; L) W' m
除了基于硬件的包过滤技术,防火墙还可以利用代理服务器软件实现。早期的防火墙主要起屏蔽主机和加强访问控制的作用,现在的防火墙则逐渐集成了信息安全技术中的最新研究成果,一般都具有加密、解密和压缩、解压等功能,这些技术增加了信息在互联网上的安全性。现在,防火墙技术的研究已经成为网络信息安全技术的主导研究方向。 U' G) m- n" U4 b6 P/ H
- N+ n$ q/ m6 `3 z% I F2 I当然,网络的安全性通常是以网络服务的开放性、便利性、灵活性为代价的,对防火墙的设置也不例外。防火墙的隔断作用一方面加强了内部网络的安全,一方面却使内部网络与外部网络的信息系统交流受到阻碍,因此必须在防火墙上附加各种信息服务的代理软件来代理内部网络与外部的信息交流,这样不仅增大了网络管理开销,而且减慢了信息传递速率。针对这个问题,近期,美国网屏(NetScreen)技术公司推出了第三代防火墙,其内置的专用ASIC处理器用于提供硬件的防火墙访问策略和数据加密算法的处理,使防火墙的性能大大提高。 7 f7 o. l! K$ n! _8 H & J4 y9 e+ y' O" _- J+ P8 g需要说明的是,并不是所有网络用户都需要安装防火墙,一般而言,只有对个体网络安全有特别要求,而又需要和Internet联网的企业网、公司网,才建议使用防火墙。另外,防火墙只能阻截来自外部网络的侵扰,而对于内部网络的安全还需要通过对内部网络的有效控制和管理来实现。 : n9 B; \9 N& q9 _, [$ o( F" Y L& s z& I2 y) n
加密技术 & r) X2 N: x! k B: S; K
1 w6 O+ v# Z& w, {; d
网络安全的另一个非常重要的手段就是加密技术,它的思想核心就是既然网络本身并不安全可靠,那么所有重要信息就全部通过加密处理。加密的技术主要分两种: 4 X* b1 N+ h4 j% l" |0 e+ W( j. M8 X+ r- H
单匙技术1 V: }9 t- h3 J3 \) Y+ `/ ?7 a
: f2 ^5 F7 @! `% K
这种技术无论加密还是解密都是用同一把钥匙(secret key)。这是比较传统的一种加密方法。发信人用某把钥匙将某重要信息加密,通过网络传给收信人,收信人再用同一把钥匙将加密后的信息解密。这种方法快捷简便,即使传输信息的网络不安全,被别人截走信息,加密后的信息也不易泄露。 ( |; W, Y' m2 B. C6 {' T2 y0 ] * @6 F: @ ~- C0 j3 m q2 T5 C但这种方法也存在一个问题,即如果收信者和发信者不在同一地理位置,那么他们必须确保有一个安全渠道来传送加密钥匙。但是如果确实存在这样一个安全渠道(如通过信差、长途电话等等),他们又何必需要加密呢?后来出现的双匙技术解决了这个难题。 h% @/ v3 q! H o( Z8 S2 W* ^2 |8 v
双匙技术4 e9 \3 \# ~- ~+ E _$ R& [. e4 d, F5 {
( R9 z0 Z& w. p, J4 s" C此技术使用两个相关互补的钥匙:一个称为公用钥匙(public key),另一个称为私人钥匙(secret key)。公用钥匙是大家被告知的,而私人钥匙则只有每个人自己知道。发信者需用收信人的公用钥匙将重要信息加密,然后通过网络传给收信人。收信人再用自己的私人钥匙将其解密。除了私人钥匙的持有者,没有人--即使是发信者--能够将其解密。公用钥匙是公开的,可以通过网络告知发信人(即使网络不安全)。而只知道公用钥匙是无法导出私人钥匙的。现有软件如Internet免费提供的PGP(Pretty Good Privacy)可直接实现这些功能。 " n; h# p. I$ A) s7 k
( m: o' ?) S, |# Q% A3 Z' @8 g加密技术主要有两个用途,一是加密信息,正如上面介绍的;另一个是信息数字署名,即发信者用自己的私人钥匙将信息加密,这就相当于在这条消息上署上了名。任何人只有用发信者的公用钥匙,才能解开这条消息。这一方面可以证明这条信息确实是此发信者发出的,而且事后未经过他人的改动(因为只有发信者才知道自己的私人钥匙);另一方面也确保发信者对自己发出的消息负责,消息一旦发出并署了名,他就无法再否认这一事实。 4 s% F# ]6 |% i3 p5 @, q+ |
& k, f2 v$ g6 a* ?4 z- }
如果既需要保密又希望署名,则可以将上面介绍的两个步骤合并起来。即发信者先用自己的私人钥匙署名再用收信者的公用钥匙加密,再发给对方。反过来收信者只需用自己的私人钥匙解密,再用发信者的公用钥匙验证签名。这个过程说起来有些繁琐,实际上很多软件都可以只用一条命令实现这些功能,非常简便易行。 4 |3 z, U F( Z7 L, O* p& P5 Y2 X6 W! s( C, A/ i0 _
在网络传输中,加密技术是一种效率高而又灵活的安全手段,值得在企业网络中加以推广。目前,加密算法有多种,大多源于美国,但是大多受到美国出口管制法的限制。现在金融系统和商界普遍使用的算法是美国数据加密标准DES。近几年来我国对加密算法的研究主要集中在密码强度分析和实用化研究上。7 x) F5 ~0 o. p# S; J; @+ a, p
( e7 ^6 j2 Y! o# }. z( H
除了上面介绍的几种之外,还有一些被广泛应用的网络安全技术,在此做一个简单介绍。 + G0 G0 d7 W- y7 y, l$ W( b2 m1 b
身份验证0 J. Z7 R. @5 r
* h" `( r9 ]6 o6 h+ ?) G4 k
身份验证是一致性验证的一种, 验证是建立一致性证明的一种手段。身份验证主要包括验证依据、验证系统和安全要求。身份验证技术是在计算机中最早应用的安全技术,现在也仍在广泛应用,它是互联网上信息安全的第一道屏障。! q3 a& k6 Z8 L$ h o+ A$ M
4 Q( o3 L0 V) K( R, |9 r( W
存取控制 ! Y) w( x# E* u0 m4 V. `, R, l6 U L; p8 k
存取控制规定何种主体对何种客体具有何种操作权力。存取控制是网络安全理论的重要方面, 主要包括人员限制、数据标识、权限控制、类型控制和风险分析。存取控制也是最早采用的安全技术之一,它一般与身份验证技术一起使用,赋予不同身份的用户以不同的操作权限,以实现不同安全级别的信息分级管理。 : Y; Q+ I+ H; n/ N0 k7 |$ b4 q V6 M* b t0 J# I' W数据完整性 / Z Z7 e. j3 n( B4 o$ k3 { @# z* R# X- m; q6 _, q2 `完整性证明是在数据传输过程中,验证收到的数据和原来数据之间保持完全一致的证明手段。检查是最早采用数据完整性验证的方法,它虽不能保证数据的完整性,只起到基本的验证作用,但由于它的实现非常简单(一般都由硬件实现),现在仍广泛应用于网络数据的传输和保护中。近几年来研究比较多的是数字签名等算法,它们虽可以保证数据的完整性,但由于实现起来比较复杂,系统开销比较大,一般只用于完整性要求较高的领域,特别是商业、金融业等领域。" B% [8 A# B4 _; u/ v
) g8 x+ U, d4 _! X8 R: z; I6 ^
安全协议 1 b! Y! q k0 r 3 D$ e$ h4 Z' a- x8 z安全协议的建立和完善是安全保密系统走上规范化、标准化道路的基本因素。一个较为完善的内部网和安全保密系统,至少要实现加密机制、验证机制和保护机制。4 x9 B9 m9 C9 n" ]
4 ]2 p: U* T( L# k: p
需要强调的是,网络安全是一个系统工程,不是单一的产品或技术可以完全解决的。这是因为网络安全包含多个层面,既有层次上的划分、结构上的划分,也有防范目标上的差别。在层次上涉及到网络层的安全、传输层的安全、应用层的安全等;在结构上,不同节点考虑的安全是不同的;在目标上,有些系统专注于防范破坏性的攻击,有些系统是用来检查系统的安全漏洞,有些系统用来增强基本的安全环节(如审计),有些系统解决信息的加密、认证问题,有些系统考虑的是防病毒的问题。任何一个产品不可能解决全部层面的问题,这与系统的复杂程度、运行的位置和层次都有很大关系,因而一个完整的安全体系应该是一个由具有分布性的多种安全技术或产品构成的复杂系统,既有技术的因素,也包含人的因素。用户需要根据自己的实际情况选择适合自己需求的技术和产品。. Q/ f9 A% c! ^6 J7 [% Q