CFL_BLP模型

2018-12-18 03:22范文钊范宇宁和子郅范修斌崔晓风王福驰
泰山学院学报 2018年6期
关键词:公理结点客体

范文钊,范宇宁,和子郅,范修斌,崔晓风,王福驰

(1.新泰市第一中学,山东 新泰 271200;2.泰山学院 信息科学技术学院,山东 泰安 271000;3.中国科学院软件研究所青岛分部(青岛工业软件研究所),山东 青岛 266114;4.青岛博文广成信息安全技术有限公司,山东 青岛 266235)

CFL[1-13]是基于标识的证书认证体制,它由陈华平将军、范修斌教授、吕述望教授三位博导于2009年发明。

BLP模型是Bell-LaPadula模型[14-21]的简称,它是D.Elliott Bell和Leonard J.LaPadula于1973年创立的一种模拟军事安全策略的计算机操作模型,它是最早、也是最常用的一种计算机多级安全模型。

但是,对于该模型中的赋权结果,该模型自身是无法提供完整性保护的,因此,该模型是需要扩充的。本文给出CFL_BLP模型。给出了CFL_BLP模型的八元组、安全公理以及安全规则。该模型保证了用户的BLP模型的权限的完整性,确保了BLP模型的可信性、安全性。在防范隐蔽信道的基础上,基于CFL_BLP模型可以实现自主可控等级保护高等级安全的信息系统。

操作系统一般由进程管理、内存管理以及文件管理三部分构成。本文的研究结果对构建自主可控的安全操作系统具有重要的理论和实践价值。

1 CFL_BLP模型八元组

定义1 CFL_BLP模型即为t∈T={0,1,2,…,t,…}=N时刻计算机系统SYt的一个八元组,即

SYt=(St.Ot,RA,A,D,Mt,BLP(St,Ot),CFL)

①get:

a)在t时刻的主体集合中添加一个主体,并且给该主体安全级赋值。

b)在t时刻的主体集合中添加一个主体,并且给该主体当前安全级赋值。

c)在t时刻的客体集合中添加一个客体,并且给该客体安全级赋值。

②release:

a)从t时刻BLP模型主体中删除一个主体。

b)从t时刻BLP模型客体中删除一个客体。

③give:扩充Mt某点集合的元素。

④rescind:删减Mt某点集合的元素。

⑤change:更改BLP模型客体安全级,或更改BLP模型主体当前安全级。

⑥create:创建一个新客体添加到当前的树型结构,并给BLP权限赋值。

⑦delete:从树型结构中删除一个客体。

(4)A[14-21]A={e,r,a,w,c},即主体访问客体的访问方式的集合,其中:

①e:execute,执行(neither observation nor alteration)。

②r:only read,只读(observation with no alteration)。

③a:append,只写(alteration with no observation)。

④w:read and write,读写(both observation and alteration)。

⑤c:control,是指某特殊主体用来授予或撤销另一主体对某一客体的访问权限的能力。自主访问矩阵,BLP模型偏序关系都涉及该命令。

(5)D[14-21]:D={yes,no,error,?},系统接收到主体对客体的请求访问操作后,会对请求访问操作进行判定,其即为判定的结果集合,其中:

①yes:表示请求被执行。

②no:表示请求被拒绝。

③error:表示有多个规则适用于这一请求,并拒绝执行。

④?:表示不能处理此请求。

(6)Mt[14-21]:即t时刻自主访问控制矩阵。其中的点是某主体对某客体可操作的集合。它是一个超矩阵。

(7)BLP[14-21]:即CFL_BLP模型公理I和公理II。

注1 C[14-21]:C={c1,c2,…,cq},其中c1>c2>…>cq。一个主体或客体的密级一般分为公开文件、内部文件、秘密文件、机密文件、绝密文件等级。K[14-21]:K={k1,k2,…,kr},,即主客体组织机构隶属关系。例如某单位一处包含一处一科、一处二科、一处三科等。安全级集合定义为F=C×K。

①f(s)=(C(s),K(s)):称其为主体s的BLP模型一般安全级函数。

②f(o)=(C(o),K(o)):称其为客体o的BLP模型安全级函数。

③fc(s)=(Cc(s),Kc(s))称其为主体s的BLP模型当前(current)安全级函数。当前和一般是或者关系,当前、一般与自主访问控制矩阵Mt是并且关系。

(8)CFL[1-13]:包括CFL签名验证,CFL SSL,CFL本地加解密等。CFL数据格式如下:①CFL签名文件:明文||BLP模型权限||自己的证书||签名。文件.cfl_sign。

