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

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

Info

Publication number
CN105245554B
CN105245554B CN201510828184.5A CN201510828184A CN105245554B CN 105245554 B CN105245554 B CN 105245554B CN 201510828184 A CN201510828184 A CN 201510828184A CN 105245554 B CN105245554 B CN 105245554B
Authority
CN
China
Prior art keywords
user
attribute
request
identity
access control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510828184.5A
Other languages
English (en)
Other versions
CN105245554A (zh
Inventor
朱建涛
殷红武
何晓斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201510828184.5A priority Critical patent/CN105245554B/zh
Publication of CN105245554A publication Critical patent/CN105245554A/zh
Application granted granted Critical
Publication of CN105245554B publication Critical patent/CN105245554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种云环境下的动态属性访问控制方法,包括:客户端向代理服务器发起用户请求;若代理服务器判断用户请求是登录请求,则代理服务器将该请求转发到认证服务器,认证服务器在判断用户请求中包含的用户登录信息正确的情况下生成用户的身份标识,而且认证服务器将身份标识返回给用户,并且将身份标识缓存到缓存服务器;若代理服务器判断用户请求是对象操作请求,则在缓存服务器中判断用户的身份标识是否合法;而且若判断用户的身份标识合法,则定位所请求对象的位置,然后将相应的对象操作请求转发到相应的存储节点以便在存储节点执行用户的权限判断。

Description

一种云环境下的动态属性访问控制方法
技术领域
本发明涉及计算机存储安全技术领域,具体涉及一种云环境下的动态属性访问控制方法。
背景技术
近年来,云存储的广泛应用使用户随时随地存取数据成为了可能。基于静态属性的访问控制方法,其身份、角色、静态属性都需要预先制定好,不能根据云环境中用户的访问行为及其一些实时变化的属性来动态调整其访问权限,因此无法体现云用户多元化需求的变化,无法很好的适应用户的动态性。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种云环境下的动态属性访问控制方法,其目的在于通过分析用户的历史访问行为获取用户的动态属性,实现云环境下数据的动态安全访问控制,从而解决现有方法中因用户的历史访问行为的变化而引起用户权限的变更这一技术问题。
根据本发明,提供了一种云环境下的动态属性访问控制方法,包括:
客户端向代理服务器发起用户请求;
若代理服务器判断用户请求是登录请求,则代理服务器将该请求转发到认证服务器,认证服务器在判断用户请求中包含的用户登录信息正确的情况下生成用户的身份标识,而且认证服务器将身份标识返回给用户,并且将身份标识缓存到缓存服务器;
若代理服务器判断用户请求是对象操作请求,则在缓存服务器中判断用户的身份标识是否合法;而且若判断用户的身份标识合法,则定位所请求对象的位置,然后将相应的对象操作请求转发到相应的存储节点以便在存储节点执行用户的权限判断。
优选地,在存储节点执行用户的权限判断时,首先从用户的操作请求中提取出用户的属性;随后在存储节点获取所请求对象的访问控制策略,与用户的属性进行匹配,如果用户的属性满足访问控制策略要求,则响应用户的对象操作请求。
优选地,所述的云环境下的动态属性访问控制方法还包括:认证服务器通过分析用户的历史访问行为,赋予用户动态属性,并且将赋予的用户动态属性反馈到存储节点进行保存以更新用户的属性。
优选地,用户的身份标识是全局唯一的。
优选地,用户的身份标识具有预定时限。
优选地,判断用户的身份标识是否合法包括判断用户的身份标识是否存在并具有时效。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1示意性地示出了根据本发明优选实施例的系统访问控制流程示意图。
图2示意性地示出了传统访问控制树结构。
图3示意性地示出了根据本发明优选实施例的动态属性访问控制树结构。
需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施方式
为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
针对云环境中用户属性并非一成不变,有些属性会随时间动态变化的现象,本发明引入动态属性的概念以更好地适应云环境中因用户特征的动态变化引起的权限变更,并对动态属性进行了描述和相应访问控制策略的制定,以及用户权限的判断方法。在访问控制策略制定中,对传统的访问控制树结构进行了一定的改造与优化,以期能提高其访问控制效率及灵活性。
按照本发明,设计了一种云环境下的动态属性访问控制方法,该方法主要包括用户登录认证和权限判断两个步骤。
(1)用户登录认证处理:例如,所设计的用户登录口令为“用户名+密码”(用户登录信息)的形式。客户端向代理服务器发起用户请求,代理服务器首先对用户请求进行处理,若用户请求是登录请求,则将该请求转发到认证服务器,在认证服务器中判断用户登录信息是否正确,若正确则生成用户的身份标识Auth token(例如,如图1所示),该标识是全局唯一的,但具有一定的时限(即在预定时限内有效),一方面通过认证服务器将身份标识返回给用户,另一方面将身份标识缓存到缓存服务器,提高用户合法性判断的效率;若代理服务器判断用户请求是对象操作请求,则在缓存服务器中判断用户的身份标识Auth token是否合法(具体地,可以判断用户的身份标识Auth token是否存在并具有时效),若判断合法,则定位所请求对象的位置,然后将相应的对象操作请求转发到相应的存储节点,若用户的身份标识Auth token不合法,则拒绝用户的操作请求,返回对应的错误码(例如,如图1所示的错误码“401Error”)。
(2)权限判断处理:若“(1)用户登录认证处理”的用户登录认证通过,而且判断用户的身份标识Auth token合法,则将对象操作请求转发到相应存储节点,然后在存储节点执行用户的权限判断。在这一步中,首先需要从用户的操作请求中提取出用户的属性(本发明涉及了用户的动态属性,即从服务器中获取用户的历史访问记录,分析其历史访问行为,从而得出用户的动态属性;这将在后文详细描述)。
进一步地,在存储节点获取所请求对象的访问控制策略,与用户的属性进行匹配,如果用户的属性满足访问控制策略要求,则响应用户的对象操作请求,否则拒绝操作请求,并返回相应的错误码(例如,如图1所示的错误码“403Error”)。
认证服务器(服务器端)通过分析用户的历史访问行为,赋予用户动态属性(可以采用诸如协同过滤等算法分析出用户特征,然后进行属性赋予),并且将赋予的用户动态属性反馈到存储节点(用户端)进行保存以更新用户的属性。具体地,用户一开始并不具有这种用户动态属性,或者该用户动态属性的属性值并不满足系统要求,但根据用户的历史访问行为,赋予用户该用户动态属性或者动态修正该用户动态属性的属性值,使用户具有该用户动态属性所对应的权限,这种“从无到有”的过程很好的体现了动态属性的“动态”性。
传统的访问控制所建立的数据结构呈现的都是二叉树型结构,而在基于属性的访问控制(ABAC)中,一般采用的也是这种树形结构,叶子节点代表各个独立的属性,中间节点代表逻辑连接词(and、or、not)。由于动态属性访问控制(DABAC)中引入了权重因子,且动态属性叶子节点满足条件较为丰富,因此不同于ABAC的二叉树访问结构,DABAC需要采用多叉树结构。
以下将对本发明的相关技术术语进行解释和说明:
(1)静态属性static_attr:本发明中,静态属性是指属性值基本保持不变的一类属性,或者属性值存在变化,但在一定时间范围内相对固定。例如,一个人的身份证号、性别,电脑MAC地址等属性一经确定往往不再改变,而诸如企业地址,用户年龄、职业等属性在一定时间范围内也是保持不变的。静态属性集可以表示为若干个静态属性元组[静态属性名:静态属性值]所构成的集合,描述如下:
Sstatic_attr={[static_attr1name:static_attr1value],
[static_attr2name:static_attr2value],……}
(2)动态属性dynamic_attr:顾名思义,是与用户行为相关的随时间动态变化的属性。包括非量化的动态属性和可量化的动态属性。非量化的动态属性往往很难通过一个值来描述,例如用户对某类事物的喜好程度,对一种编程语言(例如Java、c++等)的精通程度,用户在某论坛的活跃度等等;量化的动态属性则可以用一个确定的值或者区间来表示,例如用户的地理位置信息,行车的实时速度(往往是一个区间范围),商家举办某活动的日期时间等等。非量化的动态属性比较难以描述,而且需要一套和属性相关的完整评估系统。动态属性集可以表示为若干个动态属性元组[动态属性名:动态属性值,动态属性所占权重]的集合,描述如下:
Sdynamic_attr={[dynamic_attr1name:dynamic_attr1value,dynamic_attr1weight],
[dynamic_attr2name:dynamic_attr2value,dynamic_attr2weight],……}
其中,动态属性权重因子weight是可选的,也就是说,并非所有场合都需要设置权重因子,有些场合只需要单纯的属性组合就可以了。之所以引入权重因子,是考虑类比RBAC中角色之间的层次关系,说明不同属性对应的权限重要程度并不相同,应用到动态属性中,说明某些属性的重要程度要高于其他属性,用户只要具备了关键属性即可,如果没有具备关键属性,则需要拥有更多的其他属性才能满足访问要求。对weight举例说明如下:
假设某IT公司招聘程序员,各要求如下:
Policy={WEIGHT>=2in[Item1,Item2,Item3]}
其中Item1、Item2、Item3含义如下:
Item1:[‘language’:’C++’,weight=1],即会C++编程;
Item2:[‘workyear’:‘>=3’,weight=2],即工作年龄超过三年;
Item3:[‘age’:’<30’,weight=1],即面试者年龄要求低于30岁;招聘策略Policy说明用户要么具有工作年龄超过三年的属性,要么具备三种属性之中的任意两种,否则不能满足访问要求。由此策略可以看出该公司对于应聘者的工作年龄较为看重,比较倾向于招收有经验的应试者。
由动态属性的定义可以看出,动态属性较之于静态属性一个很大的不同,就是用户一开始可能不具有某个系统所规定的属性,或者其属性值不满足系统要求,但根据用户一系列的操作行为,进行分析后赋予用户该属性,或者对该用户的属性值进行反馈修正,使其属性值满足要求,这种“从无到有”、“从不满足到满足”的过程很好地体现了动态属性的“动态”性。例如对于用户喜好这一属性,经过用户的一些行为分析得出用户很喜欢跳舞,则可以由系统动态赋予一个爱好为跳舞的属性给用户,而在一开始用户是不具有该属性的。当然,诸如用户地理位置信息等动态属性,也可以由系统实时赋予。
在上面对术语的解释的基础上,以下将结合附图1对本发明进一步说明:
(1)客户端对所上传的数据对象,建立多个动态属性二元组
Sdynamic_attr={attrname:attrvalue,attrweight},
其中attrname表示属性名称,attrvalue表示属性值,attrweight表示属性权重。然后客户端将建立的多个动态属性二元组进行组合,以生成访问控制策略Policy,并将Policy封装成XML格式文本。然后客户端将数据对象和Policy上传到服务器。
(2)服务器接收数据对象和Policy,并对一些需要对用户行为进行行为分析才可获取的动态属性进行信息采集。
(3)客户端发起数据对象请求,服务器从请求中提取出用户属性,并查询服务器端所保存的对用户行为分析所得出的动态属性。
(4)服务器获取所请求对象的访问控制策略,生成相应的访问控制树。传统的访问控制所建立的数据结构呈现的都是二叉树型结构,而在基于属性的访问控制中,一般采用的也是这种树形结构,叶子节点代表各个独立的属性,中间节点代表逻辑连接词(and、or、not),如图2所示。由于引入了权重因子,且动态属性叶子节点满足条件较为丰富,因此不同于ABAC的二叉树访问结构,DABAC需要采用多叉树结构,如图3所示,其中间节点代表逻辑连接词或者权重值之和的要求,叶子节点Item为动态属性元组,即:
Item=[dynamic_attrname:dynamic_attrvalue,dynamic_attrweight]
(5)服务器将所获得的所有属性进行访问控制权限匹配,如果通过,则相应客户端的对象操作请求,否则拒绝请求并返回错误码。以图2的访问控制树结构为例来说明用户的权限判断流程。假设各叶子节点Item的内容如下:
Item1:[‘language’:’C++’,weight=2]
Item2:[‘workyear’:‘>=3’,weight=1]
Item3:[‘age’:’<30’,weight=1]
Item4:[‘job’:’designer’,weight=1]
Item5:[‘hometown’:’China’,weight=1]
Item6:[‘graduate school’:’HUST’,weight=2]
其中,根节点为逻辑连接词AND,说明必须同时满足左子树和右子树的条件才行。以左子树为例来说明。
Policy={WEIGHT>=2in[Item1,Item2,Item3]}
说明用户要么具有会C++的属性,要么具备三种属性之中的任意两种,否则不能满足访问要求。右子树类似分析,不再赘述。
此外,需要说明的是,除非特别指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (1)

1.一种云环境下的动态属性访问控制方法,其特征在于包括:
客户端对所上传的数据对象,建立多个动态属性二元组,然后客户端将建立的多个动态属性二元组进行组合,以生成访问控制策略,然后客户端将数据对象和访问控制策略上传到认证服务器;
认证服务器接收数据对象和访问控制策略,并对需要对用户行为进行行为分析才可获取的动态属性进行信息采集;
客户端向代理服务器发起用户请求;
若代理服务器判断用户请求是登录请求,则代理服务器将该请求转发到认证服务器,认证服务器在判断用户请求中包含的用户登录信息正确的情况下生成用户的身份标识,而且认证服务器将身份标识返回给用户,并且将身份标识缓存到缓存服务器;其中,用户的身份标识是全局唯一的,而且用户的身份标识具有预定时限;
若代理服务器判断用户请求是对象操作请求,则在缓存服务器中判断用户的身份标识是否合法,其中判断用户的身份标识是否合法包括判断用户的身份标识是否存在并具有时效;而且若判断用户的身份标识合法,则定位所请求对象的位置,然后将相应的对象操作请求转发到相应的存储节点以便在存储节点执行用户的权限判断;
而且,认证服务器通过分析用户的历史访问行为,赋予用户动态属性,并且将赋予的用户动态属性反馈到存储节点进行保存以更新用户的属性;其中,在存储节点执行用户的权限判断时,首先从用户的操作请求中提取出用户的属性,并查询认证服务器端所保存的对用户行为分析所得出的动态属性;随后在存储节点获取所请求对象的访问控制策略,与用户的属性进行匹配,如果用户的属性满足访问控制策略要求,则响应用户的对象操作请求。
CN201510828184.5A 2015-11-24 2015-11-24 一种云环境下的动态属性访问控制方法 Active CN105245554B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510828184.5A CN105245554B (zh) 2015-11-24 2015-11-24 一种云环境下的动态属性访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510828184.5A CN105245554B (zh) 2015-11-24 2015-11-24 一种云环境下的动态属性访问控制方法

Publications (2)

Publication Number Publication Date
CN105245554A CN105245554A (zh) 2016-01-13
CN105245554B true CN105245554B (zh) 2018-04-10

Family

ID=55043054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510828184.5A Active CN105245554B (zh) 2015-11-24 2015-11-24 一种云环境下的动态属性访问控制方法

Country Status (1)

Country Link
CN (1) CN105245554B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254388A (zh) * 2016-09-22 2016-12-21 安徽云图信息技术有限公司 云计算环境下的访问控制技术
CN106790262B (zh) * 2017-02-07 2022-02-11 腾讯科技(深圳)有限公司 一种鉴权方法及装置
CN107197000B (zh) * 2017-05-04 2020-07-31 微梦创科网络科技(中国)有限公司 静态动态混合缓存方法、装置及系统
CN107491301A (zh) * 2017-07-27 2017-12-19 北京奇安信科技有限公司 动态界面处理方法及装置
CN107864139B (zh) * 2017-11-09 2020-05-12 北京科技大学 一种基于动态规则的密码学属性基访问控制方法与系统
CN109936594A (zh) * 2017-12-15 2019-06-25 上海欣能信息科技发展有限公司 一种基于电力数据的云存储系统
CN108924120B (zh) * 2018-06-28 2020-09-25 电子科技大学 一种多维状态感知的动态访问控制方法
CN110839027B (zh) * 2019-11-14 2023-03-07 北京京东尚科信息技术有限公司 用户的认证方法、装置、代理服务器和网络服务系统
CN111124931B (zh) * 2019-12-30 2023-10-10 中国农业银行股份有限公司 一种Java代码合规性检查方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006103176A1 (en) * 2005-04-01 2006-10-05 International Business Machines Corporation Method for a runtime user account creation operation
CN101034981A (zh) * 2006-03-07 2007-09-12 上海品伟数码科技有限公司 一种网络访问控制系统及其控制方法
CN102469075A (zh) * 2010-11-09 2012-05-23 中科正阳信息安全技术有限公司 一种基于web单点登录的集成认证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006103176A1 (en) * 2005-04-01 2006-10-05 International Business Machines Corporation Method for a runtime user account creation operation
CN101034981A (zh) * 2006-03-07 2007-09-12 上海品伟数码科技有限公司 一种网络访问控制系统及其控制方法
CN102469075A (zh) * 2010-11-09 2012-05-23 中科正阳信息安全技术有限公司 一种基于web单点登录的集成认证方法

Also Published As

Publication number Publication date
CN105245554A (zh) 2016-01-13

Similar Documents

Publication Publication Date Title
CN105245554B (zh) 一种云环境下的动态属性访问控制方法
US11930015B2 (en) Systems and method for authenticating users of a data processing platform from multiple identity providers
US9152401B2 (en) Methods and systems for generating and delivering an interactive application delivery store
US10887313B2 (en) Systems and methods for controlling sign-on to web applications
US7349949B1 (en) System and method for facilitating development of a customizable portlet
US7478157B2 (en) System, method, and business methods for enforcing privacy preferences on personal-data exchanges across a network
US7149849B2 (en) Caching based on access rights in connection with a content management server system or the like
US20040003072A1 (en) Consent mechanism for online entities
US20040073668A1 (en) Policy delegation for access control
CN106254451B (zh) 嵌入式设备web菜单控制系统及方法
US7596562B2 (en) System and method for managing access control list of computer systems
US7188252B1 (en) User editable consent
US10182056B1 (en) Descendent case role alias
CN107908695A (zh) 业务系统运行方法、装置、系统及可读存储介质
US20080162499A1 (en) System and Method for Facilitating Access to Content Information
EP3889971B1 (en) Online diagnosis platform, permission management method and permission management system for online diagnosis platform
CN109669718A (zh) 系统权限配置方法、装置、设备及存储介质
CN101325493A (zh) 用于认证用户的方法和系统
US7139758B1 (en) Method and system for improved security to control and facilitate access to data stored in a database
US11789911B1 (en) Scalable permissions management for granular levels of database access
DE102014106310A1 (de) Vertrauensniveauberechnung mit attributspezifischen Funktionen
DE60315900T2 (de) Benutzerzugriff auf unternehmenseinheitendefinitionsregister
Parmar et al. XML access control for semantically related XML documents
US10180975B2 (en) Methods and a computing device for carrying out data collection
EP3117360B1 (de) Id-provider-computersystem

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant