
本书概括地介绍了访问控制中的角色工程技术,包括访问控制发展历程、访问控制策略规范与冲突、基于角色的访问控制模型、基于角色的访问控制系统中的约束研究、自顶向下角色工程方法、自底向上角色工程方法、角色挖掘的基本定义/算法分类/测试数据集及算法评价标准、基于语义的角色挖掘算法、基于图论的角色挖掘算法、基于矩阵的角色挖掘算法、基于权重的角色挖掘算法、基于动态建模的角色挖掘算法、基于单一约束的角色优化算法和基于多约束的角色优化算法等。本书介绍的内容涉及角色工程的基本术语与概念、发展历史与发展趋势、基本分类方法、基本挖掘算法与不同的基于约束的优化算法等。本书有助于读者全面了解角色工程的基本原理、方法,以及不同角色工程技术与算法之间的关系,适合作为高等学校信息安全相关专业研究生和高年级本科生的教材,也适合相关科研人员和对信息安全技术感兴趣的人员阅读。
网络和信息技术的快速发展使得人们可以通过网络应用共享资源与服务,有效地提高了数据的利用率。然而,网络自身的开放性、匿名性、数据传输透明性等特征对保障信息的机密性和完整性提出了许多新的挑战,严重阻碍了网络技术的进一步普及和应用。访问控制是保证网络安全最重要的核心技术之一,允许被授权的主体对某些客体的访问,同时拒绝向非授权的主体提供服务。 而基于角色的访问控制(Role-Based Access Control,RBAC)是一种广泛应用的访问控制机制。在该机制中,权限不再直接分配给用户,而是将权限与角色相关联,用户通过扮演角色来间接获得其所需权限,从而完成其所要完成的任务。利用基于角色的访问控制机制可以支持职责分离原则、最小权限原则及数据抽象功能。与传统自主访问控制和强制访问控制机制相比,基于角色的访问控制具有简化系统管理、提高企业生产力、缩短新员工的适应期、提高系统的安全性和完整性,以及简化规则调整等优点,从而得到越来越多的关注和研究,也逐渐成为企业建立安全应用的首选模型,并利用该机制实施对企业资源的安全管理。因此,如何合理地构建适合企业安全和功能需求的基于角色的访问控制系统已成为一个亟待解决的问题。 作为构建和维护基于角色的访问控制系统的角色工程(Role Engineering)技术,一般分为自顶向下(Top-Down)的方法和自底向上(Bottom-Up)的方法。通常,自顶向下的方法通过对大量的企业用例或业务逻辑进行分析,进而抽取相应的角色,并为角色分配相应的权限,从而构建基于角色的访问控制系统;而自底向上的方法通过分析系统中已经存在的用户和权限之间的分配关系,利用数据挖掘技术从中得到能反映这一分配关系所对应的角色,并构建角色层次,从而构建系统,由于该方法能实现自动化或半自动化处理,所以成为角色工程技术研究的重点。 为了帮助在校学生、相关研究人员和感兴趣的人员全面了解角色工程技术的基本原理、方法及各项技术之间的关系,本书从角色工程入手,详细介绍了角色工程的相关概念、分类、约束和维护等知识,同时概述了基本角色生成算法、优化角色生成算法和基于约束的角色生成算法。 本书是著者在长期从事科研与教学的基础上编写的。本书的编写得到了国家自然科学基金委员会-河南省人民政府人才培养联合基金项目(编号:U1304619)和南阳师范学院“卧龙学者”奖励计划项目的支持。其中,鲁剑锋参与了“1.4访问控制策略规范”的编写,王伟参与了“4.2基于语义的角色挖掘算法”的编写,李华青参与了“4.3基于图论的角色挖掘算法”的编写,全书由南阳师范学院的马晓普负责编写并完成统稿工作。同时,本书在编写过程中,得到了电子工业出版社,特别是责任编辑魏建波老师的大力支持与帮助。此外,刘志慧等在资料的整理、校对工作中付出了辛勤的劳动。在此谨向以上各位表示衷心的感谢。 由于角色工程技术涉及的内容广、研究成果更新较快,加之著者水平的限制,书中难免存在各种疏漏,敬请读者批评指正。 著 者
第1章 引言 1 1.1 访问控制与信息安全 1 1.2 访问控制技术概述 2 1.3 访问控制模型 3 1.3.1 被动访问控制模型 5 1.3.2 主动访问控制模型 7 1.4 访问控制策略规范 9 1.5 访问控制策略冲突 11 第2章 基于角色的访问控制模型 13 2.1 角色访问控制概述 13 2.2 基于角色的访问控制参考模型 15 2.2.1 核心RBAC模型 16 2.2.2 层次RBAC模型 17 2.2.3 具有静态职责分离约束的RBAC模型 19 2.2.4 具有动态职责分离约束的RBAC模型 20 2.3 基于角色的访问控制系统中的约束 21 2.3.1 基于集合势的约束 22 2.3.2 职责分离约束 23 2.3.3 最小权限原则 27 2.3.4 前提条件约束 40 第3章 访问控制中的角色工程 41 3.1 引言 41 3.2 角色构建 49 3.2.1 自顶向下角色工程 51 3.2.2 自底向上角色工程 54 3.3 角色维护 62 第4章 角色挖掘及优化算法 65 4.1 引言 65 4.1.1 角色挖掘的基本定义 66 4.1.2 角色挖掘算法分类 70 4.1.3 角色挖掘测试数据集 73 4.1.4 角色挖掘算法评价标准 76 4.2 基于语义的角色挖掘算法 80 4.2.1 背景与目的 80 4.2.2 算法思想 82 4.2.3 算法示例 84 4.3 基于图论的角色挖掘算法 87 4.3.1 背景与目的 87 4.3.2 算法思想 88 4.3.3 算法示例 92 4.4 基于矩阵的角色挖掘算法 95 4.4.1 背景与目的 95 4.4.2 算法描述 96 4.4.3 算法示例 101 4.5 基于权重的角色挖掘算法 103 4.5.1 背景与目的 103 4.5.2 算法描述 104 4.5.3 算法示例 114 4.6 基于动态建模的角色挖掘算法 116 4.6.1 背景与目的 116 4.6.2 算法描述 116 4.6.3 算法示例 121 4.6.4 算法实验与评估 129 第5章 基于约束的角色优化算法 133 5.1 引言 133 5.2 基于单一约束的角色优化算法 134 5.2.1 限定角色中权限数的优化算法 134 5.2.2 限定角色可分配用户数的优化算法 139 5.2.3 限定用户拥有角色数的优化算法 142 5.2.4 基于职责分离约束的优化算法 147 5.3 基于角色权限数和角色用户数约束的优化算法 150 5.3.1 算法整体流程 151 5.3.2 初始角色集的生成 152 5.3.3 角色选择算法 154 5.3.4 角色状态生成 155 5.3.5 实例分析 158 5.4 基于角色用户数和角色权限数约束的优化算法 161 5.4.1 算法整体流程 161 5.4.2 初始角色集的生成 162 5.4.3 角色状态生成 163 5.4.4 实例分析 165 参考文献 168