0%

官方系统架构设计师教程-ch12-系统安全架构设计

系统安全架构设计

信息系统安全架构的简单描述

信息安全的特征是为了保证信息的机密性、完整性、可用性、可控性和不可抵赖性。信息系统的安全保障是以风险和策略为基础,在信息系统的整个生命周期中提供包括技术、管理、人员和工程过程的整体安全,在信息系统中保障信息的这些安全特征,并实现组织机构的使命。许多信息系统的用户需要提供一种方法和内容对信息系统的技术框架、工程过程能力和管理能力提出安全性要求,并进行可比性的评估、设计和实施。

信息安全的现状及其威胁

随着社会信息化进程的加快,计算机及网络已经在各行各业中得到了广泛的应用,同时一些重要单位如政府机关、部队、企业财务和人事部门已经越来越依赖于计算机。毫无疑问,在不远的将来,计算机和网络的普及程度会比现在有更大的提高,这种普及将会产生两方面的效应:其一,各行各业的业务运转几乎完全依赖于计算机和网络,各种重要数据如政府文件、工资档案、财务账目和人事资料等将全部依托计算机和网络存储、传输;其二,大多数人对计算机的了解更加全面,有更多的计算机技术水平较高的人可以采用种种手段对信息资源进行攻击。目前,信息安全主要可能会受到的威胁可以总结为以下几个方面,如图12-1所示。

图12-1 网络与信息安全风险找不到图片(Image not found)

对于信息系统来说,威胁可以是针对物理环境、通信链路、网络系统、操作系统、应用系统以及管理系统等方面。物理安全威胁,是指对系统所用设备的威胁,自然灾害、电源故障、操作系统引导失败或数据库信息丢失、设备被盗/被毁造成数据丢失或信息泄露。通信链路安全威胁,是指在传输线路上安装窃听装置或对通信链路进行干扰。网络安全威胁,互联网的开放性、国际性与无安全管理性,对内部网络形成严重的安全威胁。操作系统安全威胁,对系统平台最危险的威胁是在系统软件或硬件芯片中植入威胁,如“木马”和“陷阱门”、BIOS有万能密码。应用系统安全威胁,是指对于网络服务或用户业务系统安全的威胁,也受到“木马”和“陷阱门”的威胁。管理系统安全威胁,必须从人员管理上杜绝安全漏洞。

具体来讲,常见的安全威胁有如下几种。

(1)信息泄露:信息被泄露或透露给某个非授权的实体。

(2)破坏信息的完整性:数据被非授权地进行增删、修改或破坏而受到损失。

(3)拒绝服务:对信息或其他资源的合法访问被无条件地阻止。

(4)非法使用(非授权访问):某一资源被某个非授权的人、或以非授权的方式使用。

(5)窃听:用各种可能的合法或非法的手段窃取系统中的信息资源和敏感信息。例如对通信线路中传输的信号进行搭线监听,或者利用通信设备在工作过程中产生的电磁泄露截取有用信息等。

(6)业务流分析:通过对系统进行长期监听,利用统计分析方法对诸如通信频度、通信的信息流向、通信总量的变化等参数进行研究,从而发现有价值的信息和规律。

(7)假冒:通过欺骗通信系统(或用户)达到非法用户冒充成为合法用户,或者特权小的用户冒充成为特权大的用户的目的。黑客大多是采用假冒进行攻击。

(8)旁路控制:攻击者利用系统的安全缺陷或安全性上的脆弱之处获得非授权的权利或特权。例如,攻击者通过各种攻击手段发现原本应保密,但是却又暴露出来的一些系统“特性”。利用这些“特性”,攻击者可以绕过防线守卫者侵入系统的内部。

(9)授权侵犯:被授权以某一目的使用某一系统或资源的某个人,却将此权限用于其他非授权的目的,也称作“内部攻击”。

(10)特洛伊木马:软件中含有一个察觉不出的或者无害的程序段,当它被执行时,会破坏用户的安全。这种应用程序称为特洛伊木马(Trojan Horse)。

(11)陷阱门:在某个系统或某个部件中设置了“机关”,使得当提供特定的输入数据时,允许违反安全策略。

(12)抵赖:这是一种来自用户的攻击,例如,否认自己曾经发布过的某条消息、伪造一份对方来信等。

(13)重放:所截获的某次合法的通信数据备份,出于非法的目的而被重新发送。

(14)计算机病毒:所谓计算机病毒,是一种在计算机系统运行过程中能够实现传染和侵害的功能程序。一种病毒通常含有两个功能:一种功能是对其他程序产生“感染”;另外一种或者是引发损坏功能、或者是一种植入攻击的能力。

(15)人员不慎:一个授权的人为了钱或利益、或由于粗心,将信息泄露给一个非授权的人。

(16)媒体废弃:信息被从废弃的磁盘或打印过的存储介质中获得。

(17)物理侵入:侵入者通过绕过物理控制而获得对系统的访问。

(18)窃取:重要的安全物品,如令牌或身份卡被盗。

(19)业务欺骗:某一伪系统或系统部件欺骗合法的用户或系统自愿地放弃敏感信息。

通过对网络面临的安全风险威胁和实施相应控制措施的支出进行合理的评价,提出有效合理的安全技术,形成提升网络信息的安全性质的安全方案,是安全架构设计的根本目标。在实际应用中,可以从安全技术的角度提取出5个方面的内容:认证鉴别、访问控制、内容安全、冗余恢复和审计响应。

