一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向物联网的RBAC权限修改方法与流程

2022-04-02 05:26:04 来源:中国专利 TAG:

一种面向物联网的rbac权限修改方法
技术领域
1.本发明涉及访问控制(rbac)技术领域,尤其涉及一种面向物联网的rbac权限修改方法。


背景技术:

2.随着物联网技术的发展及应用,物联网的访问控制问题日益突出,已成为制约物联网技术发展关键因素之一。物联网将海量的传感器、智能处理终端等大量传感设备通过有线或无线融入互联网。在传统访问控制技术中,物联网系统的访问控制策略存在人为恶意操作、外部用户伪装成合法用户进行非法访问或物联网系统的数据遭到恶意篡改等隐患,可能造成系统的数据泄露问题。在现有的一些技术较为成熟的物联网系统中,通过建立访问控制模型对物联网系统中的访问行为进行策略化管理,从一定程度上避免了人为恶意操作的问题。当访问控制模型建立之后,若该访问控制模型的部分权限需要进行修改,则需要重新构建访问控制模型。由于访问控制模型根据实际使用需求的增改极有可能会一直变化,而访问控制模型的频繁变化必定会增加系统的资源消耗,重新构建访问控制模型极大地增加了开发人员的时间成本。


技术实现要素:

3.本发明的目的是提供一种面向物联网的rbac权限修改方法,能够根据使用需求快速准确地修改物联网系统中访问控制模型的部分权限,有效地减少重新构建访问控制模型的时间成本。
4.本发明采用下述技术方案:
5.一种面向物联网的rbac权限修改方法,依次包括以下步骤:
6.a:从物联网系统中获取各权限的访问控制日志记录,并对所获取的访问控制日志记录进行数据预处理,得到该物联网系统的权限实例数据data0和所有权限集合m;
7.b:利用属性探索辅助角色发现方法,通过步骤a所得到的权限实例数据data0和所有权限集合m,建立物联网系统的访问控制实例的无冗余集合k
s1
,得到整个物联网系统的权限蕴涵关系集合j1以及权限内涵集合c1,并将访问控制背景中的权限按角色赋予用户;
8.c:对于待修改的角色r以及角色r所对应的权限a,根据确定的访问控制实例的无冗余集合k
s1
、权限蕴涵关系集合j1以及权限内涵集合c1,将访问控制实例的无冗余集合k
s1
中角色r中的权限修改为输入的权限a,得到访问控制实例的无冗余集合k
s2
,然后根据权限蕴涵关系集合j1以及权限内涵集合c1中的权限集合在访问控制实例的无冗余集合k
s2
中的后件是否存在增加或减少进行判断:
9.若存在某一权限集合的后件没有增加也没有减少,那么:如果该权限集合属于权限蕴涵关系集合j1,则该权限集合也属于新的权限蕴涵关系集合j2;如果该权限集合属于权限内涵集合c1,则该权限集合也属于新的权限内涵集合c2;
10.若存在某一权限集合的后件有增加,那么将这个权限集合放入新的权限蕴涵关系
集合j2中,并在权限蕴涵关系集合j1以及权限内涵集合c1中,找出所有不包含该后件的权限集合,然后在权限蕴涵关系集合j1以及权限内涵集合c1中删除这些权限集合;
11.若存在某一权限集合的后件有减少,那么若该权限集合后件为空则将这个权限集合放入新的权限内涵集合c2中,若后件不为空则将这个权限集合放入新的权限蕴涵关系集合j2中,并找出所有同时满足包含该权限集合在k
s1
中的前件、不包含该权限集合在k
s1
中的后件以及包含该权限集合在k
s2
中的后件三个条件的权限集合,作为待加入集合;对待加入集合中的权限集合进行相关性判断,对符合相关性条件的权限集合,若后件为空则放入新的权限内涵集合c2中,若后件不为空则放入新的权限蕴涵关系集合j2;
12.最终得到修改后的访问控制实例的无冗余集合k
s2
、新的权限蕴涵关系集合j2以及新的权限内涵集合c2。
13.所述的步骤a包括以下具体步骤:
14.a1:从物联网系统中,读取各权限的访问控制日志记录;
15.a2:在所获取的各权限的访问控制日志记录中,若某用户拥有某权限,即该用户访问某权限成功,则将该用户对应的权限记为1,否则记为0;
16.a3:按照步骤a2中的方法,对所获取的所有的访问控制日志记录进行处理,得到物联网系统权限实例数据data0,同时得到系统中的所有权限集合m。
17.所述的步骤b包括以下具体步骤:
18.b1:根据步骤a中得到的所有权限集合m=(a1,a2,a3,

,a
n-1
,an),将所有权限集合m进行字典序排列后得到集合m进行字典序排列后得到集合初始化确定的访问控制实例的无冗余集合权限蕴涵关系集合从集合mq中取字典序排第一的集合
19.b2:在确定的访问控制实例的无冗余集合k
s1
中计算f
ks1
(g
ks1
(q)),若则进入步骤b3;否则进入步骤b4;
20.其中,为在确定的访问控制实例的无冗余集合k
s1
中找出所有拥有权限q的用户,为在确定的访问控制实例的无冗余集合k
s1
中找出所有拥有权限q的用户所共同拥有的权限,为在权限实例数据data0中找出所有拥有权限的用户;
21.b3:若权限即拥有权限q的角色为且的共同权限同时为q,那么将权限q添加到权限内涵集合c1中;若权限即拥有权限q的角色为但的共同权限不同时为q,则将权限蕴涵关系式即某个用户拥有权限q那么该用户一定拥有权限添加到权限蕴涵关系集合j1中,然后进入步骤b5;
22.b4:从权限实例数据data0中取出一个权限分配不符合权限蕴涵关系式的实例o,即实例o拥有权限q但是不拥有权限并将这个实例添加到确定的访问控制实例的无冗余集合k
s1
中,然后进入步骤b6;
23.b5:根据形式概念分析中集合与蕴涵集合相关性定理,按照字典序的顺序找出下一个与权限蕴涵关系集合j1相关的权限集合q

