基于策略的CUC研究*

2017-01-04 03:17罗霄峰罗万伯
通信技术 2016年6期
关键词:安全策略访问控制定义

罗霄峰,罗万伯

(1.四川大学 锦江学院,四川 成都 610065;2.四川大学 计算机学院,四川 成都 610065)

基于策略的CUC研究*

罗霄峰1,罗万伯2

(1.四川大学 锦江学院,四川 成都 610065;2.四川大学 计算机学院,四川 成都 610065)

针对传统访问控制安全策略管理的不灵活和扩展性差等问题,提出基于策略的访问控制方法,将安全策略有机地注入CUC模型中。介绍了PBCUC的组件和体系结构,并用代数方法对其进行了形式化描述,同时研究了PBCUC的实现问题,提出用XACML表示PBCUC的安全策略,使用多域环境安全策略管理框架来管理这些策略,用iX-MIDD方法处理访问请求。仿真实验表明,这种方法的访问请求决策时间很快,可在μs级时间完成。

访问控制;UCON(使用控制);PBAC(基于策略的访问控制);安全策略;XACML

0 引 言

“策略(Policies,又称政策。注意与strategy及tactics有区别)”是一个涵义广泛的概念。在社会学领域中,它经常出现在法律、合同、协议、团体声明中。在信息领域,策略是一个单位或组织机构进行资产管理、操作(使用)和保护所必须遵循的一套规则、指令和实践。它们声明什么是允许的,什么是不允许的。例如,对于一个组织来说,它说明对其成员行为的约束以及对付对手的一些措施,如门、锁、钥匙和围墙等。对于系统来说,安全策略说明功能及其间的信息/数据流的约束条件,一些外部系统和对手的访问限制,包括程序和人对数据的访问等。

访问控制是信息安全的关键技术之一。当前,研究、开发出了很多访问控制模型[1]。其中,被称为下一代访问控制模型的UCON(Usage Control,使用控制)是一种重要的访问控制模型,一直备受关注[2]。CUC(Contextual UCON,周境有关的使用控制)是对UCON的一种改进[2]。PBAC(Policy-Based Access Control,基于策略的访问控制)是一种新兴概念和模式,待研究和解决的问题多[3]。如何将PBAC与具体的访问控制模型结合,具有极大的挑战。

1 现状及问题的提出

访问控制过程中的决策总是基于一定规则(Rules)的。传统的访问控制模型中,策略决策服务(PDS,Policy Decision Service)的地方是系统管理员,他们配置访问控制机制的决策规则。这些规则通常用计算机可读格式进行编码,嵌入在系统中。实际实现时,不少访问控制虽然也提供了通过适当配置来添加或修改规则的机制,但需要系统管理员评估访问控制策略,决定是否将一个主体加入到访问控制表中,或分配一个角色给该主体。这种方式非常不灵活,扩展性差。更严重的是,由于完全靠人来评估访问控制策略,很容易产生策略的不一致性,甚至造成策略冲突。

例如,一个组织单位可能规定,访问敏感文档库需要用户名、承担的角色和口令;另一个单位可能要求包含由可信证书颁发机构颁发的数字证书在内的凭据来访问其存储库。如果文档从后一个单位转移到前一个单位,可能会失去数字证书提供的保护,从而可能遭到破坏。

情况是不断变化的,访问控制决策也应根据情况变化而改变。随着网络应用的日益扩大,这种要求更是迫切。目前,大多数组织和机构都建立了自己的策略和管理结构,以确保成功实现自身业务,减少风险,保证可审计性,并与相关法律法规一致。实际中,不少公司和组织机构的内部安全态度与法律法规的某些条款并不一致。例如,银行等涉及管理的实体以及重要的基础设施单位,政府已经明确要求更严格的安全控制。对于有国际业务的企业和单位,所涉及的国家或地区可能还有不同的法律法规。例如,美国金融服务有GLBA法(Gramm-Leach-Bliley Act),医疗健康行业有HIPAA(Health Insurance Portability and Accountability Act)法,以及公司的SOX(Sarbanes-Oxley)法等。公司和组织机构需要在整个企业范围内将相关策略与一致的控制紧密联系,以保证不违背相关的法律法规。这需要建立并行使安全策略,规定在什么情况下,谁必须访问资源以及可以访问哪些资源等。同时,还需要建立相应的机制,审计该组织机构的所作所为是否符合相关法律法规。此外,随着社会的日益开放和国际化,组织机构间的联系更加密切。B2B(Business-to-Business)关系就是一个典型的例子。这种关系有时可能要求一种业务的用户或系统访问业务合作者的资源,而这些业务组织机构却可能有各自不同的安全策略。