国内外影响较大的标准和组织

标准

有如下标准。

(1)可信计算机标准评估规则橘皮书(TCSEC,美国)

(2)欧洲ITSEC标准

(3)加拿大CTCPEC标准

(4)美国联邦准则(FC)

(5)美国信息技术安全评价通用准则(CC)

(6)ISO安全体系结构标准(IS07498-2-1989)〈信息处理系统开放系统互连基本参考模型第二部分安全体系结构〉

(7)美国国家安全局:信息保障技术框架(IATF)

2)我国的标准

(1)主管部门:公安部、信息产业部和国家技术标准局等

(2)主要技术标准如下。

● GA163-1997(计算机信息系统安全专用产品分类原则)

● GB17895-1999(计算机信息系统安全保护等级划分准则)

● GB/T9387.2-1995(信息处理系统开放系统互连基本参考模型第二部分安全体系结构)

● GB 15834.1-1995(信息处理数据加密实体鉴别机制第一部分:一般模型)

● GB 4943-1995(信息技术设备的安全)

组织

1)国际标准化组织(ISO)

ISO的信息技术标准化委员会TC97在1984年1月,专门组织了一个分技术委员会SC20,负责制定数据加密技术的国际标准;之后在1987年,ISO的TC97和IEC的TCs47B/83合并成为ISO/IEC联合技术委员会(JTC1);1990年4月,ISO将原来的数据加密分技术委员会SC20,更名为安全技术分技术委员会SC27,专门从事信息技术安全一般方法和技术的标准化工作。而ISO/TC68负责银行业务应用范围内有关信息安全标准的制定,它主要制定行业应用标准,在组织上和标准之间与SC27有着密切的联系。

由于信息技术的发展,开放系统互连的网络体系结构的广泛应用,信息技术安全标准化越来越受到人们的重视。在信息技术安全分委会的成立会上,研究了信息技术安全标准化的发展规划,明确了指导思想,确定了工作目标,制定了实施计划,提出了具体的措施,正在为建立完整的信息技术安全标准体系而积极组织开展研究工作和标准制定工作。

2)信息技术安全分技术委员会

1984年7月,在我国的全国计算机与信息处理标准化技术委员会下,建立了相应的数据加密分技术委员会,在国家技术监督局和原电子工业部的领导下,归口国内外的信息技术数据加密的标准化工作。随着信息技术的发展和工作范围的扩大,在原数据加密分委员会的基础上,于1997年8月改组成了信息技术安全分技术委员会(与ISO/IECJTC1/SC27信息技术的安全技术分委会对应)。它是一个具有广泛代表性、权威性和军民结合的信息安全标准化组织。其工作范围是负责信息和通信安全的通用框架、方法、技术和机制的标准化,归口管理国内外对应的标准化工作。其技术安全包括开放式安全体系结构、各种安全信息交换的语义规则、在有关的应用程序接口和协议引用安全功能接口等。

系统安全体系架构规划框架及其方法

安全技术体系架构是对组织机构信息技术系统的安全体系结构的整体描述。安全技术体系架构能力是拥有信息技术系统的组织机构根据其策略的要求和风险评估的结果,参考相关技术体系构架的标准和最佳实践,结合组织机构信息技术系统的具体现状和需求,建立的符合组织机构信息技术系统战略发展规划的信息技术系统整体体系框架;它是组织机构信息技术系统战略管理的具体体现。技术体系架构能力是组织机构执行安全技术整体能力的体现,它反映了组织机构在执行信息安全技术体系框架管理达到预定的成本、功能和质量目标上的度量。

安全技术体系架构过程的目标是建立可持续改进的安全技术体系架构的能力,信息技术系统千变万化,有各种各样的分类方式,为从技术角度建立一个通用的对象分析模型,在本书中将信息系统抽象成一个基本完备的信息系统分析模型,如图12-2所示。从信息技术系统分析模型出发,建立整个信息技术系统的安全架构。

图12-2 信息技术系统分析模型找不到图片(Image not found)

一般来说,OSI参考模型将网络划分为物理、数据链路、网络、传输、会话、表示和应用7层,Andrew S.Tanenbau综合OSI参考模型和TCP/IP参考模型将网络划分为物理、数据链路、网络、传输、应用5层。在本模型中,首先需要做的就是对网络结构层次进行划分,考虑到安全评估是以安全风险威胁分析入手的,而且在实际的网络安全评估中会发现,主机和存储系统占据了大量的评估考察工作,虽然主机和存储系统都属于应用层,但本模型由于其重要性,特将其单列为一个层次,因此根据网络中风险威胁的存在实体划分出5个层次的实体对象:应用、存储、主机、网络和物理。

信息系统安全规划是一个非常细致和非常重要的工作,首先需要对企业信息化发展的历史情况进行深入和全面的调研,知道家底、掌握情况,针对信息系统安全的主要内容进行整体的发展规划工作。下面用图12-3表示信息系统安全体系的框架。

