论文部分内容阅读
基于角色的访问控制(Role-Based Access Control, RBAC)是一种广泛应用的访问控制机制,该机制中权限不再直接分配给用户,而是通过将权限与角色关联,用户通过扮演角色来间接获得其所需权限,从而完成其所要完成的任务。利用基于角色的访问控制机制可以支持职责分离原则、最小权限原则以及数据抽象功能。作为构建和维护RBAC系统的角色工程技术(Role Engineering)一般分为自顶向下(Top-Down)的方法和自底向上(Bottom-Up)的方法。通常,自顶向下的方法通过对大量的企业用例或业务逻辑进行分析,进而抽取相应的角色,并为角色分配相应的权限,从而构建RBAC系统;而自底向上的方法通过分析系统中已经存在的用户和权限之问的分配关系,利用数据挖掘技术从中得到能反映这一分配关系所对应的角色,并构建角色层次,从而构建系统,由于该方法能实现自动化或半自动化处理,从而成为角色工程技术研究的重点。针对现有角色工程技术将用户所拥有的不同权限看成是同等重要,拥有同样的地位,从而造成包含有重要权限但出现频率较低的角色不被发现,进而造成重要角色丢失的问题。提出一种基于权限权重的角色生成算法,算法利用权限问的初始相似度与用户问的初始相似度所获得到的加强相似度信息来获取权限的权重信息,进而利用该权重信息实现角色的生成。同时从实验角度验证算法的效率和准确性,并与现有算法比较,实验结果表明基于权限权重的角色生成算法可在较短的时问内完成角色的生成,并具有较高的准确率。针对现有角色工程技术不能发现系统所需访问控制约束的问题,定义了RBAC系统下的访问控制约束,分析了这些访问控制约束的本质及其对系统安全的影响,并提出了基于频繁权限项集的约束生成算法,该算法通过减少扫描用户权限分配表的次数和扫描数据的规模以达到降低算法计算开销的目的。实验结果表明基于频繁权限项集的约束生成算法的生成精度和效率均得到了提高。研究了RBAC系统下最小权限原则问题。首先,针对传统最小权限原则问题研究没有考虑约束以及权限冗余的问题,提出了6近似最小权限原则问题和minimizing-approx最小权限原则问题,并给出了规范化的定义;其次,针对传统最小权限原则问题把所有权限以及角色看成是同等重要的问题,提出了基于权重的最小权限原则优化问题,从而用来描述满足同一最小权限原则问题的角色组合之问的优劣;接着,分析了不同情况下的最小权限原则问题及其优化问题的计算复杂度;最后给出了求解不同最小权限原则问题的遗传算法,实例分析与性能评估表明了所提出的求解算法的有效性。通过上述方法构建的RBAC系统中的角色具有较好的可解释性;同时系统产生的约束能进一步保证系统的安全策略得到合理的实施;而不同类型的最小权限原则实现机制保证了系统具有一定的灵活性,从而有利于推动角色工程的发展,促进基于角色的访问控制机制在企业安全应用中的应用。