320 likes | 427 Views
第三章 信息安全模型. 摘 要 本章将介绍自主型访问控制安全模型的代表:哈里森-罗佐-厄尔曼存取矩阵模型及其扩展模型 —— 动作-实体模型;强制型访问控制安全模型的代表:贝尔-拉帕都拉模型及其扩展模型 —— 基于角色的模型。另外还将介绍具有保证信息完整性特性的伯巴模型,适合同一实体具有不同安全级别的多个值问题的史密斯-温斯莱特模型,基于信息流控制的格模型。 将在授权状态、存取方式、操作、授权管理、模型结构和变换规则等方面重点讨论动作-实体模型、贝尔-拉帕都拉模型等,并通过图示和举例方式帮助读者能更好的理解这些模型的内涵。.
E N D
第三章 信息安全模型 摘 要 本章将介绍自主型访问控制安全模型的代表:哈里森-罗佐-厄尔曼存取矩阵模型及其扩展模型——动作-实体模型;强制型访问控制安全模型的代表:贝尔-拉帕都拉模型及其扩展模型——基于角色的模型。另外还将介绍具有保证信息完整性特性的伯巴模型,适合同一实体具有不同安全级别的多个值问题的史密斯-温斯莱特模型,基于信息流控制的格模型。 将在授权状态、存取方式、操作、授权管理、模型结构和变换规则等方面重点讨论动作-实体模型、贝尔-拉帕都拉模型等,并通过图示和举例方式帮助读者能更好的理解这些模型的内涵。
3.1 哈里森-罗佐-厄尔曼存取矩阵模型 • 授权状态 • 存取方式 • HRU模型的操作 • 授权管理
3.1.1 授权状态 存取矩阵模型利用矩阵来表达系统中的主体、客体和每个主体对每个客体所拥有的访问权限之间的关系。 安全控制机制的授权状态可由三元组Q =(S,O,A)来描述,其中S为主体,代表用户、用户名、域Domain等;O为客体,代表文件、内存空间、进程、数据库、关系、属性、记录、字段和主体等;A为权限矩阵A(Si,Oj),表示S主体对O客体可操作的关系;Q为该系统的某种特定的安全策略和授权。
3.1.2 存取方式 哈里森-罗佐-厄尔曼存取矩阵模型中的存取方式(Access modes)分为静态和动态存取方式两种。 静态存取方式有读、写、执行和拥有等 动态存取方式有对进程的控制权、赋予/收回权限等。
3.1.3 HRU模型的操作 ① 赋予授权。 命令形式: Enter r into A[si,oj] , si∈S,oj∈O ② 回收授权。命令形式: Detect r from A[si,oj] si∈S,oj ∈ O ③ 添加主体。命令形式: Create Subject si, siS ④ 删除主体。命令形式: Destroy Subject si,si∈S ⑤ 添加客体。命令形式: Create Object oj, ojO ⑥ 删除客体。命令形式: Destroy Object oj, oj∈O, ojS
3.1.4 授权管理 在HRU模型中存在特权衰减原则,这表明在授权操作过程中,体现为除客体的属主外,被授权主体的“特权”必弱于授权主体的特权。 HRU模型授权管理的优点是逻辑关系明确,操作、管理方便;缺点是效率低,因为每次访问时需要扫描整个矩阵,由于Q是一个稀疏矩阵,所以空间浪费较大。解决效率低的方法有对用户进行分组等。
3.2 动作-实体模型 • 动作-实体模型的存取方式 • 动作-实体模型的授权 • 模型结构 • 一致性与变换规则
3.2.1 动作-实体模型的存取方式 • 静态存取方式涉及两个实体: ① Use——使用者和被使用者 ② Read——存取一实体的内容 ③ Update——修改或处置实体 ④ Create——增加实体 ⑤ Delete——删除实体 • 静态存取方式的级别: create/delete(4级,最高) update(3级) read(2级) use(1级,最低)
动态存取方式将涉及三个实体,存取方式有准许/取消,授予/回收:动态存取方式将涉及三个实体,存取方式有准许/取消,授予/回收: (1)Grant/Revoke——准许/取销。若实体Ei 持有对实体Ej的Grant/Revoke以动态存取方式m 访问实体Ek 的权限,则允许实体Ei 授予/回收实体Ej 对实体Ek 的存取方式m,如图3.1所示。 Ei G/R Ek m Ej 图3.1 动作-实体模型的Grant/Revoke动态存取方式
(2) Delegate/Abrogate——授予/回收 若实体Ei 持有对实体Ej 的Delegate/ Abrogate以动态访问方式m访问实体Ek 的权限,则允许实体Ei 授予/回收实体Ej 关于实体Ek上存取方式m的动态授权Grant/Revoke的权限。如Ei并不持有对m的权限,则会自动授予此权限。如图3.2所示。 Ei D/A m Ek Ej R/G 图3.2 动作-实体模型的Delegate/Abrogate 动态存取方式
3.2.2 动作—存取模型的授权 • 静态授权涉及两个实体i,j(i为管理实体,j为被授权实体): Aij=a~{pij} 其中a表示存取方式;{pij}表示谓词(时间、位置、数据条件)。 • 动态授予访问权限的方式为: Aij/k=a~{pij} 其中a表示存取方式,{pij}表示条件,i为管理实体,j为被授权实体,k代表参数实体。
3.2.3 模型结构 静态动作授权图SG如图3.3所示,弧上标有静态访问DA权限。 E1 read E2 update E4 use read create/delete E3 E5 弧上打×表示有谓词约束;E1—用户, E2—应用程序,E3—外设,E4—数据记录,E5—应用程序 图3.3 静态动作授权图SG 例如,A13=use~{p}表示如果“{p}——在早上8:00到中午12:00的时间内”,则“E1用户”可以“use使用”“E3外设”。
动态动作授权图DG见图3.4,类似地,弧上标有静态访问SA 和动态访问DA,必要(仅用于delegate和abrogate)时应标明{p},它表示可在其上执行传递管理权限grant的实体。 E1 E3 grant read E2 E5 grant use E4 delegate update{10,9} E6 E7 grant read E6 E8 弧上打×表示有谓词约束;E1、E2(E10)—用户, E3—数据文件,E5—外设,E6—数据记录、字段,E4、E7、E8、E9—应用程序 图3.4 动态动作授权图DG 例如,A12/3=grant-read~{p}表示如果“{p}——E2用户属于某工程的用户”,则“E1用户” 将“grant授予”对“E3数据文件”的“read读权限”给“E2用户”。
3.2.4 一致性与变换规则 模型在其生命周期必须遵守如下三种一般规则: ①内部一致性规则——保证SG图与DG图的结构与所表示的保护系统在结构、性质和安全关系上一致。 ②相互一致性规则——保证SG图与DG图在所表示的授权上一致,它反映对系统的保护策略,例如权限的授予者不具有某个权限,则不能传播这一权限。 ③变换规则——控制间接的授权和存在授权的传播。
3.3 贝尔—拉帕都拉模型 • 贝尔—拉帕丢拉模型的基本概念 • 系统状态 • 贝尔—拉帕丢拉模型的操作 • 贝尔—拉帕丢拉模型的规则
3.3.1 贝尔—拉帕丢拉模型的基本概念 贝尔—拉帕丢拉模型将系统中的实体分为主体和客体两类 (1)主体(Subject)是主动的、能执行动作的元素。每个主体被指派一个允许操作的保密级和完整级范围:最小/大保密级和最小/大完整级,并将[最小保密级,最大完整级]称为主体的写级,将[最大保密级,最小完整级]称为主体的读级。 主体又可以进一步细分为可信主体和不可信主体。可信主体是读级严格支配写级的主体,不可信主体是读级等于写级的主体。对不可信主体需加强访问监视。 (2)客体(Object)是一个包含有信息的被动元素的容器,它不是数据库的抽象结构,而是低层操作系统中的单个文件。每个客体分配一个固定的惟一的标识符和惟一的存取级,必须对其进行存取控制。
对于系统元素密级,即安全级别Security Level可定义为:L=(C,S),C为密级Classification,S表示范围categories(系统中非分层元素集合的一个子集)。 密级分为绝密(Top Secret)、机密(Secret)、秘密(Confidential)和公开(Unclassification)四种,并满足全序关系,即“>”关系。安全级别将满足偏序的格(称支配dominate),即满足“≥”关系。
贝尔—拉帕丢拉模型对系统中的每个用户(主体)分配一个安全级别,称为允许安全级clearance,即对用户的置信度;同时,模型对系统的各客体也分配一个安全级别,以反映信息的敏感度和对数据的损害度。贝尔—拉帕丢拉模型对系统中的每个用户(主体)分配一个安全级别,称为允许安全级clearance,即对用户的置信度;同时,模型对系统的各客体也分配一个安全级别,以反映信息的敏感度和对数据的损害度。 • 模型中主体对客体可执行的存取方式: ① 只读Read-only ②添加Append ③ 执行Execute ④读写Read-Write
3.3.2 系统状态 • 贝尔—拉帕丢拉模型用四元组(b,M,f,H)来描述系统的状态,其中b表示当前存取集,形如〈主体,客体,存取方式〉(即〈s,o,m〉);M为存取矩阵M(s,o),用以描述每个主体以何方式存取客体;f是一个与系统中各主体和各客体及其他们安全级别相联系的级别函数,即f:O∩S→L,其中S、O、L分别是主体、客体、安全级别的集合;H为当前客体的层次结构,是一棵带根有向树,其节点与客体对应,未激活或不可存取的客体则不包含在其中。 • 每个客体只有一个安全级别(建立时赋予的),记为f0;而每个主体可以有二个安全级别:允许安全数fs和当前安全数fc(可变的,注册时使用),并且成立fs(s)≥fc(s)。
3.3.3 贝尔—拉帕都拉模型的操作 ① Get access——按要求的方式对客体的存取进行初始化,实现在当前 存取集b中增加三元组; ② Release access——终止之前,get开始的存取方式,实现在当前存取集b中删除三元组; ③ Give access——授予一个主体对一个客体的某种存取方式,它修改存取矩阵M,即在存储矩阵中插入一项; ④ Rescine——回收之前、由授予give开始的存取方式,它修改存取矩阵M,即在存储矩阵中删除一项;它有强制release的作用,即删除当前存取集b的三元组(要求回收授权的主体对操作所涉及的客体的父节点应具有存写权); ⑤ Create object——激活一个客体,将其变为可存取,此操作修改当前客体的层次结构H,即增加一节点; ⑥ Delete object——将客体状态转为未激活状态,它修改当前客体的层次结构H,即删除一节点及其后续节点,并修改当前存取集b,使能存取该客体的主体的存取将终止; ⑦ Change subject security level——改变主体的当前安全级别,它修改级别函数f; ⑧ Change object security level——修改客体(未激活的)的安全级别,并修改级别函数f(只能增加安全级别,但必须满足fs≥f0)。
3.3.4 贝尔—拉帕丢拉模型的规则 (1)简单安全规则ss。 其含义是仅当一主体的安全级别支配另一客体的安全级别时,主体才能具有对此客体的存取权限(Read-only和Read-Write)。 (2)*规则。 其含义是:① 仅当此客体的安全级别支配主体的当前安全级别时,一个不可信主体可对一个客体具有“添加”权限;② 仅当此客体的安全级别等于主体的当前安全级别时,一个不可信主体可对一个客体具有“写”权限;③ 仅当此客体的安全级别受主体的当前安全级别支配时,一个不可信主体可对一个客体具有“读”权限。 (3)稳定规则Tranquility Principle 其含义是不能任意激活客体,它使系统稳定。当前版本允许一个主体能修改、激活客体的密级。 (4)自主安全规则Discretionary security Property 其含义是一主体只能在获取了所需的授权后才能执行相应的存取,也就是在存取矩阵中有相应的应有项。当且仅当对所有主体s、客体o和存取方式m,有: <s,o,m>∈b→m∈M〔s,o〕 则称系统状态满足自主安全规则。 (5)未激活客体的不可存取性规则Non-accessibility of Inactive Objects。 其含义是一个主体不能读取一个未激活客体的内容。该规则的形式化表示是系统状态v=(b,M,f,H)满足未激活客体的不可存取性规则,当且仅当对任何主体s、任何未激活客体o,成立s,o,p)∈b→p≠“read”∧p≠“write”。 (6)未激活客体的重写规则 Rewriting of Inactive Objects。 其含义是使每次激活时,其初始状态都不同,也就是每个新激活客体均被赋予一个独立于前一次激活状态的初始状态。
3.4 伯巴模型 • 伯巴模型的非自主安全策略: ①主体的下限标记策略,它的特点是主体会自己动态地降低安全级别,该策略的缺点是不能完成原先能做的权限。 ②客体的下限标记策略,它的特点是客体动态地降低自己的安全级别,该策略的缺点是易泄漏信息,且不能调回原级。 ③下限标记完整审计策略,是策略②的修改,在本策略中客体级别是可变化,其缺点是需审计并记录违反的操作。 ④环策略,特点是固定主、客体安全级别,该策略的缺点是低级别信息会流向高级别主体,然后可执行级别高的操作。 ⑤严格完整性策略,包含No Read-Down和No Write-Up两条完整性规则。 • 伯巴模型的自主安全的实现过程:首先将各种权限形成一个同心的环簇(环号越小,其权限越高),然后对每个主体分配一权限属性(即环号),同时将所有客体组成层次结构、形成带根树,最后利用存取控制列表,对客体分配一个表以指定存取控制的权限。
3.5 史密斯—温斯莱特模型 • 史密斯—温斯莱特模型的存取规则和多级关系 • 多级关系的存取
3.5.1 史密斯—温斯莱特模型的存取规则和多级关系 史密斯—温斯莱特模型的存取规则: ①更新存取——插、删、修改,相对应于贝尔-拉帕都拉的No Write-Down,但其约束强,即不允许主体更新比自己安全级高的数据库中的数据,只允许主体更新自己所置信的数据。 ②读存取——读,相对于贝尔-拉帕都拉的No Read-Up,安全级为L的主体仅能存取其安全级受L支配的数据库中的数据。
在多级关系的数据库中,主体与客体之间的大致结构如下:在多级关系的数据库中,主体与客体之间的大致结构如下: 客体s s主体 客体c c主体 客体u u主体 图3.12 多级数据库中主体与客体之间的关系 多级关系的定义为R(K,KC,A1,···An,TC),其中偶对(K,KC)为实体标识EID,K表示码属性集合,KC为码密级,TC为元组密级。 对于多级关系数据库表: 姓名 KC 部门 工资 TC 鲍华 U 生产 1000 U 安林 U 生产 1000 U 安林 U 情报 2000 C 赵明 S 情报 2000 S S实例为: 赵明 S 情报 2000; C实例为: 安林 U 情报 2000; U实例为:鲍华 U 生产 1000; 安林 U 生产 1000 相同码属性值和不同码密级的元组是不同的实体;相同码属性值和码密级,但非码属性的密级不同的元组是同一实体的不同置信。
3.5.2 多级关系的存取 多级关系的存取操作由查询、插入、更新和删除操作组成: (1)查询操作 SELECT Ai[,Aj] FROM Rk[Rj] WHERE p [BELIEVED BY L] (2)插入操作 INSERT INTO R[(Ai[,Aj])] VALUES V (3)更新操作 UPDATE SET Ai=ai [Aj=aj] WHERE p [BELIEVED BY L] (4)删除操作 DELETE FROM WHERE p [BELIEVED BY L]
3.6 基于信息流控制的格模型 信息流安全模型 信息流模型FM定义为五元组FM=<N,P,SC,⊕,→>, N={a,b,···}为包含信息的客体集合,可以是逻辑结构、物理结构和系统用户; P={p,q,···}是进程集合,即存取客体的主动实体,所有信息流是由此产生的; SC={A,B,···}表示相应于系统中离散的信息安全级的安全级集合,系统中每客体a被分配一个存取级,而客体分为静态的(生命期中不变的)和动态的(生命期中变化的)客体; ⊕是一个对安全级作组合操作的二元操作符,它服从交换律、结合律、且是封闭的; →用于定义于安全级偶对上信息从一客体到另一客体的流关系。 信息流模型FM是安全的,当且仅当其中各操作的结果不产生违反"→"关系的流,即操作a1⊕a2···⊕an必须满足安全流关系→的要求。→流关系具有传递性。单个操作是安全的就意味着任何后续操作也是安全的。
3.7 基于角色的存取控制模型RBAC3.7.1 RBAC模型的要求与特点 用户组——仅作为用户的一个集合来看待,并不涉及它的授权许可; 角色——既是一个用户集合,又是一个授权许可集合,它是业务系统中的岗位、职位、分工等;角色有其权限Authority和职责Resbonsibility。 RBAC模型要求在系统中对客体强制性设置若干“角色”。系统管理员所负责的对系统/数据的存取权限是按角色来分配的。
3.7.2 RBAC模型的构成 RBAC模型共有RBAC0-RBAC3四种,它们的关系如图3.15所示: RBAC3模型 RBAC1模型 RBAC2模型 RBAC1模型 图3.15 四种RBAC模型的关系
(1)基本模型RBAC0 模型由用户U,角色S,会话S和授权P组成,是多对多关系,对每个角色设多个授权关系Authorigation、Access right、Privilege和Permission。可以设负授权(约束条件Constraint),即令用户在某条件下不能访问某数据资源。 在进行授权时,将客体的存取访问权限在可靠的控制下连带角色所需操作一起提供给角色所代表的用户。一个角色可进行多个授权,一个授权可赋予多个角色,一个角色可接纳多个用户;一个用户可扮演多个角色。 该模型引入会话以增强在一个系统中并存两个以上存取控制机制的灵活性:①每个用户进入系统得到自己的控制时,就得到一个会话,它是动态的,从属于某个用户;②一个会话可能激活的角色是该用户的全部角色的一个子集;③对某个用户,他在一个会话内可获得全部被激活的角色所代表的授权;④一个用户可同时打开多个会话。 (2)角色的层次结构RBPA1(RH) (3)约束模型RBAC2(RH) (4)RBAC3模型 (5)角色互斥及其他常用约束
本章小结 自主型模型是一种基于用户鉴别和用户定义存取访问规则的安全模型。它的优点是灵活,缺点是易旁路、不能提供确实的保证以满足对于系统的保护要求,也没有对信息的传播加以控制。 强制型模型是基于标识的高级安全认证,对信息流进行追踪的一种访问控制安全模型。它的优点是安全性好,缺点是太严格、应用面较窄。 自主型与强制型相结合的模型(如安全的数据视图)可调和各自的矛盾。这与一般DBMS解决物理存储形式与用户看到的不一致的矛盾而采取数据视图的原理是一样的。 贝尔—拉帕都拉模型利用一组规则集合来实现保密功能,它采取强制存取控制策略来达到实现数据安全的目的。 史密斯—温斯莱特模型的主要优点是能解决同一实体具有不同安全级别的多个值问题,适用于数据库应用。 基于信息流控制的格模型针对信息流动进行控制,而不是对信息的直接存取控制。 引入“角色”机制具有可操作性好、可管理性好和简单等特点,因为角色的变动远低于个体的变动。
习 题3 1.哈里森-罗佐-厄尔曼存取矩阵模型的特点是什么? 2.试比较动作-实体模型的静态和动态存取方式。 3.试比较动作-实体模型中的静态和动态授权。 4.解释动作-实体模型的排它性规则及意义。 5.解释动作-实体模型的属主性规则及意义。 6.解释动作-实体模型SG和DG的相互一致性规则及意义。 7.贝尔—拉帕都拉模型的特点是什么? 8.证明对不可信主体,*规则包含SS规则。 9.在贝尔—拉帕都拉模型中,No read-up secrecy与No write-down secrecy的关系如何? 10.伯巴模型是如何实现自主安全的? 11.在史密斯—温斯莱特模型中,执行删除操作后,为什么更高一级用户仍能相信此实体的存在? 12.基于角色的存取控制模型的特点是什么?