从图12-3可以看出,信息系统安全体系主要是由技术体系、组织机构体系和管理体系三部分共同构成的。技术体系是全面提供信息系统安全保护的技术保障系统,该体系由物理安全技术和系统安全技术两大类构成。组织体系是信息系统的组织保障系统,由机构、岗位和人事三个模块构成。机构分为领导决策层、日常管理层和具体执行层;岗位是信息系统安全管理部门根据系统安全需要设定的负责某一个或某几个安全事务的职位;人事是根据管理机构设定的岗位,对岗位上在职、待职和离职的员工进行素质教育、业绩考核和安全监管的机构。管理体系由法律管理、制度管理和培训管理三部分组成。

图12-3 信息系统安全体系找不到图片(Image not found)

信息系统安全体系清楚了之后,就可以针对以上描述的内容进行全面的规划。信息系统安全规划的层次方法与步骤可以有不同,但是规划内容与层次应该是相同。规划的具体环节、相互之间的关系和具体方法如图12-4所示。

图12-4 信息系统安全规划框架图找不到图片(Image not found)
信息系统安全规划依托企业信息化战略规划

信息化战略规划是以整个企业的发展目标、发展战略和企业各部门的业务需求为基础,结合行业信息化方面的需求分析、环境分析和对信息技术发展趋势的掌握,定义出企业信息化建设的远景、使命、目标和战略,规划出企业信息化建设的未来架构,为信息化建设的实施提供一副完整的蓝图,全面系统地指导企业信息化建设的进程。信息系统安全规划依托企业信息化战略规划,对信息化战略的实施起到保驾护航的作用。信息系统安全规划的目标应该与企业信息化的目标是一致的,而且应该比企业信息化的目标更具体明确、更贴近安全。信息系统安全规划的一切论述都要围绕着这个目标展开和部署。

信息系统安全规划需要围绕技术安全、管理安全、组织安全考虑

信息系统安全规划的方法可以不同、侧重点可以不同,但都需要围绕技术安全、管理安全、组织安全进行全面的考虑。规划的内容基本上应该涵盖:确定信息系统安全的任务、目标、战略以及战略部门和战略人员,并在此基础上制定出物理安全、网络安全、系统安全、运营安全、人员安全的信息系统安全的总体规划。物理安全包括环境设备安全、信息设备安全、网络设备安全、信息资产设备的物理分布安全等。网络安全包括网络拓扑结构安全、网络的物理线路安全、网络访问安全(防火墙、入侵检测系统和VPN等)等。系统安全包括操作系统安全、应用软件安全和应用策略安全等。运营安全应在控制层面和管理层面保障,包括备份与恢复系统安全、入侵检测功能、加密认证功能、漏洞检查及系统补丁功能、口令管理等。人员安全包括安全管理的组织机构、人员安全教育与意识机制、人员招聘及离职管理、第三方人员安全管理等。

信息系统安全规划以信息系统与信息资源的安全保护为核心

信息系统安全规划的最终效果应该体现在对信息系统与信息资源的安全保护上,因此规划工作需要围绕着信息系统与信息资源的开发、利用和保护工作进行,要包括蓝图、现状、需求和措施4个方面。

(1)对信息系统与信息资源的规划需要从信息化建设的蓝图入手,知道企业信息化发展策略的总体目标和各阶段的实施目标,制定出信息系统安全的发展目标。

(2)对企业的信息化工作现状进行整体的、综合、全面的分析,找出过去工作中的优势与不足。

(3)根据信息化建设的目标提出未来几年的需求,这个需求最好可以分解成若干个小的方面,以便于今后的落实与实施。

(4)要写明在实施工作阶段的具体措施与办法,提高规划工作的执行力度。信息系统安全规划服务于企业信息化战略目标,信息系统安全规划做得好,企业信息化工作的实现就有了保障。信息系统安全规划是企业信息化发展战略的基础性工作,不是可有可无而是非常重要。由于企业信息化的任务与目标不同,所以信息系统安全规划包括的内容就不同,建设的规模就有很大的差异,因此信息系统安全规划无法从专业书籍或研究资料中找到非常有针对性的、有帮助的适用法则,也不可能给出一个规范化的信息系统安全规划的模板。在这里提出信息系统安全规划框架与方法,给出了信息系统安全规划工作的一种建设原则、建设内容、建设思路,具体规划还需要深入细致地进行本地化的调查与研究。

网络安全体系架构设计

介绍信息系统安全体系的目的,就是将普遍性安全原理与信息系统的实际相结合,形成满足信息系统安全需求的安全体系结构。

OSI的安全体系架构概述

国家标准《信息处理系统工程开放系统互联基本参考模型—第二部分:安全体系结构》(GB/T 9387.2-1995)(等同于ISO 7498-2),以及互联网安全体系结构(RFC 2401),是两个普遍适用的安全体系结构,目的在于保证开放系统进程与进程之间远距离安全交换信息。这些标准在参考模型的框架内,建立起一些指导原则与约束条件,从而提供了解决开放互联系统中安全问题的一致性方法。

OSI安全体系结构提供以下内容。

(1)提供安全服务与有关安全机制在体系结构下的一般描述,这些服务和机制必须是为体系结构所配备的。

(2)确定体系结构内部可以提供这些服务的位置。

(3)保证安全服务完全准确地得以配置,并且在信息系统的安全周期中一直维持,安全功能务必达到一定强度的要求。

