CN113065153B - 数字对象资源控制及授权方法、装置、设备及存储介质 - Google Patents
数字对象资源控制及授权方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113065153B CN113065153B CN202110251604.3A CN202110251604A CN113065153B CN 113065153 B CN113065153 B CN 113065153B CN 202110251604 A CN202110251604 A CN 202110251604A CN 113065153 B CN113065153 B CN 113065153B
- Authority
- CN
- China
- Prior art keywords
- digital object
- attribute
- request
- access control
- subject
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例涉及数据处理技术领域,具体涉及一种数字对象资源控制及授权方法、装置、设备及存储介质。旨在提升DO仓库中DO访问控制管理的安全性、效率以及实现授权操作的可追溯性。所述方法包括:数字对象资源所有者向数字对象仓库发起数字对象创建请求,数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对数字对象创建请求进行响应;数字对象资源请求者向数字对象资源所有者发起授权请求,所述数字对象资源所有者根据区块链账本中的第二相关信息,对授权请求进行响应;数字对象资源请求者向数字对象仓库发起数字对象操作请求,数字对象仓库根据所述区块链账本和策略管理点中的第三相关信息,对所述数字对象操作请求进行响应。
Description
技术领域
本申请实施例涉及数据处理技术领域,具体而言,涉及一种数字对象资源控制及授权方法、装置、设备及存储介质。
背景技术
DO(数字对象)区别于传统的数据文件,DO中包含了元数据和具体数据,传统的数据文件通过地址(如url)进行查找,而DO可以通过文件内容进行查找,管理和操作方式更加灵活,DO仓库是对若干DO进行统一存储和管理的软件。现有技术中,通过ACL(DO访问控制列表)对DO仓库中的DO进行管理,对每个DO,两个访问控制列表分别给出拥有读权限和写权限的用户名列表,在对应列表中的用户拥有进行读或写的权限。
现有技术中,ACL由DO仓库统一维护,中心化管理,存在单点故障风险,同时需要为每个DO维护单独的ACL,权限定义管理、修改维护工作量大,当为一个用户定义其不同的DO操作权限,或是为一个DO定义不同用户的操作权限,容易发生遗漏、不一致等问题,维护效率较低。
发明内容
本申请实施例提供一种数字对象资源控制及授权方法、装置、设备及存储介质,旨在提升DO仓库中DO访问控制管理的安全性、效率以及实现授权操作的可追溯性。
本申请实施例第一方面提供一种数字对象资源控制及授权方法,所述方法包括:
数字对象资源所有者向数字对象仓库发起数字对象创建请求,所述数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对所述数字对象创建请求进行响应;
数字对象资源请求者向所述数字对象资源所有者发起授权请求,所述数字对象资源所有者根据所述区块链账本中的第二相关信息,对所述授权请求进行响应;
所述数字对象资源请求者向所述数字对象仓库发起数字对象操作请求,所述数字对象仓库根据所述区块链账本和所述策略管理点中的第三相关信息,对所述数字对象操作请求进行响应。
可选地,所述数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对所述数字对象创建请求进行响应,包括:
所述数字对象仓库根据数字对象创建请求,确定所述数字对象创建请求的客体属性、操作属性、环境属性,其中,所述客体属性为所述数字对象资源所有者请求创建的数字对象的属性,所述操作属性为所述数字对象资源所有者请求的操作类型的属性;
所述数字对象仓库向所述区块链账本请求所述数字对象资源所有者的主体属性;
所述区块链账本将所述主体属性发送至所述数字对象仓库中;
所述数字对象仓库根据所述主体属性向所述策略管理点请求所述主体属性相关的访问控制策略;
所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中;
所述数字对象仓库结合所述主体属性、所述客体属性、所述操作属性、所述环境属性以及所述相关的访问控制策略,对所述数字对象创建请求进行验证,验证通过则执行所述数字对象创建请求并存储所述数字对象资源所有者请求创建的数字对象,验证失败则拒绝执行所述数字对象创建请求;
将创建结果发送至所述数字对象资源所有者。
可选地,所述数字对象资源所有者根据所述区块链账本中的第二相关信息,对所述授权请求进行响应,包括:
所述数字对象资源所有者根据所述授权请求,向所述区块链账本发送授权许可;
所述区块链账本验证授权并更新所述数字对象资源请求者的属性,将所述授权结果发送至所述数字对象资源所有者;
所述数字对象资源持有者转发授权结果给所述数字对象资源请求者,实现对所述数字对象资源请求者的授权。
可选地,所述数字对象仓库根据所述区块链账本和所述策略管理点中的第三相关信息,对所述数字对象操作请求进行响应,包括:
所述数字对象仓库根据所述数字对象操作请求,确定所述数字对象操作请求对应的客体属性、操作属性和环境属性,其中,所述客体属性为所述数字对象资源请求者请求操作的数字对象的属性,所述操作属性为所述数字对象资源请求者请求执行的操作类型的属性;
所述数字对象仓库向所述区块链账本请求所述数字对象资源请求者的主体属性;
所述区块链账本将所述数字对象资源请求者的主体属性发送至所述数字对象仓库中;
所述数字对象仓库根据所述主体属性向所述策略管理点请求相关的访问控制策略;
所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中;
所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求,验证失败则拒绝执行所述数字对象操作请求;
将操作结果发送至所述数字对象资源请求者。
可选地,所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及相关的访问控制策略对所述数字对象创建请求进行验证,验证通过则实现所述数字对象创建请求,验证失败则拒绝所述数字对象创建请求,包括:
所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象创建请求;
若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象创建请求。
可选地,所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求,验证失败则拒绝执行所述数字对象操作请求,包括:
所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象操作请求;
若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象操作请求。
本申请实施例第二方面提供一种数字对象资源控制及授权装置,所述装置包括:
数字对象创建模块,用于数字对象资源所有者向数字对象仓库发起数字对象创建请求,所述数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对所述数字对象创建请求进行响应;
授权模块,用于数字对象资源请求者向所述数字对象资源所有者发起授权请求,所述数字对象资源所有者根据所述区块链账本中的第二相关信息,对所述授权请求进行响应;
数字对象操作模块,用于所述数字对象资源请求者向所述数字对象仓库发起数字对象操作请求,所述数字对象仓库根据所述区块链账本和所述策略管理点中的第三相关信息,对所述数字对象操作请求进行响应。
可选地,所述数字对象创建模块包括:
第一属性确定子模块,用于所述数字对象仓库根据数字对象创建请求,确定所述数字对象创建请求的客体属性、操作属性、环境属性,其中,所述客体属性为所述数字对象资源所有者请求创建的数字对象的属性,所述操作属性为所述数字对象资源所有者请求的操作类型的属性;
第一主体属性请求模块,用于所述数字对象仓库向所述区块链账本请求所述数字对象资源所有者的主体属性;
第一主体属性返回模块,用于所述区块链账本将所述主体属性发送至所述数字对象仓库中;
第一访问控制策略请求模块,用于所述数字对象仓库根据所述主体属性向所述策略管理点请求所述主体属性相关的访问控制策略;
第一访问控制策略返回模块,用于所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中;
第一验证模块,用于所述数字对象仓库结合所述主体属性、所述客体属性、所述操作属性、所述环境属性以及所述相关的访问控制策略,对所述数字对象创建请求进行验证,验证通过则执行所述数字对象创建请求并存储所述数字对象资源所有者请求创建的数字对象,验证失败则拒绝执行所述数字对象创建请求;
第一结果发送模块,用于将创建结果发送至所述数字对象资源所有者。
可选地,所述授权模块包括:
授权许可发送子模块,用于所述数字对象资源所有者根据所述授权请求,向所述区块链账本发送授权许可;
属性更新子模块,用于所述区块链账本验证授权并更新所述数字对象资源请求者的属性,将所述授权结果发送至所述数字对象资源所有者;
授权结果转发子模块,用于所述数字对象资源持有者转发授权结果给所述数字对象资源请求者,实现对所述数字对象资源请求者的授权。
可选地,所述数字对象操作模块包括:
第二属性确定子模块,用于所述数字对象仓库根据所述数字对象操作请求,确定所述数字对象操作请求对应的客体属性、操作属性和环境属性,其中,所述客体属性为所述数字对象资源请求者请求操作的数字对象的属性,所述操作属性为所述数字对象资源请求者请求执行的操作类型的属性;
第二主体属性请求子模块,用于所述数字对象仓库向所述区块链账本请求所述数字对象资源请求者的主体属性;
第二主体属性返回子模块,用于所述区块链账本将所述数字对象资源请求者的主体属性发送至所述数字对象仓库中;
第二访问控制策略请求子模块,用于所述数字对象仓库根据所述主体属性向所述策略管理点请求相关的访问控制策略;
第二访问控制策略返回子模块,用于所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中;
第二验证子模块,用于所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求,验证失败则拒绝执行所述数字对象操作请求;
第二结果返回子模块,用于将操作结果发送至所述数字对象资源请求者。
可选地,所述第一验证子模块包括:
第一请求执行子模块,用于所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象创建请求;
第一请求拒绝子模块,用于若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象创建请求。
可选地,第二验证子模块包括:
第二请求执行子模块,用于所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象操作请求;
第二请求拒绝子模块,用于若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象操作请求。
本申请实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。
本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请第一方面所述的方法的步骤。
采用本申请提供数字对象资源控制及授权的方法,首先由数字对象资源所有者向数字对象仓库发起数字对象创建请求,数字对象仓库在接收到数字对象创建请求后,根据区块链账本和策略管理点中的第一相关信息,对数字对象创建请求进行响应,接着,由数字对象请求者向数字对象资源所有者发起授权请求,数字对象资源所有者根据区块链账本中的第二相关信息,对授权请求记性响应,之后由数字对象资源请求者向数字对象仓库发起数字对象操作请求,数字对象仓库根据区块链账本和策略管理点中的第三相关信息,对数字对象操作请求进行响应。本申请中,数字对象仓库在接收到数字对象创建或者操作请求后,数字对象结合区块链账本和策略管理点中的相关信息,对请求进行响应,本申请这种数据所有权、数据控制权、数据使用权相分离的分布式数据共享架构,保证了数字对象操作权限管理的安全性,并且在修改权限时保证了权限修改的高效性,有区块链账本存储授权操作信息,保证了授权操作的可追溯性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提出的基于区块链的DO仓库访问控制方法的整体框架图;
图2是本申请一实施例提出的一种数字对象资源控制及授权方法的流程图;
图3是申请一实施例提出的DO创建流程示意图;
图4是本申请一实施例提出的属性授权流程示意图;
图5是本申请一实施例提出的DO操作流程示意图;
图6是本申请一实施例提出的数字对象资源控制及授权装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请设计了一整套DO(数字对象)仓库的访问控制方法,使用基于属性的访问控制模型(ABAC,Attribute-Based Access Control),ABAC模型通过定义用户、资源、操作以及环境的属性,将同一类的元素赋予同一属性,这样就可以通过属性访问控制列表替代ACL,易于进行批量处理,可以极大降低维护成本,有利于保证权限的一致性,防止出现修改错误或者遗漏。
示例的,在学校系统中,若是有新生入学,传统的ACL会给每个新生对每个DO进行授权,若有多个DO,则进行多次授权,容易出现授权遗漏的情况。采用ABAC模型,直接给将新生定义为“学生”属性,则该新生可以拥有“学生”权限,可以直接对相应的DO进行权限允许的操作,便于批量处理,避免遗漏。
本申请方案的整体框架如图1所示,图1是本申请实施例提出的基于区块链的DO仓库访问控制方法的整体框架图:
该框架由多个节点组成,包括DO资源所有者节点,DO资源请求者节点,DO仓库节点,策略管理点节点,区块链账本节点。
图中,DO资源所有者拥有操作DO资源的对应用户属性,并可以将属性授权给DO资源请求者进行临时或者长期的操作。
DO资源请求者是向DO资源所有者请求授权的用户,在获取到DO资源所有者授予的权限之后,可以操作DO仓库中对应的DO资源。
策略管理点存储并管理了属性访问控制策略列表,属性访问控制策略列表中存储了各种预先设置好的控制策略,具体应用在后文结合实施例详细解释。
区块链账本负责管理所有用户的属性状态,记录用户发起的授权,并根据授权修改对应的用户属性。
DO仓库负责存储DO资源,管理各个DO资源的客体属性,根据区块链账本记录的用户属性以及策略管理点记录的属性访问控制策略列表对操作请求进行验证。
DO仓库提供了基于DO的数据资源共享服务:DO所有者和DO仓库共同定义DO使用的权限策略;针对DO使用请求,DO所有者动态为使用者授权;DO仓库验证并执行DO使用的操作。
参考图2,图2是本申请一实施例提出的一种数字对象资源控制及授权方法的流程图。如图2所示,该方法包括以下步骤:
S11:数字对象资源所有者向数字对象仓库发起数字对象创建请求,所述数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对所述数字对象创建请求进行响应。
本实施例中,DO资源存储在DO仓库中,每个DO资源主要由Payloads(负载)和Attributes(属性)组成,Attributes中包含了该DO的主要信息,如id、名称、描述等,其中,还包含有客体属性(object attributes)字段,该字段描述了DO的客体属性,表示该DO资源在访问控制中的客体属性。
示例的,客体属性字段可以是:
1.{
2."id":"a7cab1a73523189864d1",
3."name":"example",
4."description":"An example show the structure of DO",/定义id,名称,描述
5."object attributes":{
6.{
7."name":"public"
8.},
9.{
10."name":"exam"/定义客体属性
11.}
12.}
13.}
本实施例中,DO资源所有者可以向DO仓库发起DO创建的请求,通过发起该请求,讲DO资源所有者的拥有的DO资源发送至DO仓库并进行存储,该DO资源所有者拥有其创建的DO资源的相应权限,第一相关信息指区块链账本中存储的DO创建请求对应的主体属性和策略管理点中存储的本次DO创建请求对应的访问控制策略。
如图3所示,图3是申请一实施例提出的DO创建流程示意图,如图所示,DO创建的主要步骤包括:
S11-1所述数字对象仓库根据数字对象创建请求,确定所述数字对象创建请求的客体属性、操作属性、环境属性,其中,所述客体属性为所述数字对象资源所有者请求创建的数字对象的属性,所述操作属性为所述数字对象资源所有者请求的操作类型的属性。
本实施例中,基于ABAC模型,定义了用户、资源、操作以及环境的属性,在DO仓库接收到DO创建请求时,会根据该请求,得到创建对象的内容,该DO资源的客体属性存储于DO资源的客体属性字段中,可以直接获得,操作属性就是创建操作,环境属性就是发出请求创建操作时,系统的个各项环境属性,例如系统的版本号,发出创建请求的时间,不同的访问控制策略可能需要验证不同的环境属性。
S11-2:所述数字对象仓库向所述区块链账本请求所述数字对象资源所有者的主体属性。
本实施例中,区块链账本是在一个点到点(P2P,peer-to-peer)网络中,利用共识算法以及密码学算法维护统一的账本,存储和管理数据。能有效保障数据的可信、可追溯特征。
区块链账本中存储有账户状态,包含了账户地址、主体属性等字段。该字段表示了账户在属性访问控制中的主体属性。
示例的,在校园系统中,属性访问控制的主体属性可以为学生和老师,所有用户可以获得学生或者老师的权限,可以进行对应的操作。使用代码表示可以为:
1.{
2."address":"a7cab1a73523189864d1",/地址
3."nonce":0,
4."subject attributes":{
5.{
6."name":"student",
7."start":"2020-09-01",
8."end":"2020-10-01",
9.},/定义主体属性为学生
10.{
11."name":"teacher",
12."start":"2020-09-01",
13."end":"2020-10-01",
14.}/定义主体属性为老师
15.}
16.}
S11-3:所述区块链账本将所述主体属性发送至所述数字对象仓库中。
本实施例中,在接收到DO仓库的请求之后,区块链账本会将发起本次创建请求的DO资源所有者的主体属性发送至数字对象仓库之中,即返回相关主体属性。同时,区块链账本会记录本次创建请求操作。
S11-4:所述数字对象仓库根据所述主体属性向所述策略管理点请求所述主体属性相关的访问控制策略。
本实施例中,DO仓库在接收到DO资源所有者的主体属性之后,会向策略管理点请求主体属性相关的访问控制策略。策略管理点中存储有访问控制策略列表,访问控制策略列表中存储有多条访问控制策略。
示例的,一个具体的访问控制策略列表如下,其中第一条策略表示老师和学生均可以在2020年9月1日后读取公开属性的DO资源,第二条策略表示老师可以在2020年9月1日到9月10日之间增加,修改或删除考试相关的DO资源。
1.{
2.{
3."subject":"student"||"teacher",/设置主体属性为老师和学生
4."object":"public",/设置客体属性为公开
5."operation":"read",/设置操作属性为读属性
6."environment":"timestamp">="2020-09-01"/设置环境属性的具体时间
7.},
8.{
9."subject":"teacher",/设置主体属性为老师
10."object":"exam",/设置客体属性为考试相关DO资源
11."operation":"add"||"update"||"delete",/设置操作属性为增加,修改或删除
12."environment":"timestamp">="2020-09-01"&&"timestamp"<="2020-10-01"/设置环境属性的具体时间
13.}
14.}
S11-5:所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中。
本实施例中,策略管理点接收到DO仓库的请求之后,会将主体属性相关的访问控制策略发送至DO仓库中,即返回相关访问控制策略。
示例的,若DO仓库请求了主体属性“老师”的相关访问控制策略,则策略管理点将主体属性为“老师”的相关访问控制策略发送至DO仓库中。
S11-6:所述数字对象仓库结合所述主体属性、所述客体属性、所述操作属性、所述环境属性以及所述相关的访问控制策略,对所述数字对象创建请求进行验证,验证通过则执行所述数字对象创建请求并存储所述数字对象资源所有者请求创建的数字对象,验证失败则拒绝执行所述数字对象创建请求。
本实施例中,DO仓根据DO资源所有者的主体属性、DO资源的客体属性、创建操作的操作属性以及环境属性,结合相关的访问控制策略,会对DO创建请求进行验证,验证成功则执行DO创建请求,将该DO资源存储进入DO仓库中,完成了创建,若验证失败,则该DO资源将不会存储进DO仓库中。
本实施例中,验证的具体步骤为:
S11-6-1:所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象创建请求。
S11-6-2:若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象创建请求。
本实施例中,每个访问控制策略都包含了四个表达式,分别对应主体属性、客体属性、操作属性以及环境属性,对于任意一个操作请求,如果四个属性都能使得表达式都成立,则符合该访问控制策略。在访问控制策略列表中,操作请求符合任意一个访问控制策略,则验证通过。整个验证过程的形式化表达如下:
用户主体属性映射的形式化表达:
Attr(User)=[UserAttr1,UserAttr1,…,UserAttrn]
DO资源属性映射的形式化表达:
Attr(Do)=[DoAttr1,DoAttr1,…,DoAttrn]
操作属性映射的形式化表达:
Attr(Op)=[OpAttr1,OpAttr1,…,OpAttrn]
环境属性映射的形式化表达:
Attr(Env)=[EnvAttr1,EnvAttr1,…,EnvAttrn]
其中,Attr(User)代表主体属性,UserAttr1,UserAttr1,…,UserAttrn代表第0到第n个主体属性。
Attr(Do)代表资源属性,DoAttr1,DoAttr1,…,DoAttrn代表第0到第n个资源属性,也叫作客体属性。
Attr(Op)代表操作属性,DoAttr1,DoAttr1,…,DoAttrn代表第0到第n个操作属性,
Attr(Env)代表环境属性,EnvAttr1,EnvAttr1,…,EnvAttrn代表第0到第n个环境属性。
根据操作请求包含的属性以及属性访问控制列表对请求进行验证。可表示为:
Policy={UserAttrExp,DoAttrExp,OpAttrExp,EnvAttrExp}
其中,Policy代表访问控制策略,UserAttrExp代表主体属性规则,DoAttrExp代表客体属性规则,OpAttrExp代表操作属性规则,EnvAttrExp代表环境属性规则。
对于一条访问控制策略而言,包含四个表达式,操作的四个属性每个分别代入对应表达式结果都正确则验证通过。具体表达式为:
Verify(Req,Pol)=Pol.UserAttrExp(Attr(Req.User))&Pol.UserAttrExp(Attr(Req.user))&Pol.DoAttrExp(Attr(Req.Do))&Pol.OpAttrExp(Attr(Req.Op))&Pol.EnvAttrExp(Attr(Req.Env))
其中,Verify(Req,Pol)代表将请求带入访问控制策略进行验证。
Pol.UserAttrExp(Attr(Req.User))代表将主体属性带入主体属性规则中验证。
Pol.UserAttrExp(Attr(Req.user))代表将客体属性带入客体属性规则中验证。
Pol.OpAttrExp(Attr(Req.Op))代表将操作属性带入操作属性规则中验证。
Pol.EnvAttrExp(Attr(Req.Env))代表将环境属性带入环境属性规则中验证。
访问控制策略列表中包含了多个访问控制策略,可以表示为:
PolicycyList={Policyi|i∈[0,N]}
其中,PolicycyList代表访问控制策略列表。
当存在一验证策略通过,则表示该请求通过验证。可以表示为:
其中,true代表规则验证通过。
示例的,DO资源所有者为老师,则老师向DO仓库发起创建请求,请求将DO资源发送至DO仓库,DO资源为试卷,客体属性为考试相关,则DO仓库向区块链账本请求DO资源所有者的主体属性,区块链账本返回主体属性为老师,DO仓库向策略管理点请求老师相关的访问控制策略,策略管理点返回主体属性为老师的相关访问控制策略,有一条访问控制策略为“老师可以在任意时间内进行考试相关资源创建操作”。将主体属性“老师”,客体属性“考试相关”,操作属性“创建操作”,环境属性“2020年9月1日”带入老师相关访问控制策略中,发现符合上述控制策略,验证通过,执行DO资源创建操作。
S11-7:将创建结果发送至所述数字对象资源所有者。
本实施例中,若验证成功,则向DO资源所有者返回DO创建成功的结果,若验证失败,则向DO资源所有者返回创建失败的结果。
S12:数字对象资源请求者向所述数字对象资源所有者发起授权请求,所述数字对象资源所有者根据所述区块链账本中的第二相关信息,对所述授权请求进行响应。
本实施例中,DO资源请求者在需要对该DO资源进行操作时,会对DO资源所有者发出授权请求,DO资源所有者也可以直接将权限授予DO资源请求者,第二相关信息指区块链账本中存储的DO资源请求者的账户信息。
参考图4,图4是本申请一实施例提出的属性授权流程示意图,如图4所示,具体步骤如下:
S12-1:所述数字对象资源所有者根据所述授权请求,向所述区块链账本发送授权许可。
本实施例中,在DO资源所有者接收到DO资源请求者的授权请求之后,DO资源所有者向区块链账本发送对该DO资源请求者的授权许可。
示例的,DO资源所有者为老师时,老师可以向区块链账本发送授权许可,允许学生用户,也就是DO资源请求者读取试卷。
S12-2:所述区块链账本验证授权并更新所述数字对象资源请求者的属性,将所述授权结果发送至所述数字对象资源所有者。
本实施例中,区块链账本在接收到DO资源所有者发出的授权许可后,会对该授权许可进行验证,若DO资源所有者拥有授权资格,则更新DO资源请求者的属性,并将授权结果发送给DO资源所有者。
示例的,DO仓库中的资源为DO资源所有者为老师,老师发送授权许可给区块链账本后,区块链账本验证通过,给被授权的学生用户的账户添加属性“学生”,该属性拥有DO资源的阅读资格。区块链账本在更新完用户属性之后,回想DO资源所有者返回授权成功的信息。
S12-3:所述数字对象资源持有者转发授权结果给所述数字对象资源请求者,实现对所述数字对象资源请求者的授权。
本实施例中,DO资源所有者接收到授权成功信息后,将其发送至DO资源请求者,实现对DO资源请求者的授权,DO资源请求者拥有了被授予的权限,可以对DO资源进行对应操作。
S13:所述数字对象资源请求者向所述数字对象仓库发起数字对象操作请求,所述数字对象仓库根据所述区块链账本和所述策略管理点中的第三相关信息,对所述数字对象操作请求进行响应。
本实施例中,第三相关信息指指区块链账本中存储的本次DO操作请求对应的主体属性和策略管理点中存储的本次DO操作请求对应的访问控制策略。
参考图5,图5是本申请一实施例提出的DO操作流程示意图,如图5所示,本实施例中,DO资源请求者在获得授权之后,对DO资源进行对应操作的具体步骤为:
S13-1:所述数字对象仓库根据所述数字对象操作请求,确定所述数字对象操作请求对应的客体属性、操作属性和环境属性,其中,所述客体属性为所述数字对象资源请求者请求操作的数字对象的属性,所述操作属性为所述数字对象资源请求者请求执行的操作类型的属性。
本实施例中,当DO资源请求者得到DO资源所有者授予的权限之后,即可对DO仓库发起操作请求,DO仓库根据该请求确定该操作请求对应的客体属性、操作属性和环境属性,客体属性是DO资源的属性,操作属性就是DO资源请求者发出的操作请求对应的操作的属性,环境属性就是操作请求发起时,系统的个各项环境属性,例如系统的版本号,发出操作请求的时间,不同的访问控制策略可能需要验证不同的环境属性,这里不做限制。
S13-2:所述数字对象仓库向所述区块链账本请求所述数字对象资源请求者的主体属性。
本实施例中,DO资源的主体属性就是DO资源请求者的属性,因为DO资源请求者已经获得了DO资源所有者的授权,所以DO资源请求者的属性在区块链账本中已经进行了更新。
S13-3:所述区块链账本将所述数字对象资源请求者的主体属性发送至所述数字对象仓库中。
本实施例中,区块链账本会将发起本次操作请求的DO资源请求者的主体属性发送至数字对象仓库之中,即返回相关主体属性。同时,区块链账本会记录本次操作请求的具体操作。
S13-4:所述数字对象仓库根据所述主体属性向所述策略管理点请求相关的访问控制策略。
示例的,DO仓库会根据区块链账本返回的主体属性,向策略管理点请求主体属性为“学生”相关的访问控制策略。
S13-5:所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中。
S13-6:所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求,验证失败则拒绝执行所述数字对象操作请求。
本实施例中,策略验证的形式化表达已经在之前叙述过,在此不再叙述。
示例的,DO资源请求者为学生用户,学生用户向DO仓库发起操作请求,该操作请求为阅读,DO资源为试卷,客体属性为考试相关,DO仓库向区块链账本请求DO资源请求者的主体属性,区块链账本返回主体属性为学生,DO仓库向策略管理点请求学生相关的访问控制策略,策略管理点返回主体属性为学生的相关访问控制策略,其中有一条访问控制策略为“学生可以在2020年9月1日至2020年10月01日阅读试卷”。将主体属性“学生”,客体属性“考试相关”,操作属性“阅读操作”,环境属性“2020年9月1日”带入老师相关访问控制策略中,发现符合上述控制策略,验证通过,则向学生用户展示该试卷,执行阅读操作。
S13-7:将操作结果发送至所述数字对象资源请求者。
本实施例中,验证通过时,会向用户发送验证成功的操作结果,用户可以执行请求的操作。验证失败是,回向用户发送验证失败的操作结果,用户不可以执行请求的操作。
本实施例中,通过为用户定义属性,进行统一的管理,例如在公司场景中,将所有员工定义为“员工”属性,则所有“员工”可以操作对应的DO,当加入新用户时,只需要对该用户赋予对应的属性,新用户即可操作对应的DO。可以理解为将同一类元素赋予同一属性,这样易于进行批量处理,不会产生错误和遗漏,极大提升了DO访问控制的效率。
下面会结合实际场景,将授权过程与操作过程进行详细的解释。
设置场景为老师发放试卷给学生,考虑场景为老师发放试卷给学生,只允许学生在特定时间读取试卷但不能修改试卷。在本申请中数据如下:
用户A包含属性集合{“老师”,“学生”},用户B初始无属性{}。用户A的账户状态如下:
1.{
2."address":"a7cab1a73523189864d1",/用户地址
3."nonce":0,
4."subject attributes":{
5.{
6."name":"student",/名称
7."start":"2020-09-01",/起始时间
8."end":"2020-10-01",/结束时间
9.},
10.{
11."name":"teacher",/名称
12."start":"2020-09-01",/起始时间
13."end":"2020-10-01",/结束时间
14.}
15.}
16.}
上述代码中设置了两个用户属性,学生和老师。
DO仓库中存在DO资源“2020级期末试卷”,属性集合为{“试卷”},代码为:
1.{
2."id":"a7cab1a73523189864d1",
3."name":"2020exam paper",/名称
4."description":"2020example paper",/描述
5."object attributes":{
6.{
7."name":"exam paper"/客体属性
8.}
9.}
10.}
访问控制策略集合为{“主体属性:学生or老师,客体属性:试卷,操作:读,环境属性:2020.09.01-2021.10.01”,“主体属性:老师,客体属性:试卷,操作:增加、删除或修改,环境属性:2020.09.01-2020.10.01”},当然时间也可以进一步细化到秒。
1.{
2.{
3."subject":"student"||"teacher",/主体属性:学生or老师
4."object":"exam paper",/客体属性:试卷
5."operation":"read"/操作:读
6."environment":"timestamp">="2020-09-01"&&"timestamp"<="2020-10-01"/环境属性:2020.09.01-2020.10.01
7.},(访问策略1)
8.{
9."subject":"teacher",/主体属性:老师
10."object":"exam paper",/客体属性:试卷
11."operation":"add"||"update"||"delete",/操作:增加、删除或修改
12."environment":"timestamp">="2020-09-01"&&"timestamp"<="2020-10-01"/环境属性:2020.09.01-2020.10.01
13.}(访问策略2)
14.}
初始状态,用户B无法访问“2020级期末试卷”,用户A发起授权,将属性“学生”授权给用户B。授权数据结构如下:
1.{
2."from":"a7cab1a73523189864d1",
3."to":"b1a01281cf0e72ba1c91",/A授权给B
4."nonce":"0",
5."authorization attributes":{
6.{
7."name":"student",/名称
8."duration":{
9."start":"2020-09-01",/授权起始时间
10."end":"2020-10-01",/授权终止时间
11.}
12.}
13.},
14."signature":"0xb1a01281cf0e72ba1c91"/特征码
15.}
区块链账本验证该授权中包含的属性是否为发起方账户状态拥有,如果拥有则通过验证并记录该授权,修改对应的账户状态。
用户A发起授权后,nonce字段加1,防止重放攻击,重放攻击指将账户接收过的数据再发送至账户,通过每操作一次将nonce字段加1的方式,防止重放攻击,账户状态变为:
1.{
2."address":"a7cab1a73523189864d1",/地址
3."nonce":1,
4."subject attributes":{
5.{
6."name":"student",/名称
7."start":"2020-09-01",/起始时间
8."end":"2020-10-01",/终止时间
9.},
10.{
11."name":"teacher",/名称
12."start":"2020-09-01",/起始时间
13."end":"2020-10-01",/终止时间
14.}
15.}
16.}
用户B获得授权后,账户状态增加“学生”属性,变为:
1.{
2."address":"a7cab1a73523189864d1",/地址
3."nonce":0,
4."subject attributes":{
5.{
6."name":"student",/名称
7."start":"2020-09-01",/起始时间
8."end":"2020-10-01",/终止时间
9.}
10.}
11.}
在特定时间内,根据访问控制策略1,用户B可以对“2020级期末试卷”进行读操作。但无法进行写操作,因为用户B未获取属性“老师”,无法通过访问控制策略2。
用户B发起读操作请求,具体如下:
1.{
2."from":"b1a01281cf0e72ba1c91",
3."do":"a7cab1a73523189864d1",/A授权给B的操作权限
4."operation":"read",/操作属性
16."timestamp":"1611020784",/时间戳
17."signature":"0xb1a01281cf0e72ba1c91"/特征码
18.}
DO仓库根据区块链账本获取操作发起人的主体属性,根据DO仓库存储的客体属性,以及根据策略管理点获取的策略列表,对该操作进行验证。符合策略1,则返回对应的DO资源,学生用户可以读取试卷,实现请求的操作。
基于同一发明构思,本申请一实施例提供一种数字对象资源控制及授权装置。参考图6,图6是本申请一实施例提出的数字对象资源控制及授权装置600的示意图。如图6所示,该装置包括:
数字对象创建模块601,用于数字对象资源所有者向数字对象仓库发起数字对象创建请求,所述数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对所述数字对象创建请求进行响应;
授权模块602,用于数字对象资源请求者向所述数字对象资源所有者发起授权请求,所述数字对象资源所有者根据所述区块链账本中的第二相关信息,对所述授权请求进行响应;
数字对象操作模块603,用于所述数字对象资源请求者向所述数字对象仓库发起数字对象操作请求,所述数字对象仓库根据所述区块链账本和所述策略管理点中的第三相关信息,对所述数字对象操作请求进行响应。
可选地,所述数字对象创建模块包括:
第一属性确定子模块,用于所述数字对象仓库根据数字对象创建请求,确定所述数字对象创建请求的客体属性、操作属性、环境属性,其中,所述客体属性为所述数字对象资源所有者请求创建的数字对象的属性,所述操作属性为所述数字对象资源所有者请求的操作类型的属性;
第一主体属性请求模块,用于所述数字对象仓库向所述区块链账本请求所述数字对象资源所有者的主体属性;
第一主体属性返回模块,用于所述区块链账本将所述主体属性发送至所述数字对象仓库中;
第一访问控制策略请求模块,用于所述数字对象仓库根据所述主体属性向所述策略管理点请求所述主体属性相关的访问控制策略;
第一访问控制策略返回模块,用于所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中;
第一验证模块,用于所述数字对象仓库结合所述主体属性、所述客体属性、所述操作属性、所述环境属性以及所述相关的访问控制策略,对所述数字对象创建请求进行验证,验证通过则执行所述数字对象创建请求并存储所述数字对象资源所有者请求创建的数字对象,验证失败则拒绝执行所述数字对象创建请求;
第一结果发送模块,用于将创建结果发送至所述数字对象资源所有者。
可选地,所述授权模块包括:
授权许可发送子模块,用于所述数字对象资源所有者根据所述授权请求,向所述区块链账本发送授权许可;
属性更新子模块,用于所述区块链账本验证授权并更新所述数字对象资源请求者的属性,将所述授权结果发送至所述数字对象资源所有者;
授权结果转发子模块,用于所述数字对象资源持有者转发授权结果给所述数字对象资源请求者,实现对所述数字对象资源请求者的授权。
可选地,所述数字对象操作模块包括:
第二属性确定子模块,用于所述数字对象仓库根据所述数字对象操作请求,确定所述数字对象操作请求对应的客体属性、操作属性和环境属性,其中,所述客体属性为所述数字对象资源请求者请求操作的数字对象的属性,所述操作属性为所述数字对象资源请求者请求执行的操作类型的属性;
第二主体属性请求子模块,用于所述数字对象仓库向所述区块链账本请求所述数字对象资源请求者的主体属性;
第二主体属性返回子模块,用于所述区块链账本将所述数字对象资源请求者的主体属性发送至所述数字对象仓库中;
第二访问控制策略请求子模块,用于所述数字对象仓库根据所述主体属性向所述策略管理点请求相关的访问控制策略;
第二访问控制策略返回子模块,用于所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中;
第二验证子模块,用于所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求,验证失败则拒绝执行所述数字对象操作请求;
第二结果返回子模块,用于将操作结果发送至所述数字对象资源请求者。
可选地,所述第一验证子模块包括:
第一请求执行子模块,用于所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象创建请求;
第一请求拒绝子模块,用于若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象创建请求。
可选地,第二验证子模块包括:
第二请求执行子模块,用于所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象操作请求;
第二请求拒绝子模块,用于若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象操作请求。
基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的数字对象资源控制及授权方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的数字对象资源控制及授权方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种数字对象资源控制及授权方法、装置、设备及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种数字对象资源控制及授权方法,其特征在于,所述方法包括:
数字对象资源所有者向数字对象仓库发起数字对象创建请求,所述数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对所述数字对象创建请求进行响应,所述第一相关信息指区块链账本中存储的数字对象创建请求对应的主体属性和策略管理点中存储的本次数字对象创建请求对应的访问控制策略;
数字对象资源请求者向所述数字对象资源所有者发起授权请求,所述数字对象资源所有者根据所述区块链账本中的第二相关信息,对所述授权请求进行响应,包括:所述数字对象资源所有者根据所述授权请求,向所述区块链账本发送授权许可;所述区块链账本对所述授权许可进行验证,若所述数字对象资源所有者拥有授权资格,则更新所述数字对象资源请求者的主体属性,所述数字对象资源所有者转发授权结果给所述数字对象资源请求者,实现对所述数字对象资源请求者的授权;
所述数字对象资源请求者向所述数字对象仓库发起数字对象操作请求,所述数字对象仓库根据所述区块链账本和所述策略管理点中的第三相关信息,对所述数字对象操作请求进行响应,包括:所述数字对象仓库向所述区块链账本请求所述数字对象资源请求者的主体属性;所述区块链账本将所述数字对象资源请求者的更新后的主体属性发送至所述数字对象仓库中;所述数字对象仓库根据所述更新后的主体属性向所述策略管理点请求所述更新后的主体属性相关的访问控制策略;所述策略管理点将所述更新后的主体属性相关的访问控制策略发送至所述数字对象仓库中;所述数字对象仓库结合所述更新后的主体属性相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求。
2.根据权利要求1所述的方法,其特征在于,所述数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对所述数字对象创建请求进行响应,包括:
所述数字对象仓库根据数字对象创建请求,确定所述数字对象创建请求的客体属性、操作属性、环境属性,其中,所述客体属性为所述数字对象资源所有者请求创建的数字对象的属性,所述操作属性为所述数字对象资源所有者请求的操作类型的属性;
所述数字对象仓库向所述区块链账本请求所述数字对象资源所有者的主体属性;
所述区块链账本将所述主体属性发送至所述数字对象仓库中;
所述数字对象仓库根据所述主体属性向所述策略管理点请求所述主体属性相关的访问控制策略;
所述策略管理点将所述相关的访问控制策略发送至所述数字对象仓库中;
所述数字对象仓库结合所述主体属性、所述客体属性、所述操作属性、所述环境属性以及所述相关的访问控制策略,对所述数字对象创建请求进行验证,验证通过则执行所述数字对象创建请求并存储所述数字对象资源所有者请求创建的数字对象,验证失败则拒绝执行所述数字对象创建请求;
将创建结果发送至所述数字对象资源所有者。
3.根据权利要求2所述的方法,其特征在于,所述数字对象仓库结合所述更新后的主体属性相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求,包括:
所述数字对象仓库根据所述数字对象操作请求,确定所述数字对象操作请求对应的客体属性、操作属性和环境属性,其中,所述客体属性为所述数字对象资源请求者请求操作的数字对象的属性,所述操作属性为所述数字对象资源请求者请求执行的操作类型的属性;
所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及所述更新后的主体属性访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求,所述方法还包括:
验证失败则拒绝执行所述数字对象操作请求;
将操作结果发送至所述数字对象资源请求者。
4.根据权利要求2所述的方法,其特征在于,所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及相关的访问控制策略对所述数字对象创建请求进行验证,验证通过则实现所述数字对象创建请求,验证失败则拒绝所述数字对象创建请求,包括:
所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象创建请求;
若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象创建请求。
5.根据权利要求3所述的方法,其特征在于,所述数字对象仓库结合所述主体属性、客体属性、操作属性、环境属性以及相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求,验证失败则拒绝执行所述数字对象操作请求,包括:
所述数字对象仓库将所述主体属性、客体属性、操作属性、环境属性带入所述相关的访问控制策略进行验证,若所述主体属性、所述客体属性、所述操作属性、所述环境属性均符合所述相关访问控制策略,则通过验证,执行所述数字对象操作请求;
若所述主体属性、所述客体属性、所述操作属性、所述环境属性其中任意一个或多个属性不符合所述相关访问控制策略,则验证失败,拒绝执行所述数字对象操作请求。
6.一种数字对象资源控制及授权装置,其特征在于,所述装置包括:
数字对象创建模块,用于数字对象资源所有者向数字对象仓库发起数字对象创建请求,所述数字对象仓库根据区块链账本和策略管理点中的第一相关信息,对所述数字对象创建请求进行响应,所述第一相关信息指区块链账本中存储的数字对象创建请求对应的主体属性和策略管理点中存储的本次数字对象创建请求对应的访问控制策略;
授权模块,用于数字对象资源请求者向所述数字对象资源所有者发起授权请求,所述数字对象资源所有者根据所述区块链账本中的第二相关信息,对所述授权请求进行响应,所述第二相关信息指区块链账本中存储的数据对象资源请求者的账户信息,包括:所述数字对象资源所有者根据所述授权请求,向所述区块链账本发送授权许可;所述区块链账本对所述授权许可进行验证,若所述数字对象资源所有者拥有授权资格,则更新所述数字对象资源请求者的主体属性,所述数字对象资源所有者转发授权结果给所述数字对象资源请求者,实现对所述数字对象资源请求者的授权;
数字对象操作模块,用于所述数字对象资源请求者向所述数字对象仓库发起数字对象操作请求,所述数字对象仓库根据所述区块链账本和所述策略管理点中的第三相关信息,对所述数字对象操作请求进行响应,包括:所述数字对象仓库向所述区块链账本请求所述数字对象资源请求者的主体属性;所述区块链账本将所述数字对象资源请求者的更新后的主体属性发送至所述数字对象仓库中;所述数字对象仓库根据所述更新后的主体属性向所述策略管理点请求所述更新后的主体属性相关的访问控制策略;所述策略管理点将所述更新后的主体属性相关的访问控制策略发送至所述数字对象仓库中;所述数字对象仓库结合所述更新后的主体属性相关的访问控制策略对所述数字对象操作请求进行验证,验证通过则执行所述数字对象操作请求。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1至5任一所述的方法中的步骤。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至5任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110251604.3A CN113065153B (zh) | 2021-03-08 | 2021-03-08 | 数字对象资源控制及授权方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110251604.3A CN113065153B (zh) | 2021-03-08 | 2021-03-08 | 数字对象资源控制及授权方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113065153A CN113065153A (zh) | 2021-07-02 |
CN113065153B true CN113065153B (zh) | 2022-07-12 |
Family
ID=76559892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110251604.3A Active CN113065153B (zh) | 2021-03-08 | 2021-03-08 | 数字对象资源控制及授权方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065153B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10929352B2 (en) * | 2018-05-29 | 2021-02-23 | Oracle International Corporation | Securing access to confidential data using a blockchain ledger |
CN113259137A (zh) * | 2021-07-15 | 2021-08-13 | 广东电网有限责任公司江门供电局 | 一种基于用户属性的电网访问控制方法、系统和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947723A (zh) * | 2018-11-30 | 2019-06-28 | 上海点融信息科技有限责任公司 | 用于区块链网络的区块数据共享方法、存储介质、计算设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451175B (zh) * | 2017-05-23 | 2020-01-31 | 创新先进技术有限公司 | 一种基于区块链的数据处理方法及设备 |
CN108123936B (zh) * | 2017-12-13 | 2021-04-13 | 北京科技大学 | 一种基于区块链技术的访问控制方法及系统 |
CN109117668A (zh) * | 2018-08-10 | 2019-01-01 | 广东工业大学 | 一种基于区块链构建的身份授权安全访问方法 |
CN109165516A (zh) * | 2018-08-14 | 2019-01-08 | 中国银联股份有限公司 | 一种访问控制方法和装置 |
-
2021
- 2021-03-08 CN CN202110251604.3A patent/CN113065153B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947723A (zh) * | 2018-11-30 | 2019-06-28 | 上海点融信息科技有限责任公司 | 用于区块链网络的区块数据共享方法、存储介质、计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113065153A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11848982B2 (en) | Access services in hybrid cloud computing systems | |
JP7454616B2 (ja) | 分散型元帳におけるdagベースのトランザクション処理方法およびシステム | |
Ocheja et al. | Managing lifelong learning records through blockchain | |
CN110096857B (zh) | 区块链系统的权限管理方法、装置、设备和介质 | |
Bhaskaran et al. | Double-blind consent-driven data sharing on blockchain | |
Ellervee et al. | A Comprehensive Reference Model for Blockchain-based Distributed Ledger Technology. | |
RU2678496C2 (ru) | Диспетчер политик устройства | |
US20190139047A1 (en) | Block chain based resource management | |
US8955037B2 (en) | Access management architecture | |
US11042641B2 (en) | Deployment and communications gateway for deployment, trusted execution, and secure communications | |
CN109117660B (zh) | 一种基于区块链和智能合约的数据共享方法及系统 | |
CN113065153B (zh) | 数字对象资源控制及授权方法、装置、设备及存储介质 | |
JP2020017256A (ja) | ブロックチェーンにおける検証を行うシステム | |
JP2021504832A (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
US20190158499A1 (en) | Usage tracking in hybrid cloud computing systems | |
CN110855777B (zh) | 一种基于区块链的节点管理方法及装置 | |
DE112021005478T5 (de) | Verfahren zum schutz eines edge-gerät-vertrauenswerts | |
US10387498B2 (en) | Polymorphic configuration management for shared authorization or authentication protocols | |
CN108228353A (zh) | 资源访问控制方法、装置及相应终端 | |
JP2022552110A (ja) | ブロックチェーンベースのワークフローノード認証方法及びデバイス | |
CN113271366B (zh) | 基于区块链和安全计算的数据共享系统 | |
CN109711795A (zh) | 一种多云协同平台的构建方法及系统 | |
Zhang et al. | Secure information and resource sharing in cloud infrastructure as a service | |
US20240161078A1 (en) | Computing system for configurable off-chain storage for blockchains | |
CN114780980A (zh) | 数字对象操作存证及溯源管理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |