系统状态是集合V=(B×M×F×H)中的元素,其中B⊆(S×O×A)为当前访问集,S为主体的集合,O为客体的集合,A为访问权限集合; M为访问控制矩阵,它由元素mij∈A组成,mij表示主体Si对客体Oj具有的访问权;F为安全级函数,由以下3个分量组成:fo和 fc为分别为主体的最大安全级和当前安全级, fo为客体的安全级;H为当前层次结构,即当前客体的树型结构.
系统任一状态v=(b, M, f, H)∈V, 其中b=(Si, Oj , x)∈B, x⊆mij; f=(fs , fc , fo)∈F.
系统状态间的转换是由一组规则定义的, 一个规则的定义为ρ:R×V→D×V, 其中R×V为系统中“请求-状态对”集合, D×V为系统中“判定-状态对”集合. R为请求集, D为判定集.判定的结果为(Yes, No,?)之一. “Yes”表示请求被执行, “No”表示请求被拒绝, “?”表示规则不能处理该请求。
规则ρ保持安全状态当且仅当ρ(Rk, v)=(Dm, v*), v是安全状态时,有v*是安全状态.
设Ω=(ρ1 ρ2 ,… ,ρs)是相对于R,D,V的一组规则集,关系W(Ω) ∈R x D x V x V 定义为: (Rk, Dm, v*, v) ∈W(Ω) ,iff Dm≠?并且存在唯一的i, 1≤ i ≤s,使得 (Dm, v*)= ρi(Rk , v )
1977年,Biba等人提出了第一个完整性安全模型-Biba模型,它基本是BLP模型的对偶,不同的只是它对系统中的每个主体和客体均分配一个完整性级别(integritylevel)。
客体的完整性级别,记为:f(o):用于描述对一个客体中所包含信息的信任度。比如:过路人的报告和专家组的报告。
主体的完整性级别,记为:f(s):用于衡量主体产生/处理信息能力上的信心“confidence”。比如:经鉴定软件产品和网上自由下载的软件。
基本思想是:对一个客体的不可靠信息流破坏或毁坏了该客体的完整性。这个不可靠的信息可能来自一个更低完整性级别的主体或者一个更低完整性级别的客体。
三种访问模式:observe(类似read),modify(类似write), invoke(类似execute)
定理:如果从客体o1到客体on之间存在信息传输路径,那么策略要求f(on+1) ≤ f(o1), 对于所有n > 1.
主体在对某些持有较低或不相容的完整级别的客体执行“observe”操作后,会降低自身的完整级别。(低级主体写了高级客体,那么客体完整性就要下降了)
后果: 有可能减少主体可存取的客体集,使某些原来对主体说来是可以存取的客体在执行“observe”操作后变成不可存取的。比如:在“observe”操作后执行的某些“modify” 。
基于客体的策略:一个主体能够对具有任何完整级别的客体持有“modify”权。当主体执行了对客体的“modify”操作后,客体的完整级别被置为执行存取前主体和客体的完整级别的最大下界。
一个主体能够“modify”具有任何完整级别的客体。如果一个主体“modify”一个具有更高或不可比的完整级别的客体,这一违反安全的操作将被记录在审计追踪记录中。或“invoke”操作会由于相应的客体变成不可存取的而不能执行
不考虑完整性级别,任何主体可以读任何客体。
主体 s 可以写客体 o 仅当 f(o) ≤ f(s).
主体 s1 可以执行主体 s2 仅当 f(s2) ≤ f(s1).
环策略的问题:然而,由于“observe”存取是非受限的,仍可能发生不恰当的“modify”操作。如:一个具有高完整级别的主体能够“observe”一个具有较低完整级别的客体,然后“modify”具有自己安全级别的客体,这样信息就从低完整级别流向高或不可比完整级别。为了避免这种情况,主体在使用来自低完整级别客体的数据时要十分小心。
前两个规则类似BLP模型的简单安全规则和-规则,只是完整级别间的关系是相反的。Biba模型中没有考虑“append”方式,主体的完整级别也是惟一的,使其-规则得到简化。严格完整策略防止信息从低完整性级别客体向更高或不可比完整性级别客体传递,保证信息流仅是“observe”和“modify” 的结果。
Biba模型的不足:
(1)完整标签的确定很困难。完整性的分级和分类一直没有相应的标准予以支持 。
(2)在有效保护数据一致性方面不完备。完整性目的是保护数据免受非授权用户的恶意修改,同时内部完整性威胁应该通过程序验证来保证,但本模型中并没有包括这个要求。
(3)不同性质的范畴在同时满足机密性和完整性目标方面难以配合使用。
(1)具有简单性。由于Biba的严格完整性策略是BLP机密性策略的对偶,所以它的实现是直观的和易于理解的。
(2)Biba和BLP模型相结合的可能性基于Biba模型和BLP模型的相似性,Biba模型可以比较容易的与BLP模型的相结合用以形成集机密性和完整性于一体的综合性安全模型。比如:Lipner声称已在格模型中实现了机密格和完整格的结合。
1.中国墙模型的主要设计目标: 为了保护相互竞争的客户,咨询公司需要在她的代理间建立密不可透的墙,这个墙就称为中国墙。
2.利益冲突类概念:中国墙安全策略的本质是将全体数据划分成利益冲突类“,根据强制性约束,主体至多访问每个”利益冲突类“中的一个数据集。
3.安全规则:
(1)读规则:
- 查看历史访问,若历史访问了某家公司的数据集,现在仍然可以访问;
- 可以访问非利益冲突类,例如访问了A石油公司,还可以访问A银行,但是不能访问B石油公司。
- 可以访问公开的信息
(2)写规则:
- 现在要写的和之前读的都在同一个类中。
1.RBAC的优点
便于实现组织级的授权管理;
支持继承关系;
便于实现最小特权原则;
可实现职责隔离原则;
支持客体抽象;除了操作系统中提供的读、写以及执行权限之外,RBAC中可以根据实际应用的需要定义抽象的访问权限,如账号的借款和贷款。
策略中立,通过不同配置能够实现特殊策略。
RBAC可以说是一种表达策略的策略(policy neutral),它可以经由适当的配置而表达不同的安全策略。
①如果一个主体被授权访问某个角色,且该角色包含另一角色,那么该主体也被授权访问这个被包含的角色。
②一个用户可以被授权成为某角色的成员,仅当该角色的特权与该用户已扮演角色的特权是互不干涉的。
③在任何时候,角色的成员数不能超过角色的限定成员数。(总经理只有一个,副经理最多不能超过三个)
④主体永远不能扮演一个没有被授权的主动角色。
⑤只有当主体在扮演主动角色时,它才能执行操作。
⑥主体能扮演新的主动角色的前提是该角色的特权与主体当前正在扮演的主动角色的特权互不冲突。
⑦主体能执行一个操作的前提是主体当前正在扮演的主动角色已被授权访问该操作。
⑧如果要完成某个特殊业务职能需用多个操作,那么不允许出现这样的授权:某单个用户的授权角色集能执行所有这些操作。
⑨主体能访问客体的前提是主体的当前主动角色集的某些角色允许执行某操作,且该操作被授权用于访问主体想访问的客体。
DTE基于安全标签(domain,type)来限制进程进行访问。根据最小特权原则,通过恰当地配置来划分系统。策略中立,可以表达多种安全目标。
DTE将系统视为一个主动实体(主体)的集合和一个被动实体(客体)的集合:
(1)每个主体有一个属性─域,每个客体有一个属性─型,这样所有的主体被划分到若干个域中,所有的客体被划分到若干个类型中。
(2)DTE再建立 “域定义表”(Domain Definition Table),描述各个域对不同型客体的访问权限。
(3)建立 “域交互表”(DomainInteraction Table),描述各个域之间的许可访问模式(如创建、发信号、切换)。