国家标准《信息处理系统工程开放系统互联基本参考模型—第二部分:安全体系结构》(GB/T 9387.2-1995)(等同于ISO 7498-2),给出了基于OSI参考模型的7层协议之上的信息安全体系结构。其核心内容是:为了保证异构计算机进程与进程之间远距离交换信息的安全,它定义了该系统5大类安全服务,以及提供这些服务的8类安全机制及相应的OSI安全管理,并可根据具体系统适当地配置于OSI模型的7层协议中。图12-5所示的三维安全空间解释了这一体系结构。

在OSI 7层协议中除第5层(会话层)外,每一层均能提供相应的安全服务。实际上,最适合配置安全服务的是在物理层、网络层、运输层及应用层上,其他层都不宜配置安全服务。

ISO开放系统互联安全体系的5类安全服务包括鉴别、访问控制、数据机密性、数据完整性和抗抵赖性。

分层多点安全技术体系架构,也称为深度防御安全技术体系架构,它通过以下方式将防御能力分布至整个信息系统中。

图12-5 信息安全体系结构示意图找不到图片(Image not found)

(1)多点技术防御。在对手可以从内部或外部多点攻击一个目标的前提下,多点技术防御通过对以下多个防御核心区域的防御达到抵御所有方式的攻击的目的。

①网络和基础设施。为了确保可用性,局域网和广域网需要进行保护以抵抗各种攻击,如拒绝服务攻击等。为了确保机密性和完整性,需要保护在这些网络上传送的信息以及流量的特征以防止非故意的泄露。

②边界。为了抵御主动的网络攻击,边界需要提供更强的边界防御,例如流量过滤和控制以及入侵检测。

③计算环境。为了抵御内部、近距离的分布攻击,主机和工作站需要提供足够的访问控制。

(2)分层技术防御。即使最好的可得到的信息保障产品也有弱点,其最终结果将使对手能找到一个可探查的脆弱性,一个有效的措施是在对手和目标间使用多个防御机制。为了减少这些攻击成功的可能性和对成功攻击的可承担性,每种机制应代表一种唯一的障碍并同时包括保护和检测方法。例如,在外部和内部边界同时使用嵌套的防火墙并配合以入侵检测就是分层技术防御的一个实例。

支撑性基础设施为网络、边界和计算环境中信息保障机制运行基础的支撑性基础设施,包括公钥基础设施以及检测和响应基础设施。

(1)公钥基础设施。提供一种通用的联合处理方式,以便安全地创建、分发和管理公钥证书和传统的对称密钥,使它们能够为网络、边界和计算环境提供安全服务。这些服务能够对发送者和接收者的完整性进行可靠验证,并可以避免在未获授权的情况下泄露和更改信息。公钥基础设施必须支持受控的互操作性,并与各用户团体所建立的安全策略保持一致。

(2)检测和响应基础设施。检测和响应基础设施能够迅速检测并响应入侵行为。它也提供便于结合其他相关事件观察某个事件的“汇总”性能。另外,它也允许分析员识别潜在的行为模式或新的发展趋势。

必须提醒的是,信息系统的安全保障不仅仅依赖于技术,还需要集成的技术和非技术防御手段。一个可接受级别的信息保障依赖于人员、管理、技术和过程的综合。

图12-6描述了分层多点安全技术体系架构。

图12-6 分层多点安全技术体系架构找不到图片(Image not found)

分层多点安全技术体系架构为信息系统安全保障提供了框架和进一步分析所需的重点区域划分。在具体的技术方案实践中,应从使命和需求的实际情况出发制定适合组织机构要求的技术体系和方案。

鉴别框架

鉴别(Authentication)的基本目的,就是防止其他实体占用和独立操作被鉴别实体的身份。鉴别提供了实体声称其身份的保证,只有在主体和验证者的关系背景下,鉴别才是有意义的。鉴别有两种重要的关系背景:一是实体由申请者来代表,申请者与验证者之间存在着特定的通信关系(如实体鉴别);二是实体为验证者提供数据项来源。

鉴别的方式主要基于以下5种。

(1)已知的,如一个秘密的口令。

(2)拥有的,如IC卡、令牌等。

(3)不改变的特性,如生物特征。

(4)相信可靠的第三方建立的鉴别(递推)。

(5)环境(如主机地址等)。

鉴别信息(Artificial Intelligence, AI)是指申请者要求鉴别到鉴别过程结束所生成、使用和交换的信息。鉴别信息的类型有交换鉴别信息(交换AI)、申请鉴别信息(申请AI)和验证鉴别信息(验证AI)。

图12-7 申请者、验证者、可信第三方之间的关系及三种鉴别信息类型找不到图片(Image not found)

注意:在某些特定的情况下,可以不涉及可信任的第三方。

验证AI可以是主体的,也可以是可信任第三方的。

在某些情况下,为了产生交换AI,申请者需要与可信第三方进行交互。类似的,为了验证交换AI,验证者也需要同可信第三方进行交互。在这种情况下,可信第三方持有相关实体的验证AI,也可能使用可信第三方来传递交换AI。实体也可能需要持有鉴别可信第三方中所使用的鉴别信息。

鉴别服务分为以下阶段:安装阶段;修改鉴别信息阶段;分发阶段;获取阶段;传送阶段;验证阶段;停活阶段;重新激活阶段;取消安装阶段。

