上周上信息安全的课,老师留了个Biba模型的作业。自己看书了解了一下,记录如下。
参考资料:石文昌《信息系统安全概论第2版》 ISBN:978-7-121-22143-9
Biba模型是毕巴(K.J.Biba)在1977年提出的完整性访问控制模型,它是一个强制访问模型。在介绍Biba模型之前,先说一下访问控制分类。
访问控制分类
访问控制的主要作用是让得到授权的主体访问客体,同事阻止没有授权的主体访问客体。根据客体的拥有者是否具有决定“该客体是否可以被访问”的自主权,访问控制可以划分为自主访问控制(DAC,Discretionary Access Control)和强制访问控制(MAC,Mandatory Access Control)两种类型。
- 自主访问控制
如果作为客体的拥有者的用户个体可以通过设置访问控制属性来准许或拒绝该客体的访问,那么这样的访问控制成为自主访问控制。
举例说明,在学校里,每个同学都可以按照自己的意愿决定是否允许其他同学借阅自己的课本,这就属于一种DAC,这里,课本相当于客体,同学相当于用户,同时也是主体,借阅操作相当于一种访问操作。 - 强制访问控制
如果只有系统才能控制对客体的访问,而用户个体不能改变这种控制,那么这样的访问控制称为强制访问控制。
这个定义强调,普通用户是不能按照个人意愿决定对客体的访问授权的,不管他是不是该客体的拥有者,只有系统才拥有这种决定权。
举例说明,在学校里,考试时,任何同学都无权决定把自己的试卷借给其他同学看,这是学校的规定,属于强制访问控制,其中,试卷相当于客体,同学相当于用户(即主体),学校相当于系统。
完整性级别
毕巴模型用完整性级别来对完整性进行量化描述。设i1和i2是任意两个完整性级别,如果完整性级别为i2的实体比完整性级别为i1的实体具有更高的完整性,则称完整性级别i2绝对支配完整性级别i1,记为:
i1 < i2
毕巴模型定义了信息传递路径的概念。
“写”和“执行”操作(规则1)
① 当且仅当i(O) ≤ i(S),主体S可以写客体O。
② 当且仅当i(S2) ≤ i(S1),主体S1可以执行S2。
“读操作”
对于“读”操作,通过定义不同的规则,毕巴模型呈现为三种略有不同的形式。
- 毕巴低水标模型(Low-Water-Mark)
设S是任意主体,O是任意客体,imin = min(i(S), i(O)),那么,不管完整性级别如何,S都可以读O,但是“读”操作执行后,S的完整性级别被调整为imin。 - 毕巴环模型(Ring)
不管完整性级别如何,任何主体都可以读任何客体。 - 毕巴严格完整性模型(Strict Integrity)
在满足规则1的基础上,当且仅当i(S) ≤ i(O),主体S可以读客体O。在严格完整性模型中,当且仅当主体和客体拥有相同的完整性级别时,主体可以同时对客体进行“读”和“写”操作。
通常,提及毕巴模型,一般都是指毕巴严格完整性模型。