是对安全策略形式化的第一个数学模型,是一个状态机模型,用状态变量表示系统的安全状态,用状态转换规则来描述系统的变化过程。

一、模型的基本元素

模型定义了如下的集合:

S={s1,s2,…,sn}主体的集合,主体:用户或代表用户的进程,能使信息流动的实体。

O={o1,o2,…,om}客体的集合,客体:文件、程序、存贮器段等。(主体也看作客体SO)

C={c1,c2,…,cq}主体或客体的密级(元素之间呈全序关系),c1≤c2≤…≤cq.

K={k1,k2,…,kr}部门或类别的集合

A={r,w,e,a,c}访问属性集,其中,r:只读;w:读写;e:执行;a:添加(只写);c:控制。

RA={g,r,c,d}请求元素集

g:get(得到),give(赋予)

r:release(释放),rescind(撤销)

c:change(改变客体的安全级),create(创建客体)

d:delete(删除客体)

D={yes,no,error,?}判断集(结果集),其中

yes:请求被执行;

no:请求被拒绝;

error:系统出错,有多个规则适合于这一请求;

?:请求出错,规则不适用于这一请求。

μ={M1,M2,…,Mp}访问矩阵集,其中元素Mk是一n×m的矩阵,Mk的元素MijA。

F=CS×CO×(PK)S×(PK)O,其中,

CS={f1|f1:S→C}              f1给出每一主体的密级;

CO={f2|f2:O→C}             f2给出每一客体的密级;

(PK)S={f3|f3:S→PK} f3给出每一主体的部门集;

(PK)O={f4|f4:O→PK}f4给出每一客体的部门集。

其中,PK表示K的幂集(PK=2K)。

F的元素记作f=(f1,f2,f3,f4),给出在某状态下每一主体的密级和部门集,每一客体的密级和部门集,即主体的许可证级(f1,f3),客体的安全级(f2,f4)。

二、系统状态

V=P(S×O×A)×μ×F是状态的集合,状态v=(b,M,f)用有序三元组表示,其中

bS×O×A,是当前访问集。

M是访问矩阵,它的第i行,第j列的元素MijA表示在当前状态下,主体Si对客体Oj所拥有的访问权限。

f=(f1,f2,f3,f4),其中,f1(s)和f3(s)分别表示主体s的密级和部门集,f2(s)和f4(s)分别表示客体O的密级和部门集。

三、安全特性

⑴自主安全性

状态v=(b,M,f)满足自主安全性,当且仅当对所有的(si,oj,x)∈b,有x∈Mij。

⑵简单安全性

状态v=(b,M,f)满足简单安全性,当且仅当对所有的(s,o,x)∈b,有

(i)x=e或x=a或x=c

或(ii) (x=r或x=w)且(f1(s)≥f2(o),f3(s)f4(o))。

S

O

e,c,a

S

(高)

O

(低)

r,w

⑶*—性质

S

O1

(高)

O2

(低)

a

r

S

O1

(高)

O2

(低)

a

w

状态v=(b,M,f)满足*—性质,当且仅当对所有的s∈S,若o1∈b(S:w,a),o2∈b(S:r,w),则f2(o1)≥f2(o2),f4(o1)f4(o2),其中符号b(S:x1,…,xn)表示b中主体s对其具有访问特权xi(1≤i≤n)的所有客体的集合。

解释:

S

O1

(高)

O2

(低)

w

r

S

O1

O2

w

w

(级别)

(级别)

相等

一个状态v如果满足上述三条性质,那么v才是安全状态。

四、请求

R=S+×RA×S+×O×X请求集(不是请求元素集),它的元素是一个完整的请求。其中S+=S{},X=A{}F。

R中的元素是一个五元组,代表一次请求或一个操作。

T={1,2,…,t,…}离散时刻的集合(标识)。用作请求序列,结果序列和状态序列的下标;

X=RT={x|x:T→R},其中元素x可表示为x=x1­x2x3…xt…是一个请求序列,每一时刻有一请求,构成一个请求序列,因此X是请求序列的集合;

Y=DT={y|y:T→D},其中元素y=y1y2y3…yt…是一个结果序列,每一时刻的请求导致一个判断(或结果),构成一个结果序列,Y是结果序列的集合;

Z=VT={z|z:T→V},其中元素z=z1z2z3…zt…是一个状态序列,每一zt∈V,表示时刻t时系统的状态。Z是状态序列的集合

五、状态转换规则

系统状态的转换由一组规则定义,一个规则P定义为:R×V→D×V。其中:R是请求集,D为判断集,V是状态集。

也就是说,P规定对于给定的一个状态和一个请求,系统产生一个判断和下一个状态,只有当D的取值为“yes”时,请求才被执行,状态才发生转换。

BLP模型定义了十条基本规则(后来又有所扩充):

规则1~规则4分别用于主体请求对客体的读(r),添加(a),执行(e)和写(w)的访问权。(φ,g,si,oj,r), (φ,g,si,oj,a), (φ,g,si,oj,e), (φ,g,si,oj,w)。

