[音乐]
[音乐]
[空白音频] 同学们好,今天我们讲这个系统的完整性保护这一部分
那么关于连续性保护机制呢,前面我们讲到了隐蔽通道
那么今天呢我们主要是介绍一下如何 在整个系统的运行过程当中,保护这个系统自身的完整性
大家知道在TCSEC的标准里面,其实是对这个完整性的保护是给出了明确的要求的
尤其是对于我们系统里面这个TCB的完整性,所谓TCB我们知道是可信计算基
也就是说在系统里面实施安全这些所有的功能或者逻辑的部分,那么都是需要进行保护的
因为你不能说去保护别人,然后自己没有做好完整性的保护,对吧? 所以在这个整个系统里面,我们需要考虑的是
如何去保护这个系统的一个完整性。
那么 这个完整性的要求呢其实主要是针对三种类型的这样的保护过程
第一类呢是关于这个,在整个系统里面我们知道很关键的数据的完整性
那么这个数据的完整性当然包括就是用户的这个存放的数据
也包括呢其实系统里面那些安全策略配置文件,就是说跟我们的这个系统安全性相关的
这个系统本身的完整性的一些数据。
第二个呢是关于 这个数据,大家知道,因为在系统当中肯定会有一个
传输或者流动的过程,所以这个数据传输的这个完整性也是非常重要的,尤其是在网络上的- 这个传输
第三个呢是关于这个数据的这个处理的这个完整性 因为知道,数据在系统里面不仅仅是静态地存放着
它有可能会出现,被取出来进行处理或者运算 那么这个过程当中,我们也要保证在这个过程当中数据的完整性
那么我们下面就来看一下 在这个存储数据这个层面,就是它的完整性
对于我们这个标准来讲,它通常要求我们做 一些什么样的一个,什么层面的一些保护
这个主要是从,我们来看,它主要是在这个标识里面,我们知道有个叫TSF,就是
可信安全功能。
那么在可信安全功能里面明确给出了就是
对用户数据呢要进行完整性的保护,那么主要保护呢要包括两个层面的保护
就是说你在系统里面实现数据保护的这个时候 你可以选择用A方案,你可以选择用B方案
那么A方案和B方案是一个递进的一个 方案,比如说B方案,我们相对来讲比A方案的这个
强度要更高,比如说它B方案呢,完整性保护能力更强,保护能力更强
我们先看一下第一种方案,其实它只要求你对数据这个的完整性进行检测
进行检测,什么意思呢?就是说系统里面有些数据可能被破坏了
那么你希望这个,我们希望系统里面有办法能够 找到,能够发现这个数据完整性被破坏的一些方法
就是TCB呢希望有这样的方法可以去检测到 数据的完整性是否受到损害。
第二种呢 B的这个程度呢,就是说你不光是能够知道这个数据是否
完整性被破坏,你还应该能够有办法,或有能力去
把这个破坏的部分给它修复,或者恢复,对吧?那么这个呢其实就是我们所说的这个
它要具有相应的恢复能力 所以A呢其实就是要在系统里面要提供一些相关的机制
可以让用户去检查,或者是让系统可以去判定 数据的完整性。
第二种呢,就是说我们要有一些相关的机制 可以去判定数据完整性是否破坏,而且有一定的能力
可以去帮助系统去自动地恢复相关的这样的数据
这是第一种完整性的要求,第二种呢是关于这个传输数据的完整性
那么传输数据的完整性呢更强调的是数据在一方传递到另一方的过程当中
那么数据不会从一方传递到另一方的时候变,发生变化,对吧 应该是一致的,应该是一致的。
所以这里头它也分成了这个三个级别的能力 也是递增性的。
那么第一个能力呢就是要求是一个数据交换完整性检测
那么数据交换完整性检测呢其实它强调的就是说 我数据从一端如果发送到另一端的话
这个中间如果出现了篡改的情况下,我是可以检测出来的 我可以检测出来。
这是第一种,就是保证从源端到目的端
如果数据出现完整性的破坏或者篡改,我有方法可以check出来,可以检测出来
比如说我们可以通过在一些这个 大家同学们可能知道在很多的系统里面会采用一些这个哈希的方法
就是在数据后面会加一段这个数据的哈希值,那么在传送到对方的时候,对方可以去重新
计算这个值,然后计算出一个哈希,跟它传过来哈希作为比对,对吧?比对如果不一致的话,-
它可以判定这个数据 是否在中间传输的时候被破坏了。
那么这种方法只能够检查出数据的完整性是否破坏
但是它没有办法去知道哪里坏了,对吧?然后甚至没有办法知道怎么判定它这个
数据怎么样去恢复 那么b这一类的要求就是对源数据交换恢复
b这一类的恢复呢,就是说我不光可以判断出数据错了
我还可以有办法去判断这个数据,我们可以对数据做一定的恢复
但是在恢复的时候呢,可能要依赖于源端对我提供一些帮助
提供一些帮助,比如说我在恢复的时候,用户要把 原始数据给我,然后我才可能帮助它做一些恢复
c呢是目的数据交换恢复,那么这种方法呢相比较而言,就是说
我可能不需要依赖于源端给我再次,跟我交互这个源数据的一些信息
原始数据的信息,我自己就根据你传递过来的数据,就可以自身地可以去完成一个恢复的功能
所以从这个意义上来讲,就是说,它也是递进的一个过程嘛
第一个a呢是不需要,只能够做检测,对吧
第二个呢是可以恢复,但是它要依赖于这个源端提供一些信息给它
那么第三种呢就是说这个目标端可以完全自己可以达到一个恢复的能力
第三种就是关于这个处理数据的完整性,就是关于数据在
一端在做计算,或者做存储处理的时候
解密,或者做一些操作的时候,怎么样保证这个数据是不会 出现问题的,不会出现问题的。
这里面其实也有两个级别的要求 第一个呢叫基本回退,基本回退
那么基本回退呢其实从名字上可以看出来 就是说因为我们知道,数据在操作过程当中如果出现
某一个中间断了,那么你不希望它是回到原始位置重新来做这件事情
同学们有过一些经历,比如说你从网上去下载一个很大的一个文件 那么如果下载到80%的时候,突然网断了
那么你下次再去下的时候,你肯定不希望从0开始再来下,你肯定希望从 某一个断点继续往下走,对吧?把剩下的20%下下来
所以这种呢叫基本回退,就是说它可不可以在某一个位置可以回来
我可以从这个位置再继续往下走,这是一种保证完整性的一种做法
第二种是关于这个高级回退,那么高级回退跟
基本回退的一个主要的区别就是基本回退呢就是限定了一些指定的点你可以回退
并不是所有的位置你都可以往回走,对吧
那么高级回退呢,就是说允许对客体当中,列表当中的所有操作 不是指定的某一两个操作才可以回退。
那么这个要求 当然就高了,因为要实现的这种完整性保护,要实现这样一种保护要 做的工作也会更多,对吧?也会更多。
这就是关于这个处理数据的时候 我们要如何做好这个完整性保护的一些,两种级别的一个要求
好,我们总结一下关于 这个系统完整性这一部分,我们刚才讲过的内容
其实重点是从这个完整性,从三个角度 一个是从这个数据存储的时候的完整性
我们应该怎么去保护它,第二个呢是 关于这个数据在传输过程当中它的完整性我们如何保护它
第三个呢是数据在处理的时候,对吧?在处理过程当中,我们如何 进行完整性的保护,如果我们能把这三部分的这个完整性保护都做好
其实我们就可以比较好地说这个系统的完整性是有效地保护了 这一部分内容就讲到这儿,谢谢