版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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,则称
2、a 和 b 是可比的,否则称 a 和 b 是不可比的5.集合上的偏序关系3全序 :一个集合 A 上的任意两个元素之间都满足偏序关系, 则称该偏序为 A 上的一个全序 良序 :一个集合 A 上的偏序,若对于 A 的每一个非空子集 S A, 在 S 中存在一个元素 as(称为 S 的最小元素),使得对于 所有的 s S,有as s,则称它为 A上的一个良序5.集合上的偏序关系47.一个有用的结论 命题:若和是两个偏序集,在笛卡尔积AB上定义关系,对任意(a1,b1), (a2,b2) AB 当且仅当 a11a2, b12b2时,有(a1,b1) (a2,b2) 可以证明:也是一个偏序集 5因为、
3、为偏序关系,所以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),
4、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 -可传递的9安全标准由两部分组成 (密级,部门(或类别)集)eg:密级分为4个级别:一般秘密机密绝密 (UC S TS)令A=U,C
5、,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(密级,部门或类别或范畴)理解:
6、对于客体来说 ,部门或类别或范畴可定义为该客体所包含的信息所涉及的范围 部门或所具有的类别属性对于主体来说 ,部门或类别或范畴可定义为该主体能访问的信息所涉及的范围或部门例:2011年财务报表(S,财务处,总裁办公室,党办,财经小组)12例:2011年财务报表(S,财务处,总裁办公室,党办,财经小组)肯定不会写成:(S,财务处,三车间,大门)例:车间主任(C,三车间,仓库)肯定不会写成:(S,财务处,党办,财经小组)13主体、客体安全级定义以后,就可以通过比较主客体安全级,来决定主体对客体的访问以及什么样的访问。前面讲过,在实施多级安全策略的系统中,系统为每一个主体和每一个客体分配一个安全级。
7、若某主体具有访问密级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上定义关
8、系,对任意(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例:
9、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
10、) class(O2):客体O2的安全级支配主体u的安全级class(u) 与class(O3)不可比:主体u与客体O3的安全级相互不可支配。 19访问控制策略 一个主体仅能读安全级比自已安全级低或相等的客体 一个主体仅能写安全级比自己高或相等的客体 即 “向下读向上写”安全级如何比较高低 (a1,H1) (a2,H2)当且仅当a1 a2, H1 H2 所以u对O1可读,对O2可写,对O3既不可读也不可写 20“向下读向上写”安全策略执行的结果是信息只能由低安全级的客体流向高安全级的客体,高安全级的客体的信息不允许流向低安全级的客体。若要使一个主体既能读访问客体,又能写访问这个客体,两者的安全
11、级必须相同。21多级安全策略适合(保护信息的机密性):军事系统政府及企业的办公自动化系统具有层次结构的组织机构222商业安全策略 良性事务 用户对数据的操纵不能任意进行,而应该按照可保证数据完整性的受控方式进行,即数据应该用规定的程序,按照定义好的约束进行处理。例: 保存记录(包括修改数据之前修改数据之后的记录),事后被审计 双入口规则:数据修改部分之间保持平衡 内部数据的一致性 特别地,签发一张支票与银行帐号户头上的金额变动必须平衡 可由一个独立测试帐簿是否平衡的程序来检查23职责分散 把一个操作分成几个子操作,不同的子操作由不同的用户执行,使得任何一个职员都不具有完成该任务的所有权限,尽量
12、减少出现欺诈和错误的机会。eg:购买订单记录到货记录货发票付款美入境签证24职责分散的最基本规则是,被允许创建或验证良性事务的人,不能允许他去执行该良性事务。【至少需要两个人的参与才能进行】【职员不暗中勾结,职责分散有效】【随机选取一组职员来执行一组操作,减少合谋机会】25良性事务与职责分散是商业数据完整性保护的基本原则专门机制被商业数据处理计算机系统用来实施良性事务与职责分散规则。(a)保证数据被良性事务处理 数据只能由一组指定的程序来操纵 程序被证明构造正确、能对这些程序的安装能力、修改能力进行控制、保证其合法性(b)保证职责分散每一个用户必须仅被允许使用指定的程序组、用户执行程序的权限受
13、控26商业数据完整性控制与军事中的数据机密性差别:(a)数据客体不与特定的安全级别相关 只与一组允许操纵它的程序相联系(b)用户直接读写数据被禁止 被授权去执行与某一数据相关的程序【一个用户即便被授权去写一个数据客体,他也只能通过针对那个数据客体定义的一些事务去做。】27商业安全策略也是一种强制访问控制但它与军事安全策略的安全目标、控制机制不相同商业安全策略强制性体现在:(a)用户必须通过指定的程序来访问数据(b)允许操纵某一数据客体的程序列表和允许执行某一程序的用户列表不能被系统的一般用户所更改军事与商业安全相同点:(1)一种机制被计算机系统用来保证系统实施了安全策略中的安全需求(2)系统中
14、的这种机制必须防止窜改和非授权的修改28(3) 军事安全策略与商业安全策略的比较军事安全策略数据的机密性 商业安全策略数据的完整性 军事安全策略将数据与一个安全级相联系,通 过数据的安全级来控制用户对数据的访问 商业安全策略将数据与一组允许对其进行操 作的程序相联系,通过这组程序来控制用户 对数据的访问军事安全策略 用户对数据的操纵是任意的 商业安全策略用户对数据的操纵是受限的 29三 安全模型安全模型是对安全策略所表达的安全需求简单、抽象和无歧义的描述分为:1.非形式化的安全模型 2.形式化的安全模型 302.形式化的安全模型安全系统的开发过程安全需求分析制定安全策略建立形式化的安全模型安全
15、性证明安全功能31四 Bell-La Padula模型 简称BLP模型应用最早也最广泛的一个安全模型David Bell和Leonard La Padula模型目标:计算机多级操作规则安全策略:多级安全策略常把多级安全的概念与BLP相联系其它模型都尝试用不同的方法来表达多级安全策略32四 Bell-La Padula模型 BLP模型是一个形式化模型使用数学语言对系统的安全性质进行描述BLP模型也是一个状态机模型它反映了多级安全策略的安全特性和状态转换规则BLP模型定义了 系统、系统状态、状态间的转换规则 安全概念、制定了一组安全特性 对系统状态、状态转换规则进行约束如果它的初始状态是安全的,经
16、过一系列规则都是保持安全的,那么可以证明该系统是安全的33ABCDEaaaaabbbbb状态机模型例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请
17、求被执行; no请求被拒绝 error系统出错; ?请求出错 35=M1,M2,Mp 访问矩阵集BA=f| f:ABF= 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)12345679108 f:A B (f1(si),f3(si) 主体si的安全级(f2(oj),f4(oj) 客体oj的安全级36(二) 系统状态V= P(SOA) F 状态集
18、对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模型的安全策略
19、。(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) SOe,c,a S(高) O(低)r w在BLP
20、模型中,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 S o1(高) O2(低)a r SO1(高)O2(低) aw SO1(高)O2(低)wrSO1O2ww (级别)(级别)相等流向42例:b(s1,o1,r),(s2,o2,a),(s1,o2,w),(s2,o2,r),(s1,o3,a)考虑b(s:x1,x2)
21、:b(s1:r,w) b(s1:w,a) b(s3:r,w)b(s1:r,w) =o1,o2b(s1:w,a) =o2,o3b(s3:r,w) = 43*性质 重要安全特性o1b(s:w,a),意味着s对o1有w权或a权,此时信息经由s流向o1o2b(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的安全级必须等于o
22、2安全级显然它放反映了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 是访问权
23、限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用于主体
24、请求对某客体的访问权 形式 (,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
25、 (,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(o) or f4(oj)f4(o)= NOT f2(oj)f2(o) or f4(oj) f4(o) f2(oj)=f2(o) and f4(oj) f
26、4(o)53 S o1(高) O2(低)a r SO1(高)O2(低) aw SO1(高)O2(低)wrSO1O2ww (级别)(级别)相等流向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
27、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)end56规则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
28、)且(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)end58规则3对si的请求只作类似与规则1中的(1)(2)两项检查(1)主体请求对某客体的访问权形式 (,g,Si,Oj,e)(2)oj的拥有者或控制者是否授予了si对oj的读访问权 r Mij之检查 Si对请求对Oj的执行权时不需作简单安全
29、性和*性质的安全检查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(oj) or f3(si) f4(oj) then 4(Rk,v)= (no,v)if 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)= then 4(Rk,v)= (yes,v*) =(yes,(b (si,oj,w),M,f) e
30、lse 4(Rk,v)= (no,v)end60规则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)= 6162规则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-re
31、ad/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)end64规则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
32、规则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)= (
33、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:
34、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
35、 ( 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,使Mijthen 8(Rk,v)= (no,v)else 8(Rk,v)= (yes,(b,M,f*)end71if 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注意: NO
36、T(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,am1m2f1f2s1r,wra,es2rr,w,as3m1m2f1f2s1r,wra,es2rr,w,as3r,w,a73 A(m) j|1=j=m且存在i, 使Mij A(4) 1,4|存在1、3, 使M11 M34 o1o2o3o4s1r,ws2rs3r,w,a74所谓静
37、止客体是指被删除了的客体,该客体名可以被系统中的主体重新使用例如某存储器段或某个文件名。当该客体被重新使用来存放数据时,客体的安全级不能被定义为创建这一客体的主体的安全级。显然主体可以创建客体,但该客体的安全级必须由系统来定义,因此规则8中没有主体 75A(m)是活动客体的下标集,即A(m)=j| 1jm 且存在i,使Mij非空规则8的安全性要求是,新定义的安全级f*=( f1*, f2*, f3*, f4*),不能改变系统中主体的安全级,也不能改变活动客体的安全级,只能改变静止客体的安全级,在这种情形下,新状态v*用f*代替原状态v中的f 76规则9:主体si请求创建客体oj Rk=(, c
38、, 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)end77规则9要求主体si所创建的客体不能是活动着的客体当客体创建成功后,系统便将对oj的所有访问权赋予si,需要区分的是,当oj不是可执行程序时,e权不赋予si78规则1
39、0:主体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)end79si必须对oj具有控制权才能删除oj(在这里,拥有权和控制权是一致的)oj被删除后,oj成为静止客体。此时,访问矩阵的第j列,即oj所对应的列中各元素必须全部清空,不包含任何权限 80规则1:主体si请求得到对客体oj的r访问权规则2:主体si请求
40、得到对客体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*
41、,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 表示在当前时刻,哪
42、些主体获 得了对哪些客体的权限b=(s1,o1,r),(s1,o2,w),(s2,o2,a).M当前状态访问控制矩阵 f当前时刻所有主体和客体的密级和部门集852.设=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(
43、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,1i1 o2 o3 o4,主体S的安全级同o1 时刻t1Sro2高低o3r时刻t2释放对o2的访问权Sao3高低o4r时刻t3S已含有o2和o3的信息此时S可将o2
44、的信息传送到o3(无记忆)96(九)对BLP安全模型的评价在BLP模型中,通过比较主体安全级和客体安全级来确定主体是否对客体具有访问权限。安全检查执行向上写向下读的策略,即主体只能写安全级高(包括相等)的数据,只能读安全级低(包括相等)的数据在实际系统设计过程中,发现传统的BLP模型过于严格和简单,不能满足实际应用的需求,需要进行以下改进:97(九)对BLP安全模型的评价(1)按照BLP模型“向上写”的规则,任何主体都可以写最高安全级的数据,没有限制主体的最高写安全级,从而降低了高安全级数据的完整性。必须限制低安全级主体向高安全级别数据写的能力(2)某些高安全级别的主体不应该总是有能力看到所有
45、低安全级别的数据,必须将主体的读能力限定在一个范围内,而不是允许读所有低安全级别的客体(3)有些低安全级别的数据允许低安全级别主体读,但不意味着允许低级别的主体改写,只有规定的安全级别范围内的主体才能改写98(九)对BLP安全模型的评价(4)对于安全级高的主体而言,不仅要写安全级高的数据,也会有写安全级低的数据的合理需求。静态的主体安全级别限制了主体的这种合理请求,影响了系统的可用性。必须允许主体可以根据数据的情况,在不违反BLP安全公理的条件下,动态调节自己的安全级(5)按照BLP模型,对于某一安全范畴之内的客体,同一安全范畴之内的主体必然至少可以有读写权限中的一种,实践中有时候需要有能力屏
46、蔽主体对特定敏感区域内数据的任何操作99(九)对BLP安全模型的评价 可以设计一个增强的多级安全模型,对主体的敏感标记进行扩充,将主体读写敏感度标记分离。读写敏感标记都是由最低安全级和最高安全级组成的区间组成,从而可将主体的读写权限分别限制在一个区间之内,即限制主体的最低写安全级、最低读安全级、最高读安全级和最高写安全级 采用读写分离的区间权限,可以提供丰富的安全管理方案,提高数据完整性和系统的可用性,使系统的安全控制更加灵活方便。要不破坏安全性质,必须将区间敏感度标记与动态调整策略相结合,即主体当前敏感标记必须根据客体敏感标记和主体访问权限的历史过程进行动态调整100(九)对BLP安全模型的
47、评价调整说明读了一个级别的客体后,调整环境限制参数防止信息泄漏,以后就不能写比该客体的安全级别更低级别的客体写了一个级别的客体后,调整环境限制参数防止信息泄漏,以后就不能读比该客体的安全级别更高级别的客体读写了一个级别的客体,调整环境限制参数防止信息泄漏,以后就不能读比这个客体的安全级别更高级别的客体,不能写比这个客体的安全级别更低级别的客体101(九)对BLP安全模型的评价缺点增加了强制存取控制的复杂性优点增加了应用中的灵活性,使得多级安全策略更具有实用性102五 其它几种安全模型 1、安全信息流的格模型1976年 D.Deming 与BLP模型一致系统中任意操作序列的执行所产生的信息流动,
48、只能沿着格结构所定义的流关系的方向进行流动。eabdcfgh31265101530dacb103 交和并:在格 L ; 中,由于每一对元素 l 1 ,l 2 L 都存在唯一的上、下确界 , 因此可以把 l 1 l 2 和 l 1 l 2 看作是 集合 L 上的二元运算,也把 和 分 别称为“交”和“并”界:如果一个格存在有最小元素和最大元素, 则称它们为该格的界 格 :设 L ; 是一个偏序集, 若 L 中 每一对元素都存在下确界和上确界, 则称 L ; 是格。格: 是一个代数系统,和是 L 上的两个二元运算,如果这两个运算满足交换率、 结合律和吸收律,则称 是一个格 104吸收律 P(PQ)
49、=P(P1)(PQ)=PP(1Q)=P1=P同理P(PQ)=P105例 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 上的
50、整除关系是一个偏序关系。N 上任意两个元素 n1,n2 的最小公倍数是 n1,n2 的上确界 N 上任意两个元素 n1,n2 的最大公约数是 n1,n2 的下确界 N ;是一个格 证明格1072、无干扰模型1982年 Goguen与Meseguer 设有使用某一命令集的一组用户和另一组户,如果第一组用户使用这些命令所得到的结果,对于第二组用户能访问的数据没有影响,则称第一组用户没有干扰第二组用户。108一组二组3、Biba模型1977年 Biba. K.J.它是数据完整性保护模型109Biba模型Biba,1977在研究BLP模型的特性时发现,BLP模型只解决了信息的保密问题,其在完整性定义存
51、在方面有一定缺陷Biba模型模仿BLP模型的信息保密性级别,定义了信息完整性级别,在信息流向的定义方面不允许从级别低的进程到级别高的进程,也就是说用户只能向比自己安全级别低的客体写入信息,从而防止非法用户创建安全级别高的客体信息,避免越权、篡改等行为的产生Biba模型可同时针对有层次的安全级别和无层次的安全种类110Biba模型的两个主要特征(1)禁止向上回滚,这样使得完整性级别高的文件是一定由完整性高的进程所产生的,从而保证了完整性级别高的文件不会被完整性低的文件或完整性低的进程中的信息所覆盖(2)Biba模型没有下读111Biba模型用偏序关系可以表示为:(1)r,当且仅当SC(s) SC
52、(o),允许读操作(2)w,当且仅当SC(s) SC(o),允许写操作。Biba模型是和BLP模型相对立的模型,Biba模型重视信息完整性问题,但在一定程度上却忽视了保密性1124、Clark-Wilson模型1987年 Clark和Wilson它是基于良性事务和职责分散两个基本概念提出的保护数据完整性的模型,用来实现商业安全策略113信息的完整性在商业应用中则有重要意义适用于商业计算机安全的形式化模型与BLP模型在方法上有很大的不同114Clark-Wilson模型采用了两个基本的方法,以保证信息的安全 合式交易(well-formed transition)责任分离(segregation
53、 of duties)合式交易的目的是不让一个用户随意地修改数据,犹如手工记帐系统,要完成一个帐目记录的修改,必须在支出与转入两个项目上都有变化,这种交易才是“合式”的,而当帐目无法平衡时,就有错误发生。合式交易是Clark-Wilson模型中保证应用完整性的一个机制115Clark-Wilson模型中控制差错的第二个机制就是责任分离此机制的目的是保证数据对象与它所代表的现实世界对象的对应,而计算机本身并不能直接保证这种外部的一致性最基本的责任分离规则就是不允许任何创造或检查某一个合式交易的人再来执行它。那么,在一次合式交易中,至少要有两个人参与,才能改变数据116在上述的两种基本机制中,数据
54、完整性Clark-Wilson模型有两类规则:强迫性规则确认规则强迫性规则是与应用无关的安全功能,而确认性规则是与具体应用相关的安全功能117在在介绍这两种规则之前,先引入一些术语有约束数据项(CDI)它们是系统完整性模型要应用到的数据项,即可信数据无约束数据项(UDI)与CDI相反,UDI是不可信数据,模型的完整性过程不保护UDI事务过程(TP)也称为转换过程,它们的作用是把UDI从一种合法状态转换到另一种合法状态完整性验证过程(IVP)这是一个保证所有系统中的CDI都服从完整性规定的过程,Clark-Wilson模型把它用在与审计相关的过程中118Clark-Wilson模型的规则强迫性规
55、则E1:用户只能间接通过操作TP才能操作可信数据(CDI)E2:用户只有被明确地授权,才能执行操作E3:用户的确认必须通过验证E4:只有安全官员才能改变授权119确认性规则C1:可信数据必须经过与真实世界一致性表达的检验C2:程序以合式交易的形式执行操作C3:系统必须支持责任分离C4:由操作检验输入,或接收或拒绝Clark-Wilson模型用这八条规则定义了一个实行完整性策略的系统这些规则说明了在商业数据处理系统中完整性是如何实施的。Clark-Wilson模型在计算机安全领域中引起了人们很大的兴趣,也表明了商业上对计算机安全有一些独特的要求120Seaview模型是一个多级安全关系数据库系统
56、的形式化安全模型。它的目标是设计一个达到DoD(美国国防部)可信计算机系统评估准则(TCSEC)A1级的多级安全数据库系统 5、 Seaview模型121可信计算机评估标准D级(最低安全形式)无系统访问、数据访问限制属于这个级别的OS有:DOS/WINDOWS/MACINTOSH SYSTEN 7.1C1级注册帐号、口令/用户识别、规定程序及信息访问权C2级除C1外包括访问控制环境如身份验证级别、审计日志 C2级的常见OS 有UNIX/XENIX/NOVELL 3.X/WINDOWS NTB1级第一个多级安全级别/强制访问控制/系统不允许文件的拥有者改变其许可权限B2级又称结构保护/系统中所有
57、对象均加标签,设备分配多个级别B3级安全域级别/使用安装硬件的方式来加强域/要求用户通过一条可信任途径链接到系统上A级包括了一个严格的设计、控制和验证过程。设计须验证(数学),并通过秘密和可信任分布(硬件、软件在传输过程中已受到保护)的分析122(一)多级关系模式和客体的安全标记 Seaview模型将访问控制粒度定为数据项,即对每一数项都有安全级标记,它将标准的关系模式R(A1,A2,An)扩展为 R(A1,C1,A2,C2,An,Cn) 例: 如下表 一 设di=(密级,部门级)假定如下关系d8zd835d8005d8yd715d3013d5xd524d2001C3A3C2A2C1A1d8d7d6d5d2d3d4d1123Seaview模型对库、表、记录定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理健康宣教诗句
- 高中生医生职业规划指南
- 传统节日元宵节演讲稿范文(16篇)
- 鸡尾酒试题及答案高中
- 建筑行业成本核算标准操作流程
- 2026年外贸跟单员英文测试题及答案
- 2026年单体建筑原画测试题及答案
- 2026年有趣的诚信测试题及答案
- 2026年培训心理测试题及答案
- 就2026年新产品投放渠道规划的讨论函6篇
- 2026广东惠州市博罗县人民检察院招聘劳动合同制工作人员17人笔试参考题库及答案详解
- 2026年四川南充市中考数学试题(附答案)
- 五升六数学《暑假作业》每日一练 2026
- 宏观经济学二十五讲中国视角
- DB62-T 5212-2026 土遗址夯筑支顶加固及质量评价技术规范
- 2026年高考化学真题陕晋青宁卷含答案
- 成都铁路试题
- 从‘五方面人员’中选拔乡镇领导班子成员考试(基本素质和能力)试题及答案(南宁2026年)
- 汽车寄存保管协议书
- 软包装复合工艺工程师考试试卷及答案
- 拆除施工质量保证措施、安全保障措
评论
0/150
提交评论