在安装阶段,定义申请AI和验证AI。修改鉴别信息阶段,实体或管理者申请AI和验证AI变更(如修改口令)。在分发阶段,为了验证交换AI,把验证AI分发到各实体(如申请者或验证者)以供使用。在获取阶段,申请者或验证者可得到为鉴别实例生成特定交换AI所需的信息,通过与可信第三方进行交互或鉴别实体间的信息交换可得到交换AI。例如,当使用联机密钥分配中心时,申请者或验证者可从密钥分配中心得到一些信息,如鉴别证书。在传送阶段,在申请者与验证者之间传送交换AI。在验证阶段,用验证AI核对交换AI。在停活阶段,将建立一种状态,使得以前能被鉴别的实体暂时不能被鉴别。在重新激活阶段,使在停活阶段建立的状态将被终止。在取消安装阶段,实体从实体集合中被拆除。

访问控制框架

访问控制(Access Control)决定开放系统环境中允许使用哪些资源、在什么地方适合阻止未授权访问的过程。在访问控制实例中,访问可以是对一个系统(即对一个系统通信部分的一个实体)或对一个系统内部进行的。

图12-8和图12-9说明了访问控制的基础性功能。

图12-9 ADF示意图找不到图片(Image not found)

ACI(访问控制信息)是用于访问控制目的的任何信息,其中包括上下文信息。ADI(访问控制判决信息)是在做出一个特定的访问控制判决时可供ADF使用的部分(或全部)ACI。ADF(访问控制判决功能)是一种特定功能,它通过对访问请求、ADI以及该访问请求的上下文使用访问控制策略规则而做出访问控制判决。AEF(访问控制实施功能)确保只有对目标允许的访问才由发起者执行。

涉及访问控制的有发起者、AEF、ADF和目标。发起者代表访问或试图访问目标的人和基于计算机的实体。目标代表被试图访问或由发起者访问的,基于计算机或通信的实体。例如,目标可能是OSI实体、文件或者系统。访问请求代表构成试图访问部分的操作和操作数。

当发起者请求对目标进行特殊访问时,AEF就通知ADF需要一个判决来做出决定。为了作出判决,给ADF提供了访问请求(作为判决请求的一部分)和下列几种访问控制判决信息(ADI)。

(1)发起者ADI(ADI由绑定到发起者的ACI导出)。

(2)目标ADI(ADI由绑定到目标的ACI导出)。

(3)访问请求ADI(ADI由绑定到访问请求的ACI导出)。

ADF的其他输入是访问控制策略规则(来自ADF的安全域权威机构)和用于解释ADI或策略的必要上下文信息。上下文信息包括发起者的位置、访问时间或使用中的特殊通信路径。基于这些输入,以及可能还有以前判决中保留下来的ADI信息,ADF可以做出允许或禁止发起者试图对目标进行访问的判决。该判决传递给AEF,然后AEF允许将访问请求传给目标或采取其他合适的行动。

在许多情况下,由发起者对目标的逐次访问请求是相关的。应用中的一个典型例子是在打开与同层目标的连接应用进程后,试图用相同(保留)的ADI执行几个访问。对一些随后通过连接进行通信的访问请求,可能需要给ADF提供附加的ADI以允许访问请求。在另一些情况中,安全策略可能要求对一个或多个发起者与一个或多个目标之间的某种相关访问请求进行限制。这时,ADF可能使用与多个发起者和目标有关的先前判决中所保留的ADI来对特殊访问请求作出判决。

如果得到AEF的允许,访问请求只涉及发起者与目标的单一交互。尽管发起者和目标之间的一些访问请求是完全与其他访问请求无关的,但常常是两个实体进入一个相关的访问请求集合中,如质询应答模式。在这种情况下,实体根据需要同时或交替地变更发起者和目标角色,可以由分离的AEF组件、ADF组件和访问控制策略对每一个访问请求执行访问控制功能。

机密性框架

机密性(Confidentiality)服务的目的是确保信息仅仅是对被授权者可用。由于信息是通过数据表示的,而且数据可能导致关系的变化(如文件操作可能导致目录改变或可用存储区域的改变),因此信息能通过许多不同的方式从数据中导出。例如,通过理解数据的含义(如数据的值)导出;通过使用数据相关的属性(如存在性、创建的数据、数据大小、最后一次更新的日期等)进行推导;通过研究数据的上下文关系,即那些与之相关的其他数据实体导出;通过观察数据表达式的动态变化导出。

信息的保护通过确保数据被限制于授权者获得,或通过特定方式表示数据来获得,这种保护方式的语义是,数据只对那些拥有某种关键信息的人才是可访问的。有效的机密性保护要求必要的控制信息(如密钥和RCI等)是受到保护的,这种保护机制和用来保护数据的机制是不同的(如密钥可以通过物理手段保护等)。

在机密性框架中用到被保护的环境和被交叠保护的环境两个概念。在被保护环境中的数据,通过使用特别的安全机制(或多个机制)保护。在一个被保护环境中的所有数据以类似方法受到保护。当两个或更多的环境交叠的时候,交叠中的数据能被多重保护。可以推断,从一个环境移到另一个环境的数据的连续保护必然涉及到交叠保护环境。

机密性机制

数据的机密性可以依赖于所驻留和传输的媒体。因此,存储数据的机密性能通过使用隐藏数据语义(如加密)或将数据分片的机制来保证。数据在传输中的机密性能通过禁止访问的机制、通过隐藏数据语义的机制或通过分散数据的机制得以保证(如跳频等)。这些机制类型能被单独使用或者组合使用。

1)通过禁止访问提供机密性

