首页 理论教育 静态信息客体与安全标记绑定算法研究成果

静态信息客体与安全标记绑定算法研究成果

时间:2023-10-26 理论教育 版权反馈
【摘要】:(一)安全标记文档用数据树表示的静态信息客体,与安全标记绑定后,将形成安全标记文档,其完整性、合法性均由数字签名保证。客体安全标记文档是一个八元组,XOLabel=。CL为安全级集合,用于表示主体安全等级和客体敏感程度;CK为范畴集,是指主体能够活动的领域,或者是指客体作用的领域。本书给出的客体安全标记文档不同于《面向XML文档的细粒度强制访问控制模型》、A proposal for an XML confidentiality label and related binding ofmetadata to data objects和Kung.System and techniques to bind information objects to security labels。

静态信息客体与安全标记绑定算法研究成果

(一)安全标记文档

用数据树表示的静态信息客体,与安全标记绑定后,将形成安全标记文档,其完整性、合法性均由数字签名保证。

客体安全标记文档是一个八元组,XOLabel=(Nrs,Dunit,Delem,Dattr,CL,CK,Subf,Lfun)。 其中:

Nrs为客体资源标识,客体命名空间可以重叠。

Dunit为数据单元集,一个客体资源是由若干数据单元组成的,即O=Σdi,di∈Dunit;Delem为数据元素集,一个数据单元是由数据元素组成的,即di=Σelk,elk∈Delem;Dattr为数据属性集,属性是元素自身固有的性质,是元素在某一方面质的表现,一个元素通常可表现出多种属性,即elk=(att1,att2,…,atti),atti∈Dattr。 Dunit,Delem和 Dattr的集合等于客体数据树中的节点集合,即 V={Dunit,Delem,Dattr}。

CL为安全级集合,用于表示主体安全等级和客体敏感程度;CK为范畴集,是指主体能够活动的领域,或者是指客体作用的领域。

Subf是一个二元关系,若 di,dj∈Dunit,则 Sub(f dj,di)表示数据单元dj是数据单元 di的子单元;若 eli,elj∈Delem,则 Sub(f eli,elj)表示元素 eli是元素elj的子元素。

Lfun是一个二元关系,令Tag=(CL,CK),其中Tag是安全标签,为安全级别和范畴的二元对,Lfun⊆Tag×(Dunit∪Delem∪Dattr), 若 di∈Dunit, 或者eli∈Delem,或者 atti∈Dattr,那么(tagi,d)i(tagj,el)j(tagk,attk)表示 di的安全标签tagi,elk的安全标签tagj以及attk的安全标签tagk

本书给出的客体安全标记文档不同于《面向XML文档的细粒度强制访问控制模型》、A proposal for an XML confidentiality label and related binding ofmetadata to data objects和Kung.System and techniques to bind information objects to security labels。前者提出的XML文档模型是将安全标记作为XML文档的属性,实施强制访问控制的对象为XML文档;后两者给出的保密性标记尽管也用XML进行描述,但其描述的内容是客体元数据,保密性标记面向的是整个客体,不能实现细粒度的访问控制。为了严格控制对客体的访问,本书定义了以下四方面约束:

第一,在安全标记文档中,数据单元、元素和属性间,若具有包含关系,则属性安全级别不小于元素安全级别,元素安全级别不小于单元安全级别。

第二,在安全标记文档中,若两个属性具有推导关系atti→attj,则须CL(attj)=CL(att)i

第三,在安全标记文档中,若 atti和 attj→attk,atti→attk,attj→attk,则attk级别不小于atti和attj中最大的安全级别。

第四,在安全标记文档中,若atti和attj→attk,主体s的安全级别不小于atti和attj的安全级别,且s小于attk的安全级别,则s对atti,attj的访问是互斥的。

(二)客体安全标记文档生成

通过遍历客体数据树图,在既定数据节点安全标记的前提下,为DTG中的数据树节点分配安全标记,生成具有树组织的安全标记文档。

input:DTG//data tree graph

Stag:set of tags that belong to node of data tree.

Output:xsldoc(the xml doc about secure label of dt)

1.n=|DTG|;

2.dta=bi_dt(DTG->dt1);//获得DTG中第一个树,转换成二叉树

3.for i=2 to n

4.begin

5.dtb=bi_dt(DTG->dti);

6.dta=dt_com(dta,dtb,λ);//依据子树关系合并(www.xing528.com)

7.endfor

8.label_doc=dt_preordertraversal(dta);//生成标记文档

9.dt_preordertraversal(dt){//前序遍历

10.if(dt<>null)then{

11.doc=label_bind(dt.name);

12.dt_preorder(dt->lchild);//the left child tree of dt;

13.dt_preorder(dt->rchild);//the right child tree of dt;}

14.doc=doc_finish(doc);

15.return doc;}

16.label_bind(name){

17.write <name> to doc;

18.write <secureattribute> to label_file;

19.write <level> level.value</level> to label_file;

20.write<domain>domain.value</domain> to label_file;

21.push </name> stack;//enter a stack;}

22.doc_finish(name){

23.while(stack<>null){

24.pull from stack;//emerge from a stack;

25.write</name> to xml file;}

26.return label_doc;

安全标记文档的生成主要包括三部分:第一部分是数据图DTG中的数据子树进行合并,便于数据森林的遍历;第二部分是DTG数据森林的遍历;第三部分则是在数据树遍历中,进行客体数据单元、元素、属性与安全标记的绑定,最后形成具有树形结构组织的安全标记文档。该过程实现复杂度与客体数据树的节点个数相关,即O(n)。

为了确保客体与安全标记的一致性,实现安全标记文件与客体的关联,笔者从系统实施层面,采用系统文件链接方式维护安全标记文件与客体的对应关系。当客体被复制或者通过移动存储介质进行拷贝时,系统会依据链接关系将安全标记文件与客体一起进行拷贝。当进行客体的网络访问操作时,系统同样会依据链接关系,将安全标记文件随客体进行传输,到达对方后,再依据主体安全标记提取主体能够获取的客体片段,同时约简安全标记文件,并保持安全标记与客体片段的链接关系,从而实现网络客体被传输以后客体安全标记的一致性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