一种基于布尔矩阵分解与势约束的角色挖掘优化方法技术

技术编号:18862532 阅读:192 留言:0更新日期:2018-09-05 15:04
本发明专利技术公开了一种基于布尔矩阵分解与势约束的角色挖掘优化方法,步骤1初始化阶段;在初始化处理阶段,不考虑势约束进行普通挖掘,以满足基本角色挖掘要求;步骤2在优化处理阶段,考虑单个势约束改进基本角色挖掘,以满足势约束要求;步骤3同时考虑用户指派势约束和权限分配势约束,以满足多势约束要求。

A method of role mining optimization based on Boolean matrix decomposition and potential constraints

The invention discloses an optimization method for role mining based on Boolean matrix decomposition and potential constraints, step 1 initialization stage, ordinary mining without considering potential constraints to meet the requirements of basic role mining in initialization processing stage, step 2 in optimization processing stage, basic role mining is improved by considering a single potential constraint to improve. Step 3 considers both user assignment potential constraints and authority assignment potential constraints to satisfy multiple potential constraints.

【技术实现步骤摘要】
一种基于布尔矩阵分解与势约束的角色挖掘优化方法
本专利技术属于访问控制机制
,涉及一种基于布尔矩阵分解与势约束的角色挖掘优化方法。
技术介绍
基于角色的访问控制(RBAC)通过角色实现了用户与权限的逻辑分离,是当前主流的访问控制机制之一,并被广泛用于构建中、大规模企业级应用系统。根据企业组织的功能性需求,RBAC系统通过为用户被指派(或删除)角色,使其可以灵活、方便地获取(或撤销)对资源的访问权限。因此,作为系统构建的关键步骤,设计合适的角色集对于成功构建RBAC系统至关重要。近些年来,研究者们相继提出了角色工程技术以及自顶向下与自底向上两种基本方法。与采用人工处理、耗时费力的自顶向下方法相比,自底向上方法又称角色挖掘,其利用数据挖掘技术从原始系统配置中提取角色集,用于构建RBAC系统。该方法因具有快速、实用的优势而备受研究者们青睐。
技术实现思路
本专利技术的目的在于,提出了一种基于布尔矩阵分解与势约束的角色挖掘优化方法。其技术方案如下:一种基于布尔矩阵分解与势约束的角色挖掘优化方法,包括以下步骤:步骤1初始化阶段在初始化处理阶段,不考虑势约束进行普通挖掘,以满足基本角色挖掘要求。输入:原始配置UPA,UPA表示用户-权限分配关系矩阵;输出:候选配置UA,PA,CR,其中UA表示用户-角色指派关系矩阵,PA表示角色-权限指派关系矩阵,CR表示候选角色集;过程:{使用布尔矩阵分解法,构造候选角色集CR并配置RBAC,使得:其中UPA,UA,PA为矩阵表示形式。}步骤2在优化处理阶段,考虑单个势约束改进基本角色挖掘,以满足势约束要求算法1基于用户指派势约束的角色优化输入:优化前的分解矩阵UA,PA,候选角色集CR,以及用户指派势约束值MRCuser输出:UA,PA的优化矩阵过程:/*初始化*/定义并计算指派给用户u的角色数count_user_roles(u)以及角色r隶属的用户数count_role_users(r)。/*创建新角色,以满足势约束*/k=count_user_roles(u)-(MRCuser-1);从u的角色中挑选拥有最大用户数的前k个角色,并构成集合S;将S中k个角色的各自权限集作并集,记作Ps,并创建角色rnr,使得role_perms(rnr)=Ps;在考虑权限分配势约束时,创建角色时不同于用户指派势约束,具体描述如下。算法2基于权限分配势约束的角色优化输入:优化前的分解矩阵UA,PA,候选角色集CR,以及权限分配势约束值MRCpermission输出:UA,PA的优化矩阵过程:/*初始化*/定义并计算权限p所分配的角色数count_perm_roles(p)以及角色r包含的权限数count_role_perms(r)。/*创建新角色,以满足势约束*/k=count_perm_roles(p)-(MRCpermission-1);从p的角色中挑选拥有最大权限数的前k个角色,构成集合S;将S中k个角色的各自权限集作交集,记为Ps,并创建角色rnr,使得role_perms(rnr)=Ps;步骤3同时考虑用户指派势约束和权限分配势约束,以满足多势约束要求将满足单势约束的用户指派与权限分配的两个算法进行合并。然而,将多个角色合并成一个角色并与相应的用户集及权限集关联,或许导致某权限分配给更多的角色,从而违背权限分配势约束。同样,将多个角色作交集构造新角色并与相应权限集及用户集关联,可能会违反用户指派势约束。选取违反用户或违反权限的k个角色。同时满足用户指派与权限分配势约束的角色优化算法如下。算法3基于多势约束的角色优化输入:优化前的分解矩阵UA,PA,候选角色集CR,用户指派势约束值MRCuser,以及权限分配势约束值MBCpermission输出:UA,PA的优化矩阵过程:/*初始化*/(1)定义并计算指派给用户u的角色数count_user_roles(u),角色r隶属的用户数count_role_users(r),权限p所分配的角色数count_perm_roles(p)以及角色r包含的权限数count_role_perms(r).(2)定义并给出角色集RU,RI,其中,RU表示集合中的任意角色ru在被合并构造新角色rnr时,ru的任意权限p未违反权限分配势约束,即:RI表示集合中的任意角色ri在被作交集构造新角色rnr时,ri的任意用户u未违反用户指派势约束,即:(3)定义变量k,用于表示从RU中选取大于MRCuser且按count_role_users(r)降序排列的前k个角色,或从RI中选取大于MRCpermission且按count_role_perms(r)降序排列的前k个角色./*创建新角色,以同时满足两种势约束*/确定违反约束值MRCuser(或MRCpermission)的用户集或权限集,并根据贪心策略选取一个用户u或一个权限p;本专利技术的有益效果为:1.给出限制指派给用户角色数的用户指派势约束和限制为权限分配角色数的权限分配势约束。2.改进基本角色挖掘问题,以分别满足用户指派势约束和权限分配势约束,并给出算法描述。3.改进基本角色挖掘问题,以同时满足上述两种势约束要求,并给出算法描述。具体实施方式下面结合具体实施方式对本专利技术的技术方案作进一步详细地说明。1.预备知识与问题描述1.1布尔矩阵分解法定义1布尔矩阵分解法(BooleanMatrixDecomposition,BMD)给定n行m列布尔矩阵Xn×m、n行k列布尔矩阵Cn×k、k行m列布尔矩阵Rk×m,其中Xn×m∈{0,1}n×m,Cn×k∈{0,1}n×k,Rk×m∈{0,1}k×m。用符号表示布尔乘操作,如果存在那么称是Xn×m的一个布尔分解,即Xn×m可布尔分解成Cn×k与Rk×m。若Xit,cij,rjt分别为Xn×m,Cn×k,Rk×m中的矩阵单元,则布尔矩阵乘运算应满足:其中xit∈{0,1},cij∈{0,1},rjt∈{0,1}。根据以上定义,分析给出布尔矩阵分解的运算法则:(1)即分解前后整体转置,分解式仍然成立。(2)其中XTj、RTi分别表示XT的第j列向量和RT的第i列向量,称XT为目标数据集,RT为概念集,XT为如何用RT中的一个或多个概念合并表示XT,并可得到以下结论:一个布尔矩阵可以表示成两个布尔矩阵的乘积,乘积中前一个矩阵表示概念集,后一个矩阵表示如何将目标数据用概念集合并的形式表示。作为角色工程技术的主要研究方法,角色挖掘是从非RBAC系统的底层用户-权限直接指派关系UPA出发,寻找一个合适、完整的角色集R,并构造满足企业组织需求的用户-角色指派关系UA以及角色-权限指派关系PA,以辅助构建RBAC系统。UPA,UA,PA可表示成布尔矩阵,以下给出各矩阵单元值的表示:Xn×m,Cn×k,Rk×m分别对应UPA,UA,PA的矩阵形式。1.2基本角色挖掘问题定义2基本角色挖掘问题(Basicroleminingproblem,BasicRMP)给定用户-权限分配关系矩阵UPA,寻找角色集R,用户-角色指派关系矩阵UA及角色-权限指派关系矩阵PA,使得指派给任意用户的角色集恰好覆盖该用户的所有权限,同时挖掘角色数应尽可能少,形式化表示为:1.3势约束RBAC系统的一项重本文档来自技高网...

【技术保护点】
1.一种基于布尔矩阵分解与势约束的角色挖掘优化方法,其特征在于,包括以下步骤:步骤1初始化阶段在初始化处理阶段,不考虑势约束进行普通挖掘,以满足基本角色挖掘要求;输入:原始配置UPA,UPA表示用户‑权限分配关系矩阵;输出:候选配置UA,PA,CR,其中UA表示用户‑角色指派关系矩阵,PA表示角色‑权限指派关系矩阵,CR表示候选角色集;过程:{使用布尔矩阵分解法,构造候选角色集CR并配置RBAC,使得:

【技术特征摘要】
1.一种基于布尔矩阵分解与势约束的角色挖掘优化方法,其特征在于,包括以下步骤:步骤1初始化阶段在初始化处理阶段,不考虑势约束进行普通挖掘,以满足基本角色挖掘要求;输入:原始配置UPA,UPA表示用户-权限分配关系矩阵;输出:候选配置UA,PA,CR,其中UA表示用户-角色指派关系矩阵,PA表示角色-权限指派关系矩阵,CR表示候选角色集;过程:{使用布尔矩阵分解法,构造候选角色集CR并配置RBAC,使得:其中UPA,UA,PA为矩阵表示形式;}步骤2在优化处理阶段,考虑单个势约束改进基本角色挖掘,以满足势约束要求算法1基于用户指派势约束的角色优化输入:优化前的分解矩阵UA,PA,候选角色集CR,以及用户指派势约束值MRCuser输出:UA,PA的优化矩阵过程:/*初始化*/定义并计算指派给用户u的角色数count_user_roles(u)以及角色r隶属的用户数count_role_users(r);/*创建新角色,以满足势约束*/k=count_user_roles(u)-(MRCuser-1);从u的角色中挑选拥有最大用户数的前k个角色,并构成集合S;将S中k个角色的各自权限集作并集,记作PS,并创建角色rnr,使得role_perms(rnr)=PS;/*将rnr并入PA*/在考虑权限分配势约束时,创建角色时不同于用户指派势约束,具体描述如下;算法2基于权限分配势约束的角色优化输入:优化前的分解矩阵UA,PA,候选角色集CR,以及权限分配势约束值MRCpermission输出:UA,PA的优化矩阵过程:/*初始化*/定义并计算权限p所分配的角色数count_perm_roles(p)以及角色r包含的权限数count_role_perms(r);/*创建新角色,以满足势约束*/k=count_perm_roles(p)-(MRCpermission-1);从p的角色中挑选拥有最大权限数的前k个角色,...

【专利技术属性】
技术研发人员:孙伟邵罕葛保武鲁骏
申请(专利权)人:信阳师范学院
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1