②CFL加密文件:密文||BLP模型权限||自己的证书||签名。文件.cfl_bcipher。

③CFL信封文件:密文||BLP模型权限||对方的证书||自己的证书||签名。文件.cfl_pcipher。

CFL={签名,验证,公钥加密,公钥解密,对称密码加密,对密码解密}

通过CFL证书中BLP模型权限标识,确定访问主体的访问权限。这种办法通过CFL证书签名支持了BLP模型中的用户权限的信息安全完整性。

2 CFL_BLP模型安全公理

记βt={(st,i,ot,x)},即所有主体和客体可以操作的方式的集合。

记b={(s:x1,x2,…,xn)}为主体s具有访问权限x1、或者x2、…(1≤i≤n) 的客体集合。

公理1[14-21]BLP模型简单安全性(Simple-Security Property)。

注2 可专指不带参数的命令。满足BLP模型简单安全性的主体称为可信主体。

公理2[14-21]BLP模型*特性(*property)。

注3 当同一个主体执行简单安全性时是可信主体,执行*特性时是非可信主体。

公理 3[14-21](自主安全性)(Discretionary-Security)。

公理4[14-21](兼容性公理)(Compatibility)。

注4 H(ot,i)是指客体ot,i子节点的集合。

公理5(CFL公理)(CFL)

(1)CFL签名文件:文件类型标记||明文||BLP模型权限||自己的证书||签名。文件.cfl_sign。

(2)CFL加密文件:文件类型标记||密文||BLP模型权限||自己的证书||签名。文件.cfl_bcipher。

(3)CFL信封文件:文件类型标记||密文||BLP模型权限||对方的证书||自己的证书||签名。文件.cfl_pcipher。

注5时间戳已含在动态CFL证书中。

3 CFL_BLP模型状态转换规则

文献[14-21]有11个BLP模型转换规则。在此基础上,再根据上节五个安全公理,我们给出CFL_BLP模型的转换规则。

规则1(R1) 主体st,i对客体ot,j请求“读”访问:get-read。

条件命题如下:

(1)cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflSt,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

r∈mt,i,j,即主体st,i的访问属性中有对客体ot,j的“读”权限;

fc(st,i)≻f(ot,j),即主体的一般安全级支配客体ot,j的安全级;

则系统执行主体st,i对客体ot,j“读”请求。

(2)cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflSt,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

r∈mt,i,j,即主体的访问属性中有对客体ot,j的“读”权限;

fc(st,i)≻f(ot,j),即主体st,i当前的安全级支配客体ot,j的安全级;

则系统也执行主体st,i对客体ot,j“读”请求。

规则2(R2) 主体st,j对客体ot,j请求“添加”访问:get-append.

条件命题如下:

(1)cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

a∈mt,i,j,即主体st,i的访问属性中有对客体ot,j的“添加”权限;

fc(st,i)≻f(ot,j),即主体st,j的一般安全级被客体ot,j的安全级支配;

则系统执行主体st,i对客体ot,j“添加”请求。

(2)cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflSt,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

a∈mt,i,j,即主体st,i的访问属性中有对客体ot,j的“添加”权限;

fc(st,i)≻f(ot,j),即主体st,i当前的安全级被客体ot,j的安全级支配;

则系统也执行主体st,i对客体ot,j“添加”请求。

规则3(R3) 主体st,i对客体ot,j请求“执行”访问:get-execute。

条件命题如下:

cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

e∈mt,i,j,即主体st,i的访问属性中有对客体ot,j的“执行”权限;

则系统执行主体st,i对客体ot,j“执行”请求。

规则4(R4)主体对客体请求“读写”访问:get-write.

条件命题如下:

(1)cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,i((ot,i))=1,即主体st,i对客体ot,j的CFL签名验证通过;

w∈mt,i,j,即主体st,i的访问属性中有对客体ot,j的“读写”权限;

f(st,i)≻f(ot,j),即主体st,i的一般安全级等于客体ot,j的安全级;

则系统执行主体st,i对客体ot,j“读写”请求。

(2)cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

w∈mt,i,j,即主体st,i的访问属性中有对客体ot,j的“读写”权限;

fc(st,i)≻f(ot,j),即主体st,i的当前安全级等于客体ot,j的安全级;

则系统执行主体st,i对客体ot,j“读写”请求。

规则5(R5) 主体释放对客体访问属性:release-read/execute/write/append。

条件命题如下:

cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cfls,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

BLP←(BLP\{(st,i,ot,j,x)})\{(st,i,ot,j,x)c},即将从主体st,i的BLP模型访问属性中去除对客体ot,j的x访问属性,并保护该集合的完整性。

