摘 要 本文根据协同虚拟环境中的角色需求,提出一个适应协同虚拟环境的角色模型,给出一个带有时间空间特性的角色访问控制模型TSRBAC,使协同虚拟环境具有更全面的安全属性描述。在此基础上,构建一个基于角色的协同虚拟环境系统RBCVES。
关键词 协同虚拟环境;角色;虚拟现实
1 引言
协同虚拟环境(Collaborative Virtual Environment,CVE)于20世纪90年代中期提出,在一组以网络互联的计算机上同时运行虚拟环境实现协同工作。随着虚拟环境、网络、计算机支持的协同工作和图形学技术的飞速发展,促进了人们对协同虚拟环境的研究兴趣,也推动了该领域的发展。协同虚拟环境作为通信和合作的强大的工具,在娱乐、商业、教育、工程和医药等领域有很广泛的应用[1]。 CVE要在一个三维虚拟环境中实现多个用户对虚拟空间、虚拟实体和资源的共享,目的是通过网络通信实现异地用户之间协同工作,共同完成任务。为了适应CVE在Internet上的应用需求,我们需要考虑在CVE中用户和权限的控制,确保用户对各种物体和资源享有不同权利和义务,从而更好地维护用户间协同的顺利进行。 角色机制一方面可以实现权限的有效管理和用户的合理授权,提高系统交互性,另一方面对访问和操作进行合法检测,能够提高系统安全性。本文在CVE系统中引入角色机制作为支撑技术,通过面向角色的软件方法来实现系统功能。2 模型设计
2.1 角色模型
通常角色指的是一组权利和义务的集合[2]。权利代表了许可,即对象对于一组目标资源允许或者禁止的行为;义务代表了职责,即对象对于一组目标物体必须做或者绝对不做的行为。权利(Permissions)和义务(Obligations)是角色的核心要素,但并不是全部要素。角色还应该具备角色标识符号、承担该角色的对象负责的一个或多个子目标、角色拥有的资格、角色的状态与其它角色之间的各种关系等要素。 基于以上分析,我们给出如下角色模型: 定义1 角色模型Role_Model<Role_Model>∷= “ROLE”<ID><Name><Goals><Qualifications><Status><Permissions><Obligations><Relations>“END_ROLE” 各属性定义如下: ID是系统实现时,对角色的标识,每个角色只有惟一的ID。 Name是角色的名称标识。 Goals是角色对应的子目标。 Qualifications是角色拥有的资格。 Status指的是角色的状态。表明了角色在某一时刻所处的行为。 Permissions是一组权限的集合。指定该角色执行的操作哪些是允许的,哪些是禁止的,以及哪些资源是可利用的,哪些资源是不可用的。 Obligations是角色的义务集的动态体现。该集合规定了角色必须执行的一组特定行为,它反映了角色必须完成的目标和行为约束。另外,角色的义务集也反映了角色之间的组织关系,即在组织内部,角色之间的相互负责关系。每一个obligation都要包含obligated_roles、authority_roles、benefited_roles和rules。其中,obligated_roles定义了该义务的承担角色集,authority_roles定义了对该义务具有授权功能的角色集,而benefited_roles则定义了履行该义务后的收益角色集合,rules定义了义务履行的规则集。 Relations是该角色与其它角色之间的关系,如角色的继承和派生等关系。2.2 带时空特性的角色访问控制模型
基于角色的访问控制模型(Role-Based Access Control,RBAC)最早是在 1992年由Ferraiolo和Kuhn提出的[3]。RBAC模型的突出优点是简化了各种环境下的授权管理。通过引入角色这一中介实现了用户与权限的逻辑分离。RBAC的思想是将权限赋予角色。角色实际上是与特定工作岗位相关的一个权限与职责的集合,与用户相比角色是相对稳定的。当用户改变时,只需要进行角色的撤消和重新分配即可。RBAC 访问控制模型不仅易于管理而且降低了复杂性、成本和发生错误的概率,因而近年来得到了极大的发展。典型的RBAC模型如RBAC96模型[4]和NIST 标准 RBAC 模型[5]。在此基础上,人们提出多个扩充模型[6][7]。 文献[8]中,在 RBAC 基础上作了时间特性方面的扩展,在无时间特性的角色访问控制的形式化表达的基础上,对授权约束及其时间特性进行分析,提出了一个带时间特性的角色访问控制模型TRBAC(Timed Role-Based Access Control)。TRBAC有着更全面、更具体的安全属性描述能力。TRBAC 定义了系统时钟,对约束、会话和系统状态空间本身进行了时间扩充,解决了时间授权约束和会话的状态转变问题。 在CVE系统中,时间固然是一个不可忽视的要素,同时它也是一个三维渲染的虚拟世界。因此,在这个四维环境中,不仅要考虑时间特性方面的影响,还要考虑空间特性对角色的约束。传统模型的弱点在于都没有考虑主体执行操作时所处的环境,这样容易造成安全隐患。所以,我们在RBAC模型和TRBAC模型的基础上,结合CVE的特点,提出一个带有时间和空间特性的角色访问控制模型TSRBAC(Timed and Spaced Role-Based Access Control),更好地满足CVE系统的需求。TSRBAC模型继承TRBAC的所有元素,包括其时间约束,并进行空间约束的扩充: 定义2:空间点序列 S={ (xi,yi,zi) | i ∈N },S是虚拟世界所有空间点的集合。(xi,yi,zi) ∈S表示虚拟空间中的一点。与建立三维虚拟空间时的坐标相吻合。 为讨论方便,我们定义如下函数: min(i,j),两个数比较,取较小值;max(i,j),两个数比较,取较大值; span(i,j)=(min(i,j),max(i,j)),任意两个数确定的区间。 定义3:空间范围序列 SR ={(xi,yi,zi) | xi ∈span(xj,xk),yi ∈span(yj,yk),zi ∈span(zj,zk),(xj,yj,zj),( xk,yk,zk ) ∈S },空间范围是由两个空间点确定的范围,这个范围是以给定的两个点为对角线确定的长方体。因为空间形状复杂多样,为了方便描述、表示、计算,我们选取了这种简单方便的确定空间范围的方法。 SRS = 2SR 表示由空间范围构成的集合。 用 C表示所有的约束集合,S_C表示所有TSRBAC中的空间约束。 定义4:空间约束谓词定义 In_SRange ⊆ C×SRS 表示约束 C 在指定的空间范围集合 SRS 内必须成立。 定义5:空间约束定义 S_C = In_SRange(C,SRS)
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
3 基于角色的协同虚拟环境系统设计与实现
3.1 系统框架设计
本文在以上角色模型和带时空特性的访问控制模型基础上,提出一个基于角色的协同虚拟环境系统RBCVES (Role-based Collaborative Virtual Environment System)。RBCVES采用客户机/服务器结构,集成JAVA和VRML技术,创建一个共享的虚拟世界,并实现在虚拟世界中的协同活动。系统体系结构图如图1所示。图1 RBCVES体系结构图 客户端采用VRML结合Java Applet来实现,由VRML浏览器、Java Applet和本地场景实体库构成。其中VRML浏览器是展示协同虚拟场景的接口,负责向用户展示三维虚拟世界;Java Applet随同VRML世界同时下载,完成客户端需要实现的功能,例如客户端和服务器之间的通信、信息的过滤和一致性维护等功能;本地场景实体库存放用户自身的替身模型、感兴趣用户的替身模型和本地共享场景实体模型。 服务器端包括基于角色的访问控制系统、角色服务器、注册服务器、CSCW服务器、聊天服务器、视频服务器以及相关的数据库。其中角色服务器和访问控制系统是RBCVES的核心组件,实现了系统中基于角色的访问控制。注册服务器实现对系统中所有实体基本信息的管理,包括用户信息管理器和共享实体信息管理器。CSCW服务器是系统实现协同活动的核心模块,负责维护虚拟环境中各模型的状态,进而维护整个虚拟世界,包括建立和断开通信连接、用户加入和离开、用户间协同会话、协同信息的管理规划、操作响应、信息一致性维护以及兴趣域管理等。聊天服务器负责单用户之间、用户组之间的文本聊天(例如共享白板),增强系统交互性。多媒体服务器实现用户之间、用户组之间的音频和视频通信,使协同虚拟环境的场景信息更加丰富,提高系统感知性。3.2 关键部分实现
系统使用VRML进行场景建模,作为系统的显示引擎实现与用户的交互。 Java Applet对VRML节点进行扩充,实现复杂的功能,包括信息流动、数据处理、冲突检测等。使用VRML的外部程序接口EAI(External Authoring Interface),实现VRML虚拟空间和Java Applet之间的相互通讯。利用VRML的ProximitySensor(邻近检测器)节点可以跟踪本地用户视点的移动和转动并获得位置(Positiochanged)和方向值(Orientationchanged),这两个值一方面可以确定本地用户的空间角色约束,另一方面可用于改变其它用户的VRML虚拟空间中该用户3D替身的位置和方向。 用户在进行操作时,首先要提交请求给访问控制系统,访问控制系统访问角色服务器,获得用户的角色,访问控制系统再对角色的访问请求权限进行验证,如果验证成功就将请求发送给其它功能项目服务器进行处理,否则将会拒绝用户的请求。设置角色权限验证的函数为:bool access_r (string roleID,string operation), 论文检测天使-免费论文检测软件http://www.jiancetianshi.com第一个参数是角色ID,第二个参数是请求的操作。函数返回一个布尔类型的值,返回true表示请求成功,返回false表示访问被拒绝。
4 结束语
本文将角色理论应用于协同虚拟环境,提出的角色模型能够适应CVE需求,在现有角色访问控制模型基础上扩充空间约束,使CVE安全描述更全面。提出的RBCVES在CVE中融入角色机制,实现了用户权限的有效管理,限制了非法访问和操作,提高了系统的交互性和安全性。参考文献
[1] Igor S.Pandzic,Chris Joslin.Trends in Networked Collaborative Virtual Environments. Computer Communications,2003,26,5:430~437[2] Lei Yu,Beat F.Schimid. A Conceptual Framework for Agent Oriented and Role Based Workflow Modeling.Presented at CaiSE Workshop on Agent Oriented Information Systems(AOIS’99)-Heidelberg,1999 June 14~15[3] Ferraiolo David,Kuhn Richard. Role-based access controls.In:Proceedings of the 15th NIST-NCSC National Computer Security Conference,Baltimore,MD,1992,554~563[4] Sandhu,R.,Coyne,E.J.,Feinstein,H.L.,et al. Role-Based access control models. IEEE Computer,1996,29(2):38~47[5] Ferraiolo DF,Sandhu R,Gavrila S. Proposed NIST standard for role-based access control. ACM Transactions on Information and System Security,2001,4(3):224~274[6] Osborn S,Sandhu R. Configuring role-based access control to enforce mandatory and discretionary access control policies. ACM Transactions on Information and System Security,2000,3(2):85~106[7] AHN G-J,Sandhu. R. Role-Based authorization constraints specification. ACM Transactions on Information and System Security,2000,3(4):207~226[8] 黄建,卿斯汉,温红子. 带时间特性的角色访问控制. 软件学报,2003,14-11:1944~1954
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
简论如何有效的培养学生的计算机能力04-26
网络攻击过程的形式化描述方法研究04-26
基于HTML标签的信息隐藏模型04-26
在当前网络环境下地方文献的组织管理探索04-26
基于对手思维建模的分布式入侵检测模型04-26
动态特效实时建模方法的研究04-26
数字农业时空信息管理平台04-26
基于Verilog HDL的模型优化04-26