PBAC模式可望有效解决上述问题[3]。在PBAC中,策略是在外部显式地说明。原则上,只需在外部修改相应的策略即可,不需要修改访问控制应用程序。因此,PBAC能够比传统的访问控制更灵活和具有更好的可扩展性。

数据库管理中,最先研究了访问控制策略的机制[4]。而PBAC也是美国NIST/NSA Privilege (Access)Management Workshop Collaboration Team高度关注的技术之一[3]。很多文献研究了PBAC,文献[5-7]是其中的代表。它们或者针对一些典型的应用领域,或者主要基于RBAC(基于角色的访问控制),而针对CUC(Contextual UCON,周境有关的使用控制)的基于策略的访问控制研究则是空白。

本文试图在CUC基础上引入策略,建立基于策略的CUC(Policy-Based CUC,PBCUC)。文章的组织架构:首先提出问题,介绍现状;其次,介绍PBCUC;再次,对策略管理问题等进行研究;最后,得到结论,同时考虑下一步的研究方向。

2 PBCUC模型

2.1 CUC简介

CUC模型是UCON模型的一种改进。它针对UCON模型在抓住态势、反映动态性等方面的不足,用周境(Context)代替一般化的系统和环境,以解决其在动态性方面的不足;引入管理功能,使管理与控制在一定程度上结合。CUC的体系结构由两类功能块组成:一类用于主体、客体和周境属性的管理,称为管理块;一类用于访问控制本身,称为控制块。管理块和控制块之间采用松耦合[2]。

2.2 PBCUC组件描述

定义1(PBCUC系统):PBCUC系统是一个8元组集。

PBCUC∷=(S,O,R,X,P,A,B,M)

式中,S是主体集,具有属性集SA;O是客体集,具有属性集OA;R是权限集;X是周境集,具有属性集XA;P是安全策略集;A:R×O⊙P∣X→S是授权集,表示在X下遵从P将对O的R授予S;B→S∣(S×R⊙P∣X→O)是义务(职责)集,表示在X下S遵从P将R应用于O时的义务;M∷=(M║A,M║B)是管理集,M║A表示与授权控制松偶合的管理,M║B表示与义务松偶合的管理。

图1是PBCUC系统组件图,其中的组件S,O,R,X与CUC[2]相同。下面对与CUC组件不同的A,B,P,M分别进行简要说明。

图1 PBCUC系统组件

授权集A和义务集B与CUC基本相同。不同之处仅在于,决策处理时不是使用内置的安全规则,而是使用安全策略集P。

安全策略集P是授权决策和用权决策的依据。它是组织的安全策略的集合。

管理集M对CUC的属性管理保持不变,规则管理则升级为策略管理。

一个组织的安全策略主要由该组织的安全规则和指令组成。这些安全策略必须反映更广泛的组织策略,包括每个人的权力、合法的要求、相关策略、法律法规及技术标准等。

一个信息系统的安全策略必须使包含在组织的安全策略之中的安全规则与适用于该组织信息系统安全的指令相一致。

信息系统的策略、安全目标和方针用安全术语(通常用一种自然的或社会化的语言)来表达,但也可能需要使用某些数学语言以更为形式化的方式来表达。这些表达的内容中,应该涉及下列关于信息系统及其资源的属性:机密性,完整性,可用性,抗抵赖性,可确认(审查)性,真实性,可靠性等。

2.3 决策点-策略实施点

为便于讨论,需要将模型重新组织。图2为强调决策点-策略实施点的系统架构,图3为其动作图。

图2 PBCUC体系结构

图3 决策点-策略实施点动作

3 PBCUC的形式描述

可以采用类似文献[2]的方法,形式化描述PBCUC。

为叙述方便,如果没有另行说明,则约定采用下面的符号:

S—主体集,s—一个主体个体;

O—客体集,o—一个客体个体;

X—周境集,x—一个特定的周境;

R—权限集,r—一项权限;

B—义务集,b—一项义务;

D—决策集,d—一个决策,d∈{P},P为策略集。

定义2(访问权限):主体可以对客体行使的使用许可(如读、写、执行等)称为访问权限(Rights)。

需注意,权限是行为的集合。

定义3(属性):属性是与具体事件或事物有关系的一种可量化的特征。属性可以用某种数据类型的变量表示,属性值则代表一种状态。

每个主体、客体、周境和权限都属于一定的属性集。

定义4(属性值对):属性值对aid◇val是由属性标识符(记为aid)和字母-数字值(记为val)组成的连接对。操作符◇是下述集合中的元素:

定义5(评估情景):评估情景e定义为四元组(Sq,Oq,Xq,rq)。此处,Sq是主体属性值对集((sa1=val1),…,(sak=valk)),Oq是客体属性值对集((oa1=val1),…,(oam=valm)),Xq是周境属性值对集((xa1=val1),…,(xan=valn)),rq是一个请求的权限。

定义6(属性谓词评估):给定一个属性值对(aid=val)和一个属性谓词ap,若ap的属性标识符与aid相同,且val在ap确定的值集内,则ap评估为真,表示为║ap║aid=val=true;否则,║ap║aid=val=false。对于一个给定的属性值对集AV={(aid1=val1),…,(aidp=valp)},只要这里存在一个使ap为真的属性值对评估,则属性谓词ap的评估结果为真。

例如,║ap║AV=true⇔∃(aid=val)∈AV,║ap║aid=val=true,否则║ap║AV=false。

定义7(策略及效果):一个PBCUC策略p=(S,O,X,R,ef,B)是一个6元组,指明:按照p,在周境集X下由主体集S对客体集O行使权限集R的结果(Effect)是ef。策略结果集EF是一种逻辑集,即EF:={Grant,Deny}。S、O和X用多属性集进行规定。一个主体多属性集描述一个主体集S,表示为(s1,1∧…∧s1,m)∨…∨(sk,1∧…∧sk,m)。此处,si,j是一个在第i次并和计算(conjuction)中的属性谓词所使用的第j个主体属性-标识符。客体多属性集O和周境多属性集X的表达与此类似。R则是权限名集,表示为(r1,r2,…,rn)。B为义务集,即该策略执行需要完成的义务。

定义8(适用策略):

策略p=(S,O,X,R,ef,B)在评估情景e中适用,条件是‖S‖e∩‖O‖e∩‖X‖e∩‖R‖e=True。

定义9(策略集及评估结果):PBCUC策略集P::={p1,p2,…,pn}。对于一个给定的评估情景e,P返回结果集EF作为评估结果:EF=‖P‖e={ef| pi=(S,O ,X,R,ef,B),‖S‖e∩‖O‖e∩‖X‖e∩‖R‖e=True}。

定义10(核心PBCUC):一个核心PBCUC就是一个能形成PBCUC策略的系统。

定义11(管理函数和PBCUC管理集):管理函数m(S,O,X)是属性函数,在PBCUC策略p=(S,O,X,R,ef,B)执行前、执行过程中及执行后,完成属性修改或度量,以及使用控制后的处理(分析并存储实际的决策、决策的基本原理以及其他的有关信息,可选)。

PBCUC管理集M={m1,m2,…,mn}是管理函数m1,m2,…,mn的集合。

定义12(完全PBCUC):一个完全PBCUC是一个能形成PBCUC策略并具有管理功能的系统。

4 PBCUC的实现问题

4.1 PBCUC策略表示

OASIS在2003年 使 用XML描 述 提 出 了XACML。由于它可对访问控制策略进行统一描述,因此得到了广泛关注和越来越多的使用。XACML语言描述访问控制和对授权的处理是全面细致的,并且实现了在多种环境下的统一表示。各个组织可以根据各自的需要来定义合适的安全策略,而XACML可以自动实现将定义的策略用于决策。XACML从1.0版、2.0版到现在的3.0版,越来越强大[8]。