通过禁止访问的机密性能通过在ITU-T Rec. 812或ISO/IEC 10181-3中描述的访问控制获得,以及通过物理媒体保护和路由选择控制获得。通过物理媒体保护的机密性保护可以采取物理方法保证媒体中的数据只能通过特殊的有限设备才能检测到。数据机密性通过确保只有授权的实体才能使这些机制本身有效的方式来实现。通过路由选择控制的机密性保护机制的目的,是防止被传输数据项表示的信息未授权泄露。在这一机制下只有可信和安全的设施才能路由数据,以达到支持机密性服务的目的。

2)通过加密提供机密性

这些机制的目的是防止数据泄露在传输或存储中。加密机制分为基于对称的加密机制和基于非对称加密的机密机制。

除了以下两种机密性机制外,还可以通过数据填充、通过虚假事件(如把在不可信链路上交换的信息流总量隐藏起来)、通过保护PDU头和通过时间可变域提供机密性。

完整性框架

完整性(Integrity)框架的目的是通过阻止威胁或探测威胁,保护可能遭到不同方式危害的数据完整性和数据相关属性完整性。所谓完整性,就是数据不以未经授权方式进行改变或损毁的特征。

完整性服务有几种分类方式:根据防范的违规分类违规操作分为未授权的数据修改、未授权的数据创建、未授权的数据删除、未授权的数据插入和未授权的数据重放。依据提供的保护方法分为阻止完整性损坏和检测完整性损坏。依据是否包括恢复机制分为具有恢复机制的和不具有恢复机制的。

完整性机制的类型

由于保护数据的能力与正在使用的媒体有关。完整性机制是有区别的,包括如下类型。

(1)阻止对媒体访问的机制。包括物理隔离的、不受干扰的信道;路由控制;访问控制。

(2)用以探测对数据或数据项序列的非授权修改的机制。未授权修改包括未授权数据创建、数据删除以及数据重复。而相应的完整性机制包括密封、数字签名、数据重复(作为对抗其他类型违规的手段)、与密码变换相结合的数字指纹和消息序列号。

按照保护强度,完整性机制可分为不作保护;对修改和创建的探测;对修改、创建、删除和重复的探测;对修改和创建的探测并带恢复功能;对修改、创建、删除和重复的探测并带恢复功能。

抗抵赖框架

抗抵赖(Non-repudiation)服务包括证据的生成、验证和记录,以及在解决纠纷时随即进行的证据恢复和再次验证。

框架所描述的抗抵赖服务的目的是提供有关特定事件或行为的证据。事件或行为本身以外的其他实体可以请求抗抵赖服务。抗抵赖服务可以保护的行为实例有发送X.400消息;在数据库中插入记录、请求远程操作等。

当涉及消息内容的抗抵赖服务时,为提供原发证明,必须确认数据原发者身份和数据完整性。为提供递交证明,必须确认接收者身份和数据完整性。在某些情况下,还可能需要涉及上下文关系(如日期、时间、原发者/接收者的地点等)的证据。

抗抵赖服务提供下列可在试图抵赖的事件中使用的设备:证据生成、证据记录、验证生成的证据、证据的恢复和重验。

纠纷可以在纠纷两方之间直接通过检查证据解决。但是,纠纷也可能不得不通过仲裁者解决,该仲裁者评估并确定是否发生过有纠纷的行为或事件。

抗抵赖由4个独立的阶段组成:证据生成;证据传输、存储和恢复;证据验证;解决纠纷,如图12-10所示。

1)证据生成

在这个阶段中,证据生成请求者请求证据生成者为事件或行为生成证据。卷入事件或行为中的实体,称为证据实体,其卷入关系由证据建立。根据抗抵赖服务的类型,证据可由证据实体、或可能与可信第三方的服务一起生成、或者单独由可信第三方生成。

2)证据传输、存储和恢复

在这个阶段,证据在实体间传输或从存储器取出来或传到存储器。

图12-10 参与生成、传输、存储/恢复和证实阶段的实体(注:本图是示意图,并非定义)找不到图片(Image not found)

3)证据验证

在这个阶段,证据在证据使用者的请求下被证据验证者验证。本阶段的目的是在出现纠纷的事件中,让证据使用者确信被提供的证据确实是充分的。可信第三方服务也可参与,以提供验证该证据的信息。

4)解决纠纷

在解决纠纷阶段,仲裁者有解决双方纠纷的责任。图12-11描述了纠纷解决阶段。

图12-11 抗抵赖过程的纠纷解决阶段找不到图片(Image not found)

数据库系统的安全设计

在数据库系统中, 由于数据的集中管理,随之而来的是多用户存取,以及近年来跨网络的分布系统的急速发展。数据库的安全问题可以说已经构成信息系统最为关键的环节,而电子政务中所涉及的数据库密级更高、实时性更强。因此,有必要根据其特殊性完善安全策略,这些安全策略应该能保证数据库中的数据不会被有意地攻击或无意地破坏。不会发生数据的外泄、丢失和毁损,即实现了数据库系统安全的完整性、保密性和可用性。从数据库管理系统的角度而言,要采取的安全策略一般为用户管理、存取控制、数据加密、审计跟踪和攻击检测,从而解决数据库系统的运行安全和信息安全。

下面分别从数据库安全设计的评估标准和完整性设计两方面进行讨论。

数据库安全设计的评估标准

