上周上信息安全的课,老师留了个Biba模型的作业。自己看书了解了一下,记录如下。

参考资料:石文昌《信息系统安全概论第2版》 ISBN:978-7-121-22143-9

Biba模型是毕巴(K.J.Biba)在1977年提出的完整性访问控制模型,它是一个强制访问模型。在介绍Biba模型之前,先说一下访问控制分类。

访问控制分类

访问控制的主要作用是让得到授权的主体访问客体,同事阻止没有授权的主体访问客体。根据客体的拥有者是否具有决定“该客体是否可以被访问”的自主权,访问控制可以划分为自主访问控制(DAC,Discretionary Access Control)和强制访问控制(MAC,Mandatory Access Control)两种类型。

  1. 自主访问控制
    如果作为客体的拥有者的用户个体可以通过设置访问控制属性来准许或拒绝该客体的访问,那么这样的访问控制成为自主访问控制。
    举例说明,在学校里,每个同学都可以按照自己的意愿决定是否允许其他同学借阅自己的课本,这就属于一种DAC,这里,课本相当于客体,同学相当于用户,同时也是主体,借阅操作相当于一种访问操作。
  2. 强制访问控制
    如果只有系统才能控制对客体的访问,而用户个体不能改变这种控制,那么这样的访问控制称为强制访问控制。
    这个定义强调,普通用户是不能按照个人意愿决定对客体的访问授权的,不管他是不是该客体的拥有者,只有系统才拥有这种决定权。
    举例说明,在学校里,考试时,任何同学都无权决定把自己的试卷借给其他同学看,这是学校的规定,属于强制访问控制,其中,试卷相当于客体,同学相当于用户(即主体),学校相当于系统。

完整性级别

毕巴模型用完整性级别来对完整性进行量化描述。设i­1和i2是任意两个完整性级别,如果完整性级别为i2的实体比完整性级别为i1的实体具有更高的完整性,则称完整性级别i2绝对支配完整性级别i1,记为:

i1 < i2

毕巴模型定义了信息传递路径的概念。

执行操作(规则1

①  
当且仅当i(O) ≤ i(S),主体S可以写客体O。

②  
当且仅当i(S2) ≤ i(S1),主体S1可以执行S2

读操作

对于“读”操作,通过定义不同的规则,毕巴模型呈现为三种略有不同的形式。

  1. 毕巴低水标模型(Low-Water-Mark)
    设S是任意主体,O是任意客体,imin = min(i(S), i(O)),那么,不管完整性级别如何,S都可以读O,但是“读”操作执行后,S的完整性级别被调整为imin
  2. 毕巴环模型(Ring)
    不管完整性级别如何,任何主体都可以读任何客体。
  3. 毕巴严格完整性模型(Strict Integrity)
    在满足规则1的基础上,当且仅当i(S) ≤ i(O),主体S可以读客体O。在严格完整性模型中,当且仅当主体和客体拥有相同的完整性级别时,主体可以同时对客体进行“读”和“写”操作。

通常,提及毕巴模型,一般都是指毕巴严格完整性模型。

Biba模型简介的更多相关文章

  1. Sequelize 关系模型简介

    Sequelize 关系模型简介 先介绍一下本文用到的术语: 源: 调用 sequelize 中关系方法的调用者 目标: 调用 sequelize 中关系方法中的参数 比如, User.hasOne( ...

  2. jvm-垃圾回收gc简介+jvm内存模型简介

    gc是jvm自动执行的,自动清除jvm内存垃圾,无须人为干涉,虽然方便了程序员的开发,但同时增加了开发人员对内存的不可控性. 1.jvm内存模型简介 jvm是在计算机系统上又虚拟出来的一个伪计算机系统 ...

  3. CSS box-flex属性,然后弹性盒子模型简介

    今天做项目的时候发现一个css3的新属性flex 一.什么是flex 它的作用是能够按照设置好的规则来排列容器内的项目,而不必去计算每一个项目的宽度和边距.甚至是在容器的大小发生改变的时候,都可以重新 ...

  4. 转:概率主题模型简介 --- ---David M. Blei所写的《Introduction to Probabilistic Topic Models》的译文

    概率主题模型简介 Introduction to Probabilistic Topic Models      转:http://www.cnblogs.com/siegfang/archive/2 ...

  5. ORM模型简介

    ORM模型简介 1>什么是ORM? ORM,即 Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在操作具体的 ...

  6. spring 事件驱动模型简介

    事件驱动模型简介 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型:理解它的几个关键点: 首先是一种对象间的一对多的关系:最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方): ...

  7. SNF快速开发平台2019-权限管理模型简介-权限都在这里

    1.1    权限的概念 权限是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度.它常常用“具有批准……事项的权限”来进行表达.例如,具有批准预算外5000元以内的礼品费支出的 ...

  8. Linux 网络 I/O 模型简介(图文)(转载)

    Linux 网络 I/O 模型简介(图文)(转载) 转载:http://blog.csdn.net/anxpp/article/details/51503329 1.介绍 Linux 的内核将所有外部 ...

  9. css盒模型简介

    如何了解盒模型 盒模型简介:盒模型是css布局的基石,它规定了网页元素如何显示以及元素间相互关系.css定义所有的元素都可以拥有像盒子一样的外形和平面空间. 盒模型的组成:内容区.补白/填充.边框.边 ...

随机推荐

  1. PHP学习之数组的定义和填充

    数组就是把一组数据按顺序放在一起.PHP的数组和其它的语言数组有一点点不同:第一,保存的数据是可以是任何类型的:第二,数组的索引可以是数字,也可以是字符串. PHP的数组,说白了,就是关联数据每一条数 ...

  2. linux 非缓冲io笔记

    简介 在linux中,打开的的文件(可输入输出)标识就是一个int值,如下面的三个标准输入输出 STDIN_FILENO/STDOUT_FILENO/STDERR_FILENO这三个是标准输入输出,对 ...

  3. Java从入门到精通——调错篇之ORACLE 打开PLSQL时提示ora-01033

    客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示,应用系统无法连 ...

  4. iOS中使用自定义字体

    1.确定你的项目工程的Resources下有你要用的字体文件(.ttf或者.odf). 2.然后在你的工程的Info.plist文件中新建一行,添加key为:UIAppFonts,类型为Array或D ...

  5. ios开发--旋转、移动、缩放手势实例代码

    代码如下: // 添加所有的手势 - (void) addGestureRecognizerToView:(UIView *)view { // 旋转手势 UIRotationGestureRecog ...

  6. C++实现数字媒体二维图像变换

    C++实现数字媒体二维图像变换 必备环境 glut.h 头文件 glut32.lib 对象文件库 glut32.dll 动态连接库 程序说明 C++实现了用glut画正方形,画三角形的功能.并附带放大 ...

  7. Java的别名机制

    基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到另一个地方. 但是在为对象"赋值"的时候,情况却发生了变化.对一个对象进行操作 ...

  8. nullptr和NULL

    nullptr是c++11中的关键字,表示空指针 要区分nullptr和NULL,首先要明白NULL的含义: NULL是一个宏定义,在c和c++中的定义不同,c中NULL为(void*)0,而c++中 ...

  9. 大晚上装CocoaPods出现错误坑爹

    大晚上装CocoaPods出现错误坑爹 [!] Pod::Executable clone 'https://github.com/CocoaPods/Specs.git' master xcrun: ...

  10. 客户端通过spice-gtk实现USB重定向

    1.安装必要的工具: sudo apt-get install build-essential autoconf git-core intltool 2.安装必要的依赖包: -dev libxfixe ...