,令q=q

,然后进入步骤b6;
24.b6:循环步骤b2,直到下一个与权限蕴涵关系集合j1相关的权限集合等于所有权限集合m,并进入步骤b7;
25.b7:根据上述步骤得到确定的访问控制实例的无冗余集合k
s1
、权限蕴涵关系集合j1和权限内涵集合c1,其中,访问控制实例的无冗余集合k
s1
中的每一行代表一个角色以及该角色所拥有的权限,将访问控制背景中的权限按角色赋予用户。
26.所述的步骤b6中,若存在某一权限集合与某一权限蕴涵式,其中,权限集合不包含权限蕴涵式的前件,或权限集合既包含权限蕴涵式的前件也包含权限蕴涵式的后件,则称该权限集合与该权限蕴涵式相关;若存在某一权限集合与某一权限蕴涵集合,该权限集合与权限蕴涵集合中的每一个权限蕴涵式都相关,则称该权限集合与该权限蕴涵集合相关。
27.所述的步骤c包括以下具体步骤:
28.c1:根据待修改的角色r以及角色r所对应的权限a,将访问控制实例的无冗余集合k
s1
中角色r的权限修改为权限a,得到访问控制实例的无冗余集合k
s2
;根据修改后的访问控制实例的无冗余集合k
s2
,计算所有前件为单个属性的蕴涵式,并将得到的蕴涵式放入新建集合imps中,然后进入步骤c2;
29.c2:将权限蕴涵关系集合j1中所有权限蕴涵关系的前件放入新建集合f中,新建立一个待加入集合然后进入步骤c3;
30.c3:若新建集合f、新建集合d和权限内涵集合c1全为空,则进入步骤c15;若新建集合f、新建集合d和权限内涵集合c1三个集合不全为空,则取出新建集合f、新建集合d和权限内涵集合c1中字典序最小的权限集合b,并判断权限集合b的来源:如果权限集合b来自权限内涵集合c1,则进入步骤c4;如果权限集合b来自于新建集合f,则进入步骤c5;如果权限集合b合来自于新建集合d,则进入步骤c6;
31.c4:从权限内涵集合c1中删除权限集合b,如果权限集合b既不是角色r在访问控制实例的无冗余集合k
s1
中的权限的子集,也不是角色r在修改后的无冗余集合k
s2
中的权限的子集,那么直接将权限集合b放入新的权限内涵集合c2中;
32.如果权限集合b是角色r在访问控制实例的无冗余集合k
s1
中的权限的子集,或是角色r在修改后的无冗余集合k
s2
中的权限的子集,则判断是否等于权限集合b;
33.若等于,则将权限集合b放入新的权限内涵集合c2中,并返回步骤c2;如不等于,则将放入新的权限蕴涵关系集合j2中,并进入步骤c7;
34.其中,为在修改后的访问控制实例的无冗余集合k
s2
中找出所有拥有权限
b的用户,为在修改后的访问控制实例的无冗余集合k
s2
中找出所有拥有权限b的用户所共同拥有的权限,权限蕴涵关系式表示某个用户拥有权限b那么该用户一定拥有权限
35.c5:从新建集合f中删除权限集合b,如果权限集合b既不是角色r在确定的访问控制实例的无冗余集合k
s1
中的权限的子集,也不是角色r在修改后的访问控制实例的无冗余集合k
s2
中的权限的子集,则直接将放入新的权限蕴涵关系集合j2中,然后返回步骤c2;
36.如果权限集合b是角色r在确定的访问控制实例的无冗余集合k
s1
中的权限的子集,或是角色r在修改后的无冗余集合k
s2
中的权限的子集,则判断是否等于权限集合b;
37.若等于,则将权限集合b放入新的权限内涵集合c2中,然后进入步骤c9;若不等于,则将放入新的权限蕴涵关系集合j2中,然后判断是否成立,若成立则进入步骤c7,若不成立则进入步骤c9;
38.其中,是指在修改后的访问控制实例的无冗余集合k
s2
中所有拥有权限b的用户所共同拥有的权限,包含在确定的访问控制实例的无冗余集合k
s1
中所有拥有权限b的用户所共同拥有的权限;
39.c6:从新建集合d中删除权限集合b,然后判断是否等于权限集合b;如果等于,则将权限集合b放入新的权限内涵集合c2中;如果不等于,则将放入新的权限蕴涵关系集合j2中;
40.然后进入步骤c7;
41.c7:判断在权限内涵集合c1中是否存在包含但不包含的权限集合,若存在,则进行删除并进入步骤c8;若不存在,则直接进入步骤c8;
42.c8:判断在新建集合f中是否存在包含但不包含但不包含的权限集合,若存在,则进行删除然后进入步骤c12;若不存在,则返回步骤c3;
43.c9:新建一个集合找出新建集合imps中所有前件中不包含
且前件与后件的并集不包含的权限,在将找出的这些权限进行排列组合后,将排列组合后的权限集合添加到新建集合e1中,然后进入步骤c10;
44.c10:从新建集合e1中取出一个权限集合e1,将权限集合e1、权限集合e1中每一个单个权限的后件和权限集合三者相结合,并去掉其中重复出现的权限,将最后得到的权限组成新的权限集合e2,然后进入步骤c11;
45.c11:判断新的权限集合e2是否在新建集合d中存在过;若存在过,则直接返回步骤c10继续运算,直至新建集合若没有在新建集合d中存在过,则将新的权限集合e2按照字典序的位置放入新建集合d中,并返回步骤c10继续运算,直至步骤c10中新建集合
46.当新建集合后,返回步骤c3进行循环计算;
47.c12:新建一个集合找出新建集合imps中所有前件中不包含且前件与后件的并集中不含的权限,并将找出的这些权限进行排列组合并将排列组合后的权限集合添加到新建集合e2中,然后进入步骤c13;
48.c13:从新建集合e2中取出一个权限集合e3,将权限集合e3、权限集合e3中每一个权限的后件以及相结合,并去掉其中重复的单个属性,将最后得到的权限组成新的权限集合e4,然后进入步骤c14;
49.c14:判断新的属性集合e4是否在新建集合d中存在过;若存在过,则直接返回步骤c13继续运算;若没有存在过,则将新的权限集合e4按照字典序的位置放入新建集合d中,并返回步骤c13继续运算,直至步骤c13中集合当后,返回步骤c3循环计算;
50.c15:根据上述步骤最终得到修改后的访问控制实例的无冗余集合k
s2
、新的权限蕴涵关系集合j2以及新的权限内涵集合c2。
51.本发明能够根据使用需求快速准确地修改物联网系统中访问控制模型的部分权限,有效地减少重新构建访问控制模型的时间成本。
附图说明
52.图1为本发明的流程示意图。
具体实施方式
53.以下结合附图和实施例对本发明作以详细的描述:
54.如图1所示,本发明所述的面向物联网的rbac权限修改方法,依次包括以下步骤:
55.a:从物联网系统中获取各权限的访问控制日志记录,并对所获取的访问控制日志记录进行数据预处理,得到该物联网系统的权限实例数据data0和所有权限集合m;
56.本发明中,步骤a包括以下具体步骤:
57.a1:从物联网系统中,读取各权限的访问控制日志记录;
58.a2:在所获取的各权限的访问控制日志记录中,若某用户拥有某权限,即该用户访问某权限成功,则将该用户对应的权限记为1,否则记为0;
59.例如,在某工厂的物联网系统中,员工甲在8月21日操作生产环节中炼钢炉温度更改成功,则记录员工甲具有操作炼钢炉温度更改的权限,将该权限记为1;员工甲在8月21日操作生产环节中加氧量更改失败,则记录员工甲不具有操作生产环节中加氧量更改的权限,将该权限记为0;
60.a3:按照步骤a2中的方法,对所获取的所有的访问控制日志记录进行处理,得到物联网系统权限实例数据data0,同时得到系统中的所有权限集合m;
61.b:利用属性探索辅助角色发现方法,通过步骤a所得到的权限实例数据data0和所有权限集合m,建立物联网系统的访问控制实例的无冗余集合k
s1
,得到整个物联网系统的权限蕴涵关系集合j1以及权限内涵集合c1,并将访问控制背景中的权限按角色赋予用户;
62.其中,步骤b包含以下具体步骤:
63.b1:根据步骤a中得到的所有权限集合m=(a1,a2,a3,

,a
n-1
,an),将所有权限集合m进行字典序排列后得到集合m进行字典序排列后得到集合初始化确定的访问控制实例的无冗余集合权限蕴涵关系集合从集合mq中取字典序排第一的集合其中,字典序为形式概念分析中一种排序规则;
64.b2:在确定的访问控制实例的无冗余集合k
s1
中计算若则进入步骤b3;否则进入步骤b4;
65.其中,为在确定的访问控制实例的无冗余集合k
s1
中找出所有拥有权限q的用户,为在确定的访问控制实例的无冗余集合k
s1
中找出所有拥有权限q的用户所共同拥有的权限,为在权限实例数据data0中找出所有拥有权限的用户;
66.b3:若权限即拥有权限q的角色为且的共同权限同时为q,那么将权限q添加到权限内涵集合c1中;若权限即拥有权限q的角色为但的共同权限不同时为q,则将权限蕴涵关系式即某个用户拥有权限q那么该用户一定拥有权限添加到权限蕴涵关系集合j1中,然后进入步骤b5;
67.b4:从权限实例数据data0中取出一个权限分配不符合权限蕴涵关系式的实例o,即实例o拥有权限q但是不拥有权限并将这个实例添加到确定的访问控制实例的无冗余集合k
s1
中,然后进入步骤b6;
68.b5:根据形式概念分析中集合与蕴涵集合相关性定理,按照字典序的顺序找出下一个与权限蕴涵关系集合j1相关的权限集合q