XACML定义了规则(Rule)、策略(Policy)和策略集(Policy-set)三种元素。规则是最基本的策略元素,包括三个主要成分:对象(Target),条件(Condition)和结果(Effect)。对象定义规则用到的主体、资源和动作集;条件则说明对对象属性的限制;结果则是对动作的准许(Permit)或拒绝(Deny)。策略是规则的集合,策略集是策略和规则的集合。对象和条件都用属性表示。换言之,XACML是一种基于属性的语言。因此,PBCUC的策略完全可以用XACML来表示。

假定有这样的访问控制策略,在“IIS_SCU. org”名字空间里有一个email名的任何用户都允许在任何资源上进行任何活动。下面的代码是它的简洁表示。

4.2 安全策略管理框架

虽然PBCUC是从CUC演变而来,但它比CUC复杂,必须在整个组织和机构范围维护主体、客体和周境属性以及管理访问控制策略。因此,需要设计和部署企业级系统来提供PBCUC,包括数据库、目录服务以及其他中间件和管理应用程序等。所有这一切必须无缝集成在一起。此外,中大型组织和机构的联网信息系统一般是多域的,每个域里要部署多种安全设施。

为了更有效的安全保障,需要各域之间以及域内各安全设施之间完全协同。可以使用多域环境中安全策略管理框架来管理[9]。

安全域、应用程序以及安全设施的安全策略在安全策略管理框架中的转换是通过标准策略映射实现的。在标准策略采用XACML表示时,采用非XACML策略的域或设施之间进行策略协同时,通过XACML翻译转换,可以大大减少直接转换的工作量。

当然,安全策略管理框架需要整个组织机构采用相同的属性(包括主体的、客体的和周境的)用于访问,且所有的属性值都来自权威的源。权威属性源(Authoritative Attribute Source,AAS)就是一个这样的属性数据源。组织授权予它,并取代其他的一切属性源。理想情况下,策略不但有能力指明哪个属性源是权威的,而且具有机制验证一个请求者提供的属性是来自AAS的。这在理论上非常简单。而实际上,建立一个AAS可能非常困难,尤其是当不同的企业必须在一起工作且必须实现访问控制时。一个组织可能考虑一种具体的属性数据的权威存储,而另一些合作伙伴可能认为该存储不合适。像策略的情况一样,建立一个所有伙伴都赞同的权威属性中心也是一件不容易完成的任务。

4.3 PBCUC策略评估

第三个需要重点考虑的问题是安全策略管理。策略管理涉及诸多方面,包括策略分析、测试、比较、逆请求等。

与传统的其他访问控制相比,PBCUC不仅需要复杂的应用级逻辑来确定基于主体、客体和周境属性的访问,而且需要一种机制采用无歧义的术语来规定策略规则。策略的无歧义特别重要,否则对一个与具体策略相关联的资源的访问,可能会成为非期望的和或非授权的访问。一些国际组织、单位和个人提出了相应的策略语言。其中,XACML得到了广泛关注。XACML基于XML,可设计和开发成为以机器可读的格式来规定访问控制策略[8]。

遗憾的是,一般情况下,策略的建立可能非常复杂,且采用XACML也并不会使建立、规范说明和施行一个好的访问控制策略等任务变得容易。针对基于XACML的策略管理[10],通过两阶段索引实现的策略缓存,可显著降低匹配运算量,并提高策略匹配准确率。Rao等人提出一种FIA(Finegrained Integration Algebra,精细集成代数),用于精细地集成复杂的策略[11]。文献[12]则提出MIDD(Multi-data-type Interval Decision Diagram,多数据类型区间决策图)解决方式,将策略转换为决策树,从而避免了文献[11]的不足,有效改进了策略评估性能。文献[13]进一步改进MIDD方法,更有利于安全策略的评价和管理等应用。下面讨论利用文献[13]的iX-MIDD管理PBCUC的策略评估问题。为讨论方便,假定PBCUC的策略是用XACML表示,如无特殊说明,均采用文献[13]的符号。

给定一个PBCUC的XACML策略树,构建iXMIDD的步骤如下:

第1步:提取对象和条件元素的值区间,构建它们的iMIDD图。

