作者:Michael E. Shin、Gail-Joon Ahn著,UMLChina 译 摘要
1 介绍
我们的主要目标是缩短安全模型和系统开发之间的鸿沟。本文使用通用的可视化建模语言UML来表示RBAC模型。我们选择UML的原因是它已经成为建模的标准语言。我们的表示包括RBAC模型的静态视图、功能视图、动态视图。 本文按以下方式组织:在第2部分,我们描述一种广为人知的基于角色访问控制模型,通常称为RBAC96。第3部分简短介绍UML。第4部分用UML表示RBAC96模型。第5部分给出结论。 2. RBAC模型
图1 RBAC模型 图1显示了 (regular)管制对数据和资源的访问的角色和权限。直观上,一个用户是一个人或一个自治的agent,一个角色是一项在组织中的工作功能或工作头 衔。而权限是对系统中一个或多个object的特定访问模式的许可或执行某些动作的特权。角色以偏序关系≥组织,如果x≥y那么角色x就继承了角色y的权 限。x的成员也意味着是y的成员。每次会话( session)把一个用户和可能的许多角色联系起来。用户建立一次会话,激活一些他或她是成员(直接获得或通过角色继承的方式间接获得)的角色子集。 RBAC模型有以下组成部分,这些组成部分从以上的讨论中形式化。 一个用户可以成为很多角色的成员,一个角色可以有许多用户。类似地,一个角色可以有多个权限,同一个权限可以被指派给多个角色。每个会话把一个用户 和可能的许多角色联系起来。一个用户在激发他或她所属角色的某些子集时,建立了一个会话。用户可用的权限是当前会话激发的所有角色权限的并集。每个会话和 单个用户关联。这个关联在会话的生命期间保持常数。一个用户在同一时间可以打开多个会话,例如,在不同的工作站屏幕窗口各一个。每个会话可以有不同的活动 角色。会话的概念相当于传统的访问控制中主体(subject)的标记。一个主体是一个访问控制单位,一个用户在同一时间可以拥有多个不同活动权限的主体 (或会话)。 3. UML概览
本文中,我们使用类图、用例图和对象协作图分别作为RBAC模型的静态视图、功能视图、动态视图。在本文的剩下内容中,我们使用了 [1, 7, 10]中介绍的UML标记符。 4. 基于UML的 RBAC表示
4.1 静态视图
图2 类图:概念静态模型 RBAC的概念静态模型如图2所示,包括类、类之间的关系和关系的势。基本的实体是用户、角色、权限、约束和会话类。角色和权限类分别特化出两种类 别:使用者和管理者。这个特化依赖于用户的资历。RBAC模型的约束可以有很多种形式,依赖于应用系统。为了简化分析模型,我们静态模型中的约束只有三 个:用户约束、权限约束、会话约束。另外,静态模型还有一个特殊的类session hour,当用户建立一个会话来激活他/她的角色时,该类被使用。这对表达基于会话的约束很有用。例如,一个组织可以要求用户只能在某些时间建立会话。为 了强化这类约束,我们需要跟踪每个会话的会话时间。实体类的属性在图3中定义。
图3 实体类的属性 在静态视图中,UA关系和PA关系用多对多的“assinged to”关系表示。用户-会话关系看作一个用户可以建立一个或多个会话,在常数的会话生命期中每个会话激活至少一个或多个角色。角色继承关系表示为一个角色inherits另外的角色。 4.2 功能视图 本文中,我们也作了更具体的功能需求来表示在图2中没有清晰定义的、RBAC系统应该提供的功能。使用用例模型描述的功能视图如图4所示,有三个执 行者:安全管理员(security administrator)、用户(user)和角色领域工程师(role domain engineer)。角色领域工程师从可能组织一组权限的应用系统中抽取出基本的知识,构造角色层次和指定约束。安全管理员管理基于角色的系统,指派用户 到角色和指派权限到角色。用户是真实的人或外系统,可以建立会话、请求权限许可和关闭会话。
图4 用例模型 下面是建立会话(session establishing)用例的简要叙述: 用例:建立会话 执行者:用户 前置条件:系统空闲 说明:用户提交信息以建立会话;系统显示用户可以激活的角色;用户选择要激活的角色;系统以用户所选择的角色激活一个会话。 在以所选择角色建立会话之后,用户可能需要访问需要基于角色信息的授权过程的系统资源。换句话说,和角色相关的权限应该得到系统的许可。以下是“权限许可”用例的简要描述: 用例:权限许可 执行者:用户 前置条件:用户的会话已经激活 说明:用户提交权限许可信息,系统通知用户权限是否许可。 我们也可以考虑其他情况。例如,我们可能需要额外的功能来让安全管理员监视会话或让用户查询自己的状态。 4.3 动态视图 在动态视图中,用例被精化以显示参与用例的对象之间的交互。“建立会话”的协作图如图5所示。
图5 协作图:建立会话 用户通过UserInterface引发用例, RBAC Controller coordinates协调对象之间的交互。“权限许可”的协作图如图6所示,需要一个前置条件:会话已经被激活。
图6 协作图:权限许可 5. 结论 致谢
参考文献 [2] Pete Epstein and Ravi Sandhu. Tow ards A UML Based Approach to Role Engineering. In Pr oceedingsof the 4th ACMWorkshop on Role-Based AccessControl, pages 135-142, Fairfax, VA, October 28-29 1999. [3] David Ferraiolo and Richard Kuhn. Role-based access con trols. In Proceedings of 15th NIST-NCSC National Computer Security Conferenc e, pages 554-563, Baltimore, MD, October 13-16 1992. [4] M.-Y. Hu, S.A. Demurjian, and T.C. Ting. User-role based security in the ADAM object-oriented design and analyses environment. In J. Biskup, M. Morgernstern, and C. Landwehr, editors, Database Security VIII: Status and Pr ospects . North Holland, 1995. [5] Hossan Gomaa. Object Oriented Analysis and Modeling for Family of systems with the UML. T echnicalReport, ISE Dept. George Mason University, 1999. [6] Imtiaz Mohammed and David M. Dilts. Design for dynamic user-role-based security. Computers & Security, 13(8):661-671, 1994. [7] J. Rumbaugh, G. Booch, and I. Jacobson. The Unified Modeling Language Reference Manual. Addison Wesley , Reading MA, 1999. [8] Ravi S. Sandhu. Lattice-based access control models. IEEE Computer, 26(11):9{19, November 1993. [9] Ravi S. Sandhu, Edward J. Coyne, Hal L. Feinstein, and Charles E. Y ouman. Role-based access con trolmodels. IEEE Computer, 29(2):38{47, February 1996. [10] National Soft w areet al. Unified Modeling Language Notation Guide, Version 1.1. September 1, 1997. [11] Charles Y ouman, Ed Coyne, and Ravi Sandhu, editors. Pr oceedingsof the 2nd ACM Workshop on R ole-Based Access Control, Nov. 6-7. ACM, 1997. [12] Charles Y ouman, Ed Coyne, and Ravi Sandhu, editors. Pr oceedingsof the 3rd ACM Workshop on R ole-Based Access Control, Oct. 22-23. ACM, 1998. |
联系客服