安全策略与安全模型ppt课件_第1页
安全策略与安全模型ppt课件_第2页
安全策略与安全模型ppt课件_第3页
安全策略与安全模型ppt课件_第4页
安全策略与安全模型ppt课件_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第三讲 安全策略与安全模型,一 数学基础 1.集合 元素 子集 a A HS 2.集合的幂集 2A =P(A) =H A 3.笛卡尔积 AB=(a,b)| aA ,b B 4.集合A上的关系的性质 设是A上的关系,a A 均aa-自反 设是A上的关系,a,b A若ab,则ab与ba不能同时出现 -反对称 设是A上的关系,a,b,c A若ab, bc则一定有ac -可传递的,2,偏序关系:集合 A 上的关系 , 如果它是自反、反对称且 可传递的,则称为 A 上的一个偏序关系。,“偏序关系”也叫做“偏序”,用“”符号表示。,可比:设是集合 A 上的偏序,对于 a、bA,若有 a b 或 b a,则称 a 和 b 是可比的,否则称 a 和 b 是不可比的,5.集合上的偏序关系,3,全序 :一个集合 A 上的任意两个元素之间都满足偏序关系, 则称该偏序为 A 上的一个全序,良序 :一个集合 A 上的偏序,若对于 A 的每一个非空子集 S A, 在 S 中存在一个元素 as(称为 S 的最小元素),使得对于 所有的 s S,有as s,则称它为 A上的一个良序,5.集合上的偏序关系,4,7.一个有用的结论 命题:若和是两个偏序集,在笛卡尔积AB上定义关系,对任意(a1,b1), (a2,b2) AB 当且仅当 a11a2, b12b2时,有(a1,b1) (a2,b2) 可以证明:也是一个偏序集,5,因为、 为偏序关系,所以 a1 A 有a 11 a1, b1 B 有b 11 b1 所以 (a1,b1) (a1,b1) 自反 由(a1,b1) (a2,b2) (a2,b2) (a1,b1),可得 a11a2, a21a1 可得 a1a2;同理有b1b2,此即(a2,b2) =(a1,b1) 反对称 又由(a1,b1) (a2,b2) (a2,b2) (a3,b3),此即 a11a2, a21a3 可得 a11a3 同理: b12b2, b22b3 可得 b12b3 最后有(a1,b1) (a3,b3) 传递性,6,亦即 (i)(a,b)AB ,均有 (a,b) (a,b) (ii)(a1,b1),(a2,b2), AB,若(a1,b1) (a2,b2), 则(a1,b1) (a2,b2) 与(a2,b2) (a1,b1) 不能同时出现 (iii) (a1,b1) ,(a2,b2) ,(a3,b3) AB,若(a1,b1) (a2,b2) , (a2,b2) (a3,b3) 则一定有(a1,b1) (a3,b3),设是A上的关系,a A 均aa -自反 设是A上的关系,a,b A若ab,则ab与ba不能同时出现 -反对称 设是A上的关系,a,b,c A若ab, bc则一定有ac -可传递的,7,二 安全策略,1.安全策略的概念 计算机系统的安全策略是为了描述系统的安全需求而制定的对用户行为进行约束的一整套严谨的规则。这些规则规定系统中所有授权的访问,是实施访问控制的依据。,8,2.安全策略举例 军事安全策略中的强制访问控制策略: 系统中每个主体和客体都分配一个安全标准 (安全级) 客体的安全级表示客体所包含的信息的敏感程度 主体的安全级表示主体在系统中受信任的程度,9,安全标准由两部分组成 (密级,部门(或类别)集) eg:密级分为4个级别:一般秘密机密绝密 (UC S TS) 令A=U,C,S,TS,则是A上的全序,构成偏序集 例:令B=科技处,干部处,生产处,情报处, PB= 2B=H|H B ,显然构成一个偏序集 class(O1) =(C,科技处) class(u) =(S,科技处,干部处) class(O2) =(TS,科技处,情报处,干部处) class(O3)=(C,情报处),10,在实施多级安全策略的系统中,系统为每一个主体和每一个客体分配一个安全级。 (密级,部门(或类别)集)或(密级,部门或类别) 若某主体具有访问密级a的能力,则对任意ba,该主体也具有访问b的能力 若某主体具有访问密级a的能力,则对任意ba,该主体不具有访问b的能力,11,(密级,部门或类别或范畴)理解: 对于客体来说 ,部门或类别或范畴可定义为该客体所包含的信息所涉及的范围 部门或所具有的类别属性 对于主体来说 ,部门或类别或范畴可定义为该主体能访问的信息所涉及的范围或部门 例:2011年财务报表 (S,财务处,总裁办公室,党办,财经小组),12,例:2011年财务报表 (S,财务处,总裁办公室,党办,财经小组) 肯定不会写成: (S,财务处,三车间,大门) 例:车间主任 (C,三车间,仓库) 肯定不会写成: (S,财务处,党办,财经小组),13,主体、客体安全级定义以后,就可以通过比较主客体安全级,来决定主体对客体的访问以及什么样的访问。,前面讲过,在实施多级安全策略的系统中,系统为每一个主体和每一个客体分配一个安全级。若某主体具有访问密级a的能力,则对任意ba,该主体也具有访问b的能力。若某主体具有访问密级a的能力,则对任意ba,该主体不具有访问b的能力。 那么, ba 或ba如何进行比较呢?,14,定义 A=U,C,S,TS B= 部门或类别或范畴 例: B= 科技处,干部处,生产处,情报处 PB= 2B=H|H B 在APB上定义一个二元关系“”: APB=(a,H)|a A 且 H PB (a1,H1), (a2,H2) APB ,当且仅当 a1 a2,H1 H2时,有 (a1,H1) (a2,H2) 可以证明: 是 APB上的一个偏序关系 即构成一个偏序集。,15,可利用命题:若和是两个偏序集,在笛卡尔积AB上定义关系,对任意(a1,b1), (a2,b2) AB 当且仅当 a11a2, b12b2时,有(a1,b1) (a2,b2) 可以证明:也是一个偏序集。,证明: 是 APB上的一个偏序关系 即构成一个偏序集。,16,在A=U,C,S,TS上定义,由于 UC S TS,所以是一个全序,显然构成一个偏序集 在PB上定义,容易看出,它也是一个偏序 B= 科技处,干部处,生产处,情报处 再在APB上定义一个二元关系“”: APB=(a,H)|a A 且 H PB (a1,H1), (a2,H2) APB ,当且仅当 a1 a2,H1 H2时,有 (a1,H1) (a2,H2) 根据上述命题, 构成一个偏序集。,17,例: class(O1) =(C,科技处) class(u) =(S,科技处,干部处) class(O2) =(TS,科技处,情报处,干部处) class(O3)=(C,情报处) O1 u O2 O3其安全级如何?,可以看出:class(O1) =(C,科技处) (S,科技处,干部处) = class(u) class(u) = (S,科技处,干部处) class(O2)= (TS,科技处,情报处,干部处) class(u) 与class(O3)不可比,18,在一偏序集中, l1,12L,若l112,则称12 支配l1。 class(O1) class(u) :主体u的安全级支配客体O1的安全级 class(u) class(O2):客体O2的安全级支配主体u的安全级 class(u) 与class(O3)不可比:主体u与客体O3的安全级相互不可支配。,19,访问控制策略 一个主体仅能读安全级比自已安全级低或相等的客体 一个主体仅能写安全级比自己高或相等的客体 即 “向下读向上写” 安全级如何比较高低 (a1,H1) (a2,H2)当且仅当a1 a2, H1 H2 所以u对O1可读,对O2可写,对O3既不可读也不可写,20,“向下读向上写”安全策略执行的结果是信息只能由低安全级的客体流向高安全级的客体,高安全级的客体的信息不允许流向低安全级的客体。 若要使一个主体既能读访问客体,又能写访问这个客体,两者的安全级必须相同。,21,多级安全策略适合(保护信息的机密性): 军事系统 政府及企业的办公自动化系统 具有层次结构的组织机构,22,2商业安全策略 良性事务 用户对数据的操纵不能任意进行,而应该按照可保证数据完整性的受控方式进行,即数据应该用规定的程序,按照定义好的约束进行处理。 例: 保存记录(包括修改数据之前修改数据之后的记录),事后被审计 双入口规则:数据修改部分之间保持平衡 内部数据的一致性 特别地,签发一张支票与银行帐号户头上的金额变动必须平衡 可由一个独立测试帐簿是否平衡的程序来检查,23,职责分散 把一个操作分成几个子操作,不同的子操作由不同的用户执行,使得任何一个职员都不具有完成该任务的所有权限,尽量减少出现欺诈和错误的机会。 eg: 购买订单记录到货记录货发票付款 美入境签证,24,职责分散的最基本规则是,被允许创建或验证良性事务的人,不能允许他去执行该良性事务。 【至少需要两个人的参与才能进行】【职员不暗中勾结,职责分散有效】【随机选取一组职员来执行一组操作,减少合谋机会】,25,良性事务与职责分散是商业数据完整性保护的基本原则 专门机制被商业数据处理计算机系统用来实施良性事务与职责分散规则。 (a)保证数据被良性事务处理 数据只能由一组指定的程序来操纵 程序被证明构造正确、能对这些程序的安装能力、修改能力进行控制、保证其合法性 (b)保证职责分散 每一个用户必须仅被允许使用指定的程序组、用户执行程序的权限受控,26,商业数据完整性控制与军事中的数据机密性差别: (a)数据客体不与特定的安全级别相关 只与一组允许操纵它的程序相联系 (b)用户直接读写数据被禁止 被授权去执行与某一数据相关的程序 【一个用户即便被授权去写一个数据客体,他也只能通过针对那个数据客体定义的一些事务去做。】,27,商业安全策略也是一种强制访问控制 但它与军事安全策略的安全目标、控制机制不相同 商业安全策略强制性体现在: (a)用户必须通过指定的程序来访问数据 (b)允许操纵某一数据客体的程序列表和允许执行某一程序的用户列表不能被系统的一般用户所更改,军事与商业安全相同点: (1)一种机制被计算机系统用来保证系统实施了安全策略中的安全需求 (2)系统中的这种机制必须防止窜改和非授权的修改,28,(3) 军事安全策略与商业安全策略的比较 军事安全策略数据的机密性 商业安全策略数据的完整性 军事安全策略将数据与一个安全级相联系,通 过数据的安全级来控制用户对数据的访问 商业安全策略将数据与一组允许对其进行操 作的程序相联系,通过这组程序来控制用户 对数据的访问 军事安全策略 用户对数据的操纵是任意的 商业安全策略用户对数据的操纵是受限的,29,三 安全模型,安全模型是对安全策略所表达的安全需求简单、抽象和无歧义的描述 分为: 1.非形式化的安全模型 2.形式化的安全模型,30,2.形式化的安全模型,安全系统的开发过程,安全需求分析,制定安全策略,建立形式化的安全模型,安全性证明,安全功能,31,四 Bell-La Padula模型,简称BLP模型 应用最早也最广泛的一个安全模型 David Bell和Leonard La Padula 模型目标:计算机多级操作规则 安全策略:多级安全策略 常把多级安全的概念与BLP相联系 其它模型都尝试用不同的方法来表达多级安全策略,32,四 Bell-La Padula模型,BLP模型是一个形式化模型 使用数学语言对系统的安全性质进行描述 BLP模型也是一个状态机模型 它反映了多级安全策略的安全特性和状态转换规则 BLP模型定义了 系统、系统状态、状态间的转换规则 安全概念、制定了一组安全特性 对系统状态、状态转换规则进行约束 如果它的初始状态是安全的,经过一系列规则都是保持安全的,那么可以证明该系统是安全的,33,状态机模型例,34,四 Bell-La Padula模型,(一)模型的基本元素 S=s1,s2,sn 主体集 O=o1,o2,om客体集 C=c1,c2,cq密级的集合 c1c2cq K=k1,k2,kr 部门或类别的集合 A=r,w,e,a,c 访问属性集 r:只读; w:读写; e:执行; a:添加; c:控制 RA=g,r,c,d请求元素集 g: get, give ; r: release, rescind c: change, create ; d: delete D=yes,no,error,? yes请求被执行; no请求被拒绝 error系统出错; ?请求出错,35,=M1,M2,Mp 访问矩阵集 BA=f| f:AB F= Cs Co (Pk)s (Pk)o Cs =f1| f1:S C f1给出每个主体的密级 Co =f2| f2:OC f2给出每个客体的密级 (Pk)s=f3| f3:S Pk f3给出每个主体的部门集 (Pk)o =f4| f4:O Pk f4给出每个客体的部门集 f F f=(f1,f2,f3,f4),(f1(si),f3(si) 主体si的安全级 (f2(oj),f4(oj) 客体oj的安全级,36,(二) 系统状态,V= P(SOA) F 状态集 对vV v=(b,M,f)表示某一状态 b SOA 表示在当前时刻,哪些主体获 得了对哪些客体的权限 b=(s1,o1,r),(s1,o2,w),(s2,o2,a). M当前状态访问控制矩阵 f当前时刻所有主体和客体的密级和部门集,37,系统在任何一个时刻都处于某一种状态v,即对任何时刻t,必有状态vt与之对应 随着用户对系统的操作,系统的状态不断地发生变化 关心的问题 系统在各个时刻的状态, 与状态相对应的访问集b是否能保证系统的安全性 显然只有每一个时刻状态是安全的,系统才可能安全。 BLP模型对状态的安全性进行了定义,38,(三) 安全特性,BLP模型的安全特性定义了系统状态的安全性,体现了BLP模型的安全策略。 (1)自主安全性 状态v=(b,M,f)满足自主安全性iff 对所有的(si,oj,x)b,有xMij 此条性质是说,若(si,oj,x)b,即如果在状态v,主体si获得了对客体oj的x访问权,那么si必定得到了相应的自主授权。,39,(三) 安全特性,如果存在(si,oj,x)b,但主体si并未获得对客体oj的x访问权的授权,则v被认为不符合自主安全性。 (2)简单安全性 状态v=(b,M,f)满足简单安全性iff对所有的(s,o,x)b,有(i)x=e或x=a或x=c 或(ii) (x=r或x=w)且(f1(s)f2(o),f3(s)f4(o),在BLP模型中,w权表示可读、可写,即主体对客体的修改权,40,(3) *性质 状态v=(b,M,f)满足*性质,当且仅当对所有的sS,若o1b(s:w,a),o2b(s:r,w),则f2(o1)f2(o2),f4(o1) f4(o2),其中符号b(s:x1,x2)表示b中主体s对其具有访问特权x1或x2的所有客体的集合。 理解如下4个图所示:,41,流向,42,例: b(s1,o1,r),(s2,o2,a),(s1,o2,w),(s2,o2,r),(s1,o3,a) 考虑b(s:x1,x2):b(s1:r,w) b(s1:w,a) b(s3:r,w) b(s1:r,w) =o1,o2 b(s1:w,a) =o2,o3 b(s3:r,w) = ,43,*性质 重要安全特性 o1b(s:w,a),意味着s对o1有w权或a权,此时信息经由s流向o1 o2b(s:r,w),意味着s对o1有r权或w权,此时信息可由o2流向s 因此,在访问集b中以s为媒介,信息就有可能由o2流向o1。 所以要求o1的安全级必须支配o2安全级 当s对o1,o2均具有w权时,两次运用该特性, f2(o1)f2(o2),f4(o1) f4(o2)及, f2(o2)f2(o1),f4(o2) f4(o1), 则要求o1的安全级必须等于o2安全级 显然它放反映了BLP模型中信息只能由低安全级向高安全级流动的安全策略,44,(四)请求集 R= S+RA S+ OX 请求集,它的元素是一 个完整的请求,不是请求元素集 其中 S+ =S X=A F S=s1,s2,sn 主体集 RA=g,r,c,d A=r,w,e,a,c F= Cs Co (Pk)s (Pk)o,45,R= S+RA S+ OX= (1, , 2, Oj, x) (1, , 2, Oj, x)是一个五元组,表示 (1, , 2, Oj, x) R= S+RA S+ OX 1, 2 S+分别是主体1,主体2 RA 表示某一请求元素 o j O表示某一客体 x X 是访问权限or是空or是主客体的安全级,46,(五) 状态转换规则 P: RVDV 其中 R是请求集(S+RA S+ OX),D是判断集,V是状态集 D=yes,no,error,? V= P(SOA) F 状态集 对vV v=(b,M,f)表示某一状态 b SOA 表示在当前时刻,哪些主体获 得了对哪些客体的权限 b=(s1,o1,r),(s1,o2,w),(s2,o2,a). M当前状态访问控制矩阵 f当前时刻所有主体和客体的密级和部门集,47,P: RVDV 对请求(Rk,vn)RV,在函数的作用下 (Rk,v) =(Dm, v*) 系统对请求Rk的反应是Dm,状态由v转换成v*,48,十条规则: 规则1规则4用于主体请求对某客体的访问权 形式 (,g,Si,Oj,r) 规则5 用于主体释放它对某客体的访问权 规则6-7 分别用于主体授予和撤消另一主体对 客体的访问权 规则8 用于改变静止客体的密级和部门集 规则9-10 分别用于创建和删除一个客体,49,规则1:主体si请求得到对客体oj的r访问权 get-read : 1(Rk,v) if 1 or g or x r or 2= then 1(Rk,v) =(?,v) if r Mij or (f1(si)f2(o) or f4(oj) f4(o)= then 1(Rk,v) =(yes, v*=(b(si,oj,r),M,f) else 1(Rk,v)=(no,v) end (,g,Si,Oj,r) (1, , 2, Oj, x),50,规则1对主体si的请求作了如下检查: (1)主体的请求是否适用于规则1的请求格式; 主体请求对某客体的访问权形式 (,g,Si,Oj,r) (1, , 2, Oj, x) if 1 or g or x r or 2= then 1(Rk,v) =(?,v),51,(2)oj的拥有者或控制者是否授予了si对oj的读访问权 r Mij之检查 (3)si的安全级是否支配oj的安全级 f1(si)f2(oj) or f3(si) f4(oj),52,(4)在访问集b中,若si对另一客体o有w/a访问权,是否一定有o的安全级支配oj的安全级 o|ob(si:w,a) and f2(oj)f2(o) or f4(oj)f4(o)= NOT f2(oj)f2(o) or f4(oj) f4(o) f2(oj)=f2(o) and f4(oj) f4(o),53,流向,54,若上述4项检查有一项通不过,则系统拒绝执行si的请求,系统状态保持不变 通过检查,则请求被执行,(si,oj,r)添加到系统的访问集b中,系统状态v转换成 v*=(b(si,oj,r),M,f) 看得出来,检查(2)是系统在实施自主访问控制,检查(3)(4)是系统在实施强制访问控制 只有检查(2)(4)通过了,才能保证状态转换时,仍然保持其安全性,55,规则2:主体si请求得到对客体oj的a访问权 get-append: 2(Rk,v) if 1 or g or x a or 2= then 2(Rk,v) = (?,v) if a Mij then 2(Rk,v)= (no, v) if U2 =o|ob(si:r,w) and f2(oj)f2(o) or f4(oj) f4(o)= then 2(Rk,v)= (yes, (b (si,oj,a),M,f) else 2(Rk,v)= (no,v) end,56,规则2对主体si的请求所作的检查类似规则1 不同的是,当si请求以Append方式访问oj时,无需做简单安全性检查。 状态v=(b,M,f)满足简单安全性iff对所有的(s,o,x)b,有 (i)x=e或x=a或x=c 或(ii) (x=r或x=w)且(f1(s)f2(o),f3(s)f4(o),57,规则3:主体si请求得到对客体oj的e访问权 get-execute: 3(Rk,v) if 1 or g or x e or 2= then 3(Rk,v)= (?,v) if e Mij then 3(Rk,v)= (no,v) else 3(Rk,v)= (yes, (b (si,oj,e),M,f) end,58,规则3对si的请求只作类似与规则1中的(1)(2)两项检查 (1)主体请求对某客体的访问权形式 (,g,Si,Oj,e) (2)oj的拥有者或控制者是否授予了si对oj的读访问权 r Mij之检查 Si对请求对Oj的执行权时 不需作简单安全性和*性质的安全检查,59,规则4:主体si请求得到对客体oj的w访问权 get-write: 4(Rk,v) if 1 or g or x w or 2= then 4(Rk,v)= (?,v) if w Mij or f1(si)f2(o) or f4(oj) f4(o) o|ob(si:w) and f2(oj) f2(o) or f4(oj) f4(o)= then 4(Rk,v)= (yes,v*) =(yes,(b (si,oj,w),M,f) else 4(Rk,v)= (no,v) end,60,规则4的安全性检查类似于规则1 (1)请求对某客体的访问权形式 (,g,Si,Oj,w) (2)oj的拥有者或控制者是否授予了si对oj的读访问权 r Mij之检查 (3)si的安全级是否支配oj的安全级 f1(si)f2(o) or f4(oj)f4(o)= ,61,62,规则4的性质检查较为复杂: U4 =o|ob(si:r) and f2(oj)f2(o) or f4(oj) f4(o) o|ob(si:w) and f2(oj) f2(o) or f4(oj) f4(o)=,63,规则5:主体si请求释放对客体oj的r或w或e 或a访问权 release-read/write/append/execute: 5(Rk,v) if 1 or r or (x r,w,a and e) or (2=) then 5(Rk,v) = (?,v) else 5(Rk,v)= (yes,v*) =(yes,(b-(si,oj,x),M,f) end,64,规则5用于主体si请求释放对客体oj的访问权,包括r、w、e和a等权 因为访问权的释放不会对系统造成安全威胁,所以不需要作安全性检查,并可将四种情形Rk=(, r, si, oj, r) 或(, r, si, oj, w) 或 (, r, si, oj, a) 或(, r, si, oj, e), 用同一条规则来处理,65,规则6:主体s请求授予主体si对客体oj的r或 w或e或a访问权 请求的五元组Rk=(s, g, si, oj, r)或(s, g, si, oj, w) 或(s, g, si, oj, a) 或(s, g, si, oj, e),系统的当前状态v=(b, M, f) give-read/write/append/execute : 6(Rk,v) if (1 s S) or ( g) or (x r,w,a and e) or (2=) then 6(Rk,v)= (?,v) if x Mj or c Mj Mj=x,c, then 6(Rk,v)= (no,v) else 6(Rk,v)= (yes,(b,Mxij,f) end,66,规则6中 M xij表示将x加入到访问矩阵M的第i行第j列元素Mij中去。即用集合Mij x替换M中Mij 由于s的请求只涉及自主访问控制中的授权,因此规则6除了作请求是否适用于规则6的检查外,仅作自主安全性有关的检查。即s自身必须同时具有对客体oj的x权和控制 c权,方能对si进行相应的授权,67,规则6授权成功后,并不意味着si已获得对oj的x 访问权 之后si请求对oj的x 访问时,系统还要对其进行简单安全性和*性质的检查,68,规则7:主体s请求撤销主体si对客体oj的r或 w或e或a访问权 rescind-read/write/append/execute: 7(Rk,v) if (1 s S) or ( r) or (x r,w,a and e) or (2=) then 7(Rk,v)= (?,v) if x Mj or c Mj then 7(Rk,v)= (no,v) else 7(Rk,v)= (yes, (b-(si,oj,x),M xij,f) end,69,系统执行规则7时,不仅从访问矩阵M的i行j列的元素Mij中将x删除掉,而且访问集b中也必须删去三元组(si, oj, x),这意味着主体si将丧失对oj的x访问权,70,规则8:改变静止客体的安全级 Rk =(,c, oj,f*) change-f: 8(Rk,v) if (1 ) or ( c) or (2 ) or x F then 8(Rk,v) =(?,v) if f1* f1 or f3* f3 or f2* (oj) f2(oj) or f4* (oj) f4(oj) for some jA(m) 注:A(m)表示活动客体的下标集 A(m)j|1=j=m且存在i,使Mij then 8(Rk,v)= (no,v) else 8(Rk,v)= (yes,(b,M,f*) end,71,if f1* f1 or f3* f3 or f2* (oj) f2(oj) or f4* (oj) f4(oj) for some jA(m) A(m)j|1=j=m且存在i,使Mij 注意: NOT(f1* f1 or f3* f3 or f2* (oj) f2(oj) or f4* (oj) f4(oj) ) = (f1* =f1 and f3* = f3 ) AND f2* (oj) = f2(oj) and f4* (oj) = f4(oj) ,72,A(m) j|1=j=m且存在i,使Mij M32=r,w,a,73,A(m) j|1=j=m且存在i, 使Mij A(4) 1,4|存在1、3, 使M11 M34 ,74,所谓静止客体是指被删除了的客体,该客体名可以被系统中的主体重新使用 例如某存储器段或某个文件名。当该客体被重新使用来存放数据时,客体的安全级不能被定义为创建这一客体的主体的安全级。显然主体可以创建客体,但该客体的安全级必须由系统来定义,因此规则8中没有主体,75,A(m)是活动客体的下标集,即A(m)=j| 1jm 且存在i,使Mij非空 规则8的安全性要求是,新定义的安全级f*=( f1*, f2*, f3*, f4*),不能改变系统中主体的安全级,也不能改变活动客体的安全级,只能改变静止客体的安全级,在这种情形下,新状态v*用f*代替原状态v中的f,76,规则9:主体si请求创建客体oj Rk=(, c, si, oj, e) 或Rk=(, c, si, oj, ) create-object: 9(Rk,v) if 1 or c or 2= or (x e and ) then 9(Rk,v)= (?,v) if jA(m) then 9(Rk,v)= (no,v) if x= then 9(Rk,v)= (yes,(b,Mr,w,a,cij,f) else 9(Rk,v)= (yes,(b,Mr,w,a,c,eij,f) end,77,规则9要求主体si所创建的客体不能是活动着的客体 当客体创建成功后,系统便将对oj的所有访问权赋予si,需要区分的是,当oj不是可执行程序时,e权不赋予si,78,规则10:主体si请求删除客体oj Rk=(, d, si, oj, ) delete-object: 10(Rk,v) if 1 or d or 2= or x then 10(Rk,v)= (?,v) if cMij then 10(Rk,v)= (no,v) else 10(Rk,v) = (yes,(b,Mr,w,a,c,eij,1in,f) end,79,si必须对oj具有控制权才能删除oj(在这里,拥有权和控制权是一致的) oj被删除后,oj成为静止客体。此时,访问矩阵的第j列,即oj所对应的列中各元素必须全部清空,不包含任何权限,80,规则1:主体si请求得到对客体oj的r访问权 规则2:主体si请求得到对客体oj的a访问权 规则3:主体si请求得到对客体oj的e访问权 规则4:主体si请求得到对客体oj的w访问权 规则5:主体si请求释放对客体oj的r或w或e 或a访问权,81,规则6:主体s请求授予主体si对客体oj的r或 w或e或a访问权 规则7:主体s请求撤销主体si对客体oj的r或 w或e或a访问权 规则8:改变静止客体的安全级 Rk =(,c, oj,f*) 规则9:主体s请求创建客体oj Rk=(, c, si, oj, e) 或Rk=(, c, si, oj, ) 规则10:主体s请求删除客体oj Rk=(, d, si, oj, ),82,六 系统的定义,1.RDVV =(Rk,Dm,v*,v)| RkR,DmD,v*,vV R是请求集,D是判定集,V是状态集 即:任意一个请求,任意一个结果(判断)和任意两个状态都可组成一个上述的有序四元组,这些有序四元组便构成集合RDVV,83,提示:状态转换规则 : RVDV 其中 R是请求集,D是判断集,V是状态集 对请求(Rk,vn)RV,在函数的作用下 (Rk,v) =(Dm, v*) 系统对请求Rk的反应是Dm,状态由v转换成v* D=yes,no,error,? yes请求被执行; no请求被拒绝 error系统出错; ?请求出错,84,提示:,V= P(SOA) F 状态集 对vV v=(b,M,f)表示某一状态 b SOA 表示在当前时刻,哪些主体获 得了对哪些客体的权限 b=(s1,o1,r),(s1,o2,w),(s2,o2,a). M当前状态访问控制矩阵 f当前时刻所有主体和客体的密级和部门集,85,2.设=1,2, s是一组规则的集合,定义 关系(四元组的集合)W()RDVV (Rk,?,v,v)W() iff 对每个i,1is,i(Rk,v)=(?,v) (Rk,error,v,v)W() iff 存在i1,i2,1i1i2s,使得对任意的v*,v*V有 i1(Rk,v)(?,v*)且i2(Rk,v)(?,v*) (Rk,Dm,v*,v)W(),Dm ?,Dm error,iff 存在唯一的i,使得对某个v*和任意的v*V, i(Rk,v)(?,v*) i(Rk,v)=(Dm ,v*),86, (Rk,error,v,v)解释 设=1,2, s是一组规则的集合 error系统出错,亦即对请求Rk,存在有多条规则适合它 则可设存在i1和i2, 1=i1i2s,v1* 和v2*, i1(Rk,v)=(Dm ,v1*) i2(Rk,v)=(Dm ,v2*) 上面可写法: 对任意v* 和v*, i1(Rk,v)(?,v*)且 i2(Rk,v)(?,v*) 此即 存在i1,i2,1i1i2s,使得对任意的v*,v*V i1(Rk,v)(?,v*)且i2(Rk,v)(?,v*) 注: W()=(Rk,?,v,v) ,(Rk,error,v,v) ,(Rk,Dm,v*,v) ,k,m非负自然数,87,(1)请求Rk出错,没有一条规则适合于它 (2)系统出错,有多条规则适合于请求Rk (3)存在唯一一条规则适合于请求Rk 任一四元组(Rk,Dm,v*,v)W()必须满足上述定义中某一条 在状态v下,若发出某请求Rk,必存在一判定Dm?,error,yes,no,根据中的规则,将状态v转换为状态v*, 或保持状态不变,88,3.T=t1,t2,是离散时刻集,用作请求序列、结果序列、状态序列的下标 X=RT=x|x:TR,x可表示为x=x1x2xt是请求序列 X是请求序列集;时刻t时发出的请求用xt表示 Y=DT=y|y:TD,y可表示为y=y1y2yt是结果序列 Y是结果序列集;时刻t时作出的判定用yt表示 Z=VT=z|z:TV,z可表示为z=z1z2zt是状态序列 Z是状态序列集;时刻t的状态用zt表示 XYZ=(x,y,z)|xX,y Y,z Z,其中, x=x1x2xt y=y1y2yt z=z1z2zt,89,4系统记作(R,D,W(),z0) ,其定义为 (R,D,W(),z0) XYZ (x,y,z) (R,D,W(),z0) iff 对每一个t T, (xt,yt,zt,zt-1) W() 。 z0 是系统初始状态,记z0=(,M,f),此即BLP模型定义的系统,90,(七)系统安全的定义,BLP模型定义了安全状态、安全状态序列以及系统的安全出现,最后说明了什么样的系统是安全系统 1安全状态 一个状态v=(b,M,f),若它满足自主安全性,简单安全性和*性质,那么这个状态就是安全的。 2安全状态序列 设z=z1z2zt是一状态序列,若对于每一个tT,zt都是安全状态,则z是安全状态序列。,91,3系统的一次安全出现 (x,y,z)(R,D,W(),z0)称为系统的一次出现。 若(x,y,z)是系统的一次出现,且z是一安全状态序列,则称(x,y,z)是系统(R,D,W(),z0)的一次安全出现。 4安全系统 若系统(R,D,W(),z0)的每次出现都是安全的,则称该系统是一安全系统。,92,(八)模型中的有关安全结论,1这十条规则都是安全性保持的 即:若v是安全状态,则经过这十条规则转换后的状态v*也一定是安全状态 2若z0是安全状态,是一组安全性保持的规则,则系统(R,D,W(),z0)是安全的。,93,(九)对BLP安全模型的评价,1.BLP模型的优缺点: 优点: 是一种严格的形式化描述; 控制信息只能由低向高流动,能满足军事部门等一类对数据保密性要求特别高的机构的需求 缺点:BLP“过于安全” 上级对下级发文受到限制; 部门之间信息的横向流动被禁止; 缺乏灵活、安全的授权机制。,94,2. BLP中不安全的地方: 低安全级的信息向高安全级流动,可能破坏高安全客体中数据完整性,被病毒和黑客利用。 只要信息由低向高流动即合法(高读低),不管工作是否有需求,这不符合最小特权原则。 高级别的信息大多是由低级别的信息通过组装而成的,要解决推理控制的问题。,95,例如:设o1 o2 o3 o4,主体S的安全级同o1,96,(九)对BLP安全模型的评价,在BLP模型中,通过比较主体安全级和客体安全级来确定主体是否对客体具有访问权限。安全检查执行向上写向下读的策略,即主体只能写安全级高(包括相等)的数据,只能读安全级低(包括相等)的数据 在实际系统设计过程中,发现传统的BLP模型过于严格和简单,不能满足实际应用的需求,需要进行以下改进:,97,(九)对BLP安全模型的评价,(1)按照BLP模型“向上写”的规则,任何主体都可以写最高安全级的数据,没有限制主体的最高写安全级,从而降低了高安全级数据的完整性。必须限制低安全级主体向高安全级别数据写的能力 (2)某些高安全级别的主体不应该总是有能力看到所有低安全级别的数据,必须将主体的读能力限定在一个范围内,而不是允许读所有低安全级别的客体 (3)有些低安全级别的数据允许低安全级别主体读,但不意味着允许低级别的主体改写,只有规定的安全级别范围内的主体才能改写,98,(九)对BLP安全模型的评价,(4)对于安全级高的主体而言,不仅要写安全级高的数据,也会有写安全级低的数据的合理需求。静态的主体安全级别限制了主体的这种合理请求,影响了系统的可用性。必须允许主体可以根据数据的情况,在不违反BLP安全公理的条件下,动态调节自己的安全级 (5)按照BLP模型,对于某一安全范畴之内的客体,同一安全范畴之内的主体必然至少可以有读写权限中的一种,实践中有时候需要有能力屏蔽主体对特定敏感区域内数据的任何操作,99,(九)对BLP安全模型的评价,可以设计一个增强的多级安全模型,对主体的敏感标记进行扩充,将主体读写敏感度标记分离。读写敏感标记都是由最低安全级和最高安全级组成的区间组成,从而可将主体的读写权限分别限制在一个区间之内,即限制主体的最低写安全级、最低读安全级、最高读安全级和最高写安全级 采用读写分离的区间权限,可以提供丰富的安全管理方案,提高数据完整性和系统的可用性,使系统的安全控制更加灵活方便。要不破坏安全性质,必须将区间敏感度标记与动态调整策略相结合,即主体当前敏感标记必须根据客体敏感标记和主体访问权限的历史过程进行动态调整,100,(九)对BLP安全模型的评价,调整说明 读了一个级别的客体后,调整环境限制参数防止信息泄漏,以后就不能写比该客体的安全级别更低级别的客体 写了一个级别的客体后,调整环境限制参数防止信息泄漏,以后就不能读比该客体的安全级别更高级别的客体 读写了一个级别的客体,调整环境限制参数防止信息泄漏,以后就不能读比这个客体的安全级别更高级别的客体,不能写比这个客体的安全级别更低级别的客体,101,(九)对BLP安全模型的评价,缺点 增加了强制存取控制的复杂性 优点 增加了应用中的灵活性,使得多级安全策略更具有实用性,102,五 其它几种安全模型,1、安全信息流的格模型 1976年 D.Deming 与BLP模型一致 系统中任意操作序列的执行所产生的信息流动,只能沿着格结构所定义的流关系的方向进行流动。,103,交和并:在格 L ; 中,由于每一对元素 l 1 ,l 2 L 都存在唯一的上、下确界 , 因此可以把 l 1 l 2 和 l 1 l 2 看作是 集合 L 上的二元运算,也把 和 分 别称为“交”和“并”,界:如果一个格存在有最小元素和最大元素, 则称它们为该格的界,格 :设 L ; 是一个偏序集, 若 L 中 每一对元素都存在下确界和上确界, 则称 L ; 是格。,格: 是一个代数系统,和是 L 上的两个二元运算,如果这两个运算满足交换率、 结合律和吸收律,则称 是一个格,104,吸收律 P(PQ)=P (P1)(PQ)=PP(1Q)=P1=P 同理 P(PQ)=P,105,例 1:证明偏序集 2U; 是一个格。,证:对于全集 U 的幂集 2U 的任意两个元素 S1,S2 U,而对于任意 S 2U,若有 S1 S 且 S2 S ,必有 S1S2 S, S1S2 是 S1 和 S2 的上确界,即,2U 的任意元素对 S1,S2 都有最小上界,同理可得,2U 的任意元素对 S1,S2 都有最大下界 S1S2, 2U; 是一个格,注: 2U ; 是一个典型的格,其中集合的交与并同格的 交与并是完全统一的,必有 S1 S1S2 ,S2 S1S2, S1S2 是 S1 和 S2 的上界,106,例 2:正整数集 N 上的整除关系是一个偏序关系。,N 上任意两个元素 n1,n2 的最小公倍数是 n1,n2 的 上确界,N 上任意两个元素 n1,n2 的最大公约数是 n1,n2 的 下确界, N ;是一个格,证明格,107,2、无干扰模型 1982年 Goguen与Meseguer 设有使用某一命令集的一组用户和另一组户,如果第一组用户使用这些命令所得到的结果,对于第二组用户能访问的数据没有影响,则称第一组用户没有干扰第二组用户。,108,一组,二组,3、Biba模型 1977年 Biba. K.J. 它是数据完整性保护模型,109,Biba模型Biba,1977在研究BLP模型的特性时发现,BLP模型只解决了信息的保密问题,其在完整性定义存在方面有一定缺陷 Biba模型模仿BLP模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论