1、第4章 信息流控制原理,4.1 信息流的格模型 4.2 基于格的多级安全模型 4.3 信息流控制机制综述 4.4 基于执行的信息流控制 4.5 基于编译的信息流控制 4.6 实际系统的信息流机制,概述,信息的泄漏原因: 1、访问控制机制有缺陷 2、缺乏适当的信息流策略 3、缺乏实现信息流策略的适当机制。 信息流控制策略: 1、规定信息的安全类和客体安全类之间的关系 2、不同安全类客体之间信息的流动关系。,4.1 信息流的格模型,格模型是Denning D.E.于1975年在他的博士论文“计算机系统中的安全信息流”中发表的。 格模型是用来描述信息流的信道与策略,但不是指定信息从一个客体流向另一个
2、客体。 格模型也是状态转移类模型:通过格结构的流动策略、状态和状态转换对信息流系统进行形式化。,4.1.1 格与信息流动策略,1、格的定义:如果(L,)是一个偏序集合,L中每一对元素a和b都有最大下界与最小上界,则称二元组(L,)是格。 格中的最大下界和最小上界分别用ab和ab表示。(L,)是一个偏序集合,蕴涵着关系具有以下性质(其中A、B、C是L中的元素): 1)自反的:AA。 2)传递的:若AB且BC,则AC。 3)反对称的:若AB且又有BA,则有A=B。,2、有限格 在保护系统中,主体、客体(包括存储段、变量单元等)的个数是有限的。研究有限格是必要的。有限格还有以下性质: 1)任何有限格
3、都存在最小上界(也称为最大元素,记为HIGH)和最大下界(也称为最小元素,记为LOW)。设L=a1,a2,an,根据最大元素与最小元素的定义有:(1) LOW= a1a2an(2) HIGH= a1a2an 2)且对于任意元素AL有ALOW=A,AHIGH=A,即LOW为运算的幺元素,HIGH为运算的幺元素。,3、线性格与子集格,1)线性格:在N个元素的集合S上,这N个元素之间的关系是一个线性序的关系。对于所有的S中的元素a和b都有:(1)ab=max(a,b) (2)ab=min(a,b)(3)LOW元素对应于位于线性序最低端元素,而HIGH元素对应于最高端元素。,2)子集格:给定一个有限集
4、合S,可以由S上的所有子集集合上的一个非线性排序形成一个子集格。 有序关系对应于子集间的包含关系; 最大元素对应于所有子集的并(),是全集S本身; 最小元素对应于所有子集的交(),是空集 。,图4-1 线性格与子集格,4、格的乘积 格的代数系统形式:设(L,)是一个代数系统,和是集合L上的二元运算。 如果运算和都满足交换律、结合律,并且也满足吸收律(即有a(ab)=a和aab=a),则代数系统(L,)也是格。 例如:设(L,)和(S,)是两个格,定义一个代数系统(LS,+)如下:对于任意的(a1,b1)、(a2,b2) LS有: (a1,b1)(a2,b2)=(a1a2,b1b2) (a1,b
5、1)+(a2,b2)=(a1a2,b1b2),则称 (LS,+)是格(L,)和(S,)的积代数。,两个格的积代数也是一个格,因为在LS上运算和+都是封闭的,并且满足交换律、结合律和吸收律。 图4-2中是图4-1中的两个格的积代数。,图4-2 格的积代数,二、信息流动策略,每一个信息流动策略都可以用一有限格(SC,)描述,SC是安全类的集合。 如果A、BSC,且AB,则说明信息A的安全类低于B的安全类。 根据安全策略的要求,只能允许信息在一个类内或向高级别的类流动,但不允许向下或流向无关的类。,任何一个信息流动策略都可以找到一个格来描述。 如果你给出的流动策略不符合一个格的要求,可以按照格的定义
6、重新把它修改成一个格. 例如,可把图4-3(a)所示非格策略,改变成图4-3(b)的格图。 改变的方法如下:,1、D、E等价,压缩为一个类,2、F、DE无最小上界,可添加一个结点HIGH,3、A、B无最大下界,可添加一个结点Low,4、A、B无最小上界,可添加一个结点AB,4.1.2 系统的信息安全性状态,系统的信息安全性状态(简称为信息状态)是由系统中每一个客体的值和安全性类描述的。 客体可能是一个逻辑结构,诸如一个文件、记录、记录中的字段和程序变元; 或可能是一个物理结构,诸如存储器单元(区)、寄存器(包括地址或指令寄存器)、或一个用户。,符号说明:对于一个客体x,x:代表x的名字与它的值
7、,SC(x):表示它的安全类。xs:强调x在信息状态s中的值SC(xs):强调x在信息状态s中的安全类 客体安全类SC(x)可是一个常量或变元。,静态约束:对于固定类的客体,在x的生命期中,SC(x)都是常数,即对于所有的信息状态s和s都有SC(xs)= SC(xs)。 动态约束:对于可变类的客体,x的安全类SC(x)随着x的内容而变化,即SC(xs)依赖于xs。,信息流的控制机制需要支持固定类和可变类: 对于永久或全局性客体采用固定类, 对临时或局部客体采用可变类。 对用户指派一个固定安全类,称为用户安全类 所有客体都有固定的安全类。 信息流授权的概念: 对于给定的客体x和y,根据信息流的流
8、动策略,信息从x流到y是授权的当且仅当xy; 如果x、y都有可变类,那么SC(y)是它在流动之后的类,SC(x)是它在流动之前的类。,4.1.3 状态转换与信息流,状态转换是由创建和删除一个客体、改变一个客体的值或它的安全类产生的。 设s是在状态s下执行命令序列后到达的状态,表示为:s s。 一般说来可执行语句的执行都会产生信息的流动,并改变系统的状态。 例如,执行交换两个单元内容的过程SWITCH(X,Y)的结果使得X的内容流向Y和Y的内容流向了X。,信息流伴随着改变一个客体值的运算。 一个流xsys是允许的,当且仅当SC(xs)SC(ys),即y的最后类至少和x的初始类一样大。 考虑赋值句
9、 “y := x”。认为存在从x到y的直接流x y。 考虑语句序列 “z := x;y := z”。该序列的执行能够通过中间变元z,以及直接流xz,导致一个间接流xy。,考虑语句“If x=1 then y := 1”。执行本语句之前,y的初始值为0。 当该语句执行后,y中便含有x的确切值,只有一个比特的信息(量)从x传送到y。 由执行if语句而导致的流xy称为隐式流,以区别于由一个赋值语句导致的显式流。 隐式流是指不是由显式赋值形成的但却又存在的暗流。 间接流是由若干个具有传递关系的显式流形成的,,给定在状态s中的一个客体x和在s中的客体y。设H(x|y)是给定ys时xs的暧昧度。H(x|y
10、)是在给定ys时xs的暧昧度。 如果在状态s中y不存在,那么H(x|y)=H(x)。 根据信息论的知识,如果H(x|y)H(x|y),那么在状态s中命令序列的执行导致了从x到y的信息流,记为xsys。 由流xsys传送的信息量是:I(,x,y,s,s)= H(x|y) - H(x|y),由此定义可以看出,信息流总是伴随着改变一个客体值的运算。一个流xsys是允许的,当且仅当SC(xs)SC(ys),即y的最后类至少和x的初始类一样大。 信道容量:设Ps(x)表示在状态s下x的概率分布,流xy的信道容量是“在x的所有可能的概率分布上传送的信息量之和”,即: C(,x,y)=Ps(x) I(,x,
11、y,s,s) 注意,如果y能用n比特表达,任何传送给y的命令序列的信道容量至多是n比特。,例1 考虑赋值句 “y := x”。 假设x是在范围0,15中的整数变元,所有的取值都是等概率的。设pi表示x=i的概率,显然,当0i15时,pi=1/16,其他取值时,pi=0 ; 如果y初始时不存在,那么: H(x|y)=H(x)=pilog2(1/pi)=161/16log216=4 因为在赋值后,x的值能够根据y的值确定,即H(x|y)=0。因此有0-4个比特的信息量传送给y。,请注意,如果x的值是已知的,语句“y:= x”的执行就不导致流xy,这是因为:H(x|y)= H(x|y)=H(x)=0
12、。 如果x和y都被表达为32比特,则容量就是32比特。 如果x和y都是n维向量,且每一个向量元素是32比特,则容量是32n比特。 在这种情况中,当所有的字都是等概率时,就达到了满容量。,例2 考虑语句序列 “z := x;y := z”。 该序列的执行能够通过中间变元z,以及直接流xz,导致一个间接流xy。 但是该序列没有导致流zy,因为y的最后值没有揭示关于z的初始值的任何信息。 其实z只是一个中间变元,不是信息源。,例3 考虑语句“z := x+y”和“z := xy”, 此处“”表示按位模2加。 设x和y都是范围0,15内的整数,且所有的值都是等概率的,因此,H(x)=H(y)=4 对于
13、第一个语句,给定z的值后,x和y不再是等概率的, 例如,z=0蕴涵着x和y都必须为0,z=1蕴涵着x和y两者同时只能有一个为1,另一个为0。这样H(x|z)和H(y|z)都小于4比特,语句的执行减少了x和y的不肯定性。,对于第二个语句“z := xy”,给定z的值,不会减少关于x和y的不肯定性,说明没有从x、y到z的信息流。 任意给定z值,仍可任意选x,y使之满足语句要求。 本例表明,一个客体y仅仅函数地依赖于客体x,不一定产生流xy,产生流的条件是必须能够从y知道关于x的某些东西。,例4 考虑语句“If x=1 then y := 1”。设y的初始值为0。 假设x的取值为0或1,且是等概率的
14、,因此有H(x)=1。 当该语句执行后,y中便含有x的确切值,使得H(x|y)=0。因此只有一个比特的信息(量)从x传送到y。 即使x不限制在0,1范围内,y的值也减少了x的不肯定性(y=1蕴涵着x=1,而y=0蕴涵着x1)。,由执行if语句而导致的流xy称为隐式流,以区别于由一个赋值语句导致的显式流。 隐式流与间接流的区别:间接流是由若干个具有传递关系的显式流形成的,而隐式流则是指不是由显式赋值形成的但却又存在的暗流。 值得注意的是,甚至当x1时,对y的赋值会被跳过,流xy也会出现。 不过,必须有对y赋值的可能性,并且这一赋值必须以x的值为控制条件。否则,y的值不能减少关于x的不肯定性。,例
15、5 考虑语句“if (x=1) and (y=1) then z:= 1”,这里z的初值为0。 假定x与y两者都是0或1,且这两种取值都是等概率的,因此,有H(x)= H(y)=1。 z=1蕴涵着x=y=1,而z=0蕴涵着x=0的可能性是2/3,对y也是类似的。(?)x y z0 0 00 1 01 0 01 1 1,暧昧度H(x|z)和H(y|z)都近似0.7比特, 因此,x和y传递的信息量各近似于0.3比特,传递的总信息量大约是0.6比特。 可以把语句if (x=1) and (y=1) then z:= 1改写成嵌套if语句的等价形式:if x=1 thenif y=1 then z:=
16、 1; 这说明隐式流能够通过若干层嵌套传递出来。,例6 考虑语句“if x8 then y:= 1”,这里y初始化为0。 假定x在0,15范围内有下述概率分布:当0i7时,pi=1/16;当i=8时,pi=1/2;其他情况pi=0。x的不肯定性是:H(x)=81/16log16+1/2log2=2+0.5=2.5 设qj是y=j (j=0或1)的概率,并设qj(i)是给定y=j后x=i的概率,那么有:q0=q1=1/2;q0(i)=1/8 当0i7; q0(i)=0 其他;q1(i)=1 当i=8; q1(i)=0 其他; 所以 H(x|y)=1/281/8log8+1/2log1=1.5 #
17、。,可以看出x传送了1个比特的信息量给y,是否能够传送更多一些信息量呢?再考虑更一般化的语句“ if f(x) then y:= 1 ”。 设f(x)为真的概率是1/2,pi表示x=i的概率,y初始化为0,而H(x|y)=H(x),因此有以下概率分布:q0=q1=1/2;q0(i)=2pi 当f(i)是假; q0(i)=0 其他;q1(i)=2pi 当f(i)是真; q1(i)=0 其他;,因此有: H(x|y)=1/2q0(i)log(1/q0(i)+1/2q1(i)log(1/ q1(i)=1/22pilog(1/2pi)=pilog(1/2pi)=pilog(1/pi) pilog2=H
18、(x) 1 x还是只传送了1比特的信息量给y。 如果f(x)为真的概率不是1/2,传送的信息量将小于1比特。 这是很正常的,因为y的取值可以用1比特表达,因此其信道容量至多是1比特,它不可能含有多于1比特的有关x的信息。,4.1.4 格的性质的应用,1、任何程序语句引起的信息流的安全性都可用格描述。 简单赋值语句、单个语句可以 复杂程序单元,例如复合语句、条件语句、过程、函数甚至程序,也都可以应用格的性质去检验信息流的安全性。 2、还可以利用格的性质去简化支持机制的实现复杂性。,1、用子集格描述程序中的流策略,假定一个程序有: m个输入参数 x1,x2, ,xm n个输出参数 y1,y2, ,
19、yn。 Program example(in: x1,x2, ,xm, out: y1,y2, ,yn),如果规定: 每个输入参数xi的安全类SC(xi)=xi,是一个单元素集合; 每一个输出yj的类SC(yj)=xi| xiyj 是允许的。 应用SC(xi)和SC(yj),以及X=x1, x2, , xm中的某些子集,就可以构造一个子集格来描述程序中的流策略。,例1 一个程序有3个输入参数x1、x2和x3,有两个输出参数y1和y2。假定y1依赖于x1和x2,且流x1y1,x2y1都是允许的;y2依赖于x1和x3,且流x1y2,x3y2都是允许的。那么该程序的信息流策略可以用图4-4中的子集格
20、表示。,图4-4 子集格的应用,2、关系的传递性的应用,对于流序列x= z0z1z2zn-1zn=y,如果其中每一个直接流zi-1zi(1in)都是允许的,那么任何间接流也是允许的。这是因为下面关系序列 SC(x)=SC(z0)SC(z1)SC(z2)SC(zn-1) SC(zn)=SC(y)中蕴涵着SC(zi)SC(zi+j) ,其中0ii+jn。所以实施机制仅需要证明直接流安全即可。 应用到程序:如果执行语句序列s1,s2,sn是授权的,那么执行序列中的每一个语句也是授权的。依此可以极大地简化隐式流的证明。,例2 考虑语句序列z:= 0;if x=1 then z:= 1; y:= z;
21、这里x的初始值是0或1。这一序列的执行隐含地从x传送信息到z,然后直接地从z传送到y。根据关系的传递性,间接流xy的安全性自动地从流xz和流zy的安全性得出(参见图4-5)。,3、最小上界运算的应用,如果客体x1,x2,xn和y有SC(x1)SC(y),SC(x2)SC(y),SC(xn)SC(y), 那么存在唯一的类SC(x)= SC(x1)SC(x2)SC(xn)使得SC(x)SC(y)成立。 这意味着如果单个关系SC(x)SC(y)成立,则流x1y,x2y,xny的集合都是授权的。 显然利用最小上界运算可以简化证明机制的设计。,最小上界运算的应用示意图,SC(x)= SC(x1)SC(x
22、2)SC(xn),例3 考虑赋值语句“y:= x1+x2+x3”安全性的证明。假设编译器具有检查程序安全性的功能,当分析该语句右部表达式时,编译器能够形成计算x的安全类的计算式SC(x)= SC(x1) SC(x2) SC(x3),当编译器分析完整个语句时证明关系SC(x)SC(y)是否成立。通过编译器在编译时刻检查程序语句安全性的方式称为基于编译的机制。,如果等到执行时刻再验证语句的安全性,则称为基于执行的机制。当采用基于执行的机制时,当右部表达式被计算的时候,执行时刻的实施机制能够形成SC(x),并在赋值给y时检查关系SC(x)SC(y)是否成立。,最小上界运算能够解释为“指定结果y=f(
23、x1,x2,xn)的安全类的类组合运算”。 对可变安全类而言,SC(x)= SC(x1) SC(x2) SC(xn)是能够赋值给y,使得流xiy是安全的最小类。,4、最大下界运算的应用,如果对客体x和y1,y2,yn,有SC(x)SC(y1),SC(x)SC(y2),SC(x)SC(yn),那么存在唯一的安全类SC(y)= SC(y1)SC(y2)SC(yn)使得SC(x)SC(y)成立。 这就意味着,如果单一关系SC(x)SC(y)成立时,流xy1,xy2,xyn的集合是授权的。 因此,利用最大下界运算也可以简化证明机制的设计。,最大下界运算的应用示意图,SC(y)= SC(y1)SC(y2
24、)SC(yn),例4 证明下述if语句的安全性(如果应用基于编译的机制)if x then beginy1:= a;y2:= b;y3:= cend 当分析该语句时,编译器能够形成 SC(y)= SC(y1)SC(y2)SC(y3);然后通过检查SC(x)SC(y)是否成立,如果成立,就说明隐式流xyi(i=1,2,3)是安全的。,5、LOW类的应用,假定规定LOW安全类是整数或字符等常量。因此下述各语句的执行总是授权的:x := 1;x := x+1;和x := “x的安全类与LOW类进行运算不改变x的安全类”; 因为LOW是运算的幺元(即最小元素),表达式“x+1”的安全类是SC(x)LO
25、W=SC(x)。,4.2 基于格的多级安全模型,本节要介绍的几个以格理论为基础的多级信息流安全模型,包括: 军用安全格模型 Bell-LaPadula模型 Biba模型 这些模型实际上是通用信息流格模型的特例。,4.2.1 军用安全模型,在军事信息系统中,对用户和敏感信息的管理与控制原则: 遵照最小特权原理(Least Privilege):仅赋予用户为完成任务所需的最小原则; “知其所需”(Need to Know):使用户为完成任务而必须知道的最少信息。,在军事信息系统中信息的敏感级通常划分为 4:绝密,3:机密,2:秘密和1:无密四个等级。例如:密级 信息范围绝密 作战计划绝密 编制情况
26、,作战计划,装备清单机密 训练情况,装备清单秘密 思想状况无密 文艺活动,军民共建,英雄事迹,人的权限也是划分等级的;权限的等级与信息范围的敏感级之间有对应关系。例如 主体 权限等级 信息范围 司令员 4 全部信息; 参谋长 4 编制情况,作战计划, 训练情况,装备清单,后勤供应; 作战部长 3 编制情况,作战计划,装备清单,后勤供应; 宣传处长 2 思想状况,文艺活动,军民共建, 英雄事迹;,针对军事信息系统中对信息的控制要求,可以利用两个格的乘积描述这种多级安全需求, 其中一个是由绝密、机密、秘密和无密四个信息安全类组成的线性格, 另一个是由所有信息主题集合的子集组成的子集格。 在该乘积格
27、中,每个结点形成一个安全类(访问类),可用二元组(R,C)表示,其中R表示权限(如职权),它与敏感级对应;C表示信息范围,是信息主题的集合。,对安全类(R,C)的含义可以有两种解释: 一是针对系统中的信息分类而言,C表示信息范围,R表示该范围的密级; 二是针对系统中主体的权限等级而言,C表示某个主体有权知道的信息范围,R表示职权等级。,假定两个安全类分别为(R1,C1)和(R2,C2),则在乘积格中以下结论成立: (1)(R1,C1)(R2,C2)当且仅当R1R2,C1C2;规定了安全类之间信息流的关系,只能允许信息在一个类内或向高级别的类流动,但不允许向下或流向无关的类。 (2)(R1,C1
28、)(R2,C2)=(max(R1,R2), C1C2);最小上界的安全类。 (3)(R1,C1)(R2,C2)=(min(R1,R2), C1C2);最大下界的安全类。 (4)LOW=(1, )=(无密, );格中最小安全类(幺元)。 (5)HIGH=(3,信息主题全集)=(绝密,信息主题全集);格中最大安全类。,在(1)中规定的安全类之间的关系,用于限定一个主体可能访问的信息的敏感性和内容。 它表明一个主体可以访问一个目标,仅当该主体的许可级别至少和该信息的敏感级别一样高,且该主体需要知道该信息范围中所涉及到的所有信息主题。,这个模型体现了在军事与政府部门内部信息的敏感性要求和“知其所需”的
29、要求,敏感性要求又称为等级性要求; “知其所需”要求则是非等级性的,它可能包括属于不同敏感级别的信息主题; 利用敏感级组成的线性格与信息主题的子集格的乘积格恰当地解决了这些系统中的安全需求与信息流控制的安全策略。,4.2.2 Bell-Lapadula安全模型,Bell-LaPadula安全模型是最早提出的安全模型之一,也是受到公认和最著名的多级安全模型。 它是由Bell, D.E和La Padula,L.J在1973年共同提出来的,目的是将遵守军事安全策略的计算机系统操作模型化。 Bell-LaPadula安全模型通常简称为BLP模型,该模型已经成为多级安全策略的代名词。,每个访问类包括一个
30、敏感级与一个信息类,访问类集合实际上是由敏感级集合与信息类集合的乘积形成的; 访问类之间的关系定义为偏序关系,描述访问类之间的支配关系,当然两个访问类之间也可能存在不可比的关系。 为了使这种偏序关系满足格的要求,又增加了两个性质和两个重要的访问类。,这两个重要性质是:对于给定的任意两个访问类A和B(不管它们是否可比): (1)在由A与B支配的所有访问类的集合中,存在唯一的最大下界(GLB),它受所在集合中所有其他访问类的支配。 (2)在由A与B支配的所有访问类的集合中,存在唯一的最小上界(LUB),它支配集合中所有其他访问类。,BLP模型的安全策略包括两部分,强制安全策略与自主安全策略。 自主
31、策略是用访问矩阵表示的,权限包括读、写、执行、附加以及控制等模式,其中控制模式是表示主体是否可以将它对某客体的访问权转授给其他主体。,强制性策略包括两条重要特性:简单安全性与*-特性。 该策略是通过比较主体与客体的访问类属性来控制主体对客体的访问,当对主体分配访问权的时候,系统不仅要进行自主检验还要进行强制检验。,假设安全系统中包括主体集合S和目标集合O,对于S中的每个主体s和O中的每个目标o,存在一个固定的敏感级T(s)和T(o)。 敏感级根据关系排序,敏感级可能形成格,但模型可以允许更低的限制条件要求。 简单安全特性(Simple Security Property) 仅当T(O)T(s)
32、时,主体s对目标o才有读访问权。 *-特性(*-Property) 仅当T(o)T(p)时,对目标o有读访问权的主体s可以对目标p有写访问权。,第一个性质说明在安全系统中,具有读某目标访问权的用户的敏感级必须至少和该目标的敏感级一样高。 第二个性质说明主体读到级别为A的信息后,不能把它写到比级别A低的其他目标上。 这个性质可以防止高级别主体把敏感级别高的数据向下传递(下写)给级别较低的目标。,BLP模型的图示,BLP模型还定义了大约20个转移函数(也称为操作规则),这些函数可以分为三种类型: (1)修改访问矩阵类, (2)请求并获得对某客体的访问权类和 (3)生成与删除客体类。 这些函数都经过
33、了证明,确保它们的执行能够保持系统的安全性。,除了对强制安全策略进行校验外,转移函数还要遵守一个相当严格的平稳性约束。 这种约束是用于防止客体的访问类被修改,是非常必要的。 因为如果客体的访问类一旦能够被修改,那么已对客体分配的访问操作就不满足安全状态的定义了。,BLP模型是以multics操作系统为背景开发的,对模型的功能(包括函数)给出了multics式的证明与解释。 当把BLP模型应用到其他系统时,需要把这些已证明的函数映射到新系统中,并应该给出同样的证明,这往往很难做到。,4.2.3 Biba安全模型,Biba模型重点从保护系统中信息完整性的角度研究系统的安全问题,模型给出了防止非法修
34、改数据的描述方法。 Biba模型是仿造Bell-Lapadula模型构造的。在该模型中定义了完整性类结构,每个完整性类包括完整性级和信息类(即受保护的对象)组成, 完整性类集合实际上是由完整性级集合与信息类集合的乘积形成的。 完整性级对应于BLP模型中的敏感级。,仿造BLP模型,Biba模型在完整性类之间定义了关系,描述完整性类之间的支配关系,并使它符合偏序关系和格的要求。 主体与客体按照“完整性级”(与Bell-Lapadula模型中的敏感级对应)的分类方案排序,它们的完整性级分别记作I(s)和I(o)。,简单完整性特性和完整性*-特性。对它们的描述如下:简单完整性特性(Simple Int
35、egrity Property)如果主体s可以修改目标o,则I(s)I(o)。完整性*-特性(Integrity *-Property)如果主体s对具有完整性级I(o)的目标有读访问权,则对于目标p,仅当I(o)I(p)时,s才可以对目标p有写访问权。,这两条性质严格防止了低完整性级别的主体对信息的修改。 在实际工作中,一个不可信赖的人修改的文件也是不可信赖的,Biba模型就是防止这种情况的发生。,Biba模型注重信息的完整性,防止低完整性信息破坏高完整性信息,忽略了信息的保密性,Bell-Lapadula模型则相反。 实际系统中往往需要同时兼顾完整性和保密性两个方面,目前尚没有同时满足这两者要求的统一的形式模型。,本课小结,介绍了格的概念与性质 用格关系规范信息流安全策略 介绍了3种多级信息流安全模型 军用安全模型 BLP模型 Biba模型,