第2步:基于每一个规则的iMIDD图,按照如下操作,形成相应的iX-MIDD图。

操作1:利用区间的交切操作∧(Intersect)[11],合并规则中全部元素的iMIDD。

操作2:用(e,B,ca)代替T-叶结点中的T,将iMIDD的T-叶结点改为决策-叶结点。其中,e∈{P,D},是规则或策略的结果;ca是规则或策略组合算法;B是义务和忠告列表,可以缺少(为空)。

操作3:对于iMIDD的每个内结点m:=(x,C),做:

(1)转换C中的ed.s:

①如果ed.s=F,则转换成新状态值N。

②如果ed.s=IN,则转换成新状态值INe。此处,e等于决策-叶结点的e。

(2)增加B:如果C中各元素的ed中至少有一个ed.s≠N,则B同决策-外结点的B;否则,B为空。

第3步:用相应的组合操作将一个策略或策略集的所有子iX-MIDD图合并,形成代表该策略或策略集的根策略的最终iX-MIDD图。

访问请求Q={q1,q2,…,qn}是属性值向量,每一项qi∈Di,而Di是全序域,代表XACML中的一个数据类型。

用iX-MIDD图处理PBCUC访问请求Q的过程ix_eval(Q,node),从iX-MIDD的根结点m开始,处理如下:

(1)如果结点m代表的属性变量x在Q属性范围外,则返回(m.s,m.B)。

(2)如果结点m代表的变量q在Q属性范围内,则对于m的每一个输出边-下连结点元组(p,c)做检查。如果Q[m.x]∈p,则返回第(1)步。

(3)返回(m.s,m.B)。

以文献[12]所使用的策略数据集GEYSERS为基础,将其属性增加了device、IP_address和time,同时对Add、Modify和Delete等操作设置条件。增加的三个属性在PBCUC中都属于周景的属性。扩展后,实验策略集情况见表1。

表1 扩展的GEYSERS策略

用C++编程进行实验仿真。实验环境采用的操作系统是64位Win 7家庭普通版(Service Park 1),处理器是Intel Core 2.2 GHz,内存8 GB。

实验方法:每次随机生成一个可以覆盖一条iX-MTDD路径的访问请求;进行评估后,改变请求参数,使其一个属性值不匹配,再进行评估。如此重复2万次,为一轮测试;一共进行20轮。测试结果见表2。文献[13]指出,iX-MIDD与X-MIDD性能相当,文献[12]表明X-MIDD比SunXACML性能好得多。因此,根据上述的测试结果,表明用iX-MIDD方法实现PBCUC是可行的。

表2 扩展的GEYSERS策略评估

5 结 语

安全策略是信息系统安全的灵魂,基于策略的访问控制是访问控制发展的一个方向。现有研究或者针对一些典型的应用领域,或者主要基于RBAC(基于角色的访问控制),而CUC模型是UCON模型的一种改进。它用周境(Context)代替一般化的系统和环境,可解决后者在动态性方面的不足;同时,又引入管理功能,使管理与控制在一定程度上相结合。基于策略的CUC研究有机地将安全策略注入CUC模型中。PBCUC系统是一个由主体集、客体集、权限集、周境集、策略集、义务集、授权集和管理模块等组成的8元组集,具有决策点-策略实施点的系统架构。文章给出了决策点-策略实施点动作图,并用代数方法对其进行了形式化描述。此外,研究PBCUC的实现问题,提出用XACML表示PBCUC的安全策略,使用多域环境安全策略管理框架来管理这些策略,用iX-MIDD方法处理访问请求。仿真实验表明,这种方法的访问请求决策可以在μs级时间完成,非常实用。

[1] 罗霄峰,罗万伯,胡月等.网络舆情治理研究[J].通信技术,2010,43(04):81-83. LUO Xiao-feng,LUO Wan-bo,HU Yue,et al.A Study on Governance of Net Public Sentiments[J].Communications Technology,2010,43(04):81-83.

[2] LUO Xiao-feng,LI Lin,LUO Wan-bo.A Contextual Usage Control Model[J].Technical Gazette, 2014,21(01):35-41.

[3] NIST/NSA Privilege Management Conference Collaboration Team.A Report on the Privilege (Access) Management Workshop[R].NIST/NSA,2010.

