1.09k likes | 1.24k Views
网教院培训课程:信息系统安全. 第二章 安全控制原理. 主讲教师 :董庆宽 研究方向 :密码学与信息安全 Email : qkdong@mail.xidian.edu.cn 手 机 : 15339021227. 内容提要. 2.1 可信计算基的结构与评测准则 2.2 访问控制 2.3 信息流控制 2.4 安全模型. 第二章 安全控制原理. 2.1.1 可信计算基的结构. 2.1 可信计算基的结构与评测准则. 信息系统可信计算基 TCB 的定义: 信息系统是由计算机及相关的和配套的设备和设施构成的
E N D
网教院培训课程:信息系统安全 第二章 安全控制原理 主讲教师:董庆宽 研究方向:密码学与信息安全 Email :qkdong@mail.xidian.edu.cn 手 机:15339021227
内容提要 2.1 可信计算基的结构与评测准则 2.2 访问控制 2.3 信息流控制 2.4 安全模型
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • 信息系统可信计算基TCB的定义: • 信息系统是由计算机及相关的和配套的设备和设施构成的 • 定义:可信计算基(TCB)是指信息系统内保护装置的总体,包括相关的软件、硬件、固件及相关的管理等 • 其中,固件是具有独立功能和作用的软硬件的集合体。 • 在信息系统中那些为了用户能安全地使用信息系统并完成信息使命的资源和机制就构成了信息系统的TCB • 它建立了一个基本的保护环境,并提供一个可信计算系统所要求的附加用户服务 • TCB (Trust Computing Base)是1983年《可信计算机系统评测准则》TCSEC中提出的概念,TCSEC侧重于操作系统安全,而对操作系统的安全要求可以推广到整个信息系统
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • TCB是个很广泛的概念,可以由以下(但不限于)要素构成 • 操作系统和数据库中的安全内核 • 应用软件中与安全相关的部分 • 具有特权的程序和命令 • 处理敏感信息的程序,如系统管理命令 • TCB实施安全策略的文件 • 其他可信的软件、硬件、固件和设备。(关于故障) • 负责系统管理的人员。(误操作或恶意操作) • 保障正确的相关程序和诊断软件(评测)
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • 信息系统TCB的逻辑结构 安全信息系统的工作机理 信息系统中信息服务系统和安全策略通过一定的控制手段对进程、服务、数据等资源进行有效控制,以期达到安全有效的使用资源的目的(实现信息使命及安全使命) TCB分为安全策略TSP和安全功能TSF两个层次 可分别抽象为访问监控器和访问确认机制 这些策略通过安全功能控制所有主体对客体的操作(控制范围TSC)
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • 由上可见,TCB提供安全功能的思想在于: ① 信息系统规定了信息安全策略TSP ② TSP定义了一些规则 • TSP可以由多个安全功能策略SFP模块构成,每个SFP都有自己的控制范围,在其中定义了该SFP控制下的主体、客体和操作。 • SFP是通过安全功能SF实现的 ③ 信息系统以安全功能为载体通过这些规则控制任何主体对其资源的访问,这样信息系统就控制了所有信息与服务,确信对资源进行安全保护而达到对信息的安全保护
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • TCB的安全策略,简称TSP(TCB Security Policy) • 是对TCB中的资源进行管理、保护和分配的一组规则。它是所有SFP的总和 • 其中,安全功能策略SFP(Security Function Policy ) ,是由多个安全策略SP组成的针对某些特定安全功能的策略,通过安全功能SF模块实现 • TSP可抽象为访问监控器 • 访问监控器是信息系统中实施访问控制策略的抽象机,是安全功能模块在执行安全功能时的依据,比如访问控制的规则等
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • TCB的安全功能,简称TSF(TCB Security function) • 是正确实施TCB安全策略的全部硬件、固件、软件所提供的功能。 • 它包括了一个TCB的所有安全功能模块SF,通常是一个或多个安全功能策略SFP的实现 • TSF中可能包括一个访问确认机制和其他一些安全功能 • 访问确认机制是访问监控器概念的实现,它具有防拆卸、一直运行、简单到能够进行彻底的分析与测试,如访问控制的执行单元,操作系统的安全内核等 • TCB中所有TSF构成一个安全域,以防止不可信实体的干扰和篡改,这个安全域实际上是TCB操作及其所涉及的主体和客体,也被称为TSF的控制范围TSC。 • TCB中的非TSF部分构成非安全域
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • TSF的实现有两种方法 • 设置前端过滤器,如防火墙,登陆认证,防止非法进入系统 • 设置访问监督器,如安全审计系统、防止越权访问 • TSF的两种实现方法实际上给出了信息系统安全的访问控制模型 • 该模型对非授权访问有两道防线: • 第一道防线是守卫者:基于通行字的登录程序和屏蔽程序,分别用于拒绝非授权的访问、检测和拒绝病毒:外部访问控制,具有前端过滤器的功能 • 第二道防线由一些内部控制部件构成,管理系统内部的各项操作和分析所存有的信息,检查是否有未授权的入侵者。内部访问控制、安全管理和审计,具有访问监督器的作用
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • 在信息系统或产品中的数据、资源和实体的相关概念 • 信息系统中处理的数据,有两大类: • 用户数据:用户完成信息使命时产生和处理的,是信息系统安全保障的根本目标,存储在信息系统资源中 • TSF数据:用于保护用户数据所需的数据,在作出TSP决策时TSF使用的信息,如安全属性、鉴别数据,访问控制表ACL内容等都是TSF数据的例子。又可分为鉴别数据与保密数据 • 信息系统的资源用于存储和处理信息,它们是由存储介质、外围设备和计算能力构成的。 • TSF的主要目标是完全并正确的对信息系统所控制的资源与信息,实施信息系统的安全策略TSP • 信息系统资源可以用不同的方式构成和利用
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • 信息系统中的实体entity ,由资源产生,有两类: (1)主动实体,称为主体subject ,指用户和其它任何代理用户行为的实体(例如设备、进程、作业和程序) • 它是信息系统内部行为发起的原因,并导致对信息的操作;但不一定是执行者(可能是代理程序) • 信息系统内有三类实体: • (1)代表遵从TSP所有规则的已授权用户,如UNIX进程 • (2)作为专用功能进程,可以轮流代表多个用户,如C/S结构中可以找到的功能 • (3)作为信息系统本身的一部分,如可信进程(如OS的进程) • 最初始的主体一定是人类用户
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 (2)被动实体,称为客体object,指信息的载体或从其他主体或客体接收信息的实体。是发出或接收信息的容器(介质) • 客体不受它所依存的系统的限制 • 可以包括记录、数据块、存储页、存储段、文件、目录、目录树、库表、邮箱、消息、程序等 • 还可以包括位、字节、字、字段、变量、处理器、通信信道、时钟、网络节点等 • 最终的客体一定是记录介质上的信息(数据) • 受控的主体或子进程也是一种客体 • 操作系统中的进程(包括用户进程和系统进程)有着双重身份,既用户的客体,又是访问对象的主体
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • 实体的权限与授权 • 权限:是指与计算机上或网络上的对象(文件或文件夹)关联的规则,权限确定是否可以访问某个对象以及可以对它执行哪些操作 • 授权:是对主体赋予以上这种能力 • 用户进程的权限:是固定为某一用户服务的,其权限应与所代表的用户相同 • 系统进程的权限:是动态的为所有用户提供服务的,因而它的权限是随着服务对象的变换而变化的,需要将用户权限与为其服务的进程权限动态相关联
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • TCB中用于数据保护的安全功能策略SFP有3种: • 访问控制SFP • 其实现机制基于控制范围内的主体、客体和操作的属性做出策略决定的。这些属性被用于一组规则中,以便控制各主体对客体的操作。主体、客体和访问控制规则为三要素 • 信息流控制SFP • 信息流是主体对客体操作而引起的信息在客体间的流动,信息流控制要控制信息的流向等方面的问题 • 其实现机制是基于控制范围内的主体和信息的属性,并支配主体对信息操作的一组规则作出策略决策的 • 信息的属性与信息相随,它可能与存储介质的属性相关联 • 主体、信息属性、支配主体对信息操作的规则(三要素)
第二章 安全控制原理 2.1.1 可信计算基的结构 2.1 可信计算基的结构与评测准则 • 推理控制SFP • 是指客体信息内容之间推理通道的控制,防止信息泄漏 • 与信息内容之间的逻辑关系有关,主要用在数据库领域 • 因此,信息系统的安全控制就主要分为三种: • 访问控制:针对存储在信息容器中的静态信息 • 信息流控制:针对在信道中的动态信息 • 推理控制:针对信息内容,信息之间的逻辑关系 • 主体对客体的访问操作至少包含如下几种: • 读:允许信息从被读的客体中流向读它的主体 • 写:允许信息从写主体流向被写的客体 • 执行:运行程序或文件 • 控制:一个主体用来授予或撤销另一主体的对某一客体的访问权限的能力
第二章 安全控制原理 桔皮书 (TCSEC)1985 加拿大标准 1993(CTCPEC) 英国安全标准1989 联邦标准草案1993 德国标准 ITSEC 1991 通用标准CC V1.0 1996 V2.0 1998 V2.1 1999 法国标准 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • 对TCB的测评可以评估TCB的强度,目前最为典型的测评标准就是六国七方制定的通用准则标准CC(Common Criteria) • ISO/IEC 15408-1999 • GB/T18336-2001《信息技术 安全技术 信息技术安全性评估准则》
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • CC定义了作为评估信息技术产品和系统安全性的基础准则,提出了目前国际上公认的表述信息技术安全性的结构 • CC源于TCSEC(TCSEC针对操作系统安全的安全功能单元进行评估)并改进了TCSEC,考虑了与信息技术安全性有关的所有因素 • 它把安全要求分为规范产品和系统安全行为的安全功能要求以及如何正确有效的实施这些功能的安全保证要求 • CC的另一个核心思想是安全工程的思想,即通过对信息安全产品的开发、评价、使用全过程的各个环节实施安全工程来确保产品的安全性。 • 评估对象(Target of Evaluation简称TOE):作为评估主体的IT产品及系统以及相关的管理员和用户指南文档 • CC的评估结果受到技术水平的限制,比如漏洞检测能力等
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • CC的特点 • 通用性:即给出通用表达式;用户、TOE开发者、评估者、认可者等目标读者,都使用CC语言,则相互之间更容易理解沟通 • 具有内在的完备性和实用性:见PP和ST的介绍 • CC明确指出不在其范围的内容 • 行政管理的安全措施;信息技术安全性的物理方面;密码算法的质量 • CC评估的效益 • CC评估过程对最初需求、开发过程、最终产品以及操作环境将产生强烈的积极影响 • 评估过程能发现开发者可以纠正的TOE错误或弱点,从而减少将来操作中安全失效的可能性 • 另一方面为了通过严格的评估,开发者在TOE设计和开发时也将更加细心
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • CC分为三个部分:简介和一般模型、安全功能要求、安全保证要求 • CC的第一部分:“简介和一般模型” • 包括CC有关的术语、基本概念和一般模型以及与评估有关的一些框架; • 描述CC的每一部分对每一目标读者的用途; • 附录部分主要介绍保护轮廓(PP)和安全目标(ST)的基本内容 • PP是对某一类产品的安全保护说明,比如防火墙 • ST是在PP的基础上,通过将安全要求进一步针对性具体化,解决了这些要求的具体实现。比如面向安卓智能手机的防火墙
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • 保护轮廓 (Protect Profile简称PP): 满足特定用户需求、与一类TOE的实现无关的一组安全要求。 • PP是抽象层次较高的安全要求说明书,CC对它的格式有明确的规定 • 它可以使用CC中定义好的组件或由这些组件构成的组件包,同时,也可以使用自行定义的要求组件。 • 在安全产品的开发过程中,PP通常是在ST的定义中引用。它应包括一个评估保证级别(EAL)
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 保护轮廓PP描述结构 • 保护轮廓(Protection Profile)主要用于表达一类产品或系统的用户需求,主要内容: • 对该类产品或系统的界定性描述,即确定需要保护的对象(PP引言和TOE描述) • 确定TOE安全环境,即指明安全问题-需要保护的资产、已知的威胁、用户的组织的安全策略 • 产品或系统的安全目的,即对安全问题的响应对策--技术性和非技术性的措施 • 信息技术(IT)安全要求,包括功能要求、保证要求和环境安全要求,这些要求通过满足安全目的,进一步提出具体在技术上如何解决安全问题 • 基本原理,指明安全要求对安全目的、安全目的对安全环境是充分的且必要的 • 以及附加的补充说明信息(PP应用注解)
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 安全目标描述结构 • 安全目标 (Security Target简称ST):作为指定的TOE评估基础的一组安全要求和规范。在保护轮廓的基础上,通过将安全要求进一步针对性具体化,解决了要求的具体实现。常见的实用方案就可以当成“安全目标”对待。 • ST是一份安全要求与概要设计说明书,是进行CC评估的重要基础,CC对它的格式有明确的规定。 • ST的安全要求定义与PP非常相似,不同的是ST的安全要求是为了某一特定安全产品而定义的。 • ST包括一系列安全要求,可以通过引用一个(或多个)PP来定义,直接引用CC中的功能或保证组件,或明确说明,也可以采用与定义PP相同的方法从头定义。 • 一个ST包含TOE的概要规范,安全要求和目的,以及它们的基本原理 • ST是所有团体间就TOE应提供什么样的安全性达成一致的基础
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • CC的第二部分:“安全功能要求” • 提供了表示TOE安全功能要求的标准方法 • 对满足安全需求的诸安全功能提出了详细的要求,包含良好定义的且较易理解的安全功能要求目录,它将作为一个表示IT产品和系统安全要求的标准方式。 • 该部分按“类—族—组件”的方式提出安全功能要求。 • 共列出了11个类、66个族(子类)和135个安全功能组件 • 另外,如果有超出第二部分的安全功能要求,开发者可以根据“类-族-组件-元素”的描述结构表达其安全要求,并附加在其ST中
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • CC的11个安全功能类: • 安全审计类FAU • 通信类FCO(主要指身份真实性和抗抵赖) • 密码支持类FCS • 用户数据保护类FDP • 标识与鉴别类FIA • 安全管理类(与TSF有关的管理)FMT • 隐秘类(保护用户隐私)FPR • 前7类安全功能是提供给信息系统使用的 • 后4类安全功能是为确保安全功能模块(TSF)的自身安全而设置的,可以看成是对安全功能模块自身安全性的保证。 • TSF保护类(TOE自身安全保护)FPT • 资源利用类(从资源管理角度确保TSF安全)FAU • TOE访问类(从对TOE的访问控制确保安全性)FTA • 可信路径/信道类FTP
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • CC的第三部分:安全保证要求 • 也称安全保障(assurance)要求,它包括: • (1)用以衡量保证级别的评估保证级别(Evaluation Assurance Levels:EAL),包含了7个递增的评估保证级。 • EAL1:功能测试; • EAL2:结构测试; • EAL3:系统的测试和检查; • EAL4:系统的设计、测试和复查; • EAL5:半形式化设计和测试; • EAL6:半形式化验证的设计和测试; • EAL7:形式化验证的设计和测试。
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • (2) 用以组成保证级别的每个保证组件 • (3) 以及PP和ST的评估准则 • 包含建立保证组件所用到的一个目录,它可被作为表示IT产品和系统保证要求的标准方式 • CC第三部分也被组织为与第二部分同样的“类—族—组件”结构。 • 所谓“保证”就是对实现系统安全功能的保障,安全保障是对安全功能实现的措施 • 安全功能是信息系统或IT产品应该实现的安全策略和安全机制 • 安全保证是通过一定的方法保证信息系统或IT产品的安全功能得到确实的要求
第二章 安全控制原理 2.1.2 TCB的国际测评标准CC 2.1 可信计算基的结构与评测准则 • CC的第三部分是评估方法部分,提出了PP、ST、TOE三种评估,共包括10个类,但其中的APE类(PP评估)与ASE类(ST评估)分别介绍了PP与ST的描述结构及评估准则;维护类AMA提出了保证评估过的受测系统或产品运行于所获得的安全级别上的要求 • 只有七个安全保证类是TOE的评估类别 • ACM类:配置管理 • ADO类:分发与操作 • ADV类:开发 • AGD类:指导性文档 • ALC类:生命周期支持 • ATE类:测试 • AVA类:脆弱性评定
第二章 安全控制原理 2.1.3我国的TCB测评标准 2.1 可信计算基的结构与评测准则 • (1)《计算机信息系统安全等级划分准则》GB17859-1999 • 参考TCSEC编制的 • (2)《信息技术 安全技术 信息技术安全性评估准则》GB/T18336-2001 • 我国的CC,几乎等同于ISO/IEC 15408-1999,但对安全功能和安全保证技术的组件的看法不同 • 目前使用的是GB/T18336-2008
第二章 安全控制原理 2.2 访问控制 2.2 访问控制 • 访问控制是指防止或者限制未经过授权而对任何客体进行的访问。(控制主体对客体的存取) • 未授权访问包括未经授权的使用、泄漏、修改、销毁以及颁发指令等。访问控制直接支持机密性、完整性、可用性及合法使用的客体 • 主体、客体和访问规则构成访问控制的三要素 • 访问控制的目标是对抗涉及信息系统非授权操作的威胁 • 该目标在ISO/IEC10181-3(开放系统互联,开放系统的安全框架:“访问控制框架”)部分进行了描述 • 它决定了开放系统环境中允许/限制/禁止使用哪些客体,并如何阻止未授权访问的问题。 • 在访问控制中,访问可以对一个系统(即对一个系统通信部分的一个实体)或在一个系统内部进行
第二章 安全控制原理 2.2 访问控制 2.2 访问控制 • 访问控制是信息系统安全控制的主要内容,包括3个任务 • (1)确定存取权限(读、写、执行、删除、追加等存取方式的组合),(即有哪些种类的存取操作被允许) • (2)实施存取权限 (授权) • (3)控制外界对系统存取 (对访问的控制) • 访问控制主要涉及如下四类情况 • 对数据、不同进程或其他计算资源进行处理(可以是人类行为或其他进程)的访问控制 • 一个安全区域内或者多个安全区域之间的访问控制 • 根据上下文(与环境参数有关)进行的访问控制 • 对访问过程中的授权变化作出反应的访问控制
第二章 安全控制原理 2.2.1 访问控制的一般原理 2.2 访问控制 1)访问控制的一般模型 • 如图所示,该模型表示主体试图访问一些客体 • 在访问控制机制中,通常由发起者提出访问目标的请求,系统根据决策规则由实施功能对访问请求进行分析、处理,在授权的范围内,允许发起者对目标进行有限的访问 • 访问请求是指读、写、执行、控制等操作请求
第二章 安全控制原理 2.2.1 访问控制的一般原理 2.2 访问控制 • 模型中包含一个实施功能模块和决策功能模块 • 实施功能模块执行访问控制机制 • 决策功能模块表示一组访问控制规则和策略 • 决策功能控制着主体的访问许可 • 限制其在何种条件下,为了什么目的,可以访问哪些客体 • 这些决策以某一访问控制策略的形式反映出来 • 两种功能模块分别可由一个或多个访问控制组件构成 • 访问控制实施功能配置在每个主体-客体实例之间,以便主体通过访问控制实施功能作用于客体 • 访问决策功能组件可以配置在访问控制实施功能组件中 • 访问控制实施功能组件可使用一个或多个访问决策功能组件
第二章 安全控制原理 2.2.1 访问控制的一般原理 2.2 访问控制 • 访问控制组件的分布主要有以下几种: • ① 客体上使用访问控制组件 • 由在客体端部署的访问控制来检查访问请求是否被允许 • ② 在本地对主体使用访问控制组件 • 在主体端部署的访问控制机制对主体访问安全区域进行控制,比如是否能够访问外网,而不管访问的客体是什么 • ③ 在主体和客体之间对访问使用访问控制组件。 • 访问控制实施功能插在主体和客体之间。插入访问控制实施功能可强加访问控制策略。这些访问控制策略可以独立于主体和客体安全区域访问控制策略 • ④ 跨多个安全区域的访问组件分布 • 安全区域之间可以建立某种联系,使得一个安全区域的资源可被另外的安全区域所访问
第二章 安全控制原理 2.2.1 访问控制的一般原理 2.2 访问控制 • 2)粒度与容度 • 粒度是指:访问控制策略可在不同级别上定义客体 • 例如,可以对数据库服务器的访问控制作为整体进行控制,也就是说,要么完全拒绝主体访问,要么允许它访问服务器上的任何东西 • 另一种策略是,可以将访问控制细分到个人文件、文件中的记录,甚至记录中的数据条目。 • 容度用来控制对客体组的访问 • 只有能对一个包含客体的客体组进行访问时,才允许对客体组内的这些客体进行访问 • 容度也用在大群组里包含的主体的子群组。通常情况下,容度概念用在互相关联的客体中 • 例如,要访问数据库记录中的数据条目,首先必须要有访问该数据库的权力,
第二章 安全控制原理 2.2.1 访问控制的一般原理 2.2 访问控制 • 3)访问控制类型 • 从不同角度出发,访问控制可以有不同的分类方法 • 1) 阻止非授权用户访问客体 • 在该类型下,访问控制可以分为过滤和分离两种类型。 • 过滤是通过检查主体是否被准予请求的方式访问客体,访问请求可以到达客体,但是否被过滤由主体的访问权限来确定。 • 分离是防止此授权用户有机会去访问敏感的客体。路由控制可以看成一种通信访问控制的格式,它是一个支撑分离的访问控制机制。比如隔离机制 • 2) 自主式策略和强制式策略 • 自主式策略就是由客体的属主自主决定将该客体的相应的访问权限转授给其它主体的访问控制策略。强制式策略被最终的权威机构采用和执行,无法绕过,它基于能自动实施的规则
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 • 主要按照访问控制决策功能模块实现的不同来分类 • 基本访问控制模型有 • 访问控制矩阵(ACM) • 访问目录表(针对主体建立) • 访问控制表ACL(针对客体建立) • 高级的访问控制模型 • 能力机制(更细粒度的访问控制,制定对客体操作的某一权力) • 面向过程的访问控制(设立保护层,对客体的访问必须经过专门的代理)
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 1. 访问控制矩阵ACM • 访问控制矩阵(access control matix,ACM )模型的基本思想就是将所有的访问控制信息存储在一个矩阵中集中管理。当前的访问控制模型一般都是在它的基础上建立起来的。 • 访问控制矩阵中,行代表主体,列代表客体,每个矩阵元素说明每个用户的访问权限。如表3.1,O属主,R只读,W只写,X执行 • 访问控制矩阵ACM是稀疏的,空间浪费较大,在操作系统中使用不多。适用于主体集合和客体集合之间每个主体对应50%以上客体的情况;在数据库管理系统中较常见
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 访问目录表示例 • 2.访问目录表 • 实际上是按访问控制矩阵的行实施对系统中客体的访问控制 • 在系统中把用户分为系统管理员、文件主(拥有者)和一般用户 • 系统管理员具有最高的权限。他可以为用户分配或撤销文件的访问权,也有权把自己文件的访问权分配给其他用户或将其收回 本列说明每一个文件有哪些用户可以访问 • 通常为每个用户建立一张访问目录表,其中存放有权访问的文件名及其访问权限(如图)
访问目录机制容易实现,但存在三个问题需要解决访问目录机制容易实现,但存在三个问题需要解决 (1)共享客体的控制 共享客体会存入每个用户的目录表中,如果共享的客体太多(如子程序库),用户的目录表将会很长,增加了处理时间 (2)访问权的收回问题。 若允许信任关系传递,客体的访问权会被多次转授,最初的用户希望收回所有用户对该客体的访问权时,必须搜索所有用户的目录表,如果系统中用户数量较大,将要花费很多时间 (3)多重许可权问题。文件重名问题可引起此问题 乙用户将甲用户转给他的A文件改名存储后忘记了,过了一段时间又向甲用户申请A文件的访问权,甲可能对乙更加信任,就把A文件更高的访问权授予乙,于是造成乙用户对甲的A文件有多重访问权的问题 第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 • 3.访问控制表ACL • 按ACM矩阵的列实施对系统中客体的访问控制 • 访问目录表和访问控制表分别将访问控制设施设置在用户端和客体端,这两种控制方式需要管理的表项的总数量是相同的,它们的差别在于管理共享客体的方法上,访问控制表技术易于实现对共享客体的管理。
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 • 每个客体都有一张ACL,用于说明可以访问该客体的主体及其访问权限。 • 对某个共享客体,操作系统只要维护一张ACL即可。 • ACL对于大多数用户都可以拥有的某种访问权限,可以采用默认方式表示(通配符),ACL中只存放各用户的特殊访问要求。这样对于那些被大多数用户共享地程序或文件等客体就用不着在每个用户的目录中都保留一项 • 如“*E”就表示任何客体都可以执行该客体
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 • 4.能力机制 • 实际有这样的需求:主体不仅应该能够创立新的客体,而且还应该能制定对这些客体的操作权限,即客体权限的动态变化 • 比如主体对客体的访问权限因不同的上下文环境而不同 • 由Dennis和Van Horn提出的能力机制是可以满足这些要求的更高的访问控制机制 • 能力的最基本形式是对一个客体的访问权力的索引 • 他的基本内容是每一个”客体-权力”对被认为是一个单独的实体。如果一个主体拥有这个”客体-权力”对,就说这个主体拥有访问该客体某项权力的能力。 • 能力机制需要结合访问控制表(或ACM)技术实现,OS将根据访问控制表来为主体创建能力,能力应存储在用户程序访问不到的区域。
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 • 主体具有的能力是一种权证,类似“入场券”,是在用户向系统登陆时,由操作系统赋予的一种权限标记,它不可伪造,用户凭借该标记对客体进行许可的访问。 • 能力机制的显著优点是更容易提供给主体对客体的多重访问权限,因为主体可以有不同的能力,而这些能力可以对某个客体有不同的访问权限,这样就容易实现一个主体在不同的进程中对一个客体不同的访问能力。 • 不过,虽然能够直接判断一个主体是否拥有某种能力,但不能直接得到主体、客体间的关系,这样不断追加能力后,再对其进行修改就变得比较困难。
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 • 5.面向过程的访问控制 • 是指在主体访问客体的过程中对主体的访问操作进行监视与限制。例如只有“读”权的主体,就要控制它不能对客体进行修改 • 不仅要控制主体是否有“读”的权限,还要控制怎么“读”操作 • 要实现面向过程的访问控制就要建立一个对客体访问进行控制的过程,该过程能够自己进行用户认证,以此加强OS的基本认证能力 • 该访问控制过程实际上是为被保护的客体建立一个保护层,它对外提供一个可信赖的接口,所有对客体的访问都必须通过这个接口才能完成 • 例如,操作系统中用户的帐户信息(其中包含用户口令)是系统安全的核心文档,对该客体既不允许用户访问,也不允许一般的操作系统进程访问,只允许对用户帐户表进行增加、删除、与核查三个进程对这个敏感性的客体访问。这三个进程就是保护层,在控制面板中
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 • 访问控制矩阵、访问目录表、访问控制表、能力机制和面向过程的控制等五种访问控制机制的实现复杂性是逐步递增的 • 实现能力机制需要对每次访问进行检查 • 而访问目录表方式实现比较容易,它只需要在主体对客体第一次访问时进行检查。 • 实现复杂的保护方式提高了系统的安全性,但降低了系统的响应速度,安全和效率之间需要平衡
第二章 安全控制原理 2.2.2 基本访问控制模型 2.2 访问控制 • 下面介绍和分析几种被广泛接受的主流访问控制技术(包括权限管理、策略模型等等),包括 • 自主访问控制 DAC • 强制访问控制 MAC • 基于角色的访问控制 RBAC
第二章 安全控制原理 2.2.3 自主访问控制技术 2.2 访问控制 • 自主访问控制机制DAC是目前使用最普遍的访问控制机制。是自主访问控制策略的实施方法。 • 定义: • 由客体的属主对自己的客体进行管理。由属主自己决定是否将自己客体的访问权和部分访问权授予其他主体,这种可能告知方式是自主的,称为自主访问控制(discretionary access,DAC) • 在自主访问控制下,一个用户可以自主选择哪些用户可以共享它的文件。
第二章 安全控制原理 2.2.3自主访问控制技术 2.2 访问控制 • 访问控制矩阵是实现DAC策略的基本数据结构 • 基于行的访问控制(访问目录表) • 由于存在着多方面的缺点,很少使用 • 基于列的访问控制机制 • 有两种实现方式: • 保护位方式和访问控制表方式,分述如下: • 1.保护位机制 • 保护位(protection bit)对所有主体、主体组以及该客体的拥有者指定了一个访问权限的集合
第二章 安全控制原理 2.2.3 自主访问控制技术 2.2 访问控制 • UNIX利用了这种保护位机制。 • 如某个文件,指定其访问权限的集合为只读和执行,则所有主体、主体组以及该客体的拥有者只能进行只读和执行的操作,除非拥有者改变其权限 • 当然实际上UNIX系统的保护位要比以上稍微细致一些,文件权限有三位组成,1位读,2位写,3位执行,构成的数字有三部分第1部分属主的权限,第2部分同组人权限,第3部分其它人权限。如属主可读写执行,同组人读执行,其它人读则是754 • 由于保护位的长度有限,用这种机制完全表示访问矩阵实际上是不可能的。一般很少用
第二章 安全控制原理 2.2.3 自主访问控制技术 2.2 访问控制 • 2.访问控制表机制 • 在访问控制机制中每个客体附带了访问矩阵中可访问它自己的所有主体的访问权限信息表(即ACL表)。 • 该表中的每一项包括主体的身份和对该客体的访问权。主体与客体数量非常多时,ACL表将变得很长占用存储空间,降低性能 • id1RW表示id1对客体i具有读R和写W的权限 • 如果利用组或通配符的概念,可以使ACL表缩短。 • 各种访问控制技术中,ACL是实现批策略的最好方法