随着人们对安全问题的认识和对安全产品的要求不断提高,在计算机安全技术方面逐步建立了一套安全评估标准,以规范和指导安全信息的建立、安全产品的生产,并能较准确地评测产品的安全性能指标。在当前各国制定和采用的标准中,最重要的是1985年美国国防部颁布的“可信计算机系统评估标准(Trusted Computer System Evaluation Criteria, TCSEC)”桔皮书(简称为DoD85)。1991年,美国国家计算机安全中心(The National Computer Seaurity Center, NCSC)又颁布了“可信计算机评估标准关于可信数据库管理系统的解释(Trusted Database Interpretation, TDI)”。我国也于1994年2月发布了“中华人民共和国计算机信息系统安全保护条例”。在TCSEC中,将安全系统分为4大类7个等级。

TDI是TCSEC在数据库管理系统方面的扩充和解释,并从安全策略、责任、保护和文档4个方面进一步描述了每级的安全标准。按照TCSEC标准,D类产品是基本没有安全保护措施的产品,C类产品只提供了安全保护措施,一般不称为安全产品。B类以上产品是实行强制存取控制的产品,也是真正意义上的安全产品。所谓安全产品均是指安全级别在B1以上的产品,而安全数据库研究原型一般是指安全级别在B1级以上的以科研为目的,尚未产品化的数据库管理系统原型。

数据库的完整性设计

数据库完整性是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计。

数据库完整性设计原则

在实施数据库完整性设计时,需要把握以下基本原则。

(1)根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。

(2)实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是值得的。

(3)要慎用目前主流DBMS都支持的触发器功能,一方面由于触发器的性能开销较大;另一方面,触发器的多级触发不好控制,容易发生错误,非用不可时,最好使用Before型语句级触发器。

(4)在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下划线等组合,使其易于识别和记忆,如CKC EMP REAL INCOME EMPLOYEE、PK EMPLOYEE、CKT EMPLOYEE。如果使用CASE工具,一般有默认的规则,可在此基础上修改使用。

(5)要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。

(6)要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。

(7)应采用合适的CASE工具来降低数据库设计各阶段的工作量。好的CASE工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。

数据库完整性的作用

数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面。

(1)数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。

(2)利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基于DBMS的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。

(3)合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。例如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数据库的完整性。

(4)在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。

(5)数据库完整性约束可分为6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束和关系级动态约束。动态约束通常由应用软件来实现。不同DBMS支持的数据库完整性基本相同,Oracle支持的基于DBMS的完整性约束如表12-1所示。

表12-1 Oracle支持的基于DBMS的完整性约束找不到图片(Image not found)
数据库完整性设计示例

一个好的数据库完整性设计,首先需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则。然后在充分了解特定DBMS提供的完整性控制机制的基础上,依据整个系统的体系结构和性能要求,遵照数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方式。最后,认真测试,排除隐含的约束冲突和性能问题。基于DBMS的数据库完整性设计大体分为以下几个阶段。

1)需求分析阶段

经过系统分析员、数据库分析员和用户的共同努力,确定系统模型中应该包含的对象,如人事及工资管理系统中的部门、员工和经理等,以及各种业务规则。

在完成寻找业务规则的工作之后,确定要作为数据库完整性的业务规则,并对业务规则进行分类。其中作为数据库模式一部分的完整性设计按下面的过程进行,而由应用软件来实现的数据库完整性设计将按照软件工程的方法进行。

2)概念结构设计阶段

概念结构设计阶段是将依据需求分析的结果转换成一个独立于具体DBMS的概念模型,即实体关系图(Entity-Relationship Diagram, ERD)。在概念结构设计阶段就要开始数据库完整性设计的实质阶段,因为此阶段的实体关系将在逻辑结构设计阶段转化为实体完整性约束和参照完整性约束,到逻辑结构设计阶段将完成设计的主要工作。

3)逻辑结构设计阶段

此阶段就是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化,包括对关系模型的规范化。此时,依据DBMS提供的完整性约束机制,对尚未加入逻辑结构中的完整性约束列表,逐条选择合适的方式加以实现。

在逻辑结构设计阶段结束时,作为数据库模式一部分的完整性设计也就基本完成了。每种业务规则都可能有好几种实现方式,应该选择对数据库性能影响最小的一种,有时需通过实际测试来决定。

案例:电子商务系统的安全性设计

本节以一个具体的电子商务系统——高性能的RADIUS,来阐明电子商务系统的安全设计的基本原理和设计方法。

原理介绍

AAA(Authentication Authorization and Accounting,验证、授权和审记)是运行于宽带网络接入服务器上的客户端程序。AAA提供了一个用来对验证、授权和审记三种安全功能进行配置的一致的框架,实际上是对网络安全的一种管理。这里的网络安全主要指访问控制,包括哪些用户可以访问网络服务器?如何对正在使用网络资源的用户进行记账?下面简单介绍验证、授权和记账的作用。

(1)验证(Authentication):验证用户是否可以获得访问权,认证信息包括用户名、用户密码和认证结果等。

(2)授权(Authorization):授权用户可以使用哪些服务,授权包括服务类型及服务相关信息等。

(3)审记(Accounting):记录用户使用网络资源的情况,用户IP地址、MAC地址掩码等。

