python blp模型 估计_第三章 BLP模型(Bell-La Padula模型) | 学步园
是对安全策略形式化的第一个数学模型,是一个状态机模型,用状态变量表示系统的安全状态,用状态转换规则来描述系统的变化过程。
一、模型的基本元素
模型定义了如下的集合:
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=x1x2x3…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模型) | 学步园相关推荐
- python123自定义幂函数_《python语言程序设计》_第三章(数字函数、字符串和对象)...
3.2_常见的Python函数 (1) abs()函数 求绝对值 (2) max(x1,x2,x3,....)求最大值 (3) min(x1,x2,x3,....)求最小值 (4) pow 返回a的b ...
- 管理系统中计算机应用课件,管理系统中计算机应用_第三章课件.ppt
<管理系统中计算机应用_第三章课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<管理系统中计算机应用_第三章课件.ppt>文档请在天天文库搜索 ...
- OpenCV函数简记_第三章数字图像的滤波处理(方框,均值,高斯,中值和双边滤波)
系列文章目录 OpenCV函数简记_第一章数字图像的基本概念(邻域,连通,色彩空间) OpenCV函数简记_第二章数字图像的基本操作(图像读写,图像像素获取,图像ROI获取,图像混合,图形绘制) Op ...
- 《精通数据仓库设计》中英对照_第三章
<精通数据仓库设计>中英对照_第三章 第二部分 模型开发 数据仓库应该表示企业数据的各个方面,这些方面以主题域和业务数据模型开始.我们将在第3章使用一个假想的公司,指导一步一步地开发这两个 ...
- Lync Server 2010的部署系列_第三章 证书、架构、DNS规划
Lync Server 2010的部署系列_第三章 证书.架构.DNS规划 一.证书规划 组件 使用者名称 使用者备用名称条目/顺序 证书颁发机构 (CA) 备注 边缘外部接口 Sip.Giantha ...
- c语言中,x-y,'105',ab,7f8那个是正确的,C语言程序设计_第三章 数据.ppt
C语言程序设计_第三章 数据 * 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 学习运算符应注意 * 基本算术运算符: + - * / % 结合方向: ...
- ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区...
原文:ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区 1 软件安装 1.1 安装前准备 请确认已经收到来自Esri中国( ...
- python第三章上机实践_《机器学习Python实践》读书笔记-第三章
<机器学习Python实践>,第三章,第一个机器学习项目 以往目录:橘猫吃不胖:<机器学习Python实践>读书笔记-第一章zhuanlan.zhihu.com 书中介绍了一 ...
- python赵璐第三章课后答案_第三章 课后习题及参考答案
第三章 课后习题及参考答案 一.选择题 1. 计算机的软件系统一般分为 ( ) 两大部分. A .系统软件和应用软件 B .操作系统和计算机语言 C .程序和数据 D . DOS 和 Windows ...
最新文章
- Linux 线程的创建与同步
- java 画图 怎么清除已经画出来的图形_ppt小技巧——用paint3d画3d演示内容
- [TJOI2018]xor BZOJ5338 可持久trie
- mysql insert 结果集_SELECT查询结果集INSERT到数据表
- boost::tti模块测试函数模板
- C#项目中常用到的设计模式
- 事务对性能影响_MySQL数据库性能优化史诗级大总结
- python数据结构与算法13_python3数据结构与算法
- 关于Union,Struct and Class的大小计算问题
- mysql 并行操作_将MySQL去重操作优化到极致之三弹连发(二):多线程并行执行...
- 关于电子信息/计算机类专业从业者相关的证书与职称
- Impala sql实现同比计算(lag函数)
- Python 学习资源大全中文版
- 点星PBX(DotAsterisk)外线呼入到离线坐席(sip分机未注册)时,如何播放语音提示外线客户坐席不在线
- 07_Numpy渐变图片的生成
- 计算机科学期刊催稿,SOFT COMPUTING
- android intent.action pick,android intent pick
- 在html中 段落标记p中使用属性,HTML的段落标记中,标注文本以原样显示的是标记 P 答案:错...
- MaxCompute常用函数(ODPS常用函数)
- 3dsmax动画三、旋转动画及分离支点。