一种云环境下的动态属性访问控制方法

文档序号:9491860阅读:529来源:国知局
一种云环境下的动态属性访问控制方法
【技术领域】
[0001]本发明涉及计算机存储安全技术领域,具体涉及一种云环境下的动态属性访问控制方法。
【背景技术】
[0002]近年来,云存储的广泛应用使用户随时随地存取数据成为了可能。基于静态属性的访问控制方法,其身份、角色、静态属性都需要预先制定好,不能根据云环境中用户的访问行为及其一些实时变化的属性来动态调整其访问权限,因此无法体现云用户多元化需求的变化,无法很好的适应用户的动态性。

【发明内容】

[0003]本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种云环境下的动态属性访问控制方法,其目的在于通过分析用户的历史访问行为获取用户的动态属性,实现云环境下数据的动态安全访问控制,从而解决现有方法中因用户的历史访问行为的变化而引起用户权限的变更这一技术问题。
[0004]根据本发明,提供了一种云环境下的动态属性访问控制方法,包括:
[0005]客户端向代理服务器发起用户请求;
[0006]若代理服务器判断用户请求是登录请求,则代理服务器将该请求转发到认证服务器,认证服务器在判断用户请求中包含的用户登录信息正确的情况下生成用户的身份标识,而且认证服务器将身份标识返回给用户,并且将身份标识缓存到缓存服务器;
[0007]若代理服务器判断用户请求是对象操作请求,则在缓存服务器中判断用户的身份标识是否合法;而且若判断用户的身份标识合法,则定位所请求对象的位置,然后将相应的对象操作请求转发到相应的存储节点以便在存储节点执行用户的权限判断。
[0008]优选地,在存储节点执行用户的权限判断时,首先从用户的操作请求中提取出用户的属性;随后在存储节点获取所请求对象的访问控制策略,与用户的属性进行匹配,如果用户的属性满足访问控制策略要求,则响应用户的对象操作请求。
[0009]优选地,所述的云环境下的动态属性访问控制方法还包括:认证服务器通过分析用户的历史访问行为,赋予用户动态属性,并且将赋予的用户动态属性反馈到存储节点进行保存以更新用户的属性。
[0010]优选地,用户的身份标识是全局唯一的。
[0011 ] 优选地,用户的身份标识具有预定时限。
[0012]优选地,判断用户的身份标识是否合法包括判断用户的身份标识是否存在并具有时效。
【附图说明】
[0013]结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
[0014]图1示意性地示出了根据本发明优选实施例的系统访问控制流程示意图。
[0015]图2示意性地示出了传统访问控制树结构。
[0016]图3示意性地示出了根据本发明优选实施例的动态属性访问控制树结构。
[0017]需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
【具体实施方式】
[0018]为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
[0019]针对云环境中用户属性并非一成不变,有些属性会随时间动态变化的现象,本发明引入动态属性的概念以更好地适应云环境中因用户特征的动态变化引起的权限变更,并对动态属性进行了描述和相应访问控制策略的制定,以及用户权限的判断方法。在访问控制策略制定中,对传统的访问控制树结构进行了一定的改造与优化,以期能提高其访问控制效率及灵活性。
[0020]按照本发明,设计了一种云环境下的动态属性访问控制方法,该方法主要包括用户登录认证和权限判断两个步骤。
[0021](1)用户登录认证处理:例如,所设计的用户登录口令为“用户名+密码”(用户登录信息)的形式。客户端向代理服务器发起用户请求,代理服务器首先对用户请求进行处理,若用户请求是登录请求,则将该请求转发到认证服务器,在认证服务器中判断用户登录信息是否正确,若正确则生成用户的身份标识Auth token (例如,如图1所示),该标识是全局唯一的,但具有一定的时限(即在预定时限内有效),一方面通过认证服务器将身份标识返回给用户,另一方面将身份标识缓存到缓存服务器,提高用户合法性判断的效率;若代理服务器判断用户请求是对象操作请求,则在缓存服务器中判断用户的身份标识Auth token是否合法(具体地,可以判断用户的身份标识Auth token是否存在并具有时效),若判断合法,则定位所请求对象的位置,然后将相应的对象操作请求转发到相应的存储节点,若用户的身份标识Auth token不合法,则拒绝用户的操作请求,返回对应的错误码(例如,如图1所示的错误码“401Error”)。
[0022](2)权限判断处理:若“(1)用户登录认证处理”的用户登录认证通过,而且判断用户的身份标识Auth token合法,则将对象操作请求转发到相应存储节点,然后在存储节点执行用户的权限判断。在这一步中,首先需要从用户的操作请求中提取出用户的属性(本发明涉及了用户的动态属性,即从服务器中获取用户的历史访问记录,分析其历史访问行为,从而得出用户的动态属性;这将在后文详细描述)。
[0023]进一步地,在存储节点获取所请求对象的访问控制策略,与用户的属性进行匹配,如果用户的属性满足访问控制策略要求,则响应用户的对象操作请求,否则拒绝操作请求,并返回相应的错误码(例如,如图1所示的错误码“403Error”)。
[0024]认证服务器(服务器端)通过分析用户的历史访问行为,赋予用户动态属性(可以采用诸如协同过滤等算法分析出用户特征,然后进行属性赋予),并且将赋予的用户动态属性反馈到存储节点(用户端)进行保存以更新用户的属性。具体地,用户一开始并不具有这种用户动态属性,或者该用户动态属性的属性值并不满足系统要求,但根据用户的历史访问行为,赋予用户该用户动态属性或者动态修正该用户动态属性的属性值,使用户具有该用户动态属性所对应的权限,这种“从无到有”的过程很好的体现了动态属性的“动态”性。
[0025]传统的访问控制所建立的数据结构呈现的都是二叉树型结构,而在基于属性的访问控制(ABAC)中,一般采用的也是这种树形结构,叶子节点代表各个独立的属性,中间节点代表逻辑连接词(and、or、not)。由于动态属性访问控制(DABAC)中引入了权重因子,且动态属性叶子节点满足条件较为丰富,因此不同于ABAC的二叉树访问结构,DABAC需要采用多叉树结构。
[0026]以下将对本发明的相关技术术语进行解释和说明:
[0027](1)静态属性static_attr:本发明中,静态属性是指属性值基本保持不变的一类属性,或者属性值存在变化,但在一定时间范围内相对固定。例如,一个人的身份证号、性另IJ,电脑MAC地址等属性一经确定往往不再改变,而诸如企业地址,用户年龄、职业等属性在一定时间范围内也是保持不变的。静态属性集可以表示为若干个静态属性元组[静态属性名:静态属性值]所构成的集合,描述如下:
[0028]Sstatic attr — {[static_attrl nallle.static_attrlvajue],
[0029][static_attr2name: static_attr2value],......}
[0030](2)动态属性dynamic_attr:顾名思义,是与用户行为相关的随时间动态变化的属性。包括非量化的动态属性和可量化的动态属性。非量化的动态属性往往很难通过一个值来描述,例如用户对某类事物的喜好程度,对一种编程语言(例如Java、C++等)的精通程度,用户在某论坛的活跃度等等;量化的动态属性则可以用一个确定的值或者区间来表示,例如用户的地理位置信息,行车的实时速度(往往是一个区间范围),商家举办某活动的日期时间等等。非量化的动态属性比较难以描述,而且需要一套和属性相关的完整评估系统。动态属性集可以表示为若干个动态属性元组[动态属性名:动态属性值,动态属性所占权重]的集合,描述如下:
[0031]Sdynamic—attr= {[dynamic_attrl name: dynamic_attrlvalue, dynamic_attrlweight],
[0032][dynamic_attr2name: dynamic_attr2value, dynamic_attr2weight],......}
[0033]其中,动态属性权重因子we
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1