RADIUS服务器负责接收用户的连接请求,完成验证并把用户所需的配置信息返回给BAS建立连接,从而可以获得访问其他网络的权限时,BAS就起到了认证用户的作用。BAS负责把用户之间的验证信息传递通过密钥的参与来完成。用户的密码加密以后才能在网上传递,以避免用户的密码在不安全的网络上被窃取。

例如,用户A请求得到某些服务(如PPP、Telnet和Rlogin等),但必须通过BAS,由BAS依据某种顺序与所连接服务器通信从而进行验证。用户A通过拨号进入BAS,然后BAS按配置好的验证方式(如PPP、PAP和CHAP等)要求用户A输入用户名和密码等信息。用户A终端出现提示,用户按提示输入。通过与BAS的连接,BAS得到这些信息。而后BAS把这些信息传递给响应验证或记账的服务器,并根据服务器的响应来决定用户是否可以获得他所请求的服务。

一个网络允许外部用户通过宽带网对其进行访问,这样用户在地理上可以分散。大量分散用户可以通过DSL Modem等从不同的地方对这个网络进行随机的访问,用户可以把自己的信息传递给这个网络,也可以从这个网络得到自己想要的信息。由于存在内外的双向数据流动,网络安全就成为很重要的问题,因此对信息进行有效管理是必要的。管理的内容包括用户是否可以获得访问权、用户可以允许使用哪些服务,以及如何对使用网络资源的用户进行计费。AAA很好地完成了这3项任务。

软件架构设计

RADIUS软件主要应用于宽带业务运营的支撑管理,是一个需要可靠运行且高安全级别的软件支撑系统。RADIUS软件的设计还需要考虑一个重要的问题,即系统高性能与可扩展性。

电信数据业务的开展随着我国宽带业务的开展,在宽带接入方式、宽带业务管理等诸多方面均会发生变化,以适应市场的发展。业务的发展对RADIUS软件架构的设计就是重中之重了,其设计将会直接影响系统可持续建设的质量与成本。通过深入分析,高性能的RADIUS软件架构核心如图12-12所示。

图12-12 RADIUS软件架构核心逻辑性找不到图片(Image not found)

RADIUS软件架构分为三个层面:协议逻辑层、业务逻辑层和数据逻辑层。

协议逻辑层主要实现RFC框架中的内容,处理网络通信协议的建立、通信和停止方面的工作。在软件功能上,这个部分主要相当于一个转发引擎,起到分发处理的内容分发到不同的协议处理过程中,这一层的功能起到了协议与业务处理的分层处理的作用。

业务逻辑层的设计是RADIUS软件架构设计的核心部分,架构设计的好坏将直接关系到应用过程中能否适应RADIUS协议扩展部分的实现,更重要的是会直接影响到用户单位的业务能否顺利开展。协议处理进程主要是对转发引擎发来的包进行初步分析,并根据包的内容进一步分发到不同的业务逻辑处理进程。协议处理进程可以根据项目的情况,配置不同的协议进程数,提高包转发与处理的速度。业务逻辑进程分为认证、计费和授权三种类型,不同的业务逻辑进程可以接收不同协议进程之间的信息并进行处理。转发进程与协议进程之间采用共享内存的方法,实现进程之间的通信。协议进程与业务逻辑处理进程之间采用进程加线程的实现方法,这样实现的好处在于不需要对业务处理线程进行应用软件层面的管理,而由UNIX系统进行管理,进一步提高应用系统处理的效率与质量。

数据逻辑层需要对来自业务逻辑处理线程统一管理与处理数据库代理池的数据,由数据库代理池统一连接数据库,以减少对数据库系统的压力。同时减小了系统对数据库的依赖性,增强了系统适应数据库系统的能力。

RADIUS软件分层架构的实现,一是对软件风险进行了深入的分析,并且在软件实现的过程中得到更多的体现;二是可以构建一个或多个重用的构件单元,同时也可以继承原来的成果。BAS和RADIUS之间验证信息的传递是通过密钥的参与来完成的。从原来的窄带拨号上网到现在的宽带接入、无线接入,在信息加密方面从传统的MD5、PAP和CHAP方式增加了EAP-tls、P-ttls和EAP-sim等多种格式。基于分层架构的协议处理进程有自然的灵活性,可快速适应RFC指南中增加的内容。

RADIUS的功能,一是实际处理大量用户并发的能力,二是软件架构的可扩展性。负载均衡是提高RADIUS软件性能的有效方法,它主要完成以下任务。

(1)解决网络拥塞问题,就近提供服务,实现地理位置无关性。

(2)为用户提供更好的访问质量。

(3)提高服务器响应速度。

(4)提高服务器及其他资源的利用效率。

(5)避免了网络关键部位出现单点失效。

当同时在线的宽带用户量巨大时,BAS发送给后台RADIUS的用户数据更新包的数量会急剧增加,RADIUS服务器的处理能力就成为性能瓶颈。当包的数量大于RADIUS服务器的处理能力时,就会出现丢包,造成用户数据的丢失或不完整。

通过代理转发的方式,把从BAS发送过来的数据包平均转发到其他RADIUS服务器中进行处理,实现RADIUS服务器之间的负载均衡。

RADIUS高性能还体现在自我管理的功能,该功能包括UNIX守护管理监控和进程管理监控。在有故障时,服务进程能内部调度进程,以协调进程的工作情况。同时对RADIUS报文进行SNMP的代理管理,向综合网络管理平台实时发送信息。