[音乐]
[音乐]
同学们好! 今天我们来介绍一下这个BIBA的完整性策略
那么BIBA模型呢是在这个
1977年的时候提出来的,BIBA当然本人提出了这样一个模型
这个模型最早的时候其实跟这个BLP的模型呢有这个
相通的一些概念,所以的话,尤其是这个
严格的BIBA策略其实跟BLP应该说是对偶关系的 这个我们在后面会讲到。
但是在这个BLP 是主要针对的是这个主体和客体的这个,而且机密,安全级别 来进行这样的一个约束的。
那么在这个BIBA的完整性模型里面它主要是针对的这个主体和客体的 完整性标签来做这个标注的
那么我们来看一下这个完整性这个标签 或者说完整性级别跟我们前面提到的安全性级别,它的一个区别在哪里?
比如说客体的这个完整性级别,其实它主要是用来 描述一个客体的这个信息内容的信任度
就是说我们通常说这个数据它的内容是不是值得人信赖的
或者说这个内容是不是真实的,对吧?那么我们通常其实就是说的这个数据的,或者这个客体的 完整性的级别。
那么客体完整性级别,我们这里举了
一个例子,比如说同样是一个这个关于交通状况的一个报告
来自一个,比如说普通的行人,他平常走路或者是统计的
这样一个数据,和这个一个专家就是通过长期的这样的一个
统计出来的一个数据,那么从这个数据的内容上来考虑的话 我们可能会认为这种专家所提供的这样一个长期调研的这样一个结果的
完整性是比这个 行人所统计的这个数据的完整性要更高的
因为你会更信任这个专家提供的这个长期调研的一个结果
第二个呢是关于这个主体的完整性级别,那么主体的完整性级别主要是来衡量这个主体
所产生这样的一个,就是你对这个主体产生这个信息、 数据这样的一个信心
比如说你不会去怀疑这个主体他去故意地生成一些 不值得信赖的数据,或者是会,如果你对这个主体足够信赖
其实你对这个数据可能也就足够,他所产生的数据也会足够信赖 所以的话,我们说这个主体的完整性级别更强调的是
我们去,如何去衡量这个主体产生的这个 信息上面的一个信心,就是confidence的这样一个问题
同样举个例子,比如说我们在 网上会经常去下载一些这样的应用软件
那么这种应用软件呢,有些软件可能是一些个体的软件爱好者他写的软件
那么有些软件可能是由这样的一些专门的软件公司,尤其是大型的,比如说微软
或者是其他的一些大型的公司它所生成的这样的软件
那么你会认为这两个软件在你的机器上运行的时候,你会对谁的软件会更信赖一些呢?
当然从一般的意义上来讲,我们可能会认为这种
微软这样的一些大公司它所生产的软件更值得信赖一些 所以如果这样的话,对这种软件在运行的时候,它打的这个
完整性级别的标签,就它的完整性级别要比 其他的软件的级别要高。
这是从主客体的完整性级别的划分上 我们来理解。
刚才我们讲到了这个完整性的主客体的标签
那么下面我们看一下这个,就是在讲这个策略之前,我们不光要做好这个标签的这个
划分,就是主客体要打上完整性标签,我们还要考虑相关的安全规则
那么在制定安全规则之前呢,我们需要理解一个完整性相关的一个很重要的概念
就是这个信息传输路径的概念,那么信息传输路径呢其实表达了就是这样一个思想
就是说假设系统里面有一系列的这个主体,叫S1到Sn
那么也有些客体,O1到On+1,那么传输路径呢表达的 就是一个主体它可能会,Si可能会去读Oi的内容
然后把内容写到Oi+1,这个就是一个传输 路径,就是说从Oi这个客体的信息流向了这个Oi+1这个客体
那么这个就是我们所说的信息传输路径的一个概念 那么我们制定这个完整性策略其实主要要保证的是什么样一个
概念呢?就是说不希望出现两种情况 第一种情况呢就是说不希望一个低完整性的主体
去写一个高完整性的客体,也就是说不希望低完整性的主体
去把高完整性的主体的客体的信息跟完整性进行破坏 第二个呢是不希望一个低完整性的客体
它的信息通过一个高完整性的主体去读,然后间接地流向这个
高完整性的客体,然后导致这个高完整性客体的信息的完整性的破坏 这是两条这样我们认为不安全的信息流
那么这两条信息传输路径我们是需要进行限制的 这也是我们在后面制定这个完整性策略所重点要考虑的部分
我们来看一下这个两个实例的流程 [声音]
这是一个客体 i,这是一个主体
[声音] i,这是一个
客体i+1
假如这是一个低完整性的主体
这是一个高完整性的一个客体 那么低完整性
主体去写一个高完整性的客体,这样的话会导致这个 完整性,高完整性客体的完整性收到破坏,这是第一种情形
那么第二种情形呢可能就是这种情况 就是说这个客体本身是低完整性的
主体呢本身还是高完整性的 那么这个客体i+1是高完整性的
但是如果这个i去读了一个低完整性的客体
然后把内容写入一个高完整性客体,同样会导致这个客体i+1的完整性受到破坏
这是我们刚才提到的两种 非法的这个信息流的情况,那也是完整性策略希望 控制的两种途径。
那么在这个访问模式上面呢,其实我们 同样关心这个读和写,那么当然我们在BIBA的模型里面,一个是
叫observe,就是观察,其实类似于读,还有一个是modify,相当于我们之前提- 到的写规则
此外还有一个就是关于这个invoke,是个调用的一个 相当于我们之前的execute执行这样一个操作
接下来呢我们会去介绍这个BIBA的三个这个策略 BIBA其实它本身是一个
里面有三种策略,就跟前面我们提到BLP它是有两个策略,一个自主策略,一个是强制的
策略,同样在BIBA的策略里面,它有三个,这三个策略里面其实
蕴含的是一个叫低水印的策略,还有一个是环策略,还有一个是严格的这个策略
那么这三个策略呢,后面我们会,都会陆续讲到,那么我们来
比较一下这三个策略之间的这样的,策略的可用性和策略的安全的强度 从这张图上我们可以看出,在这三个策略
里面,安全性最强的是这个低水印的这个安全策略 可用性最好的应该是这个环策略,那么
处于中间的,就是说安全性和可用性都适中的这个策略是我们的严格策略
那么同学们不要认为严格策略它的这个安全性是最高的 其实是低水印策略它的安全性最高
好,我们这次先讲到这儿,谢谢!