基于角色的协同虚拟环境研究

时间:2024-04-26 03:03:24 5A范文网 浏览: 论文范文 我要投稿

 摘  要  本文根据协同虚拟环境中的角色需求,提出一个适应协同虚拟环境的角色模型,给出一个带有时间空间特性的角色访问控制模型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={ (xiyizi) | i ∈N },S是虚拟世界所有空间点的集合。(xiyizi) ∈S表示虚拟空间中的一点。与建立三维虚拟空间时的坐标相吻合。    为讨论方便,我们定义如下函数:    min(i,j),两个数比较,取较小值;max(i,j),两个数比较,取较大值;    span(i,j)=(min(i,j),max(i,j)),任意两个数确定的区间。    定义3:空间范围序列    SR ={(xiyizi) | xi ∈span(xjxk),yi ∈span(yjyk),zi ∈span(zjzk),(xjyjzj),( xkykzk ) ∈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 /> 

相关文章:

LM-STAR案例分析及下一代测试技术展望04-26

简论如何有效的培养学生的计算机能力04-26

网络攻击过程的形式化描述方法研究04-26

基于HTML标签的信息隐藏模型04-26

在当前网络环境下地方文献的组织管理探索04-26

基于对手思维建模的分布式入侵检测模型04-26

动态特效实时建模方法的研究04-26

数字农业时空信息管理平台04-26

基于Verilog HDL的模型优化04-26

MIS系统中细粒度实体bean问题解决方案的研究04-26

热搜文章
最新文章