资源共享、快速、便捷是电子商务迅速发展的原因,而这种开放性使电子商务在安全方面先天不足。目前,电子商务安全问题变得越来越突出,已经成为制约电子商务快速发展的障碍。如何保障电子商务活动的安全,一直是电子商务研究的核心问题。基于Internet技术的电子商务安全,很大程度上依赖于网络的安全性,然而,网络安全事故总是时有发生。2005年“MSN性感鸡”、“狙击波”、“手机病毒”、“以名人和新闻为载体的病毒”等病毒一波又一波,给网络安全带来了严重的考验。其中,以商业为目的、以欺骗用户为手段的间谍软件,如网络钓鱼软件、鱼叉网络钓鱼软件成为网络安全最严重的威胁。据《金山2005年安全报告》显示,干扰人们日常工作、数据安全和个人隐私的各类间谍软件的危害已经超越传统病毒,成为互联网安全最大的威胁,感染率由2004年的30%激增到2005年的90%。2005年,黑客模仿中国工商银行、中国银行等金融机构设计了类似的网页,用来盗取用户账号和密码信息,并从中获取利益。这一现象在2005年以平均每个月73%的数字增长,使很多用户对网络交易的信心大减。
2005年,美国超过300万的信用卡用户资料外泄,导致用户财产损失严重。美国FBI在其2005年计算机犯罪调查报告中指出,在对2000多家公司进行了调查后发现,这些公司中有87%的承认曾经遭受过某种类型的攻击。其中,攻击次数最多的为病毒、间谍软件和端口扫描,分别占83.7%、79.5%和32.9%。这些攻击的共同点是使用病毒或者间谍软件渗透进企业网络,更先进的攻击包括破坏数据和端口控制,这些攻击给许多企业带来了严重的损失。
除了网络安全问题外,在电子商务的实施过程中,还涉及到安全技术、人员和设备管理、法律法规等安全问题。大量的事实表明,安全是制约电子商务发展的关键问题,安全得不到保障,即使使用Internet再方便,电子商务也无法得到广大用户的认可。
电子商务安全要素涉及面广,在使用电子商务的过程中主要的安全要素如下。
(1)真实性。
真实性是指网上交易双方身份信息和交易信息要真实有效。双方交换信息之前通过数字签名、身份认证以及数字证书来辨别参与者身份的真伪,防止伪装攻击。交易时,对提供的交易信息也要保证其真实性,防止欺骗交易行为。
(2)保密性。
电子商务作为贸易的一种手段,其信息直接代表着个人、企业或国家商业信息,有些可能已经是商业机密。传统的纸面贸易都是通过邮寄封装的信件或通过可靠的通信渠道发送商业报文来达到保守机密的目的。电子商务建立在开放的网络环境之上,并且功能越是强大的电子商务系统,其开放性越大,在这样的开放环境下,如何维护商业机密是电子商务全面推广应用的重要保障。信息的保密性要求信息在传输过程或存储中不被他人窃取。
(3)完整性。
电子商务简化了贸易过程,减少了人为的干预,同时也带来维护贸易各方商业信息完整性和统一性的问题。由于数据输入时的意外差错或欺诈行为,可能导致贸易各方信息的差异。此外,数据传输过程中信息的丢失、信息重复或信息传送的次序差异也会导致贸易各方信息的不同。贸易各方信息的完整性将影响到贸易各方的交易和经营策略,保持贸易各方信息的完整性是电子商务应用的基础。完整性包括信息传输和存储两个方面。在存储时,要防止非法篡改和破坏网站上的信息。在传输过程中,接收端收到的信息与发送的信息完全一样,说明在传输过程中信息没有遭到破坏。
(4)不可否认性。
在传统的纸面贸易中,贸易双方通过在交易合同、契约或贸易单据等书面文件上手写签名或印章来鉴别贸易伙伴,确定合同、契约、单据等的可靠性并预防抵赖行为的发生。这也就是人们常说的白纸黑字。在无纸化的E电子商务模式下,通过手写签名和印章进行贸易双方的鉴别已成为不可能。因此,要在交易信息的传输过程中为参与交易的个人、企业或国家提供可靠的标识,这种标志信息用来保证信息的发送方不能否认已发送的信息,接收方不能否认已收到的信息,身份的不可否认性常采用数字签名来实现。
(5)可靠性。
可靠性是指防止计算机失效、程序错误、传输错误和自然灾害等引起的计算机信息失效或失误。保证存储在介质上的信息的正确性。
(6)及时性。
及时性是防止延迟或拒绝服务,及时性安全威胁的目的就在于破坏正常的计算机处理或完全拒绝服务。在电子商务中,延迟或消除一个消息会带来灾难性的后果。例如,用户在上午10点向在线的股票交易公司发一个委托购买1000股IBM公司的股票的电子邮件,假如这个邮件被延迟了,股票经济商在下午2点半才收到这封邮件,这时股票已经涨了15%,这个消息的延迟就可使交易额损失15%。
(7)不可拒绝性。
不可拒绝性又称有效性,可用性,是保证授权用户在正常访问信息和资源时不被拒绝,即保证为用户提供稳定的服务。
从技术上看,电子商务安全主要包括网络安全技术、信息加密技术、公钥基础设施(PKI)以及电子安全交易协议等。网络安全技术是电子商务安全的基础。作为一个安全的电子商务系统,首先必须保证具有一个安全、可靠的通信网络,以保证交易安全;其次必须保证数据库服务器绝对安全,防止黑客闯入网络盗取信息。若安全问题解决不好,则将对整个电子商务市场带来巨大的损失。目前存在的主要安全问题有以下几个。
(1)黑客的恶意攻击。
黑客们在世界各地四处出击,寻找机会袭击网络几乎到了无孔不入的地步,黑客攻击已成为计算机网络面临的最大威胁。黑客的攻击手段和方法也是多种多样,一般可以粗略的分为以下两种:一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完整性,如拒绝服务攻击、内部攻击、邮件炸弹和间谍软件等;另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信息。这两种攻击均可对计算机网络和电子商务网站造成极大的危害,并导致机密数据的泄漏。
(2)软件的漏洞和“后门”。
这个方面主要是指操作系统、应用软件等的漏洞和后门。这些“后门”本来是为大型软件作测试用的,但却给攻击者以可乘之机,这些“后门”平时可能并不会成为安全隐患,但是一旦被利用或某种条件得到满足时,就会显现出来。目前常用的大型系统软件,如Windows 2000、Windows XP、一些商用数据库软件、一些UNIX系统软件,以及MS Internet Explorer和Netscape Communicator等,都不断被用户发现有这样或那样的安全漏洞。
(3)网络协议的安全漏洞。
网络服务一般都是通过各种各样的协议完成的,因此网络协议的安全性是网络安全的一个重要方面。如果网络通信协议存在安全上的缺陷,那么对手就有可能不攻破密码体制便可获得所需要的信息或服务。值得注意的是,网络协议的安全性是很难得到绝对保证的。目前协议安全性的保证通常有两种方法:一种是用形式化方法来证明一个协议是安全的;另一种是设计者用经验来分析协议的安全性。形式化证明的方法是人们所希望的,但一般协议的安全性是不容易判定的,所以对复杂的通信协议,目前主要采用找漏洞分析的方法来证明其安全性,无疑,这种方法也有很大的局限性。实践证明,Internet提供的一些常用服务所使用的协议,例如,Telnet、FTP和HTTP协议,在安全方面都存在这样或那样的缺陷,这也给黑客攻击提供了便利。
(4)计算机病毒的攻击。
信息技术的发展虽然极大地推动了计算机网络的普及,但同时也大大地促进了计算机病毒的发展,给病毒的蔓延创造了条件,这给日常生活和工作带来了许多不便,甚至造成巨大的损失。计算机病毒作为一种具有破坏性的能实现自我复制的程序,往往想尽一切手段将自身隐藏起来,当满足特定条件时,病毒就会发作,达到其破坏目的。根据破坏性的大小,病毒有良性和恶性之分,有些病毒发作时只是显示一些图片、放一段音乐或和你开个玩笑,这类病毒称为良性病毒;而有些病毒发作时会破坏数据、删除文件和格式化磁盘等,造成不可挽回的损失,这类就是恶性病毒,如“冲击波”、“狙击波”、“拉登”、“MSN性感鸡”等。根据有关的病毒资料,可以把病毒的破坏目标和攻击部位归纳如下:攻击系统数据区、攻击文件、攻击内存、干扰系统运行、速度下降、攻击磁盘、扰乱屏幕显示和CMOS等。对于这些问题可以通过及时安装漏洞补丁,更新操作系统、数据库软件、杀毒软件、防火墙、入侵检测系统等措施来解决。
密码技术是信息安全最基础的内容,也是电子商务安全交易的核心,这种技术主要用来实现电子商务交易的保密性、完整性、授权、可用性和不可否认性等。在电子商务交易系统中包含有三个实体:购买方、销售方及金融中介。在一次网上购物的过程中,消费者通常要将卡号和口令提供给商家,申请购物,消费者带有卡号和口令的订单在传送到商家的过程中,保证消费者敏感信息的保密性的任务要由密码技术来完成;同时在支付时还要对交易双方的身份进行认证,这要用到数字签名和认证技术,这些都是借助于密码技术来实现的。
密码的发展大致分为三个阶段:古代加密方法、古典密码和近现代密码学。
早在公元前400年,人类就有了通信密码的记载。古代的行帮暗语和一些文字猜谜游戏等,实际上就是对信息的加密。这种加密方法通过原始的约定,把需要表达的信息限定在一定的范围内流通,属于较原始的古代加密方法。古典密码的加密方法主要是文字置换,使用手工或机械变换的方式实现。古典密码的代表密码体制主要有:单表代替密码、多表代替密码及转轮密码。它主要应用于政治、军事以及外交等领域,可以说,自从有了战争,就有了保密通信。交战双方为了保护自己的通信安全。窃取对方的情报而不断地研究各种信息加密技术。在两次世界大战期间,密码学技术在军事、政治和外交领域得到了长足的发展,这段时间称为古典密码的发展阶段。
1949年C.E.Shannon发表文章《保密系统的通信理论》,为密码学奠定了坚实的理论基础,使密码学成为一门真正的科学。1976年,W.Diffie和M.E.Hellman发表了《密码学中的新方向》一文,提出了一种崭新的密码设计思想,导致了密码学的一场革命。他们首次证明了从发送端到接收端无密钥传输的保密通信是可能的,从而开创了公钥密码学的新纪元。1977年,美国国家标准局(National Bureau of Standards)正式公布了数据加密标准DES(Data Encryption Standard),将DES算法公开,从而揭开了密码学的神秘面纱。从此,密码学的研究进入了一个崭新的时代。
随着计算机、Internet和通信技术的迅猛发展,很多敏感信息常常通过公共通信设施或计算机网络进行交换,特别是电子商务和电子政务的迅速发展,越来越多的个人信息需要严格保密,如银行账号、个人隐私等,正是这种对信息的秘密性与真实性的需求,密码学才逐渐从军事、政治、外交等领域走进公众的日常生活当中。
密码学主要是研究通信安全保密的学科,它包括两个分支:密码编码学和密码分析学。密码编码学主要研究对信息进行变换,以保护信息在信道的传递过程中不被敌手窃取、解读和利用的方法,而密码分析学则与密码编码学相反,它主要研究如何分析和破译密码。这两者之间既相互对立又相互促进。
一个密码系统由明文空间、密文空间、密码方案和密钥空间组成。
(1)加密的信息称为明文。明文的全称为明文空间。一般情况下,明文用M(Message,消息)或P(PlainText,明文)表示。明文是信源编码符号,可能是文本文件、位图、数字化存储的语音流或其他的数字视频图像的比特流。可以简单地认为明文是有意义的字符流或比特流。
(2)密文是经过伪装后的明文。全体可能出现的密文集合称为密文空间。一般情况下,密文用C(密码,Cipher)表示,它也可以被认为是字符流或比特流。
(3)密码方案确切地描述了加密和解密变换的具体规则。这种描述一般包括对明文进行加密时所使用的规则(称为加密算法,其对明文实施的变换过程称为加密变换,简称为加密,记为E(X),这里X为明文)的描述,以及对密文进行还原时所使用的规则(称为解密算法,其对密文实施的变换过程称为解密变换,简称为解密,记为D(X),这里的X为加密后的密文)的描述。
(4)加密和解密算法的操作在称为密钥的元素(分别称为加密密钥与解密密钥)控制下进行。密钥的全体称为密钥空间。一般情况下,密钥用K(Key)表示。密码设计中,各密钥符号一般是独立、等概出现的,也就是说,密钥一般是随机序列。
密码体制的分类方法有很多,常见的几种分类方法有以下几种:
① 根据密码的发展历史,密码可分为古典密码和近现代密码。
② 根据加密算法和解密算法所使用的密钥是否相同,或是否能简单地由加密密钥推导出解密密钥,可以将密码体制分成对称密钥密码体制(也叫单钥密码体制、秘密密钥密码体制)和非对称密钥密码体制(也叫双钥密码体制、公开密钥密码体制)。
如果一个密码系统的加密密钥和解密密钥相同,或者虽然不相同,但由其中的任意一个密钥可以很容易地得知另外一个,则所采用的就是对称密钥密码体制。如A5、SEAL、DES、IDEA、RC5、AES等都是对称密码体制的加密算法。反之,如果一个密码系统把 加密和解密分开,加密和解密分别用两个不同的密钥实现,并且由加密密钥推导出解密 密钥在计算上是困难的,则该系统所采用的就是非对称密码体制。采用非对称密码体制 的每个用户都有一对选定的密钥,其中一个是可以公开的,称为公钥;另一个由用户自 己秘密保存,称为私钥。RSA、ElGamal、椭圆曲线密码等都是非对称密码体制的典型 代表。
对称密码体制用复杂的非线性变换来实现;非对称密钥密码体制一般使用某个数学上的难题来实现。一般,后者的安全程度与否与现实的计算能力具有密切的关系,非对称密码体制适应于开放性的使用环境,密钥管理问题相对简单,可以方便、安全地实现数字签名和验证。
③根据密码算法对明文信息的加密方式,可分为流密码和分组密码。流密码逐位地加密明文消息字符(如二进制数),本书中介绍的A5、SEL即为流密码算法;分组密码将明文消息分组(每个分组含有多个字符)。逐组地进行加密,如DES、RC5、AES等即为分组密码算法。
④ 按照是否能进行可逆的加密变换,又可分为单向函数密码体制以及人们通常所指的双向变换密码体制。单向函数是一类特殊的密码体制,其性质是可以方便地把明文转换成密文,但再把密文转换成原来的明文却是困难的(有时甚至是不可能的)。单向函数只适用于某种特殊的、不需要解密的场合(如密钥管理和信息完整性鉴别技术)。典型的单向函数包括MD4、MD5、SHA-1等。
另外,关于密码体制的分类,还有一些其他的方法,例如按照在加密过程中是否注入了客观随机因素,可以将密码体制分为确定型密码体制和概率密码体制等。我们最经常使用的分类方法是第二种。
对称密码体制,也叫做单钥密码体制或秘密密钥密码体制,即加密密钥与解密密钥相同的密码体制,这种体制中只要知道加(解)密算法,就可以反推解(加)密算法。早期使用的加密算法大多是对称密码体制。对称密码体制的优点是具有很高的保密强度,可以达到经受国家级破译力量的分析和攻击;但它的密钥必须通过安全可靠的途径传递,密钥管理成为影响系统安全的关键性因素,使它难以满足系统的开放性要求。
对称密码体制按照对明文数据的加密方式不同,可以分为流密码(又叫序列密码)和分组密码两类。分组密码(Block Cipher)对明文进行加密时,首先需要对明文进行分组,每组的长度都相同,然后对每组明文分别加密得到等长的密文,分组密码的特点是加密密钥与解密密钥相同。分组密码的安全性应该主要依赖于密钥,而不依赖于对加密算法和解密算法的保密,因此,分组密码的加密和解密算法可以公开。流密码(Stream Cipher)将消息分成连续的符号或比特,用密钥流对信息进行加密。其中,密钥流(也叫序列密码)是由种子密钥通过密钥流生成器得到的。分组密码体制与流密码体制相比,在设计上的自由度比较小,但它具有容易检测出对信息的篡改、不需要密钥同步等优点,使其具有很强的适应性和广泛的用途。
(1)古典密码。
古典密码是现代密码的基础,它包含着密码处理的基本功能单元,分析古典密码有助于我们更好地理解、设计以及分析近现代密码体系。古典密码代表为:
· 移位密码。
· 维吉尼亚密码。
还有一些其他古典密码,如代换密码、仿射密码、希尔密码和置换密码等。
(2)流密码。
流密码采用密钥生成器,从原始密钥生成一系列密钥流用来加密信息,每个明文可以选用不同的密钥加密。如果流密码所使用的是真正随机产生的、与消息流长度相同的二进制序列,此时的流密钥就是一次一密的密码体制,这种密码的破解很困难。
与分组密码体制相比,流密码目前应用领域主要还是在军事和外交等部门,虽然现在也有许多公开设计和研究成果发表,但作为密码学的一个分支,流密码的大多数设计、分析成果还都是保密的。目前可以公开见到的流密码算法包括AS、SEAL、RC4、PIKE等。对流密码的介绍所需的理论要求比较高,这里将从分类、结构和模型上对流密码进行简单的介绍,如果读者感兴趣,可以进一步参考其他相关文献。
流密码多数情况下用二进制序列来表示,这种流密码将明文和密钥都转换成相应的二进制序列,种子密钥用来控制密钥流发生器,使密钥流发生器输出密钥流,加密变换只是简单的模2加变换(即明文和密钥进行二进制的异或运算)。解密时,接收方将利用安全信道传送来的种子密钥和与加密方相同的密钥发生器来生成密钥流,该密钥流与加密端同步,并使用与加密变换相同的解密变换,从而完成信息的加/解密。
流密码的设计核心在于密钥发生器的设计,流密码的安全强度取决于密钥发生器产生的密钥流的周期、复杂度、随机(伪随机)特性等,安全的密钥流生成器必然会使用非线性变换,本节介绍的例子使用的是线性变换。二进制流密码体制的诱人之处在于它可以用硬件来实现,线性变换一般采用线性反馈移位寄存器(LFSR)来实现,而非线性变换目的是增强密钥的复杂度和随机特性,这些变换一般以线性移位寄存器序列为基序列,经过不规则采样、函数变换等,得到实用安全的密钥流。
(3)分组密码。
分组密码体制是目前商业领域中比较重要而流行的一种加密体制,它广泛地应用于数据的保密传输、加密存储等应用场合。分组密码(Block Cipher)对明文进行加密时,首先需要对明文进行分组,每组的长度都相同,然后对每组明文分别加密得到等长的密文,分组密码的特点是加密密钥与解密密钥相同。分组密码的安全性主要依赖于密钥,而不依赖于对加密算法和解密算法的保密,因此,分组密码的加密和解密算法可以公开。
分组密码算法实际上就是在密钥的控制下,简单而迅速地找到一个置换,用来对明文分组进行加密变换,为了便于实现和分析,在实践中经常采取以下两个方法来保证密码算法的安全性要求。
① 将大的明文分组再分成几个小段,分别完成各个小段的加密置换,最后进行并行操作。这样使得总的分组长度足够大,有利于对密码的实际分析和评测,以保证密码算法的强度。
② 采用乘积密码技术。乘积密码就是以某种方式连续执行两个或多个密码变换。例如,设有两个子密码变换E1和E2,则先以E1对明文进行加密,然后再以E2对所得结果进行加密。其中E1的密文空间与E2的明文空间相同。如果得当的话,乘积密码可以有效地掩盖密码变换的弱点,构成比其中任意一个密码变换强度更高的密码系统。
在实际设计中,分组密码设计的基本指导原则采用香农建议的扩散和混乱。
扩散作用是一方面将每一位明文的影响尽可能迅速地作用到较多的密文位中去,另一方面使每一位密钥的影响也尽可能迅速地扩展到较多的密文位中去,以便隐蔽明文的统计特性。扩散的目的是使密文中的任一比特都要尽可能与明文、密钥相关联,或者说明文和密钥中的任何位上的值的改变都会在某种程度上影响到密文的值,以防止分析者将密钥分解成若干个孤立的小部分,然后各个击破。
混乱的概念是指密文和明文之间的统计特性的关系尽可能的复杂化。因为仅仅使每个明文、密钥比特与所有的密文比特紧密相关是不够的,还必须进一步要求相关的等价数学函数要足够复杂,要避免很有规律的、线性的相关关系。
扩散和混乱可以用揉面团来形象地理解,将明文和密钥经过充分地混合,最后变成密文。所不同的是,这种混合必须是可逆的,同时,变换与逆变换也必须是可计算的。分组密码的两个典型的代表是DES和AES算法。密码技术所提供的安全性来源于破解密码计算上的困难性。计算机技术发展到今天,计算能力已经对像DES这样的加密算法构成了威胁,比如,DES的密钥太短,有效密钥只有56位;DES加密算法中还存在弱密钥和半弱密钥;DES加密标准的算法存在互补对称性等,为此,急需制定新的密码标准来取代过时的DES,AES加密标准应运而生。
1997年美国国家标准技术研究所(NIST)发起征集AES(Advanced Encryption Standard)算法的活动,到2000年10月,在密码专家对筛选出的5种算法进行攻击试验、破译试验的基础上,根据安全性能、速度性能、实现的方便实用性、通用性和灵活性标准,Rijndael最终被选作AES标准的加密算法。
AES加密算法和DES加密算法有很多的共同点,都要经过一个S盒、替换和移位等操作,但是,AES加密算法最终取代DES,主要原因如下:
① 在DES中,密钥长度为64位,有效密钥空间仅为256,这样小的密钥空间对像穷举密钥这样的攻击显得太小了。相比之下AES有更长的密钥,密钥长度可为128位、192位和256位三种情况,明显提高了加密的安全性,同时,对不同机密级别的信息,可采用不同长度的密钥,执行灵活性较高。
②在DES中,还存在一些弱密钥和半弱密钥。DES16加密迭代中使用不同的子密钥是确保DES强度的一种重要措施,但实际上存在一些密钥,由它产生的16个子密钥会部分地重合甚至完全一致。这样的密钥为弱密钥或半弱密钥,它们的存在无疑会降低DES的强度。所以,在DES中,对初始密钥的选取存在一定的限制。在AES中,由于密钥扩展函数的特点,所产生的轮密钥随机性很强,对初始密钥的选取也没有特别的限制。
③DES加密算法存在互补对称性。互补对称性会使DES在选择明文攻击下所需的工作量减半。产生互补对称性的原因在于DES中两次作用了⊕运算。而AES的均衡对称结构既可以提高执行的灵活度,又可防止差分分析方法的攻击。
④AES算法的实现更简单。AES算法的迭代次数最多为14次,S盒只有一个,较之DES16迭代和8个S盒要简单得多。此外,AES算法有很强的扩散性能,能把非线性部件产生的非线性很快地扩散开,形成的密码有很高的随机性。可有效地防止差分分析和线性分析的攻击。
最后,AES算法在所有的平台上都表现良好,其操作比较容易抵御对物理层实现的某些攻击,能很好地适应现代及将来处理器的发展,有支持并行处理的能力。因此,无论是从安全还是实现的难易度上考虑,AES采用Rijndeal作为其加密算法应该是明智的选择。
前面讨论的密码体制都是对称密钥密码体制。然而,使用对称密钥密码体制进行秘密通信时,任意两个不同用户之间一般都应该使用互不相同的密钥,这样,如果一个网络中有n个用户,他们之间彼此可能需要进行秘密通信,这时网络中将共需要n(n-1)/2个密钥。其中,每个用户都需要保存n-1个密钥,这样巨大的密钥量给密钥分配、管理和使用带来了极大的困难,也带来了非技术因素上的安全问题(若某个用户泄密,将影响整个密码系统)。另外,在电子商务活动中,很多场合需要身份认证和数字签名,这些问题,对称密码体制是无法很好地解决的。
1976年,Diffie和Hellman在《密码学的新方向》一文中提出公开密钥密码的思想,经过20多年发展,公开密钥密码获得了巨大的发展,在理论研究方向,为数众多的密码研究人员,甚至包括其他领域的一些研究人员对公开密钥密码投入了巨大的精力与热情,发表了大量的研究文献,获得了一整套系统的研究成果;在实践应用当中,公开密钥密码成功地解决了计算机网络安全的身份认证、数字签名等问题,推动了包括电子商务在内的一大批网络应用的不断深入、发展。
(1)非对称密码体制的理论基础。
非对称密码体制也称公钥密码体制,在这种体制中,存在一个密钥对——公共密钥和私有密钥,它们是不一样的。公开的密钥简称公钥(Public key),私有密钥简称私钥(Private key),私钥和公钥都既可做加密密钥,也可做解密密钥。这种密码体制中每一个用户都分别拥有两个密钥:公钥与私钥,并且攻击者想由公钥得到私钥在计算上是不可行的。所有用户的公开密钥可能都记录在作用类似于电话号码上的密钥本上,并且会定期更新,而它可以被所有用户访问,这样,每一个用户都可以得到其他所有用户的公开密钥。同时,每一个用户的解密密钥将由用户保存并严格保密(因此,解密密钥也称为秘密密钥)。
与对称密钥密码体制相比,非对称密钥密码体制具有以下几个特点:
① 密钥分发和管理简单。加密密钥可以做成密钥本公开,解密密钥由各用户自行掌握。
②每个用户秘密保存的密钥量减少。网络中每个用户只需要秘密保存自己的解密密钥,与其他用户通信所使用的加密密钥可以由密钥本得到。
③ 适应于计算机网络的发展,能够满足互不相识的用户之间进行保密通信的要求。
④能够很容易地完成数字签名和认证。
⑤ 加密和解密的效率比对称密码体制要差,但是大多数用公钥密码体制来保护和分发会话密钥,并将其用于对称密码算法中实现快速通信。
(2)RSA公钥密码体制。
1978年,Ron Rivest和Adi Shamir以及Leonard Adleman提出的RSA(名字的缩写)公钥密码体制至今还被认为是一个安全性能良好的密码体制。RSA公钥密码体制是基于大整数分解的非对称密钥密码体制。大整数分解问题是已知整数n,n是两个素数的乘积,即有n=P×q,求解P和q的值。
大整数分解是计算上困难的问题,目前,比较好的大整数分解算法包括:二次筛选法(Quadratic Sieve,QS)、椭圆曲线法(Elliptic Curve Method,ECM)、Pollard的蒙特卡罗算法(Pollard’s Monte Carlo Algorithm,PMCA)、数域筛选法(Number Field Sieve,NFS)等。其中,数域筛选法被认为是最好的分解算法。然而,根据专家推测的该算法的渐进时间估计值公式,当n是200位十进制数时,用数域筛选法并采用107运算的超高速电子计算机进行因子分解,也要108年。
RSA涉及到的数学知识比较复杂,这里我们只简要地介绍。有对此感兴趣的读者可以进一步参考其他文献。
密码学是信息安全的理论基础,因此被广泛应用于各种安全技术中,如数字签名、身份认证技术等。
认证是以特定的机构,对签名及其签署者的真实性进行验证的具有法律意义的服务。与电子签名一样,电子认证也是电子商务中的安全保障机制。但两者的具体功能是有所不同的,电子签名侧重于解决身份辨别与文件归属问题,使数据信息不被否认或者篡改,主要是技术手段上的保证;而电子认证侧重解决的是交易人的可信度问题,主要应用于交易关系的信用安全方面,是一种组织制度上的保证。电子认证,从根本上说,是一种服务,其通过对交易各方的身份、资信进行认定,对外可以防范交易当事人以外的人故意入侵而造成风险,从而防止欺诈的发生;对内则可防止当事人的否认,以避免当事人之间的误解或抵赖,从而减少交易风险,维护电子交易的安全,保障电子商务活动顺利进行。
认证技术是解决电子商务活动中的安全问题的技术基础。认证采用对称密码、公匙密码、散列算法等技术为电子商务活动中的信息完整性和不可否认性以及电子商务实体的身份真实性提供技术保障。
认证是信息安全中的一个重要内容,认证分为消息认证(也称数据源认证)和身份认证。消息认证用于保证信息的完整性与抗否认性,身份认证则用于鉴别用户身份。在电子商务系统中有时候认证技术比信息加密本身更重要。在网上购物和支付系统中,用户往往对购物信息的保密性不是很看重,而对于网上商店的身份真实性倍加关注(这就需要身份认证);另外,用户的个人信息(如银行账号、身份证、密码等)和提交的购物信息未被第三方修改和伪造,并且得到网上商家的承认(这就需要消息认证),同样,商家也面临着这些问题。
数字签名是非对称加密技术的一类应用。数字签名从传统的手写签名衍生而来。它在身份认证、数据完整性、不可否认性以及匿名性等方面有着重要的应用。
数字签名可以提供一些基本的密码服务,如数据的完整性、真实性以及不可否认性。是实现电子交易安全的核心技术之一。如文件的制造者可以在电子文件上签一个可信、不可伪造、不可更改、不可抵赖的数字签名;电子商务实体可以向对方发送自己的身份识别码、用户名、口令等身份信息的数字签名来进行身份认证,如图6-3所示。简单地说,数字签名就是通过一个单向函数对要传送的报文进行处理,得到用于认证报文来源并核实报文是否发生变化的一个字母数字串,用这几个字符串来代替书写签名或印章,起到与书写签名或印章同样的法律效用。数字签名具有法律效力,签名者一旦签名便需要对自己的签名负责,接收者通过验证签名来确认信息来源的正确性、完整性和可靠性。数字签名必须能保证:接收者能够核实发送者对报文的签名;发送者事后不能抵赖对报文的签名;接收者不能伪造对报文的签名。
发送方 接收方
图6-4 数字签名的过程示意
目前有许多数字签名的方法,它们可以分为两类:直接的和需仲裁的数字签名。直接的数字签名仅涉及到通信双方,数字签名直接发给通信的另一方。在需仲裁的数字签名中每个发方X发往收方Y的签名报文先被送给仲裁者A,仲裁者对该报文和它的签名进行一系列的测试以检验它的出处和内容,然后对报文注明日期,附上一个已经经过仲裁证实属实的说明后发给Y。通过仲裁可以验证确信发送方的私钥/公钥仍然有效,防止密钥泄漏后攻击者的欺骗行为。数字签名一般采用两次加密来实现,即一次加密实现签名,一次加密实现秘密通信,实际上也可以只进行签名加密,这时报文将以明文的形式发送。
实现数字签名有很多方法,目前数字签名采用较多的是公钥加密技术和散列算法(Hash算法)相结合的一种数字签名方式。散列函数对要发送的报文提供报文鉴别码,而加密系统则提供安全的通道来实现数字签名。散列函数以一个变长的报文M作为其输入,输出一个定长的散列码H(M),这个散列码是报文中所有比特信息的函数值,并有差错检测能力:报文改变任意一点,那散列码都将发生改变。散列函数目的是为文件、报文或其他的分组数据产生“指纹”。我们也称散列函数为单向函数、抗冲突散列函数、压缩函数、消息摘要函数和指纹函数等。散列函数性质如下。
① 散列函数易于实现:对任何给定的输入M,输出H(M)是相对易于计算(使得硬件和软件易于实现),且输出是固定长度的数。
②散列函数具有单向性:已知散列函数的输出散列码H(M),计算其输入M是很困难的,即已知C=H(M),求M是很难的。
③散列函数具有防伪造性(又称弱抗冲突性)。
④散列函数具有很好的抵抗攻击能力(又称强抗冲突性)。
散列函数是公开的,对处理的过程不用保密,它的安全性来源于它的单向性。散列函数算法目前主要有MD5、SHA-1和RIPEMD-160。MD5的散列码长度是128位,可以在24小时找到一个冲突,使得不同的输入得到相同的结果,因此该函数已经过时。而SHA-1和RIPEMD-160散列码为160位,理论上需要4000年才能找到一个冲突,被认为是安全性极好的散列函数。
数字签名的算法很多,应用最为广泛的三种是:RSA签名、DSS签名和基于ECC密码体制的ECDSA数字签名。
(1)RSA数字签名。
1978年,Ron Rivest和Adi Shamir以及Leonard Adleman提出了RSA(名字的缩写)数字签名和公钥算法。
(2)DSS数字签名。
美国国家标准技术研究所(NIST)于1994年颁布了数据签名标准(DSS),它采用DSA算法。该算法利用的散列函数为SHA。DSA利用一个在签名函数Si9和验证函数Ver来实现签名和验证。签名函数的输入除了散列码H(M)和发送方的私钥x外,还有一个用作特殊签名的随机数k、一个许多通信系统参数集{p,q,g}(可以认为它们是系统的全局公钥或通信双方的密码密钥)作为签名函数的输入,签名结果由两个分量组成s和r。
(3)其他数字签名。
电子商务中,还有很多其他特殊的签名:双重签名、多重数字签名、代理签名、盲签名和门限签名等。多重数字签名是指不止一个人的签名,每个人的签名可能只是对报文中某部分的签名或者都是对整个文件的签名,他们对同一文件进行签名后数字签名才能生效。代理签名是密码的持有者将签名授权给第三方,授权的第三方能够代表签名持有者进行数字签名;代理签名又分部分代理、全权代理和授权代理签名。盲签名是在像电子货币或电子投票系统中,签名者需要匿名签署那些不知道内容的文件时,使用的签名。门限签名是指在一个x个成员的群体中,至少有y个成员同意数字签名时,才能对代表该群体的文件实施数字签名。一般门限签名通过共享密钥来实现,密钥被分成多份,只有超过y个子密码组合在一起时才能重构出密钥,才能实现签名。
身份认证又叫身份识别,它是通信和数据系统的正确识别通信用户或终端的个人身份的重要途径。目前,身份认证的方法形形色色,从身份认证过程中与系统的通信次数分,有一次认证、两次认证或多次认证。从身份认证所应用的系统来分,有单机系统身份认证和网络系统身份认证。从身份认证的基本原理上来说,身份认证可以分为静态身份认证和动态身份认证。不管怎样,身份认证的主要途径如下。
(1)口令认证。
口令认证采用用户知道的或掌握的知识,如用户名、密码、个人识别码(PIN)和口令等来识别。基于口令认证的技术如下。
· 口令加密技术
在明文传输的口令认证系统中攻击者可能窃听通信信道或进行网络窥探(sniffing),并从传输过程中获得用户口令,这时系统就会被攻破。为弥补这个缺陷,我们可以用单向散列函数对口令进行处理,再采用加密技术对该散列码进行加密。这时,认证中心数据库中存储口令的散列码,口令以散列码的密文传输到认证中心,N解密生成散列码,以此来核对身份。攻击者即使从通信信道窃取到数据也很难破解。这种方式的困难在于加密密钥的交换。当采用对称密钥加密方式时,要求认证方和被认证方共享一个密钥,但由于身份认证前双方的身份还不明确,不可能预先共享一个密钥,通常解决的办法是求助于第三 方——一个可信任的权威机构。当采用非对称密钥加密方式时,口令可以用认证方的公钥加密,由于公钥可以通过公开的渠道获得,这时不存在采用对称密钥加密时遇到的那种矛盾,当然,这也需要密钥分发机制的配合。由此,我们也看到,身份认证与密钥分发经常是联系在一起的,所以,下面提到的许多认证协议中也包含了密钥分发的功能。虽然通过散列函数和认证密钥的建立能产生一个安全信道,并能进行安全通信,但攻击者仍可以采用离线方式对口令密文实施字典攻击。
· 时间戳技术
电子交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。时间戳服务开展成功的电子商务应用,要求交易结果对于参与双方应该是有约束力的,参与双方不能否认其行为。这其 中需要在经过数字签名的交易上打上一个可信赖的时间戳,从而解决一系列的实际和法律问题。
数字时间戳是一种时间同步技术。由于用户桌面时间很容易改变,由该时间产生的时间戳不可信赖,因此需要一个可信任的第三方——时间戳权威(Time Stamp Authority,TSA),来提供可信赖的且不可抵赖的时间戳服务。TSA的主要功能是提供可靠的时间信息,证明某份文件(或某条信息)在某个时间(或以前)存在,防止用户在这个时间后伪造数据进行欺骗活动。时间戳是一个经加密后形成的凭证文档,它包括三个部分:一是需 加时间戳的文件的摘要;二是DTS收到文件的日期和时间;三是DTS的数字签名。时间戳产生的一般过程为:用户首先将需要加时间戳的文件用HASH函数(或称散列函数)处理形成摘要,然后将该摘要发送到DTS,DTS将收到文件摘要的日期和时间信息加入到文件中,再对该文件加密(数字签名),然后送回用户。
在现实中,时间戳的使用有两种情况:一种是绝对的时间戳,一种是相对的时间戳。绝对时间戳给电子文档包含一个和现实生活中一样的真实时间。相对时间戳只要证明某个电子文档是早于另一个文档即可。由于从技术上很难保证用户的时间同步令牌在时间上和中心认证系统严格同步,而且数据在网络上传输和处理都有一定的延迟。当时间误差超过允许值时,对正常用户的登录往往造成登录认证失败,攻击者也可能利用这个时间差进行欺骗活动。同时,基于时间同步机制的技术无法防范“假中心”的安全隐患。
· 零知识证明技术
通常的身份认证都要求传输口令或身份信息(尽管是加密传输),如果希望不传输这些信息,身份也能得到证明,这就需要身份的零知识证明技术。零知识证明是这样一种技术:被认证方P掌握某些秘密信息,P想设法让认证方V相信他确实掌握那些信息,但又不想让V也知道那些信息(如果连V都不知道那些秘密信息,第三者想盗取那些信息当然就更难了)。零知识技术身份认证中,被认证者一般将其口令、证书、特别的身份信息、某个秘密文件等经散列函数处理后,将生成的散列码发给验证者,验证者通过手上的相应信息的散列码,与之比较便可以确定用户。
· 提问/应答技术
这种技术中每个系统用户都持有相应提问/应答令牌。令牌内置种子密钥和加密算法。用户需要访问系统时,认证系统首先提示输入用户名和静态口令,认证通过后系统在下传一个中心系统随机生成的提问数,通常为一个数字串,用户将该提问数输入到提问应答令牌中,提问应答令牌利用内置的种子密钥和加密算法计算出相应的应答数,通常也是一个数字串。用户将该数字串作为应答数上传给认证中心。认证中心根据该用户在认证中心保存的种子密钥和同样的加密算法计算出同样的应答数并和用户上传的应答数进行比较,如果两者相同,允许该用户访问系统,否则拒绝用户的登录请求。
提问/应答机制的身份认证具有极高的安全性。由于每个用户的种子密钥不同,因此不同用户对同样的提问数可以计算出不同的应答数,只有用户持有指定的提问应答令牌才能计算出正确的应答数。从而可以保证用户是持有指定提问应答令牌的合法用户。同时,该应答数只能在这次提问应答过程中有效,下次登录时系统会生成不同的提问数,相应的应答数也会发生变化,因此应答数不担心被其他人截取。
· 一次性口令技术
一次性口令机制是一种用来挫败在线口令窃听的技术。“一次性”是指用户发给验证者的口令不会重复,每次登录都会生成不同的密码来实现验证。最早提出该思想的是Lamport,1991年这种基于口令的远端访问机制被贝尔通信研究中心(Bellcore)修改并实现为“一次性口令系统”称为S/KEY。早期的S/KEY采用DES函数作为单向散列函数,后来采用MD4和MD5来实现。
一次性口令是基于C/S模式的,它有操作两方,一方是客户端,它必须在第一次登录时生成正确的一次性口令;另一方是服务器端,一次性口令必须被验证。
当一个用户在服务器上首次注册时,系统给用户分配一个种子值和一个迭代值,这两个值就构成了一个原始口令,同时在服务器端还保留仅有用户自己知道的密码。在客户端,使用单向函数时带入的参数就是用户输入的密码和“种子”,其循环数,也就是使用单向函数的次数是由服务器端传来的序列号决定的。其中的“种子”也是服务器端传过来的而且是唯一用于用户和此次登录的一个字符串,它增强了系统的安全性。口令在被用户生成并发送到服务器端后,要得到正确的验证。服务器端首先暂存它所接收到的一次性口令,然后对其使用一次单向函数。若计算结果与上一次成功登录所使用的口令相同,则本次登录成功,并用本次使用的口令更新口令文件中的记录,并作为下次验证用。若不相同,则登录失败。
一次性口令可以有效防止字典攻击,但缺点是若攻击者清楚单向函数结构并窃听到 客户机发给主机的口令和计数器值,很可能冒充客户机对主机实行攻击,从而使认证失败。
· 加密的密钥交换(EKE)
由于大部分口令是字母或数字,这些口令在计算机中以ASCII存储,而且很多口令都是一些容易记忆但却不安全的口令,这样对于规模不大的口令空间使用离线字典攻击称为可能。例如对于8个字符的口令,其字节长度为64位(1个ASCII字符长8位),理论上口令空间有264,但是实际上ASCII只使用了8位的部分编码,口令空间比264小得多;若口令由数字和字母组成,则其口令空间将进一步减少,又加上该空间上一些不好的口令(字母单词、人名、生日等),该空间将大大减小。这样的口令很难抵挡基于概率的攻击。Bellovin和Merritt提出了一个基于口令的安全认证协议,称为加密的密钥交换(EKE),也称加盐操作。这个机制中使用概率加密技术,在系统中,采用一种对称加密算法和非对称加密算法来实现。非对称加密算法用来实现密钥的交换,而对称密码算法则用来进行保密通信,加密中采用随机数作为公钥加密和会话加密密钥。
EKE实质上是对口令的随机“加盐操作”,“放大了”口令空间,将口令从字典空间变成某个随机的非对称密钥空间。
(2)持证认证。
持证认证利用授权用户所持有物作为访问控制的认证技术,例如身份证、护照、信用卡、USB Key等来识别,它的作用类似于钥匙,用于启动电子设备。
电子认证一般采用数字证书来实现,它是由权威的认证机构(Certificate Authority,CA)产生,功能就和个人身份证一样用来解决网络上的身份问题,其认证过程如图6-4所示。认证机构是提供身份验证的第三方机构,由一个或多个用户信任的组织实体构成。CA核实某个用户的真实身份以后,签发一份报文给该用户,以此作为网上证明身份的依据,这 个报文称为数字证书。数字证书能够起到标识贸易方的作用,是目前EC广泛采用的技术之一。
图6-4 电子认证的流程
其他常见的是磁卡,它是一种嵌有磁条的塑料卡,用来记录机器识别的个人信息。这类卡的安全性仍是不高的,现在普遍使用IC卡来代替传统的磁卡。IC卡是通过在一块塑料基片中嵌入集成电路芯片而制成的卡片,外形与覆盖磁条的磁卡相似。根据卡与外界数据通信的方式,可以分为接触型、非接触型和混合型三类。接触型IC卡在使用时需要将其插入读卡机之中,通过卡片表面上接触模块(通常需要表面镀金)的物理接触来实现信息传递。非接触IC卡在使用时只要靠近读卡机即可,卡片和读卡机上都带有射频收发电路,可以实现双方的通信。混合型的IC卡兼有接触型和非接触型的功能。根据卡中所嵌入集成电路的类别,可以将IC卡分成存储器卡、逻辑加密卡和CPU卡等三类。其中,CPU卡称为智能卡,它是IC卡中功能最强、安全性最高的一种。
目前,针对智能卡的攻击很多,并带来了很多安全问题。例如,使用非法卡作弊、截取并篡改交易过程中所交换的信息等行为;使用伪造的智能卡,或者用他人遗失的智能卡,或者使用盗窃所得的智能卡,以图冒充合法用户进入系统,对系统进行实质上未经授权的认证;有的采用一种主动攻击的方式,即直接对智能卡与外部通信时所交换的信息流(包括数据和控制信息)进行截听、修改,以谋取非法利益或破坏系统。针对这些问题,在制造、使用和丢失等过程中,制定相关的政策来防止出现问题,如制造卡的参数严格保密(智能卡一般使用对称或非对称密码体制来进行鉴别,这种体制建立的系统要注意保护其相关参数),使用中注意保护密码以防泄漏,密码限制输入次数、丢失及时挂失等。
(3)生物识别认证。
依据人类自身所固有的生理或行为特征进行识别。生理特征与生俱来,多为先天性的,如指纹、眼睛虹膜、脸像、DNA等;行为特征则是习惯使然,多为后天性的,如笔迹、步态等。生物识别因此包括指纹识别、虹膜识别、脸像识别、掌纹识别、声音识别、签名识别、笔迹识别、手形识别、步态识别及多种生物特征融合识别等诸多种类,其中,虹膜和指纹识别被公认为最可靠的生物识别方式。
计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。从广义上定义,凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。依据此定义,诸如逻辑炸弹、蠕虫等均可称为计算机病毒。狭义的定义就是病毒程序通过修改(操作)而传染其他程 序,即修改其他程序使之含有病毒自身的精确版本或可能演化的版本、变种或其他病毒繁衍体。
计算机病毒是电子商务系统的又一大危害,许多电子商务网站都有感染病毒的时候,由此带来的经济损失也是非常惊人的,因此了解计算机病毒的特征并采取有效的措施对其进行防治是非常必要。
随着计算机及计算机网络的发展,伴随而来的计算机病毒传播问题越来越引起人们的关注。随着因特网的流行,有些计算机病毒借助网络爆发流行,如CIH计算机病毒、“爱虫”病毒等,它们与以往的计算机病毒相比具有一些新的特点,给广大计算机用户带来了极大的损失。
1977年,Thomasj Ryan在科幻小说“Adolescence of Pl”中幻想一种计算机病毒可以从一台计算机传染到另一台计算机。
1983年,美国计算机安全专家Fred Cohen博士在VAX-11上通过实验证明了计算机病毒的存在。
1986年,巴基斯坦两兄弟为追踪非法复制其软件的人制造了“巴基斯坦”病毒,成了世界上公认的第一个传染PC兼容机的病毒,并且很快在全球流行。
1988年,小球病毒传入我国,在几个月之内迅速感染了20多个省、市的计算机,成为我国第一个计算机病毒案例。
在此之后,如同打开了潘多拉的盒子,各种计算机病毒层出不穷。
(1)计算机病毒的特点。
计算机病毒的结构,决定了它自身的特点,可归纳成如下几个方面。
①计算机病毒是一段可执行的程序。计算机病毒和其他的合法程序一样,是一种可存储、可执行的非法程序。它可以直接或间接地运行,可以隐藏在系统的可执行文件或数据文件中而不易被人们发现和觉察。在病毒程序运行时,它与合法程序争夺系统的控制权。
②计算机病毒的传染性。传染性是衡量一种程序是否为病毒程序的首要条件。计算机病毒的传染性是计算机病毒的再生机制。病毒程序一旦进入系统,并与系统中的合法程序链接在一起,它就会在运行这一被传染的程序之后开始传染其他程序。这样一来,病毒 就会很快地传染到整个系统或扩散到硬盘上面。一个传染上病毒的计算机系统同样具有破坏性。
③计算机病毒的潜伏性。计算机病毒的潜伏性是指其具有依附于其他媒体而寄生的能力。一个编制巧妙的计算机病毒程序可以在一段很长的时间内隐藏在合法文件中,对其他系统进行传染而不被人们发现。计算机病毒的潜伏性与传染性相辅相成,潜伏性越好,它在系统中存在的时间越长,病毒传染的范围也就越大。
④计算机病毒的可触发性。计算机病毒一般都有一个触发条件,或者触发其传染,如在一定条件下激活一个病毒的传染机制,使之进行传染;或者在一定条件下激活计算机病毒的表现部分或破坏部分。激活条件可以是外界的,也可以是内部的。但对病毒本身而言,激活条件都是外部因素。因为一种病毒设置一定的激活条件,条件的判断是病毒本身的功能,而条件则是由外部提供的。
⑤计算机病毒的破坏性。计算机病毒的破坏性取决于计算机病毒的设计者。有的设计者的目的只是在于搞一些恶作剧,有的是想对计算机系统进行破坏。它可以毁掉系统内的部分数据,也可以破坏全部数据并使之无法恢复,同时也可对某些数据进行修改。但并不是所有的病毒都会对计算机系统产生极大的破坏作用。
因为计算机病毒是一种非法的可执行程序,因此对计算机系统来讲,所有的病毒都存在着一个共同的危害,即降低计算机系统的工作效率。
⑥计算机病毒攻击的主动性。计算机病毒设计者的意图是想攻击计算机系统,因此 对系统的攻击都是主动的,不以人的意志为转移。从一定程度上讲,计算机系统采取多 么严密的保护措施都不能彻底地排除病毒对系统的攻击,而保护措施只能是一种预防的 手段。
⑦计算机病毒的针对性。现在世界上出现的计算机病毒,并不是对所有的计算机系统都能进行感染。例如,有的针对IBM-PC机及其兼容机,有的针对APPLE公司的Machintosh机以及针对UNIX操作系统。
⑧计算机病毒的衍生性。分析计算机病毒的结构可知,病毒的破坏部分反映了设计者的设计思想和设计目的。但是这可以被其他掌握原理的人以其个人的企图进行任意改动,从而又衍生出一种不同于原版本的新的计算机病毒(又称为变种)。这就是计算机病毒的衍生性。
当计算机系统或文件染有计算机病毒时,需要检测和消除。但是,计算机病毒一旦破坏了没有副本的文件,便无法医治。隐性计算机病毒和多态性计算机病毒更使人难以检测。在与计算机病毒的对抗中,如果能采取有效的防范措施,就能使系统不染毒,或者染毒后能减少损失。
大家都知道,病毒实际上就是人为编写的恶性程序。尽管病毒的数量非常多,表现形式也多种多样,但是通过一定的标准可以把它们分为几种类型,从而更好地来了解和掌握它们。计算机病毒类型如表6-2所示。
表6-2 计算机病毒种
病毒类型 |
引导型病毒 |
文件型病毒 |
传染机理 |
利用系统启动的缺陷 |
利用系统加载执行文件的缺陷 |
传染目标 |
感染硬盘的主引导区 感染软盘的引导区 |
感染各种能够获得系统控制权执行的文件 |
传染途径 |
通过软盘启动计算机感染 |
通过各种存储介质、网络、电子邮件 |
防治方法 |
将系统设置从C盘启动 将主板上的防病毒功能打开 |
使用具有实时监控功能杀毒软件 不要轻易打开邮件附件 |
典型病毒 |
小球病毒、大麻病毒、火炬病毒、WYX病毒 |
1575病毒 CIH病毒 Mincer病毒 千年虫病毒 |
计算机病毒的检测方法在与病毒的对抗中,及早发现病毒很重要。早发现,早处理,可以减少损失。检测病毒的方法有:特征代码法、校验和法、行为监测法和软件模拟法,这些方法依据的原理不同,实现时所需开销不同,检测范围不同,各有所长。
①特征代码法。特征代码法是使用最为普遍的病毒检测方法,国外专家认为特征代码法是检测已知病毒的最简单、开销最小的方法。
特征码查毒就是检查文件中是否含有病毒数据库中的病毒特征代码。采用病毒特征代码法的检测工具,必须不断更新版本,否则检测工具便会老化,逐渐失去实用价值。病毒特征代码法对从未见过的新病毒,无法检测。
② 校验和法。将正常文件的内容,计算其校验和,写入文件中保存。定期检查文件的校验和与原来保存的校验和是否一致,可以发现文件是否感染病毒,这种方法叫校验和法,它既可发现已知病毒又可发现未知病毒。
校验和法的优点是:方法简单能发现未知病毒,被查文件的细微变化也能发现。其缺点是:对文件内容的变化过于敏感、会误报警、不能识别病毒名称、不能对付隐蔽型病毒。
③ 行为监测法。利用病毒的特有行为特征性来监测病毒的方法,称为行为监测法。通过对病毒多年的观察、研究,有一些行为是病毒的共同行为,而且比较特殊。当程序运行时,监视其行为,如果发现了病毒行为,立即报警。
行为监测法的长处:可发现未知病毒、可相当准确地预报未知的多数病毒。行为监测法的短处:可能误报警、不能识别病毒名称、实现时有一定难度。
④ 软件模拟法,以后演绎为虚拟机查毒,启发式查毒技术,是相对成熟的技术。
(1)计算机病毒的清除原则。
① 清除病毒之前,一定要备份所有重要数据以防万一。
② 清除病毒时,一定要用洁净的系统引导机器,保证整个消毒过程在无毒的环境下进行。否则,病毒会重新感染已消毒的文件。
③ 做好备用的保存磁盘引导扇区的文件,在文件名上要反映出该盘的型号(软盘、硬盘)、容量和版本。因不同的磁盘的分区表不同,引导记录的BPB(磁盘基数表)也不同,一旦恢复时不对应,被恢复的磁盘将无法读写。
④ 操作中应谨慎处理,对所读写的数据应进行多次检查核对,确认无误后再进行有关操作。
(2)计算机病毒的清除方法。
①用保存主引导扇区信息恢复的方法。对于感染主引导型病毒的机器可采用事先备份的该硬盘的主引导扇区文件进行恢复。恢复时可用DEBUG或NORTON软件实现。
②程序覆盖方法。这种方法主要适用于文件型病毒,一旦发现文件被感染,可将事先保留的无毒备份重新拷入系统即可。
③低级格式化或格式化磁盘。这种方法轻易不要使用,它会破坏磁盘所有数据,并且低级格式对硬盘亦有损害,在万不得已情况下,才使用这一方法。使用这种方法必须保证系统无病毒,否则也将前功尽弃。
④手工清除方法。利用杀毒软件隔离或删除被感染的病毒文件。
在所有计算机安全威胁中,计算机病毒是最为严重的,它不仅发生的频率高、损失大,而且潜伏性强、覆盖面广。目前全球已发现5万余种病毒,并且还在以每天10余种的速度增长。那么,如何部署安全高效的防病毒系统呢?
(1)系统防毒。
在“美丽莎”病毒出现之前,人们并未意识到为电子邮件系统提供专门的防病毒保护的重要性。如今,电子邮件系统已从简单的信息发布发展到可提供协作存储器、基于Web的用户界面以及无线设备接入等方面。因此,要从系统角度设计一套全面的防毒计划。
①制定系统的防病毒策略。为了正确选择、配置和维护病毒防护解决方案,必须为系统明确地规定保护的级别和所需采取的对策。
②部署多层防御战略。伴随着网络的发展,病毒可从多种渠道进入系统,因此在尽可能多的点采取病毒防护措施是至关重要的。其中包括网关防病毒、服务器及群件防病毒、个人桌面计算机防病毒以及所有防病毒产品的统一管理等。
③定期更新防病毒定义文件和引擎。一般情况下,更新是自动进行的,但更重要的是应定期检查日志文件以确保正确地执行了更新。
基于服务器的电子邮件病毒防护是提供系统内部保护的最有效方式,但是根据系统安全保护策略的细节不同,它不能对所有类型的信息(如加密信息)都提供防护。因此还应定期更新桌面计算机中的防病毒软件。
④定期备份文件。一旦病毒破坏了系统的数据,利用备份文件可以恢复相关文件。因此进行定期备份是必要的。
⑤预订可发布新病毒威胁警告的电子邮件警报服务。通过病毒管理中心,当发现新的病毒时,立即通过电子邮件发送给管理员,从而及时采取有效的保护措施。
⑥为全体职员提供全面的防病毒培训。网络环境下,病毒的传播性很强。一个计算机系统中了病毒,意味着整个网络可能瘫痪。对网络内所有用户进行防病毒安全意识培训,可以最大限度地降低系统内大多数病毒发作的可能性。
(2)服务器防毒。
有些人以为只要他们保护了自己的电子邮件网关和内部的桌面计算机,基于电子邮件服务器的防病毒方案就解决了。这在几年前或许是对的,但是目前随着基于Web的电子邮件访问、公共文件夹以及访问存储器的映射网络驱动器等方式的出现,病毒可以通过多种方式进入电子邮件服务器。这时,就只有基于电子邮件服务器的解决方案才能够检测和删除受感染项。
①拦截受感染的附件。许多利用电子邮件传输方式的病毒传播者(又称“海量寄件者”)经常利用可在大多数计算机中找到的可执行文件,如EXE、VBS和SHS散布病毒。实际上,大多数电子邮件用户并不需要接收带这类文件扩展的附件,因此当它们进入电子邮件服务器或网关时可以将其拦截下来。
②安排全面随机扫描。即使能够保证使用所有最新的手段防范病毒,新型病毒也总是防不胜防。通过使用最新定义文件,对所有数据进行全面、随机的扫描,确保档案中没有任何受感染文件蒙混过关,尤为重要。
③试探性扫描。利用试探性扫描,可以寻找已知病毒的特征,以识别是已知病毒变异的新病毒,提供较高级别的保护,利用试探性扫描提供额外保护,是值得一试的。
④用防病毒产品中的病毒发作应对功能。海量邮寄带来的病毒可以迅速传遍一个系统。对于管理员而言,没有防病毒厂商所提供的适当的检测驱动程序,要根除这些病毒是极其费力的。幸运的是,某些病毒防护产品提供了系统设置功能,一旦出现特定病毒发作的特征,这些产品就会自动发出通知或采取修正措施。
⑤重要数据定期存档。并非所有病毒都立即显示出自己的特征。根据感染位置以及系统的设置情况,有些病毒可能要潜伏一段时间才能被发现。最好是至少每月进行一次数 据存档,这样,在防病毒解决方案的自动删除功能不起作用时,就可以利用存档文件,成功地恢复受感染项。
计算机病毒在形式上越来越隐蔽,造成的危害也日益严重。这就要求网络防病毒产品在技术上更先进,在功能上更全面,并具有更高的查杀效率。从目前病毒的演化趋势来看,网络防病毒产品的发展趋势主要体现在以下几个方面。
(1)反黑客与反病毒相结合。病毒与黑客在技术和破坏手段上结合得越来越紧密。将杀毒、防毒和反黑客有机地结合起来,已经成为一种趋势。专家认为,在网络防病毒产品中植入网络防火墙技术是完全可能的。
(2)从入口拦截病毒。网络安全的威胁多数来自邮件和采用广播形式发送的信函。面对这些威胁,许多专家建议安装代理服务器过滤软件来防止不当信息。从入口处拦截病毒成为未来网络防病毒产品发展的一个重要方向。
(3)全面解决方案。未来的网络防病毒体系将会从单一设备或单一系统,发展成为一个整体的解决方案,并与网络安全系统有机地融合在一起。这就意味着防火墙、入侵检测等安全产品要与网络防病毒产品进一步整合,提供全面的安全解决方案。
(4)客户化定制。客户化定制模式是指网络防病毒产品的最终定型是根据企业网络的特点而专门制订的。对于用户来讲,这种定制的网络防病毒产品带有专用性和针对性,既是一种个性化跟踪性产品,又是一种服务产品。这种客户化定制体现了网络防病毒正从传统的产品模式向现代服务模式转化。
(5)区域化到国际化。Internet和Intranet的快速发展为网络病毒的传播提供了便利 条件,也使得以往仅仅限于局域网传播的本地病毒迅速传播到全球网络环境中。过去常 常需要经过数周甚至数月才可能在国内流行起来的国外病毒,现在只需要一、两天,甚 至更短的时间,就能传遍全国。这就促使网络防病毒产品要从技术上由区域化向国际化 转化。
电子商务是网络时代的宠儿,由于电子商务必须依靠网络,这就注定了电子商务将继承计算机网络,尤其是Internet的所有优缺点,网络的安全问题自然就成为电子商务在施行过程中不可回避的一个问题。
一个企业如果要构建自己的电子商务系统,无非要做两件事:与客户的交流和企业信息的网上发布与存储。前一个问题涉及到两个方面:一个是身份的认证,企业要保证与其打交道的对象是一个合法的、有信誉保障的对象;同时要保证该对象有资格和企业进行一定范围内的信息、资金和物质的交流。
为了达到这一目标,目前除了使用传统的“用户名+口令”的方法,一种新的智能卡技术也正在逐渐的投入使用。所谓智能卡就是密钥的一种媒体,一般就像信用卡一样,由授权用户所持有并由该用户赋与它一个口令或密码字。该密码与内部网络服务器上注册的密码一致。当口令与身份特征共同使用时,智能卡的保密性能还是相当有效的。
另一个方面,就是要保证企业与客户间的信息传递要以可靠、完整、不外泄的方式进行,要保证交易过程中的隐私性、真实性、非伪装性和非否认性。实现这一技术的主要方法是数据加密技术。
电子商务要求企业必须上网,企业内部网络与外部网络的交接点也正是网络黑客侵入企业内部网的入口。如何让合法的数据进出企业的这个出入口,也是电子商务方案中必须解决的问题,这就是防火墙技术,其功能如图6-5所示。
图6-5 防火墙功能演示
防火墙是用于在企业内部网和Internet之间实施安全策略的一个系统或一组系统,它决定内部服务中哪些可被外界访问,外界的哪些人可以访问内部的哪些服务,同时还决定内部人员可以访问哪些外部服务。为使防火墙有效,所有来自或发往Internet的业务流都必须通过防火墙以接受防火墙的检查,如图6-5所示。防火墙只允许已授权的业务流通过,而且其本身也应能够抵抗渗透攻击。攻击者一旦突破或绕过防火墙系统,防火墙就不能提供任何保护了。
防火墙不单是路由器、堡垒主机或网络安全设备的组合,它也是企业信息资源全方位防御体系的安全策略的组成部分,安全策略包括用户的安全责任,公司规定的网络访问、服务访问、本地和远程用户的认证、拨入和拨出、磁盘和数据加密、病毒防范措施以及职员的培训等。网络中所有可能遭到攻击的地方都应以同样的安全级别加以保护,建立防火墙时如果不考虑全面的安全策略,防火墙就会形同虚设。
防火墙可管理因特网和公司内部网之间的相互访问,如果没有防火墙,内部网中每一主机系统就暴露在来自外部网的攻击之下,这就意味着内部网安全性将依赖于每一主机的安全性,内部网将和系统中最弱的主机的安全性相同。
Internet防火墙允许网络管理者定义一个中心化的“扼制点”以防止未授权的用户(如黑客、破坏者、间谍等)进入内部网,防止可能遭受攻击的业务离开或进入内部网,防止各种类型的路由攻击。Internet防火墙还可简化安全管理,这是因为网络安全措施可集中在防火墙系统实施,而不必分布在专用网的每一主机上。
防火墙为监视网络安全并产生安全警报提供了一个方便点,网络管理者必须审计和记录所有通过防火墙的重要业务流。如果网络管理员不能对每个警报作出应答并审查常规记录,他就无法知道防火墙是否受到攻击,防火墙就没有设置的必要。
Internet随着其用户数目的剧增,其可用的IP地址会越来越少,因此公司可能就没有足够的已注册的IP地址以满足公司用户的需要。而因特网防火墙是逻辑上的网络地址转换器,可用于缓和地址空间的短缺,且在公司改变其网络服务提供商时无须重新编号。Internet防火墙还是审计或记录因特网使用量的最佳位置,它可使网络管理者确定因特网连接的费用情况,查出潜在的带宽瓶颈。
Internet防火墙也能为客户的信息发送服务提供一个中心连接点。Internet防火墙是部署Web服务器和FTP服务器的理想位置,防火墙能被配置以允许别的设备的因特网访问,同时禁止对被保护网络上其他系统的外部访问。
Internet防火墙不能防止不经过防火墙的攻击,例如,内部网络中如果有一个未加限制的拨出,内部网用户就可直接做串行链路网际协议(Serial Line Internet Protocol,SLIP)连接或PPP连接而进入Internet。用户如果对防火墙代理服务器所要求的认证过程感到厌烦,就可能直接向ISP购买SLIP连接或PPP连接,从而绕过防火墙的安全系统。由于这种连接绕过了防火墙提供的安全性,这就为后门攻击提供了极大的可能件。用户必须意识到这种连接是公司的安全策略所决不允许的。
Internet防火墙不能防止公司职员因误操作而产生的安全威胁,它无法阻止间谍将敏感数据复制到软盘或PCMCIA卡上带走,也不能防范黑客伪装成管理者或新职员,以骗取没有防范心理的用户的口令或赋予他们临时的网络访问权限。所以各公司必须对自己的职员进行安全教育,以防各类攻击,保护好且定期更新自己的口令。
Internet防火墙不能防范已感染病毒的软件或文件的传送,这是因为病毒数目太多,操作系统以及二进制文件的编码和压缩方式都各不相同,不能期望因特网防火墙能够逐一扫描每个可能有病毒的文件。公司防范意识如果强的话,就应该在每一桌面部署防病毒软件以防止病毒从软盘或其他来源进入公司的网络系统。
Internet防火墙也不能防止数据驱动型攻击。数据驱动型攻击是指表面看起来无害的数据被邮寄或复制到内部网主机中,一旦执行就发起攻击。例如,数据驱动型攻击能够引起主机修改安全相关的文件,使得入侵者能够容易进入系统。
在设计防火墙时必须考虑以下准则:防火墙的规则、机构的整体安全策略、防火墙的费用和防火墙系统的基本组成。
(1)防火墙的规则。
防火墙的规则用于描述机构的基本安全原则,因特网防火墙可能会有两种截然相反的规则:
①拒绝每件未被特别许可的事情。这种规则假定防火墙应该阻塞所有的业务流,而每一希望被实现的服务和应用都被逐一实现。这种规则是被推荐使用的方案,它可建立一个非常安全的环境,因其只支持那些仔细选择的服务。其缺点是安全性的考虑优于实用性的考虑,限制了提供给用户的选择范围。
②允许未被特别拒绝的每一件事情。这种规则假定防火墙应该转发所有业务流,任何可能有害的服务都应被逐一关掉,这种方案可建立一个非常灵活的使用环境,能为用户提供更多的服务。缺点是使用性的考虑优于安全性的考虑,使得网络管理者处于不断的响应中,因此随着网络规模的扩大,很难保证网络的安全性。
(2)机构的安全策略。
如前所述,Internet防火墙不是孤立的,而是机构总体安全策略的一部分。总体安全策略用于定义安全防御体系的所有方面。为确保网络的安全性,机构应明确保护什么,而安全策略的制订则必须在建立安全分析、风险评估、商务需要分析的基础之上,如果一个组织没有详细的安全策略,任何仔细构建的防火墙都能被绕过,从而使整个内部网络都暴露在敌手的攻击之中。
(3)防火墙的费用。
简单的包过滤防火墙费用最低。商用防火墙可提供增强的安全功能,其费用取决于它的复杂程度和需保护的网络范围。如果一个机构没有自己的专业开发人员,则可用公用软件构造防火墙系统,但根据开发和部署防火墙系统所用的时间仍然有费用支出。防火墙系统的管理、维护、软件升级、安全补漏、事故处理等都需大量的费用支持。
典型的防火墙系统由以下基本构件中的一个或几个构成:包过滤路由器、应用层网关(即代理服务器)、电路层网关,下面将逐一介绍这些基本构件以及选取这些基本构件构造有效的因特网防火墙系统。
(1)包过滤防火墙。
包过滤防火墙对收到的每一数据包作许可或拒绝决定。路由器对每一数据报文进行检查以决定它是否与包过滤规则中的某一条相匹配,包过滤规则基于可用于IP转发过程的数据包报头信息,该信息包括IP源地址、IP目标地址、封装协议(TCP,UDP,ICMP或IP隧道)、TCP/UDP源端口、TCP/UDP目标端口、ICMP消息类型、数据包的输入接口、数据包的输出接口。如果数据包与包过滤规则中的某一条相匹配且包过滤规则允许数据包通过,则按照路由表中的信息转发数据包。如果数据包与包过滤规则中的某一条相匹配且包过滤规则拒绝数据包通过,则丢弃该数据包。如果数据包与包过滤规则没有匹配项,用户配置的默认参数则决定对该数据包转发还是丢弃。
①依赖于服务的过滤。
包过滤规则使得路由器能够根据特定的服务允许或拒绝业务流,因为多数服务接收者都位于已知的TCP/UDP端口号上。例如,Telnet服务器在TCP的23号端口上接收远程连接,SMTP服务器在TCP的25号端口上接收进来的连接。为了阻塞所有进来的Telnet连接,路由器只需简单地丢弃所有TCP目标端口号等于23的数据包。而为了将进来的Telnet连接限制在有限数目的内部主机,路由器必须拒绝所有TCP目标端口号等于23的数据包,以及不包含目标IP地址为某一允许地址的数据包。典型的过滤规则如下:
· 允许进来的Telnet会话连接到指定的一些主机。
· 仅允许进来的FTP会话连接到指定的一些主机。
· 允许所有出去的Telnet会话。
· 允许所有出去的FTP会话。
· 拒绝从某个指定的外部网络进来的所有业务流。
②不依赖于服务的过滤。
有些攻击是不依赖于服务的,因此使用基本的数据包报头信息是难以识别这些攻击类型的。路由器可被配置以防止这些攻击类型,但由于过滤规则需要一些附加的信息,而这些附加的信息只有通过对路由表、特定的IP选项、特定的数据段偏移等进行检查才能获得,所以为使路由器能防止不依赖于服务的攻击,而对其进行配置是比较困难的。不依赖于服务的攻击包括以下三类。
· IP源地址欺骗攻击:指入侵者在外部传送数据包但却伪装成从内部主机传送,即数据包包含虚假的内部系统的IP源地址。攻击者希望通过使用欺骗性的IP源地址渗透到内部系统。则系统配置应有简单的源地址安全措施,使得来自于特定的可信内部主机的数据包被接收,而来自于其他主机的数据包则被丢弃。如果具有内部IP源地址的数据包到达路由器的一个外部接口,则丢弃这种数据包,通过这种方式可防止IP源地址攻击。
· 源路由攻击:指攻击者为数据包指定穿过Internet的路由。这种攻击目的是使得 数据包绕过网络安全设施。通过丢弃所有包含源路由选项的数据包,可防范这种 攻击。
· 碎片攻击:指攻击者使用IP分段特性以建立起极小的分段,并将TCP报头信息分为分开的数据包分段。碎片攻击用于使数据包绕过用户定义的过滤规则,黑客希望包过滤路由器只检查第一分段,而允许其他所有分段通过。通过丢弃所有协议类型为TCP、IP报头中字段Fragment Offset等于1的数据包,可防范碎片攻击。
③包过滤路由器的优点。
在大多数Internet防火墙系统的配置中使用了包过滤路由器,这时除了配置路由器所用的时间少外,还由于包过滤路由器的特性都包含在标准的路由器软件中,所以实现包过滤所用的费用极少或没有。
因为Internet接口通常是在WAN接口上提供的,所以如果业务流负载适中且定义的过滤器很少时,对路由器性能就几乎没有影响。
包过滤路由器对用户和应用程序来讲是透明的,所以不需要对用户进行专门的训练也不需要在每个主机上安装特定的软件。
④包过滤路由器的局限性。
定义包过滤路由器是一个复杂的任务,因为网络管理员需要对各种网络服务、数据包报头格式以及报头中每个字段特定的取值都要透彻地理解。如果要求包过滤路由器支持复杂的过滤要求,过滤规则集就会变得很长、很复杂,使得它难以管理和理解,最后由于没有方法对配置到路由器以后的包过滤规则的正确性进行验证,可能会遗留安全漏洞。
直接通过路由器的任何数据包都有可能是敌手用来发起数据驱动型攻击的。回忆前面,数据驱动型攻击指表面上无害的数据由路由器转发给内部主机后,一旦执行就发起攻击。这种数据含有隐藏的指令,用于引导主机修改访问控制和安全相关的文件,使得攻击者容易得到对系统的访问。
一般随着过滤器数目的增加,通过路由器的数据包的数目将减少。路由器从每个数据包中提取目标IP地址时可被优化,以简化路由表查询,然后再将数据包转发到正确的接口上去传输。如果路由器执行过滤规则,则它对每一数据包不仅需做出转发决定,而且需应用所有过滤规则。这样将消耗CPU时间且影响系统的性能。
IP数据包过滤器可能无法对业务流提供完全控制,数据包过滤路由器能允许或拒绝特定的服务,但不能理解特定服务的上下文内容和数据。例如,网络管理者可能需要在应 用层对业务流进行过滤,以便限制对可用的FTP或Telnet命令子集的访问,或阻止邮件 或指定内容的新闻的进入。这种类型的控制能由代理服务和应用层网关在更高层上更好地执行。
(2)应用层网关。
应用层网关可使网络管理者实现比包过滤路由器更为严格的安全策略,应用层网关不是用包过滤工具来对通过防火墙的因特网服务进行管理,而是在网关上对每个想要的应用程序安装一个专用目的的代码(代理服务)来对因特网服务进行管理。如果网络管理者没有对特定的应用程序安装代理服务,就无法支持对该应用程序的各种服务。代理服务也可以只用来支持应用程序中网络管理员认为是可接受的一些特性。
应用层网关对安全性提高的同时,其费用则由于以下几个方面也提高了:购买网关硬件平台、代理服务应用程序、配置网关所需的时间和知识。应用层网关还降低了可提供给用户的服务层次,并且由于缺少透明性而使产生的用户界面不太友好。所以要求网络管理者必须在机构的安全性需要和用户的方便性需要之间做出平衡。
用户仅被允许访问代理服务,而不允许进入到应用层网关,如果允许用户进入防火墙系统,防火墙系统的安全性就会受到极大的威胁,因为入侵者有可能进行破坏防火墙有效性的某些活动。例如,如果入侵者获得根访问权限,就可以安装特洛伊木马,还可以修改防火墙的安全配置文件。
①堡垒主机。
包过滤路由器允许数据包在内部系统和外部系统之间直接流动。与此不同,应用层网关允许信息在系统间流动但不允许数据包在系统间直接交换。允许数据包在内部系统和外部系统之间进行交换所带来的主要危险是:在被保护的网络系统中的主机应用程序也可能遭受被允许的服务所带来的威胁。应用层网关也经常称为堡垒主机,因为它是受到特别保护的指定系统。堡垒主机使用以下设计特性来保证自己的安全性。
· 堡垒主机的硬件平台执行安全版本的操作系统,例如,堡垒主机使用UNIX平台,则执行安全版的UNIX操作系统,该系统经过特别的设计可防止对操作系统的攻击并保证防火墙的完整性。
· 网络管理者认为是基本的那些服务才被安装在堡垒主机上,原因是不被安装的服务就不会受到攻击。通常在堡垒主机上只安装如Telnet、DNS(Domain Name System,域名服务系统)、FTP、SMTP等有限的代理应用程序集合。
· 堡垒主机可能在允许用户访问代理服务以前,要求对用户进行进一步的认证。例如堡垒主机是安装使用一次性口令技术的强认证的理想位置,其中一次性口令技术可采用智能卡产生的密码认证符作为唯一的访问码。此外,每个代理服务都可能在允许用户访问以前,实施自己所要求的认证。
· 每个代理被配置使得其仅支持标准应用程序命令集中的一个子集。如果一个标准命令不被代理服务所支持,则该命令对已被认证的用户来说也是不可用的。
· 每个代理被配置使得其仅允许对特定主机系统的访问,这意味着受限制的某些命令、特征只被用于受保护网络中的一部分系统。
· 每个代理记录下所有的业务流、连接、连接的时间,以维护详细的审计信息。审计记录是发现和阻止入侵者攻击的一个基本工具。
· 每个代理是一个专门为网络安全而设计的小且不复杂的程序,因此可对代理应用的源码进行检查,看是否存在安全漏洞。
· 堡垒主机上每一代理与其他代理都相互独立,因此如果仅一代理存在运行问题或发现有安全漏洞,可将其卸载而不影响其他代理应用。同时如果用户要求支持新的服务,网络管理者可在堡垒主机上很容易地安装所要求的代理。
· 代理除了读取自己的初始配置文件外,通常执行无磁盘访问,因此使得攻击者难以在堡垒主机上安装特洛伊木马嗅探器或其他危险文件。
· 堡垒主机上,每个代理都是作为一个无特权的用户在一个保密的、安全的目录中 运行。
②Telnet代理。
堡垒主机上Telnet代理运行时,外部客户要求Telnet连接到受应用层网关保护的内部服务器上。
Telnet代理的作用是不允许远程用户直接进入或直接访问内部服务器,其实现方式是由堡垒主机使用一次性口令技术首先对用户进行认证,认证通过以后,外部客户才可访问Telnet代理的用户接口。Telnet代理只允许Telnet命令集中的一个子集而且决定哪些内部主机可用于Telnet访问。外部用户指定目标主机,由Telnet代理连接到内部服务器并代表外部用户向内部服务器转发用户的命令。外部客户认为Telnet代理就是真正的内部服务器,而内部服务器则认为Telnet代理是外部客户。
对用户的认证可基于用户所知(如口令)或用户所有(如智能卡),由于口令和智能卡都容易被盗,所以将这两种方式结合起来可增加认证的可靠性。在Telnet代理中,由代理向用户发送一个询问,用户借助于智能卡得到对询问的应答。由智能卡得到应答的过程通常如下:用户输入自己的PIN号,智能卡则基于共享的秘密加密密钥和它自己的时钟,返回一个加密的值作为用户对询问的应答。
③应用层网关的优点。
应用层网关有很多优点,它能使网络管理者对每一服务进行完全控制,这是由于代理应用限制了命令集并且决定了服务器能访问哪些内部主机。而且也能使网络管理者对哪些服务能被许可进行完全控制,这是由于如果某一特定的服务没有代理,则意味着这一服务被完全阻塞。
应用层网关有能力支持用户认证并能提供详细的记录信息。应用层网关比包过滤路由器容易配置和检查。
④应用层网关的局限性。
应用层网关的最大局限性是它要求用户改变自己的行为,或者在访问代理服务的每个系统上安装专门的软件。例如,通过应用层网关的Telnet访问要求用户通过两步而不是一步来建立连接。然而,专门的端系统软件通过允许用户在Telnet命令中指定目标主机,从而可使应用层网关是透明的。
(3)电路层网关。
电路层网关是能被应用层执行的专门功能组件,它只简单地被用作TCP连接的中继点,而不对传输的数据包进行处理和过滤。
电路层网关被简单地用作Telnet连接穿过防火墙的中继点,它不对Telnet协议进行另外的检查、过滤、管理。
电路层网关的中继作用在于内部连接和外部连接之间来回地复制字节,然而由于连接是起源于防火墙系统,因此隐藏了受保护网络的有关信息。
电路层网关经常在系统管理员信任内部用户的系统中用于向外的连接,这种方式的主要优点是堡垒主机能被配置成混合网关,用于对进来的连接支持应用层即代理服务,同时对出去的连接支持电路层功能。从而使得想直接访问因特网服务的内部用户可更容易地使用防火墙系统,同时仍然提供保护机构组织防止外部攻击所需的防火墙功能。
(1)包过滤路由器。
包过滤路由器是最常用的因特网防火墙系统,该系统仅由部署在内部网和因特网之间的包过滤路由器构成,其作用是在网络间执行转发业务流等典型的路由功能以及使用包过滤规则允许或拒绝业务流。包过滤规则的定义可使内部网中的主机直接访问因特网,而对因特网中的主机访问内部网系统则加以限制,防火墙系统的这种外部规则集通常是拒绝每件未被特别许可的事情。
虽然这种防火墙系统有费用低廉、对用户透明等优点,但也有包过滤路由器所有的一些局限性,如过滤配置不合适,则易遭受攻击、被允许的服务以隧道形式的攻击。因为允许数据包在外部系统和内部系统之间进行直接交换,所以系统可能遭受的攻击程度由主机总数以及包过滤路由器允许的业务流得到的服务总数决定,这意味着可直接从因特网访问的每一主机必须支持严格的用户认证,而且网络管理员必须定期对这种主机进行检查,看是否有被攻击的迹象。如果有一个包过滤路由器被渗透,内部网中的每一系统都可能被破坏。
(2)屏蔽主机防火墙。
屏蔽主机防火墙系统是由同时部署的包过滤路由器和堡垒主机构成。由于这种防火墙系统实现了网络层安全(包过滤)和应用层安全(代理服务),所以它的安全等级比上一例更高,入侵者要想破坏内部网,首先必须渗透两个分开的系统。
该系统中,堡垒主机被配置在专用网中,而包过滤路由器则配置在因特网和堡垒主机之间,过滤规则的配置使得外部主机只能访问堡垒主机,发往其他内部系统的业务流则全部被阻塞。由于内部主机和堡垒主机在同一网络上,机构的安全策略决定内部系统是被允许直接访问因特网,还是要求使用堡垒主机上的代理服务。通过配置路由器的过滤规则,使其仅接收发自于堡垒主机的内部业务流,就可以迫使内部用户使用代理服务。
这种防火墙系统的优点之一是将一个可用于提供Web服务和FTP服务的公共信息服务器放在可供包过滤路由器和堡垒主机共享的地方。如果系统要求最强的安全性,堡垒主机则运行代理服务,以要求内部用户和外部用户在和信息服务器通信之前,访问堡垒主机。如果安全性要求稍低一些,则可对路由器进行配置以使其允许外部用户直接访问公共信息服务。
使用双连接点堡垒主机系统能构造更为安全的防火墙系统。双连接点堡垒主机有两个网络接口,但是该主机不能将业务流绕过代理服务器而直接在两个接口间转发。如果允许外部用户直接访问信息服务器,则堡垒主机的拓扑结构将迫使外部用户发往内部网的业务流必须经过堡垒主机,以提供附加的安全性。
由于堡垒主机是可从因特网直接访问的唯一的内部系统,所以内部网所受到的来自于外部网的可能安全威胁主要集中在堡垒主机上。然而如果允许用户进入堡垒主机,用户就可能很快破坏堡垒主机,从而使可能的安全威胁扩展到整个内部网。所以必须保证堡垒主机的强度,以防用户的渗透和进入。
(3)屏蔽子网防火墙。
屏蔽子网防火墙系统用了两个包过滤路由器和一个堡垒主机。由于它支持网络层和应用层的安全,而且还定义一个“非军事区”(Demilitarized Zone,DMZ)网络,因此它建立的是最安全的防火墙系统。网络管理者将堡垒主机、信息服务器、公用调制解调区以及其他一些公用服务器部放在DMZ网络中,DMZ网络很小,位于因特网和内部网之间,它的配置可使因特网中的系统和内部网中的系统只能访问DMZ网络中有限数目的系统,且可禁止业务流穿过DMZ网络的直接传输。
对于从Internet进来的信息流,外部路由器可防止其实施一般的外部攻击(如源IP地址欺骗攻击、源路由攻击等)且还管理因特网对DMZ网络的访问,它只允许外部系统访问堡垒主机(也可能还有信息服务器)。内部路由器提供第二层防线,通过只接收来源于堡垒主机的业务流而管理DMZ对内部网的访问。
对于发往因特网的业务流,内部路由器管理内部网对DMZ网的访问,它只允许内部系统访问堡垒主机(也可能有信息服务器)。外部路由器通过只接收由堡垒主机发往因特网的业务流,从而使得其上的过滤规则要求使用代理服务。
部署屏蔽子网防火墙系统有以下一些优点。
(1)入侵者必须闯过三个分开的设备才能够渗透到内部网,这三个设备是外部路由器、堡垒主机和内部路由器。
(2)由于外部路由器是DMZ网与因特网的唯一接口,Internet上的系统没有直接到受保护的内部网的路由,因此可使网络管理者保证内部网对Internet来说是“不可见的”,Internet只有通过路由表和域名系统DNS信息交换才能知道DMZ中的某些系统。
(3)由于内部路由器是DMZ网和内部网的唯一接Vi,内部网中的系统没有直接到因特网的路由,从而保证了内部网用户必须通过堡垒主机中的代理服务才能访问因特网。
(4)包过滤路由器将业务流发送到DMZ网中指定的设备,因此堡垒主机没有必要是双连接点。
(5)当内部路由器作为专用网和因特网之间最后一道防火墙系统时,比双连接点堡垒主机有更大的业务流吞吐量。
(6)由于DMZ网是一个与内部网不同的网,所以可在堡垒主机上安装网络地址转换器(Network Address Translator,NAT),从而可不必对内部网重新计数和重新划分子集。