,令q=q

,然后进入步骤b6;
69.b6:循环步骤b2,直到下一个与权限蕴涵关系集合j1相关的权限集合等于所有权限集合m,并进入步骤b7;
70.其中,若存在某一权限集合与某一权限蕴涵式,其中,权限集合不包含权限蕴涵式的前件,或权限集合既包含权限蕴涵式的前件也包含权限蕴涵式的后件,则称该权限集合与该权限蕴涵式相关,若存在某一权限集合与某一权限蕴涵集合,该权限集合与权限蕴涵集合中的每一个权限蕴涵式都相关,则称该权限集合与该权限蕴涵集合相关;
71.b7:根据上述步骤得到确定的访问控制实例的无冗余集合k
s1
、权限蕴涵关系集合j1和权限内涵集合c1,其中,访问控制实例的无冗余集合k
s1
中的每一行代表一个角色以及该角色所拥有的权限,将访问控制背景中的权限按角色赋予用户。
72.c:对于待修改的角色r以及角色r所对应的权限a,根据确定的访问控制实例的无冗余集合k
s1
、权限蕴涵关系集合j1以及权限内涵集合c1,将访问控制实例的无冗余集合k
s1
中角色r中的权限修改为输入的权限a,得到访问控制实例的无冗余集合k
s2
,然后根据权限蕴涵关系集合j1以及权限内涵集合c1中的权限集合在访问控制实例的无冗余集合k
s2
中的后件是否存在增加或减少进行判断:
73.若存在某一权限集合的后件没有增加也没有减少,那么:如果该权限集合属于权限蕴涵关系集合j1,则该权限集合也属于新的权限蕴涵关系集合j2;如果该权限集合属于权限内涵集合c1,则该权限集合也属于新的权限内涵集合c2;
74.若存在某一权限集合的后件有增加,那么将这个权限集合放入新的权限蕴涵关系集合j2中,并在权限蕴涵关系集合j1以及权限内涵集合c1中,找出所有不包含该后件的权限集合,然后在权限蕴涵关系集合j1以及权限内涵集合c1中删除这些权限集合;
75.若存在某一权限集合的后件有减少,那么若该权限集合后件为空则将这个权限集合放入新的权限内涵集合c2中,若后件不为空则将这个权限集合放入新的权限蕴涵关系集合j2中,并找出所有同时满足包含该权限集合在k
s1
中的前件、不包含该权限集合在k
s1
中的后件以及包含该权限集合在k
s2
中的后件三个条件的权限集合,作为待加入集合;对待加入集合中的权限集合进行相关性判断,对符合相关性条件的权限集合,若后件为空则放入新的权限内涵集合c2中,若后件不为空则放入新的权限蕴涵关系集合j2;
76.最终得到修改后的访问控制实例的无冗余集合k
s2
、新的权限蕴涵关系集合j2以及新的权限内涵集合c2;
77.所述的步骤c包含以下具体步骤:
78.c1:根据待修改的角色r以及角色r所对应的权限a,将访问控制实例的无冗余集合k
s1
中角色r的权限修改为权限a,得到访问控制实例的无冗余集合k
s2
;根据修改后的访问控制实例的无冗余集合k
s2
,计算所有前件为单个属性的蕴涵式,并将得到的蕴涵式放入新建集合imps中,然后进入步骤c2;
79.c2:将权限蕴涵关系集合j1中所有权限蕴涵关系的前件放入新建集合f中,新建立一个待加入集合然后进入步骤c3;
80.c3:若新建集合f、新建集合d和权限内涵集合c1全为空,则进入步骤c15;若新建集合f、新建集合d和权限内涵集合c1三个集合不全为空,则取出新建集合f、新建集合d和权限
内涵集合c1中字典序最小的权限集合b,并判断权限集合b的来源:
81.如果权限集合b来自权限内涵集合c1,则进入步骤c4;如果权限集合b来自于新建集合f,则进入步骤c5;如果权限集合b合来自于新建集合d,则进入步骤c6;
82.c4:从权限内涵集合c1中删除权限集合b,如果权限集合b既不是角色r在访问控制实例的无冗余集合k
s1
中的权限的子集,也不是角色r在修改后的无冗余集合k
s2
中的权限的子集,那么直接将权限集合b放入新的权限内涵集合c2中;
83.如果权限集合b是角色r在访问控制实例的无冗余集合k
s1
中的权限的子集,或是角色r在修改后的无冗余集合k
s2
中的权限的子集,则判断是否等于权限集合b;
84.若等于,则将权限集合b放入新的权限内涵集合c2中,并返回步骤c2;如不等于,则将放入新的权限蕴涵关系集合j2中,并进入步骤c7;
85.其中,g
ks2
(b)为在修改后的访问控制实例的无冗余集合k
s2
中找出所有拥有权限b的用户,为在修改后的访问控制实例的无冗余集合k
s2
中找出所有拥有权限b的用户所共同拥有的权限,权限蕴涵关系式b