规则5用于主体释放它对某客体的访问权(包括r,或a,或e,或w)。(φ,r,si,oj,x)

规则6和规则7分别用于一个主体授予和撤销另一个主体对某客体的访问权。

(sλ,g,si,oj,r)     (sλ,r,si,oj,r)

规则8用于改变静止客体的密级和类别集。(φ,c,φ,oj,f*)

规则9和规则10分别用于创建和删除(使之成为静止)一个客体。

(φ,c,sj, oj,e)     (φ,d, si,oj,φ)

(φ,c, si,oj,φ)

规则1:主体si请求得到对客体oj的r访问权

get-read P1(Rk,v)

if σ1φ or γg or xr or σ2=φ then

P1(RK,v)=(?,v)

if rMij or (f1(si)

then P1­(RK,v)=(no,v)

if ={o|ob(si:w,a) and [f2(oj)>f2(o) or f4(oj) f4(o)]}= φ

then P1­(RK,v)=(yes,v*=(b{(si,oj,r)},M,f))

else P1­(RK,v)=(no,v)

end

规则2:主体si请求得到对客体oj的a访问权

get-append:P2(RK,v)

如果σ1φ or γg or xa or σ2=φ,则P2(RK,v)=(?,v)

如果aMij,则P2(RK,v)=(no,v)

如果={o|ob(si:r,w) and [f2(oj)

则P2(RK,v)=(yes,v*=(b{(si,oj,a)},M,f))

否则P2(RK,v)=(no,v)

end

规则3:主体si请求得到对客体oj的e访问权

get-execute:P3(RK,v)

if σ1φ or γg or xe or σ2=φ then P3(RK,v)=(?,v)

if eMij then P3(RK,v)=(no,v)

else P3(RK,v)=(yes,v*=(b{(si,oj,e)},M,f))

end

规则4:主体si请求得到对客体oj的w访问权

get-write:P4(RK,v)

if σ1φ or γg or xw or σ2=φ then P4(RK,v)=(?,v)

if wMij or [f1(si­)

then P4(RK,v)=(no,v)

if ={o|ob(si:r) and [f2(oj­)

{o|ob(si:a) and [f2(oj­)>f2(o) or f4(oj­) f4(o)]}

{o|ob(si:w) and [f2(oj­)f2(o) or f4(oj­)f4(o)]}=φ

then P4(RK,v)=(yes,v*=(b{(si,oj,w)},M,f))

else P4(RK,v)=(no,v)

end

规则5:主体si请求释放对客体oj的r或w或e或a访问权

release-read/write/append/execute:P5(RK,v)

if (σ1φ) or (γr) or (xr,w,a and e) or (σ2=φ)

then P5(RK,v)=(?,v)

else P5(RK,v)=(yes,v*=(b-{(si,oj,x)},M,f))

end

规则6:主体sλ请求授予主体si对客体oj的r或w或e或a访问权

give-read/write/append/execute P6(RK,v)

if (σ1S) or (γg) or (xr,w,a and e) or (σ2=φ)

then P6(RK,v)=(?,v)

if xMλj or cMλj then P6(RK,v)=(no,v)

else P6(RK,v)=(yes,(b,M[x]ij,f))

end

规则7:主体sλ请求撤销主体si对客体oj的r或w或e或a访问权

rescind-read/write/append/execute:P7(RK,v)

if (σ1S) or (γr) or (xr,w,a and e) or (σ2=φ) then

P7(RK,v)=(?,v)

if xMλj or cMλj then P7(RK,v)=(no,v)

else P7(RK,v)=(yes, (b-{(si,oj,x)},M [x]ij,f))

end

规则8:改变静止客体的安全级

change-f:P8(RK,v)

if (σ1φ) or (γc) or (σ2φ) or xF

then P8(RK,v)=(?,v)

if f1 or f3 or [(oj)f2(oj) or (oj)f4(oj) for jA(m)]

注:A(m)表示活动客体的集合

then P8(RK,v)=(no,v)

else P8(RK,v)=(yes,(b,M,f*))

end

规则9:主体s请求创建客体oj

create-object:P9(RK,v)

if σ1φ or γc or σ2=φ or (xe and φ) then

P9(RK,v)=(?,v)

if jA(m) then P9(RK,v)=(no,v)

if x=φ then P9(RK,v)=(yes,(b,M[{r,w,a,c}]ij,f))

else P9(RK,v)=(yes,(b,M[{r,w,a,c,e}]ij,f))

end

规则10:主体s请求删除客体oj

delete-object:P10(RK,v)

if σ1φ or γd or σ2=φ or xφ then

P10(RK,v)=(?,v)

if cMij then P10(RK,v)=(no,v)

else P10(RK,v)=(yes,(b,M [{r,w,a,c,e}]ij,1≤i≤n,f))

end

六、系统的定义

1.R×D×V×V={(rK,dm,v*,v) | rKR,dmD,v*,vV}

即,任意一个请求,任意一个结果(判断)和任意两个状态都可组成一个上述的有序四元组,这些有序四元组便构成集合R×D×V×V。

2.设ω={P1,P2,…Ps}是一组规则的集合,定义W(ω)R×D×V×V.

⑴(rk,?,v,v)W(ω) iff对每个i,1≤i≤s,Pi(rk,v)=(?,v)

⑵(rk,error,v,v)W(ω) iff存在i1,i2,1≤i1,i2≤s,使得对于任意的v*V有Pi1(rk,v)(?,v*)且Pi2(rk,v)(?,v*)

python blp模型 估计_第三章 BLP模型(Bell-La Padula模型) | 学步园相关推荐

  1. python123自定义幂函数_《python语言程序设计》_第三章(数字函数、字符串和对象)...

    3.2_常见的Python函数 (1) abs()函数 求绝对值 (2) max(x1,x2,x3,....)求最大值 (3) min(x1,x2,x3,....)求最小值 (4) pow 返回a的b ...

  2. 管理系统中计算机应用课件,管理系统中计算机应用_第三章课件.ppt

    <管理系统中计算机应用_第三章课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<管理系统中计算机应用_第三章课件.ppt>文档请在天天文库搜索 ...

  3. OpenCV函数简记_第三章数字图像的滤波处理(方框,均值,高斯,中值和双边滤波)

    系列文章目录 OpenCV函数简记_第一章数字图像的基本概念(邻域,连通,色彩空间) OpenCV函数简记_第二章数字图像的基本操作(图像读写,图像像素获取,图像ROI获取,图像混合,图形绘制) Op ...

  4. 《精通数据仓库设计》中英对照_第三章

    <精通数据仓库设计>中英对照_第三章 第二部分 模型开发 数据仓库应该表示企业数据的各个方面,这些方面以主题域和业务数据模型开始.我们将在第3章使用一个假想的公司,指导一步一步地开发这两个 ...

  5. Lync Server 2010的部署系列_第三章 证书、架构、DNS规划

    Lync Server 2010的部署系列_第三章 证书.架构.DNS规划 一.证书规划 组件 使用者名称 使用者备用名称条目/顺序 证书颁发机构 (CA) 备注 边缘外部接口 Sip.Giantha ...

  6. c语言中,x-y,'105',ab,7f8那个是正确的,C语言程序设计_第三章 数据.ppt

    C语言程序设计_第三章 数据 * 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 学习运算符应注意 * 基本算术运算符: + - * / % 结合方向: ...

  7. ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区...

    原文:ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区 1 软件安装 1.1 安装前准备 请确认已经收到来自Esri中国( ...

  8. python第三章上机实践_《机器学习Python实践》读书笔记-第三章

    <机器学习Python实践>,第三章,第一个机器学习项目 以往目录:橘猫吃不胖:<机器学习Python实践>读书笔记-第一章​zhuanlan.zhihu.com 书中介绍了一 ...

  9. python赵璐第三章课后答案_第三章 课后习题及参考答案

    第三章 课后习题及参考答案 一.选择题 1. 计算机的软件系统一般分为 ( ) 两大部分. A .系统软件和应用软件 B .操作系统和计算机语言 C .程序和数据 D . DOS 和 Windows ...

最新文章

  1. Linux 线程的创建与同步
  2. java 画图 怎么清除已经画出来的图形_ppt小技巧——用paint3d画3d演示内容
  3. [TJOI2018]xor BZOJ5338 可持久trie
  4. mysql insert 结果集_SELECT查询结果集INSERT到数据表
  5. boost::tti模块测试函数模板
  6. C#项目中常用到的设计模式
  7. 事务对性能影响_MySQL数据库性能优化史诗级大总结
  8. python数据结构与算法13_python3数据结构与算法
  9. 关于Union,Struct and Class的大小计算问题
  10. mysql 并行操作_将MySQL去重操作优化到极致之三弹连发(二):多线程并行执行...
  11. 关于电子信息/计算机类专业从业者相关的证书与职称
  12. Impala sql实现同比计算(lag函数)
  13. Python 学习资源大全中文版
  14. 点星PBX(DotAsterisk)外线呼入到离线坐席(sip分机未注册)时,如何播放语音提示外线客户坐席不在线
  15. 07_Numpy渐变图片的生成
  16. 计算机科学期刊催稿,SOFT COMPUTING
  17. android intent.action pick,android intent pick
  18. 在html中 段落标记p中使用属性,HTML的段落标记中,标注文本以原样显示的是标记 P 答案:错...
  19. MaxCompute常用函数(ODPS常用函数)
  20. 3dsmax动画三、旋转动画及分离支点。

热门文章

  1. 每日一皮:你们都是怎么解压的?
  2. 说了低调...这下百度知道了...
  3. 推荐一个学算法的 GitHub 项目
  4. 10 个牛逼的单行代码编程技巧,你会用吗?
  5. 面试5家公司,我发现这80道面试题最好用,直中要害
  6. 最新最全国内外架构开源技术干货资料
  7. 一文学会Maven的版本发布
  8. 计算机基础16秋在线作业,北大16秋《计算机基础与应用-第二组》在线作业.doc
  9. pytorch中lstm学习
  10. CBNetV2:北大提出的复合主干网络,COCO成绩60.1%