[4] Elisa Bertino,Sushil Jajodia,Pierangela Samatati.Supporting Multiple Access Control Policies in Database Systems[C]. Proceedings 1996 IEEE Symposium on Security and Privacy,1996:94-107.

[5] MA Gang,WU Ke-he,ZHANG Tong,et al.A Flexible Policy-Based Access Control Model for Workflow[J]. IEEE International Conference on Computer Science & Automation Engineering,2011(02):533-537.

[6] Kyong-jin K,Seng-phil H,Joon Y.K.A Study on Policy-based Access Control Model in SNS[J]. International Journal of Multimedia and Ubiquitous Engineering,2012,7(03):143-150.

[7] Manifavas C,Fysarakis K,Rantos K,et al.Policy-Based Access Control for Body Sensor Networks[C]. D. Naccache and D. Sauveron (Eds.):WISTP 2014,2014:150-159.

[8] eXtensible Access Control Markup Language (XACML) Version 3.0[S].http://docs.oasis-open.org/xacml/3.0/ xacml-3.0-core-spec-os-en.html.

[9] 罗万伯,罗霄岚,陈炜等.多域环境的安全策略管理框架研究[J].四川大学学报:工程科学版,2006,38(02):114-117. LUO Wan-bo,LUO Xiao-lan,CHEN Wei,el al.Study on the Security Policy Management Framework in Multidomain Environment[J].Journal Of Sichuan Unibersity (Engineering Science Edition),2006,38(02):114-117.

[10] 王雅哲,冯登国,张立武等.基于多层次优化技术的XACML策略评估引擎[J].软件学报,2011,22(02):323-328. WANG Ya-Zhe,FENG Deng-Guo,ZHANG Li-Wu,at el.XACML Policy Evaluation Engine Based on Multi-Level Optimization Technology[J].Journal of Software,2011,22(02):323-338.

[11] Rao P,Lin D,Bertino E,et al.Fine-grained Integration of Access Control Policies[J].Computers and Security,2011,30(02-03):91-107.

[12] Ngo C,Demchenko Y,Laat CD.Decision Diagrams for XACML Policy Evaluation and Management[J].Computers & Security,2015,49(05):1-16.

[13] 罗霄峰,罗万伯. 基于iX-MIDD的XACML安全策略评估[J].通信技术,2016,49(05):627-631. LUO Xiao-feng,LUO Wan-bo.The Study of XACML Policy Evaluation Based on iX-MIDD[J].Communications Technology,2016,49(05):627-631.

罗霄峰(1974—),男,博士,讲师,主要研究方向为信息安全;

罗万伯(1946—),男,硕士,教授,主要研究方向为信息安全,计算机应用。

The Study of Policy-based CUC

LUO Xiao-feng1,LUO Wan-bo2
(1.School of Jinjiang, Sichuan University, Chengdu Sichuan 610065, China; 2. School of Computer Science, Sichuan University, Chengdu Sichuan 610065, China)

In deal with not flexible and poor scalability issues of the CUC security policy management, a policy-based access control method is proposed to build into the CUC model. The new model system is an 8-tuple, the subject set, the object set, the context set, the right set, the set of authorizations, the obligation set, and the policy set. An algebra approach was employed to describe PBCUC syntax and semantics formally. Its implementation was studied, including using XACML to express PBCUC policies, to manage the policies by security policy management framework in multi-domain environment, to evaluate access requests by iXMIDD approach. Simulation shown that access request decision time which could be completed at μs level was quick enough for application.

Access control;UCON(Usage Control);PBAC(Policy Based Access Control);Security policy;XACML

TP309;TP391

:A

:1002-0802(2016)-06-0751-07

10.3969/j.issn.1002-0802.2016.06.019

2016-02-12;

:2016-05-03 Received date:2016-02-12;Revised date:2016-05-03

猜你喜欢
安全策略访问控制定义
一种跨策略域的林业资源访问控制模型设计
基于飞行疲劳角度探究民航飞行员飞行安全策略
多媒体教学服务器限制访问的一种措施
一种防火墙安全策略冲突检测方法*
浅析涉密信息系统安全策略
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
成功的定义
修辞学的重大定义
山的定义