(f
ks2
(g
ks2
(b))-b)表示某个用户拥有权限b那么该用户一定拥有权限(f
ks2
(g
ks2
(b))-b);
86.c5:从新建集合f中删除权限集合b,如果权限集合b既不是角色r在确定的访问控制实例的无冗余集合k
s1
中的权限的子集,也不是角色r在修改后的访问控制实例的无冗余集合k
s2
中的权限的子集,则直接将放入新的权限蕴涵关系集合j2中,然后返回步骤c2;
87.如果权限集合b是角色r在确定的访问控制实例的无冗余集合k
s1
中的权限的子集,或是角色r在修改后的无冗余集合k
s2
中的权限的子集,则判断是否等于权限集合b;
88.若等于,则将权限集合b放入新的权限内涵集合c2中,然后进入步骤c9;若不等于,则将放入新的权限蕴涵关系集合j2中,然后判断是否成立,若成立则进入步骤c7,若不成立则进入步骤c9;
89.其中,是指在修改后的访问控制实例的无冗余集合k
s2
中所有拥有权限b的用户所共同拥有的权限,包含在确定的访问控制实例的无冗余集合k
s1
中所有拥有权限b的用户所共同拥有的权限。
90.c6:从新建集合d中删除权限集合b,然后判断是否等于权限集合b;如果等于,则将权限集合b放入新的权限内涵集合c2中;如果不等于,则将
放入新的权限蕴涵关系集合j2中;
91.然后进入步骤c7;
92.c7:判断在权限内涵集合c1中是否存在包含但不包含的权限集合,若存在,则进行删除并进入步骤c8;若不存在,则直接进入步骤c8;
93.c8:判断在新建集合f中是否存在包含但不包含但不包含的权限集合,若存在,则进行删除然后进入步骤c12,若不存在,则返回步骤c3;
94.c9:新建一个集合找出新建集合imps中所有前件中不包含找出新建集合imps中所有前件中不包含且前件与后件的并集不包含的权限,在将找出的这些权限进行排列组合后,将排列组合后的权限集合添加到新建集合e1中,然后进入步骤c10;
95.c10:从新建集合e1中取出一个权限集合e1,将权限集合e1、权限集合e1中每一个单个权限的后件和权限集合三者相结合,并去掉其中重复出现的权限,将最后得到的权限组成新的权限集合e2,然后进入步骤c11;
96.c11:判断新的权限集合e2是否在新建集合d中存在过;若存在过,则直接返回步骤c10继续运算,直至新建集合若没有在新建集合d中存在过,则将新的权限集合e2按照字典序的位置放入新建集合d中,并返回步骤c10继续运算,直至步骤c10中新建集合
97.当新建集合后,返回步骤c3进行循环计算;
98.c12:新建一个集合找出新建集合imps中所有前件中不包含且前件与后件的并集中不含的权限,并将找出的这些权限进行排列组合并将排列组合后的权限集合添加到新建集合e2中,然后进入步骤c13;
99.c13:从新建集合e2中取出一个权限集合e3,将权限集合e3、权限集合e3中每一个权限的后件以及相结合,并去掉其中重复的单个属性,将最后得到的权限组成新的权限集合e4,然后进入步骤c14;
100.c14:判断新的属性集合e4是否在新建集合d中存在过;若存在过,则直接返回步骤c13继续运算;若没有存在过,则将新的权限集合e4按照字典序的位置放入新建集合d中,并返回步骤c13继续运算,直至步骤c13中集合当后,返回步骤c3循环计算;
101.c15:根据上述步骤最终得到修改后的访问控制实例的无冗余集合k
s2
、新的权限蕴
涵关系集合j2以及新的权限内涵集合c2。
102.下面以某大型工厂为例,基于属性探索的rbac权限修改方法的步骤如下:
103.a:从某大型工厂中的物联网系统中获取该部门的访问控制日志记录,并对访问日志记录进行数据预处理;得到该物联网系统的权限实例数据data0和所有权限集合m;
104.a1:从物联网系统中,读取各权限的访问控制日志记录;
105.a2:在所获取的各权限的访问控制日志记录中,若某用户拥有某权限,即该用户访问某权限成功,则将该用户对应的权限记为1,否则记为0;
106.例如,在某工厂的物联网系统中,员工甲在8月21日操作生产环节中炼钢炉温度更改成功,则记录员工甲具有操作炼钢炉温度更改的权限,将该权限记为1;员工甲在8月21日操作生产环节中加氧量更改失败,则记录员工甲不具有操作生产环节中加氧量更改的权限,将该权限记为0;
107.a3:按照步骤a2中的方法,对所获取的所有的访问控制日志记录进行处理,得到权限实例数据data0,同时得到所有权限集合m;
108.得到权限实例数据data0如表2所示:
109.表2data0[0110] abcdefghi甲001111100乙000000101丙001110100丁111100010
[0111]
所有权限m=(a,b,c,d,e,f,g,h,i)。
[0112]
b:利用属性探索辅助角色发现方法,通过步骤a所得到的权限实例数据data0和所有权限集合m;建立访问控制实例的无冗余集合k
s1
,并得到权限蕴涵关系集合j1以及权限内涵集合c1,并将访问控制背景中的权限按角色赋予用户;
[0113]
b1:根据步骤a中得到的权限集合m=(i,h,g,f,e,d,
……
),将所有权限集合m进行字典序排列后得到集合mq=(i,h,hi,g,gi,gh,ghi,

,abcdefghi);初始化确定的访问控制实例的无冗余集合权限蕴涵关系集合从集合mq中取字典序排第一的集合其中,字典序为形式概念分析中一种排序规则;
[0114]
b2:在确定的访问控制实例的无冗余集合k
s1
中计算中计算k
s1
中g
ks1
(q)=(甲,乙,丙,丁),do中不满足k
s1
中在ko中g
k1
(f
ks1
(g
ks1
(q))-q)的条件,进入步骤b4;
[0115]
b4从访问控制实例的初始集合datao中取出一个权限分配不符合这条蕴涵规则的实例o,并将这个实例添加到确定的访问控制实例的无冗余集合k
s1
中,然后进入步骤b6;
[0116]
b5:根据形式概念分析中集合与蕴涵集合相关性定理在集合m按字典序的顺序中找出下一个与权限蕴涵关系集合j1相关的权限集合q

