1.1.2 信息安全的目标与需求
信息安全在发展的过程中,其目标与需求也在不断扩充和变化。由最初的保密性、完整性和可用性三个目标与需求,发展到现在的保密性、完整性、可用性、不可否认性、可控性、可认证性、可存活性和可审查性8个安全目标与需求。人们对信息安全的理解和认识在不断地深入和完善,应用的侧重点和对信息安全视角的不同,导致不同的人在讨论信息安全的目标与需求时也不尽相同。
在具体的实践中,由于所处的环境、要求实现的功能以及评价指标不一样,对信息安全的目标与需求会有不同的侧重。例如,大多数基于数据库应用的信息系统对数据完整性的要求往往放在安全目标与需求的首位,其次是保密性、可用性等其他安全目标与需求。在设定系统的安全目标与需求时,还要考虑安全功能的实现成本与被保护对象自身价值之间的平衡。从上述对安全含义的讨论可知,安全是一个相对的概念,它是动态变化的。因此追求绝对的安全在现实中既不可能也没有必要。实际使用的系统中经常会遇到安全性与易用性、安全性与可用性之间的权衡。制订安全目标与需求通常遵循“够用原则”,即所采取的安全措施在有限的人力、物力、财力和时间范围内,能够达到与被保护对象相对应的安全级别。所以在实践中经常会采用已知有安全缺陷的安全产品,就是这个道理。
下面从信息安全的8个安全目标与需求进行阐述。
1. 保密性
保密性的概念比较容易定义,即只有授权用户或系统才能对被保护的数据进行访问。在许多系统的安全目标或安全需求中都会提到保密性。但真正实现系统的保密性并不容易。首先要确定由谁(可以是系统,也可以是人)授权可以访问系统资源的用户/系统?访问的数据粒度如何定义?例如,是以文件为单位进行授权访问,还是以比特为单位进行访问?合法用户是否有权将其获得的数据告诉其他人?
信息系统中的保密性要求和其他场合或系统中提到的保密性需求在实质上是一致的,并且在具体的实施上有很多相似之处。例如,信息系统的敏感数据在物理上要防止攻击者通过传统的偷窃数据载体(硬盘、光盘、磁带、甚至机器等)等方法获取数据。
保密性除了用于保证受保护的数据内容不被泄露外,数据的存在性也是保密性所属范畴。有的数据存在与否,比知道其具体内容更重要。例如,在商业竞争中,多个企业竞争相同的客户源,知道某个企业已经和某个客户签订了合同有时比知道具体合同内容更重要。在这种情况下,数据本身是否存在也是需要加以保护的。
2. 完整性
完整性的定义比较复杂,对其进行全面的描述较为困难。在不同的应用环境下,对完整性的含义有不同的解释。但是当具体考察每一种应用时,会发现它们所指的含义都属于完整性的范畴。例如,在数据库应用中,对完整性需求可以分为不同的层次:数据库完整性和元素完整性。其中,数据库完整性又可以细分为数据库的物理完整性和数据库的逻辑完整性。
总体而言,完整性可以从两个方面进行考虑:一是数据内容本身的完整性,有时称为数据内容完整性;二是数据来源的完整性,有时称为数据源完整性。数据内容完整性是指数据本身不被未授权的用户修改、增加和删除等。而数据源完整性是指数据的发送者所声称的其来源是真实的,经常通过各种认证机制实现。
对数据来源的完整性破坏通常有重放攻击(Replay Attack)、假冒和伪装等。例如,重放攻击可以将一个旧消息多次发送以达到破坏的目的。一个用户A通过网络和银行之间进行账务管理。用户A将1 000元从自己账户划到用户B的账户上,用户B一直在网上侦听用户A和银行之间的通信,并将划账消息复制了一份到本地。当本次交易结束后,用户B和银行发起一轮新的会话,将上次侦听到的用户A与银行之间的消息再次发送给银行。如果没有使用安全认证机制,则银行会认为用户A又一次将1 000元划给账户B。
保证数据完整性的机制通常分为两类:预防机制与检测机制。预防机制用于防止未授权的用户修改数据,或者授权用户以未授权的方式修改数据。注意区分这两种未授权的访问是很重要的。对于前者比较好理解,一个用户对于某项数据或资源没有修改和增删的权力,却要去篡改数据;而对于后者而言,一个用户可以修改某项数据或资源,但是他/她采用的修改方式却是未授权的。例如,一个银行雇佣的内部员工,他/她有权对用户申请的转账要求进行操作,即他/她有权修改账务数据,但是如果他在转账之后,隐藏了(擦去)了这次账务操作,即隐藏了这次转账的去向,则他/她是以未授权的方式修改数据,也破坏了数据的完整性。
检测机制不能防止未授权的用户修改数据,但是它可以告诉数据所有者数据是否保持了完整性,是否还值得信任。
3. 可用性
可用性是指数据或资源的合法使用者在合法的时间段以授权方式可以访问到所需要的数据或资源。换句话说,可用性是指使用所需资源或信息的能力[6]。在系统设计中,可用性是系统可靠性的一个重要方面。如果一个系统无法使用,就如同系统不存在一样糟糕。目前,威胁信息系统可用性的典型攻击手段是拒绝服务攻击(Denial of Service Attack)。这类攻击是最难检测到的。
例如,某个商务网站有多台服务器并行工作向终端用户提供服务,并且有一个负载平衡服务器可以根据客户流量自动平衡各个服务器上的负载。若攻击者A攻破了这台负载平衡服务器,则在其他用户提出服务请求时,该服务器均以所有服务器都达到满负荷运行而不再为用户的请求分配服务器,那么用户会觉得这个商务网站不可用。
为了防止这类攻击的发生,往往要求系统的设计者在建立系统模型时就能考虑到异常的访问方式或运行模式,即使有些情形在特定运行环境下看上去属于正常运行,也有可能在其他环境下是非正常的。这对系统的设计者提出了很高的要求,因此实现的难度较大。
4. 不可否认性
不可否认性又被称为不可抵赖性(Non-Repudiation),指信息的发送者不能否认已经发出的信息或者信息的部分内容,信息的接收者不能否认已经接收到的信息或者信息的部分内容。不可否认性在电子商务领域的应用十分广泛,电子合同在协商认可后,需要制订合同的双方或多方采用技术手段对电子合同予以确认。通常采用的技术手段有数字签名和可信第三方认证技术。
5. 可控性
可控性是指对信息和信息系统的认证授权和监控管理,确保某个实体身份的真实性,确保信息内容的安全合法,确保系统状态可被授权方所控制。可控性强调的是信息系统的运行状态是可预测、可预知的,并且始终在管理者的监控之下。为了实现可控性安全属性,可以采用审计、过滤、信息监控等技术手段对系统的通信和信息内容传播进行监管和控制。
6. 可认证性
可认证性是指保证信息的使用者和服务者都是其所声称的真实身份,防止其被冒充,遭受重放攻击。可认证性是完整性安全属性对数据来源安全性的强调。可认证性可以被包括在完整性安全属性中,但在现实应用中,有些信息系统关注认证性属性,弱化数据内容完整性属性。因此将可认证性作为一个独立的安全属性列出,以突出对信息来源真实性的安全目标与需求。
7. 可存活性
可存活性是指信息系统在面对各种攻击和错误的情况下能够继续提供核心服务,并能及时恢复全部服务的能力。它是信息系统在发展过程中提出的一个新的安全目标与需求。随着网络攻击事件的不断增多,信息系统所面临的安全威胁和等级也在不断升级,关键信息在遭受攻击和面对各种人为或环境造成的错误情形下,仍能够提供正常服务的能力是一个信息系统健壮性的重要指标,也是在当前信息安全环境下对信息系统提出的更高要求。尤其对涉及国家安全、商业核心等关键信息系统,可存活性是安全需求的重要目标之一。
8. 可审查性
可审查性是指使用审计、监控和防抵赖等安全机制,使信息使用者的行为有证可查,对网络出现的安全问题提供调查、追溯的依据和手段。可审查性是一种事后处置的安全手段。当安全事件发生之后,利用信息系统中预先部署的审计日志、网络数据包监控等安全机制对有争议的事件或安全事件的重建进行回溯、证明的方法。
上述8个安全目标不是相互分立的,它们之间会有部分重叠之处。例如,实现信息系统保密性的时候,对系统的完整性也会有所帮助。实现保密性的安全机制在有的情形下也可用于实现系统完整性。因此,安全目标之间是相互联系的。在考虑如何使系统安全性达到需求,同时成本可以接受时,应对各个安全目标之间的关系予以均衡。