赞
踩
自主访问权限为用户提供了很大的灵活性,从而导致系统安全的薄弱。
强制访问控制
事先规定了某一个客体对哪些客体允许进行什么样的访问
安全策略:(根据 安全需求 指定相应的 安全策略)
为了描述系统的安全需求而指定的对用户行为进行约束的一套严谨的规则。
规定了系统中哪些访问是被允许的,用计算机能表达的方式表达出来,用于指导建立相应的强制访问控制机制。
a) 军事安全策略
安全需求是信息的保密性
多级安全 1. 信息的保密性, 根据信息的机密程度进行分类,将机密程度不同的信息限制在不同的范围, 防止用户取得不应该得到的密级较高的信息。(安全需求) 2. 安全集 系统为每个主体和客体都分配一个安全集。 安全集对 主体来说称为许可证 客体来说表示信息的敏感程度或机密性 安全集有两部分组成,用二元组(密级,范畴级)表示 a) 密级 i. 一般,秘密,机密,绝密 (U,C, S, TS) b) 范畴集(部门集,类别集) i. 对客体来说,定义为该客体所包含的信息所设计的范围 ii. 对主体来说,定义为该主体能访问的信息涉及的范围或部门。 iii. 密级A和范畴级B的密集PB都构成了偏序集。 PB表示范畴集B所有子集构成的集合。(含空集和全集) 主、客体的安全集 表示为A与PB的笛卡尔积 通过比较二者,便可决定主体是否可以对客体有什么样的访问。 如:class(u) = (S, {科技处,财务处});主体u对科技处和财务处有机密的权限 class(o1) = (C, {科技处});客体o1对科技处有秘密级权限 class(o2) = (C, {情报处});客体o2对情报处有秘密级权限 主体u支配客体o1,但与o2互不支配 iv. 多级安全策略表述为:(向下读,向上写) 1. 仅当主体的安全级支配客体的安全级时,允许该主体“读”访问该客体 2. 仅当客体的安全级支配主体的安全级时,允许该主体“写”访问该客体。
b) 商业安全策略
安全需求的是信息的完整性,防止非授权的修改,和数据的伪造和错误,控制方法为:良性事务和职责分散,二者是商业数据完整性保护的基本原则。
i. 良性事务
1. 限制用户按照一定的步骤去完成相应的事务。
ii. 职责分散
1. 将一个操作分为几个子操作,并要求不同的子操作由不同的用户来执行,除非执行子系统的用户案子勾结,那么我们认为该操作是一致的。
2. 最基本的原则,创建或验证良性事务的人,不允许他去执行良性事务,若要对良性事务进行修改,至少需要两个人的参与才能进行。
c) 是任何安全策略一部分的两个要求:
i. 计算机系统必须有一种机制来保证系统实施了安全策略中的安全需求。
ii. 系统的机制必须防止篡改和非授权的修改。
对安全策略所表达的安全需求进行清晰准确的描述,并建立相应的模型。
安全模型的特点:
1、 精确的,无歧义的
2、 简单、抽象,也是易于理解的
3、 仅涉及安全性质,不过分限制系统的功能与实现
分为形式化的安全模型(自然语言)和非形式化的安全模型(数学语言)
a) Bell-La Padula 安全模型(BLP安全模型)
是形式化的多级安全策略模型,也是状态机模型
i. 模型的基本元素
需要用到笛卡尔积和幂集(一个集合所有子集的一个集合)的概念
S = {s1,s2,s3…sn} 主体的集合。
O= {o1,o2,o3…on} 客体的集合。
C = {c1,c2,c3…cn} 主体或客体的密级
K = {k1,k2,k3…kn} 范畴级
Pk 表示范畴级的幂集
A = {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 表示系统出错,有多个规则适合于这一请求
? 表示请求出错
μ = {M1,M2,M3…Mp} 访问矩阵的集合
F表示安全集是Cs、Co、(PK)s、(PK)o 的笛卡尔积
Cs:表示主体的密级
Co:表示客体的密级
(PK)s:表示主体的范畴级
(PK)o:表示客体的范畴级
所以对于F的每一个元素f都有f = {f1 ,f2, f3, f4}。
f1和f3给出了主体的安全集,f2,和f4给出了客体的安全集。
ii. 系统状态 V = P(SOA) μF
V的每个元素v = (b,M,f),其中:
b = {(s1,o2,r),(s1,o2,w)…}
M ∈ μ 描述被自主授权了哪些权限
f 即为主体和客体的安全级
iii. 安全特性
如果状态v满足以下3条特性,那么v是安全状态
1. 自主安全性
对于状态v = (b,M,f)满足自主安全性,
当且仅当对所有的(si,oj,x)∈b,有x∈Mij 。(x是某一权限)
2. 简单安全性
对于状态v = (b,M,f)满足简单安全性,当且仅当对所有的(si,oj,x)∈b,有:
1、x = e, x = a, x = c 或
2、(x=r或x=w)且f1≥f2(主体的密级大于等于客体的密级),
f3⊇f4(主体的范畴集包含客体的范畴集)
意义在于低安全级的主体不允许获得高安全级客体的信息
对于状态v = (b,M,f)满足*-性质当且仅当对所有的s∈S(主体集),若
o1∈b(S: w, a)【表示s对o1有w和a权】由s流向o1
o2∈b(S: r, w)【表示s对o2有r和w权】由o2流向s
则 f2(o1)≥f2(o2), f4(o1)⊇f4(o2)o1支配o2
这表明模型中的信息只能由低安全级向高安全级流动的安全策略
iv. 请求 R = S * RA * S * O * X
用五元组(δ1,γ,δ2,o,x)表示
为:δ1请求γ给δ2对o的x权限。
如(Φ,g,s,o,w):主体s请求得到客体o的写权限
(S,g,s,o,w):主体S请求授予主体s对客体o的写权限
v. 状态转换规则 (10条)
ρ:R*V(表示请求和当前状态)→D*V(表示结果和请求和的转换后的状态)
vi. 系统的定义
vii. 安全系统的定义
b) 其他安全模型
i. 安全信息流的格模型
ii. 无干扰模型
iii. Biba模型
iv. Clark-Wilson 模型
角色将用户和权限进行分离,角色与用户构成多对多的联系,
角色与权限也构成多对多的关系。
a) 角色:是RBAC机制中的核心,它一方面是用户的集合,另一方面又是访问权限的集合,作为中间媒介将用户与访问权限联系起来。
RBAC支持3条安全原则:
i. 最小特权原则
不超过完成某项任务所必须的权限
ii. 职责分散原则
防止任务构成中的欺诈
iii. 数据抽象原则
b) RBAC96模型族
RBAC0模型 基本模型,支持RBAC的系统的最小需求
RBAC1模型 包含RBAC0,增加了角色层次 的概念
RBAC2模型 包含RBAC0,增加了约束的概念 RBAC3模型 包含RBAC1和RBAC2
i. RBAC0模型 某一用户创建了会话s,user(s),这一用户对应n个角色,role(s), 每一角色又对应n个权限,p s 就表示会话s所拥有的权限 1. 定义: a) U表示用户集,R表示权限集,P表示权限集,S表示会话集 b) PA ⊆P×R, 是权限到角色的多对多指派关系; c) UA ⊆U×R, 是用户到角色的多对多指派关系; d) User:S→U, 是会话到用户的映射函数,user(s) e) Role:S→2R, 是会话到角色子集的映射函数,role(s) f) 会话s具有的权限P s , 会话为系统对用户一次请求的执行,每个会话由一个用户建立。 用户建立一个会话时,系统会激活该用户拥有的角色集的一个子集, 用role(s)表示,会话s所具有的权限,便是这个子集中所有角色的权限的并集。 ii. RBAC1 模型 增加角色层次(即,角色有等级) 如三个角色:r1≤r2≤r3 则r3有r1和r2的所有权力 1. 角色层次,反应在一个机构中不同的职务(或角色)不但具有不同的权力和责任,这些角色的权力之间还具有包含关系。职务越高的人责任和权力越大。高级别的角色继承低级别角色的所有权限。 2. 定义: a) RBAC0的所有定义 b) RH ⊆R×R, 是集合R上的偏序关系,称为角色的层次关系 c) Role:S→2R, 同RBAC0不同的是:可以由建立该会话的用户所属的任何角色或低级角色组成。 d) 会话s所具有的权限,由role(s)中的每一个角色,以及被这些角色所覆盖的低级角色相对应的权限组成的权限集。 因此RBAC1模型可以实现多级安控制。(低等级角色不能访问高等级角色) iii. RBAC2 模型 引入了一个约束(限制)集 1. 互斥限制(如同一用户不能同时具有会计和出纳的角色身份,类似于职责分散) 2. 基数限制(用户,角色,权限之间多对多数目的限制) 3. 先决条件限制(当一个角色被指派到某角色A,当他已经是另一个角色B的成员) 4. 运行时的互斥限制(如果一个用户拥有两个互斥角色的成员资格时,那么系统运行时不可以同时激活这两个角色) 5. 会话数量的限制(限制用户同时进行会话的数量) 6. 时间频度限制(对特定角色权限使用的时间和频度进行限制) iv. RBAC3 模型 既有角色层次又有约束集
c) 基于角色授权模型的基本框架
i. 授权是指拥有某角色的用户能将该角色的成员资格授给其他的用户。
ii. 授权的特性
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。