,令q=q

,然后进入步骤b6;集合与蕴涵集合相关性定理为本领域的常规定理,在此不再赘述;
[0117]
b6:循环步骤b2,直到下一个与权限蕴涵关系集合j1相关的权限集合等于所有权
限集合m,进入步骤b7;
[0118]
b7:此时我们得到确定的访问控制实例的无冗余集合k
s1
、以及的权限蕴涵关系集合j1和权限内涵集合c1,其中访问控制实例的无冗余集合k
s1
中的每一行代表一个角色以及该角色所拥有的权限,将这个角色根据需要赋予相应的用户。
[0119]
部门一在经过步骤a、b得到的该部门的确定的访问控制实例的无冗余集合k
s1
为甲(cdefg)、乙(gi)、丙(cdeg)、丁(abcdh);
[0120]
部门一的权限内涵集合c和权限间权限蕴涵关系集合j为:
[0121][0122]
j1={i-》g,h-》abcd,f-》cdeg,e-》cdg,d-》c,c-》d,cdg-》e,cdegi-》abfh,b-》acdh,a-》bcdh,abcdegh-》fi};
[0123]
c:对于待修改的角色r以及角色r所对应的权限a,根据确定的访问控制实例的无冗余集合k
s1
、权限蕴涵关系集合j1以及权限内涵集合c1,将访问控制实例的无冗余集合k
s1
中角色r中的权限修改为输入的权限a,得到访问控制实例的无冗余集合k
s2
,然后根据权限蕴涵关系集合j1以及权限内涵集合c1中的权限集合在访问控制实例的无冗余集合k
s2
中的后件是否存在增加或减少进行判断:
[0124]
若存在某一权限集合的后件没有增加也没有减少,那么:如果该权限集合属于权限蕴涵关系集合j1,则该权限集合也属于新的权限蕴涵关系集合j2;如果该权限集合属于权限内涵集合c1,则该权限集合也属于新的权限内涵集合c2;
[0125]
若存在某一权限集合的后件有增加,那么将这个权限集合放入新的权限蕴涵关系集合j2中,并在权限蕴涵关系集合j1以及权限内涵集合c1中,找出所有不包含该后件的权限集合,然后在权限蕴涵关系集合j1以及权限内涵集合c1中删除这些权限集合;
[0126]
若存在某一权限集合的后件有减少,那么若该权限集合后件为空则将这个权限集合放入新的权限内涵集合c2中,若后件不为空则将这个权限集合放入新的权限蕴涵关系集合j2中,并找出所有同时满足包含该权限集合在k
s1
中的前件、不包含该权限集合在k
s1
中的后件以及包含该权限集合在k
s2
中的后件三个条件的权限集合,作为待加入集合;对待加入集合中的权限集合进行相关性判断,对符合相关性条件的权限集合,若后件为空则放入新的权限内涵集合c2中,若后件不为空则放入新的权限蕴涵关系集合j2;
[0127]
最终得到修改后的访问控制实例的无冗余集合k
s2
、新的权限蕴涵关系集合j2以及新的权限内涵集合c2;
[0128]
所述的步骤c包含以下具体步骤:
[0129]
c1:根据输入的角色r以及角色r的权限a,在访问控制实例的无冗余集合k
s1
中进行修改,得到修改后的访问控制实例的无冗余集合k
s2
,根据修改后的访问控制实例的无冗余集合k
s2
,计算所有前件为单个属性的蕴涵式,并放入新建集合imps中,然后进入步骤c2;
[0130]
工作人员输入需要修改的角色和权限为戊(cde)。
[0131]
此时得到修改后的无冗余集合k
s2
如表3所示:
[0132]
表3k
s2
[0133] abcdefghi甲001111100
乙000000101丙001110000丁111100010
[0134]
根据修改后的访问控制实例的无冗余集合k
s2
,计算所有前件为单个属性的蕴涵式,并将所有前件为单个属性的蕴涵式放入集合新建集合imps={i-》g,h-》abcd,f-》cdeg,e-》cd,d-》c,c-》d,b-》acdh,a-》bcdh},然后进入步骤c2;
[0135]
c2:将权限蕴涵关系集合j1中所有权限蕴涵关系的前件放入新建集合f中,得到新建集合f={i,h,f,e,d,c,cdg,cdegi,b,a,abcdegh}。新建立一个待加入集合进入步骤c3;
[0136]
c3:此时新建集合f、新建集合d和权限内涵集合c1三个集合不全为空,且新建集合f,新建集合d和权限内涵集合c1中字典序最小的新建集合为f中的i,因此b=i,进入步骤c5;
[0137]
c5:从新建集合f中删除这个权限集合,由于权限集合b=i既不是角色戊在访问控制实例的无冗余集合k
s1
中权限(cdeg)的子集,也不是角色戊在修改后的无冗余集合k
s2
中权限(cde)的子集,因此直接将i-》g添加到新的权限蕴涵关系集合j2中,并回到步骤c3;
[0138]
c2:此时新建集合f、新建集合d和权限内涵集合c1三个集合不全为空,且新建集合f,新建集合d和权限内涵集合c1中字典序最小的权限集合为新建集合f中的h,因此b=h,进入步骤c5;
[0139]
c5:从新建集合f中删除这个权限集合,由于权限集合b=h既不是角色戊在访问控制实例的无冗余集合k
s1
中权限(cdeg)的子集,也不是角色戊在修改后的无冗余集合k
s2
中权限(cde)的子集,因此直接将h-》abcd添加到新的权限蕴涵关系集合j2中,并回到步骤c3;
[0140]
c3:此时新建集合f、新建集合d和权限内涵集合c1三个集合不全为空,且新建集合f,新建集合d和权限内涵集合c1中字典序最小的权限集合为权限内涵集合c1中的g,因此b=g,进入步骤c4;
[0141]
c4:从权限内涵集合c1中删除权限集合b,由于权限集合b=g是角色戊在访问控制实例的无冗余集合k
s1
中权限(cdeg)的子集,且此时那么将g放入新的权限内涵集合c2中,并回到步骤c2;
[0142]
c3:此时新建集合f、新建集合d和权限内涵集合c1三个集合不全为空,且新建集合f,新建集合d和权限内涵集合c1中字典序最小的权限集合为权限内涵集合c1中的gi,因此b=gi,进入步骤c4;
[0143]
c4:从权限内涵集合c1中删除这个权限集合,由于权限集合b=gi既不是角色戊在访问控制实例的无冗余集合k
s1
中权限(cdeg)的子集,也不是角色戊在修改后的无冗余集合k
s2
中权限(cde)的子集,因此直接将gi添加到新的权限内涵集合c2中,并回到步骤c2;
[0144]
……
[0145]
由于篇幅有限,重复过程本文不再赘述。
[0146]
最终得到修改后的无冗余集合k
s2
为:
[0147] abcdefghi甲001111100
乙000000101丙001110000丁111100010
[0148]
新的权限蕴涵关系集合为:j2={i-》g,h-》abcd,f-》cdeg,e-》cd,d-》c,c-》d,cdg-》ef,cdefgi-》abh,b-》acdh,a-》bcdh,abcdeh-》fgi}。
[0149]
新的权限内涵集合为:
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献