论文部分内容阅读
【摘 要】分布式工作环境中的访问控制技术成为当今工作流系统的最为关键的技术之一。本文对几种现有的工作流访问技术作了介绍和比较,并分析其应用和进一步的发展。
【关键词】工作流;访问控制技术;约束;授权
【Abstract】 Access control mechanism becomes a key technology in the distributed working environment .This paper is to describe and compare with several current access control mechanism, and then analyzes their application and further development
【Keywords】 workflow; access control mechanism; constraints; authorization
引言
企业为了适应经济全球化、动态联盟、世界制造等经济形式的发展,分布式的工作流已经逐渐广泛的应用于大大小小的企事业单位和组织。如银行系统、电信系统、保险系统、电子政务等。工作流就是企业义务流程完全或部分的自动化,它根据一定的过程规则集把业务所需的文档、信息或任务从一个参与人传递到下一个参与人。在它给人们带来了快捷、方便、实时、动态的服务,同时如何确保信息的安全、可靠、及时、准确的访问已成为分布式工作流的关键所在。
访问控制就是规定主体对客体的访问限制。主体指的是用户及其应用,客体是可以应用的软、硬件资源。主体对客体的访问要有授权、通过权限确认,最后实施权限内的访问控制动作。根据网络安全访问控制方式有两种:自主访问控制(DACDiscretionaryAccessControl),强制访问控制(MACMandatoryAccessControl)。基于角色的访问控制(RBACRole-basedAccessControl),最近又有人提出了基于任务的访问控制(TBACTask-basedAccessControl)。
1.自主访问控制(DAC)
又称任意访问控制,是访问控制技术中最常用的一种方法。这种方法允许用户可以自主地在系统中规定谁可以存取他的资源实体。所谓自主,是指具有授与某种访问权力的主体(用户)能够自己决定是否将访问权限授予其他的主体。DAC有以下几种方法:目录表访问控制(CACCatalogAccessControl)、访问控制表(ACLAccessControlList)、访问控制矩阵(ACMAccessControlMatrix)、能力表(CLCapabilitiesList)。
DAC是保护系统资源不被非法访问的一种有效的方法,用户可以利用自主存取控制来防范其他用户对自己的客体的攻击。它的特点是对用户来说提供了很强的灵活性,但给系统带来了安全漏洞。这是由于客体的属主用户可以自主更改文件的存取控制表,造成操作系统无法对某个操作进行合法的判别。尤其是不能防止具有危害性的“特洛伊木马”通过共享客体(如文件、报文、共享存储等)从一个进程传到另一个进程。而强调访问控制则是用无法回避的访问限制来防止“特洛伊木马”的非法潜入,提供一个更强的、不可逾越的系统安全防线,以防止用户偶然失误造成安全漏洞或故意滥用自主访问控制的灵活性。现今大部分的操作系统采用的都是DAC,因为比较适合操作系统的资源的管理特性。
2.强制访问控制(MAC)
也叫指定性访问控制。MAC就是用户的权限和客体的安全属性都是固定的,由系统决定一个用户对某个客体能否进行访问。所谓“强制”就是安全属性由系统管理员人为设置,或由操作系统自动地按照严格的安全策略与规则进行设置,用户不能参与修改这些属性。所谓“强制访问控制”是指访问发生前,系统通过比较主体和客体的安全属性来决定主体能否以他所希望的模式访问一个客体。只有当主体的安全级别高于客体的安全级别时,才允许主体访问该客体,否则拒绝访问。
MAC可以防止在访问过程中出现的权限传递和泄露问题。除了代表系统的管理员外,其他任何主体、客体都无权修改它们的安全属性,也就改变不了客体的文件的存取控制表。但这种方法的安全级别无法划分的那么细致,给访问控制带来不便,而且同级别之间缺乏控制机制。主要应用在一些任务单一、用户固定、主体稀少的工作流系统中。
3.基于角色的访问控制(RBAC)
3.1RBAC基本思想
RBAC和下面的基于任务的访问控制都是糅合了DAC和MAC两种方法的合成物。RBAC就是将访问的权限与角色联系起来,系统根据企业内用户的职权和责任定义不同的角色并赋予相应权限,然后将角色赋予相关的主体用户。用户可以有不同的角色身份,系统可以定义、删除角色,也可以改变角色的权限。
3.2RBAC模型
RaviSandhu等提出了RBAC96基于角色的访问控制模型和RBAC97基于角色的访问控制模型管理授权模型(AdministrationofRBAC)。RBAC96模型簇共有4个不同的模型,分成不同的级别:RBAC0、RBAC1、RBAC2、RBAC3.它比较全面地包含了基于角色授权管理各个方面的信息。RBAC0模型定义了支持基于角色的访问控制的最少需求,RBAC1在RBAC0的基础上增加了角色继承关系,RBAC2在RBAC0的基础上增加了各种约束关系,而RBAC3是对RBAC1与RBAC2的集成。[3]
3.3RBAC的授权约束机制
我们根据图2的RBAC模型,模型的元素包含:US(用户集)、RS(角色集)、TS(任务集)、PS(权限集)、CS(约束集)。他们相互之间的关系映射,UR表示用户角色间的分配指派关系。这是多对多的关系,一个用户对应多个角色。同样,一个角色对应多个用户,UR∈U·R。它表示一个具体用户U所具有的角色集,表示为UR(u:U)→。 角色任务映射(RT)角色与任务的映射关系,这可以是一个多对多的关系。但一般情况下,这是一对多的关系。即一个角色对应多个任务,一个任务分配给一个角色,RT∈R·T;RT=.其中表示能够执行任务T的角色集合,该角色集合是具有层次关系的,其用户等级RH中给定;C表示该执行该任务的动态约束条件。通过C和比较当前角色r1和要执行任务所需要的角色r2的等级来决定用户能否执行任务。如r1≥r2,则可以执行;否则不允许r1执行任务。
任务权限映射(TP)任务与权限的映射关系,这是多对多的关系,一个任务对应多个权限。同样,一个权限对应多个任务,TP∈T·P。TP(t:T)→。
基于角色的访问控制使权限的管理集中,只要对角色的权限进行控制就可以实现对相同属性的客户管理,而不需要个别处理。符合职责分离的原则,定义角色的和使用角色的用户相分离,具有更高的安全性。权限的管理灵活,根据需要可以创建角色,改变角色的权限和删除角色。符合最小权限原则,只给角色以相应的最小权限。因此在现在的大部分开发的工作流系统中的访问控制方式都是使用RBAC模型和其改善模型。
4.基于任务的访问控制(TBAC)
它是在RBAC的基础上对原有的模型进行进一步的改善而获取的一种控制访问方式。
RBAC96模型在创建角色后即把权限分配给角色,此后权限在角色的整个生命周期都有效;而工作流是动态的流程,角色只有在执行任务时才需要权限,在其余时间这些权限都是多余的。采用上述授权方式后,则会造成角色权限的冗余和数据访问的不安全性。
企业因客户需求变化需大幅更改工作流程,每个工作流程可能要对应不同的角色权限和不同的角色约束。在RBAC96中,一个角色对应多个用户和多个权限,当工作流系统对一个角色进行修改时,则会牵涉到对应于该角色上的多个用户,易发生误操作;同时若在RBAC96模型中预先定义角色的约束关系,会导致RBAC96模型中的约束条件极其庞大,难以维护。
因此有人提出了基于任务的访问控制。角色只有在执行任务时,才具有权限,当角色不执行任务时没有权限;权限的分配和回收是动态的,任务根据流程动态到达角色,权限随之赋予角色,随着任务的结束,角色的权限随之回收。方便角色的维护,保证角色的相对稳定性,角色在工作流中不需赋予权限,即可适应任务工作流,而原有RBAC需要修改角色的权限来适应不同工作流,从而防止了由于修改角色而影响角色下的所有人员,使得角色的操作极为简单和方便。
总结
本文介绍了工作流的控制访问方式即:自主访问方式、强制访问方式、基于角色访问方式、基于任务访问方式,分析指出了各种方式的优点和缺点,并重点对现在热点的角色访问控制方式进行了进一步的阐述。利用角色访问控制可以很好的解决访问的安全性和灵活性是工作流访问的一种很好的方法,所以应用在大部分的工作流系统中。但角色的权限分配如何有效、方便,角色的动态管理等还有很多问题,这也是以后工作流访问控制即待解决的问题。
参考文献:
1.WorkflowManagementCoalition.WorkflowreferencemodeEB/OL〕.http://www.wfmc.org/standards/docs.Jan1995
2.龚俭、陆晟、王倩计算机安全导论南京:东南大学出版社2000,8
3.李海泉、李健计算机网络安全与加密技术北京:科学出版社2001,3
4.RaviSandhu,EdwardCoyne,HalFeinsteinandetc.Role-basedaccesscontrolmodels〔J〕.IEEEComputer,1996,29(2)
5.陈丽侠,陈刚,董金祥基于任务的工作流访问控制模型和实现框架计算机应用研究2003(9)
【关键词】工作流;访问控制技术;约束;授权
【Abstract】 Access control mechanism becomes a key technology in the distributed working environment .This paper is to describe and compare with several current access control mechanism, and then analyzes their application and further development
【Keywords】 workflow; access control mechanism; constraints; authorization
引言
企业为了适应经济全球化、动态联盟、世界制造等经济形式的发展,分布式的工作流已经逐渐广泛的应用于大大小小的企事业单位和组织。如银行系统、电信系统、保险系统、电子政务等。工作流就是企业义务流程完全或部分的自动化,它根据一定的过程规则集把业务所需的文档、信息或任务从一个参与人传递到下一个参与人。在它给人们带来了快捷、方便、实时、动态的服务,同时如何确保信息的安全、可靠、及时、准确的访问已成为分布式工作流的关键所在。
访问控制就是规定主体对客体的访问限制。主体指的是用户及其应用,客体是可以应用的软、硬件资源。主体对客体的访问要有授权、通过权限确认,最后实施权限内的访问控制动作。根据网络安全访问控制方式有两种:自主访问控制(DACDiscretionaryAccessControl),强制访问控制(MACMandatoryAccessControl)。基于角色的访问控制(RBACRole-basedAccessControl),最近又有人提出了基于任务的访问控制(TBACTask-basedAccessControl)。
1.自主访问控制(DAC)
又称任意访问控制,是访问控制技术中最常用的一种方法。这种方法允许用户可以自主地在系统中规定谁可以存取他的资源实体。所谓自主,是指具有授与某种访问权力的主体(用户)能够自己决定是否将访问权限授予其他的主体。DAC有以下几种方法:目录表访问控制(CACCatalogAccessControl)、访问控制表(ACLAccessControlList)、访问控制矩阵(ACMAccessControlMatrix)、能力表(CLCapabilitiesList)。
DAC是保护系统资源不被非法访问的一种有效的方法,用户可以利用自主存取控制来防范其他用户对自己的客体的攻击。它的特点是对用户来说提供了很强的灵活性,但给系统带来了安全漏洞。这是由于客体的属主用户可以自主更改文件的存取控制表,造成操作系统无法对某个操作进行合法的判别。尤其是不能防止具有危害性的“特洛伊木马”通过共享客体(如文件、报文、共享存储等)从一个进程传到另一个进程。而强调访问控制则是用无法回避的访问限制来防止“特洛伊木马”的非法潜入,提供一个更强的、不可逾越的系统安全防线,以防止用户偶然失误造成安全漏洞或故意滥用自主访问控制的灵活性。现今大部分的操作系统采用的都是DAC,因为比较适合操作系统的资源的管理特性。
2.强制访问控制(MAC)
也叫指定性访问控制。MAC就是用户的权限和客体的安全属性都是固定的,由系统决定一个用户对某个客体能否进行访问。所谓“强制”就是安全属性由系统管理员人为设置,或由操作系统自动地按照严格的安全策略与规则进行设置,用户不能参与修改这些属性。所谓“强制访问控制”是指访问发生前,系统通过比较主体和客体的安全属性来决定主体能否以他所希望的模式访问一个客体。只有当主体的安全级别高于客体的安全级别时,才允许主体访问该客体,否则拒绝访问。
MAC可以防止在访问过程中出现的权限传递和泄露问题。除了代表系统的管理员外,其他任何主体、客体都无权修改它们的安全属性,也就改变不了客体的文件的存取控制表。但这种方法的安全级别无法划分的那么细致,给访问控制带来不便,而且同级别之间缺乏控制机制。主要应用在一些任务单一、用户固定、主体稀少的工作流系统中。
3.基于角色的访问控制(RBAC)
3.1RBAC基本思想
RBAC和下面的基于任务的访问控制都是糅合了DAC和MAC两种方法的合成物。RBAC就是将访问的权限与角色联系起来,系统根据企业内用户的职权和责任定义不同的角色并赋予相应权限,然后将角色赋予相关的主体用户。用户可以有不同的角色身份,系统可以定义、删除角色,也可以改变角色的权限。
3.2RBAC模型
RaviSandhu等提出了RBAC96基于角色的访问控制模型和RBAC97基于角色的访问控制模型管理授权模型(AdministrationofRBAC)。RBAC96模型簇共有4个不同的模型,分成不同的级别:RBAC0、RBAC1、RBAC2、RBAC3.它比较全面地包含了基于角色授权管理各个方面的信息。RBAC0模型定义了支持基于角色的访问控制的最少需求,RBAC1在RBAC0的基础上增加了角色继承关系,RBAC2在RBAC0的基础上增加了各种约束关系,而RBAC3是对RBAC1与RBAC2的集成。[3]
3.3RBAC的授权约束机制
我们根据图2的RBAC模型,模型的元素包含:US(用户集)、RS(角色集)、TS(任务集)、PS(权限集)、CS(约束集)。他们相互之间的关系映射,UR表示用户角色间的分配指派关系。这是多对多的关系,一个用户对应多个角色。同样,一个角色对应多个用户,UR∈U·R。它表示一个具体用户U所具有的角色集,表示为UR(u:U)→。 角色任务映射(RT)角色与任务的映射关系,这可以是一个多对多的关系。但一般情况下,这是一对多的关系。即一个角色对应多个任务,一个任务分配给一个角色,RT∈R·T;RT=
任务权限映射(TP)任务与权限的映射关系,这是多对多的关系,一个任务对应多个权限。同样,一个权限对应多个任务,TP∈T·P。TP(t:T)→。
基于角色的访问控制使权限的管理集中,只要对角色的权限进行控制就可以实现对相同属性的客户管理,而不需要个别处理。符合职责分离的原则,定义角色的和使用角色的用户相分离,具有更高的安全性。权限的管理灵活,根据需要可以创建角色,改变角色的权限和删除角色。符合最小权限原则,只给角色以相应的最小权限。因此在现在的大部分开发的工作流系统中的访问控制方式都是使用RBAC模型和其改善模型。
4.基于任务的访问控制(TBAC)
它是在RBAC的基础上对原有的模型进行进一步的改善而获取的一种控制访问方式。
RBAC96模型在创建角色后即把权限分配给角色,此后权限在角色的整个生命周期都有效;而工作流是动态的流程,角色只有在执行任务时才需要权限,在其余时间这些权限都是多余的。采用上述授权方式后,则会造成角色权限的冗余和数据访问的不安全性。
企业因客户需求变化需大幅更改工作流程,每个工作流程可能要对应不同的角色权限和不同的角色约束。在RBAC96中,一个角色对应多个用户和多个权限,当工作流系统对一个角色进行修改时,则会牵涉到对应于该角色上的多个用户,易发生误操作;同时若在RBAC96模型中预先定义角色的约束关系,会导致RBAC96模型中的约束条件极其庞大,难以维护。
因此有人提出了基于任务的访问控制。角色只有在执行任务时,才具有权限,当角色不执行任务时没有权限;权限的分配和回收是动态的,任务根据流程动态到达角色,权限随之赋予角色,随着任务的结束,角色的权限随之回收。方便角色的维护,保证角色的相对稳定性,角色在工作流中不需赋予权限,即可适应任务工作流,而原有RBAC需要修改角色的权限来适应不同工作流,从而防止了由于修改角色而影响角色下的所有人员,使得角色的操作极为简单和方便。
总结
本文介绍了工作流的控制访问方式即:自主访问方式、强制访问方式、基于角色访问方式、基于任务访问方式,分析指出了各种方式的优点和缺点,并重点对现在热点的角色访问控制方式进行了进一步的阐述。利用角色访问控制可以很好的解决访问的安全性和灵活性是工作流访问的一种很好的方法,所以应用在大部分的工作流系统中。但角色的权限分配如何有效、方便,角色的动态管理等还有很多问题,这也是以后工作流访问控制即待解决的问题。
参考文献:
1.WorkflowManagementCoalition.WorkflowreferencemodeEB/OL〕.http://www.wfmc.org/standards/docs.Jan1995
2.龚俭、陆晟、王倩计算机安全导论南京:东南大学出版社2000,8
3.李海泉、李健计算机网络安全与加密技术北京:科学出版社2001,3
4.RaviSandhu,EdwardCoyne,HalFeinsteinandetc.Role-basedaccesscontrolmodels〔J〕.IEEEComputer,1996,29(2)
5.陈丽侠,陈刚,董金祥基于任务的工作流访问控制模型和实现框架计算机应用研究2003(9)