规则6(R6) 授予另一主体对客体访问属性:give-read/execute/write/append。

条件命题如下:

(1)cflsyt((st,λ))=1,即系统对主体st,λCFL证书签名验证通过;

cflsy,t((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,λ((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

客体ot,j不是层次树的根结点;

主体st,λ对ot,j的父结点ot,j有“读写”权限,即w ∈ mt,λ,k,ot,k=ot,j,则主体st,λ可以授予另一主体st,i对客体ot,j的访问权限-x;

(2)cflsyt((st,λ))=1,即系统对主体st,λCFL证书签名验证通过;

cflsy,t((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

客体ot,j是层次树的根结点,并且主体有权授予其他主体对体ot,j的访问矩阵中的权,即 GLVE(st,λ,ot,j,-x)为真。

规则7(R7) 撤销另一主体对客体访问属性:rescind-read/execute/write/append。

条件命题如下:

(1)cflsyt((st,λ))=1,即系统对主体st,λCFL证书签名验证通过;

cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

客体ot,j不是层次树的根结点,并且主体st,λ的访问属性中有对ot,j的父结点ot,j的“读写”权限,即∈ mt,λ,k,ot,k=ot,j;

主体st,λ可以撤销另一主体st,i对客体ot,j的访问权限;

(2)cflsyt((st,λ))=1,即系统对主体st,λCFL证书签名验证通过;

cflsy,t((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

客体ot,j是层次树的根结点,并且主体st,λ有权撤销其他主体对ot,j的访问矩阵中的权,即 RESIND(st,λ,ot,j,-x)为真。

规则8(R8) 创建一客体(保持兼容性):create-object.

条件命题如下:

cflst,i((o′))=1,即主体st,i对客体o'进行CFL签名;

o′∈b(st,i∶w)或o′∈b(st,i∶a),即主体st,i可以以“读写”权限或“添加”权限访问父结点o′;

并且f(o′)≺f(o′);

则主体st,i可以创建子节点o′,即o′∈H(o′)。

注6o′∈b(st,i∶x)是指自主访问控制矩阵和BLP模型访问控制权限都具有-x的访问权限。对于BLP模型的访问权限,在简单安全性或*特性中有一个满足即可。

规则9(R9) 表示删除一组客体:delete-object-group.

条件命题如下:

cflst,i((o′))=1,即主体st,i对客体o′的CFL签名验证通过;

o′∈b(st,i∶w),即主体st,i对客体o′的父结点o′有“读写”权限并且客体o′不是根结点;

则主体st,可以删除客体o′,以及∀o∈H(o′),即包括o′下面的所有子节点客体。

规则10(R10) 改变主体当前安全级:change-subject-current-security-level。

条件命题如下:

f(st,i)≻l;

则fc(st,i)l。

规则11(R11) 改变客体的安全级:change-object-security-level:

条件命题如下:

(1)cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,i((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

st,i是可信主体;

fc(st,i)≻f(ot,j);

∀st,i∈St,ot,j∈b(st,j∶r,w)⇒f(st,i)≻lu;

ot,j∈H(ot,j),lu≻f(ot,j);

CHABGE(st,i,ot,j,lu)为真,即主体st,i有权改变客体ot,j的安全级到lu;

(2)cflsyt((st,i))=1,即系统对主体st,iCFL证书签名验证通过;

cflst,j((ot,j))=1,即主体st,i对客体ot,j的CFL签名验证通过;

fc(st,i)≻f(ot,j);

∀st,i∈St,ot,j∈b(st,j∶r,w)⇒f(st,j)≻lu;

0t,j∈H(ot,j),lu≻f(ot,j);

CHABGE(st,j,ot,j,lu)为真,即主体st,i有权改变客体ot,j的安全级到lu;

4 结束语

本文在CFL认证体制、BLP模型的基础上,给出了CFL_BLP模型。该模型保证了用户的BLP模型的权限的完整性,确保了BLP模型的可信性、安全性。在防范隐蔽信道的基础上,基于CFL_BLP模型实现自主可控等级保护高等级安全的信息系统。

猜你喜欢
公理结点客体
社会公正分配客体维度与道德情绪的双向互动
LEACH 算法应用于矿井无线通信的路由算法研究
基于八数码问题的搜索算法的研究
浅议犯罪客体
浅议犯罪客体
欧几里得的公理方法
Abstracts and Key Words
浅谈知识产权客体
公理是什么
数学机械化视野中算法与公理法的辩证统一