CN114239035A - 基于区块链的协作流程执行系统及其数据访问控制方法 - Google Patents
基于区块链的协作流程执行系统及其数据访问控制方法 Download PDFInfo
- Publication number
- CN114239035A CN114239035A CN202111590932.2A CN202111590932A CN114239035A CN 114239035 A CN114239035 A CN 114239035A CN 202111590932 A CN202111590932 A CN 202111590932A CN 114239035 A CN114239035 A CN 114239035A
- Authority
- CN
- China
- Prior art keywords
- contract
- access control
- execution
- file
- resource
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 202
- 230000008569 process Effects 0.000 claims abstract description 180
- 238000007726 management method Methods 0.000 claims description 46
- 239000003795 chemical substances by application Substances 0.000 claims description 30
- 230000008520 organization Effects 0.000 claims description 28
- 238000011217 control strategy Methods 0.000 claims description 23
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000008676 import Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/602—Providing cryptographic facilities or services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链的协作流程执行系统及其数据访问控制方法。该系统能够在以太坊区块链上支持协作业务流程的执行过程并为执行过程中涉及的资源数据文件提供一种数据访问控制方案,其协作业务流程执行由以太坊上部署的流程合约控制执行,数据访问控制方案由以太坊上部署的访问控制合约和文件管理合约、链下IPFS及其代理层和流程合约共同控制执行。使用本发明公开的系统能够解决协作业务流程中不同组织间缺乏信任问题,为不同组织提供去中心化的协作业务流程执行过程,并且在以太坊区块链上提供动态、灵活、细粒度和可追溯的数据访问控制支持。
Description
技术领域
本发明属于区块链技术应用领域,尤其涉及一种基于区块链的协作流程执行系统及其数据访问控制方法。
背景技术
在经济全球化的背景下,组织间需要更好地进行合作以应对市场需求。目前,组织普遍采用的策略是加入协作流程执行过程当中,即在组织间建立协作和资源共享的伙伴关系来达成共同目标。然而,组织间缺乏信任是实现不同组织之间流程协同的最大障碍。事实上,大多数协作流程的执行过程严重依赖第三方来处理组织交互过程中产生的冲突问题。此外,协作流程执行涉及到广泛的信息与资源交换,相应的数据文件中可能包含组织用户的敏感信息,如果没有安全的数据共享以及访问控制机制,组织可能不愿意共享其数据。在实际的协作环境中,多个参与流程的组织都同意选择一个中央管理者来协调协作流程的执行并为不同组织提供流程数据的共享存储以及安全的访问控制机制,但信任缺失问题导致不同组织之间难以在中央管理者的选择上达成共识。在这种应用场景下,如何为不同组织提供支持去中心化的协作业务流程执行以及数据访问控制方案成为亟待解决的技术问题。
发明内容
针对现有技术的不足,本发明提出了基于区块链的协作流程执行系统,该系统能够将协作流程模型存储于以太坊智能合约中,在以太坊上支持协作流程的执行过程。此外,该系统通过引入星际文件系统(Inter Planetary File System,简称IPFS)来为协作流程执行过程提供数据共享存储,能够有效缓解区块链存储大量数据文件的压力,并设计了一种基于上述系统的访问控制方法,该方法结合基于任务与属性的访问控制模型与智能合约技术,能够在区块链上实现动态、灵活、细粒度和可追溯的数据访问控制支持。
为实现上述发明目的,本发明具体采用的技术方案如下:
第一方面,本发明提供了一种基于区块链的协作流程执行系统,该系统包含前端系统、后端系统、星际文件系统以及以太坊区块链四个部分;
前端系统包含建模器与执行界面;其中建模器用于支持协作流程建模,执行界面用于管理协作流程的执行过程中对数据文件的上传和下载;
后端系统包含链下组件、Web3接口和星际文件系统代理层;其中链下组件用于处理前端系统传入的数据;Web3接口是一个集合库,用于提供包括检索用户账户、发送交易和与智能合约交互在内的功能接口;星际文件系统代理层用于在后端系统中拦截用户对于星际文件系统的请求并通过Web3接口向智能合约转发该请求用于对访问者进行权限验证,同时根据监听到验证结果决定是否向星际文件系统发送上传或下载文件的请求;
星际文件系统用于存储跨组织流程执行过程中产生的共享数据文件;
以太坊区块链包括数据存储模块、访问控制模块和流程执行引擎;其中数据存储模块包含文件管理合约和属性管理合约,所述文件管理合约用于存储文件在星际文件系统中的哈希值,所述属性管理合约用于管理用户和组织相关信息;访问控制模块包含访问控制合约,用于在用户访问相应资源时验证访问者是否拥有对于被访问资源的操作权限;流程执行引擎包含与协作流程执行相关的流程合约,用于支持链上流程实例的执行过程。
作为上述第一方面的优选,所述属性管理合约为存储有流程组织库、用户库和属性库的智能合约;在属性管理合约中,合约创建者将导入协作业务流程包含的流程组织并设置其组织管理员,组织管理员能够在相应的组织中管理组织包含的属性集合以及共享资源文件相关信息。
作为上述第一方面的优选,所述文件管理合约为用于管理共享数据文件信息的智能合约,由其合约创建者和数据文件库组成,能够在区块链上管理协作业务流程执行过程中产生的共享数据文件,并将数据文件的哈希值存储于链上,当资源访问者拥有数据文件的访问权限时,能够通过星际文件系统代理层和数据文件的哈希值获取数据文件。
作为上述第一方面的优选,所述流程合约为用于存储流程模型以及流程实例库的智能合约,其中流程模型包含模型执行的控制流程逻辑,流程实例库包含多个流程实例的执行状态与执行过程。
作为上述第一方面的优选,所述访问控制合约为由访问请求库和访问策略库组成的智能合约,其内部包含匹配资源访问请求和资源访问控制策略的合约函数,能够根据星际文件系统代理层上传的资源访问请求来评估资源访问者的访问权限,匹配相关资源访问控制策略并得出最后的资源访问请求结果。
第二方面,本发明提供了一种基于上述第一方面中任一方案所述协作流程执行系统的数据访问控制方法,该方法具体包括以下步骤:
S1、通过执行界面将以太坊区块链中涉及的智能合约部署到以太坊私链上;所述智能合约包括属性管理合约、访问控制合约、文件管理合约以及流程合约;
S2、将包括通过建模器构建的流程模型、参与协作流程执行的组织与用户属性、协作流程执行涉及的流程文件及其访问控制策略在内的数据导入到S1中部署的所述智能合约中;
S3、根据所述智能合约中存储的流程模型创建协作流程实例;当协作流程实例的执行不涉及对共享数据文件的操作时,参与协作流程执行的流程执行者能够通过在流程执行引擎上通过调用流程合约的合约函数来执行协作流程;
S4、当协作流程实例的执行涉及到共享数据文件的操作时,流程执行者将向星际文件系统代理层发送资源访问请求,星际文件系统代理层将调用访问控制模块中的访问控制合约的函数接口,将该请求转发到访问控制合约中,访问控制合约将根据该资源访问请求涉及到的数据文件、资源访问者的属性、协作流程实例的状态以及对共享数据文件的操作,在合约内检索相应的访问控制策略并评估资源访问者对文件的访问权限;完成评估后将产生事件,记录该资源访问请求的访问结果;
S5、星际文件系统代理层监听访问控制智能合约中产生的事件,获取对应资源访问请求的访问结果,根据访问结果允许或拒绝流程执行者对于星际文件系统的访问。
作为上述第二方面的优选,所述以太坊区块链中,每个智能合约中都包含其余智能合约的合约地址全局变量,在完成合约部署后需要为每个智能合约导入其余智能合约的合约地址;且文件管理合约中还存储有一个保存在链下星际文件系统代理层的账户地址,只有该账户地址能够对文件管理合约的合约函数进行调用,所有上传到链下星际文件系统的数据文件都会使用该账户地址进行加密,确保无法绕开星际文件系统代理层直接和星际文件系统进行交互。
作为上述第二方面的优选,所述S4中,评估资源访问者对文件的访问权限的方法如下:完成访问控制策略的检索后,访问控制合约遍历检索到的每一个访问控制策略,解析其中包含的策略规则,根据策略规则中的用户属性策略规则和任务属性策略规则分别向属性管理合约和流程合约发送请求,查询相关的用户属性值以及任务属性值,将用户属性值和任务属性值分别与用户属性策略规则和任务属性策略规则进行匹配,当用户属性值满足用户属性策略规则的条件表达式且任务属性值满足任务属性策略规则的条件表示式时视为当前访问控制策略匹配成功;如果能匹配到至少一个访问控制策略,则明该资源访问者具有对资源文件的访问权限,否则视为该资源访问者没有对资源文件的访问权限。
相对于现有技术而言,本发明具有以下有益效果:
本发明提出了一种基于区块链的协作流程执行系统,该系统内部包含支持协作业务流程执行的业务流程执行引擎,能够在区块链上支持协作业务流程的执行过程。为了支持协作业务流程执行过程中的数据共享需求,该系统引入星际文件系统来支持大型数据文件的交互和共享,其基本思想是通过链下存储文件、链上存储文件哈希值的方式减轻区块链存储大型文件的压力。此外,本发明还包含了一种数据访问控制方法,该方法通过将资源访问控制规则与评估过程存储于区块链智能合约中,能够为基于区块链的协作业务流程提供了动态、灵活、细粒度和可追溯的数据访问控制支持。
附图说明
图1为基于区块链的协作流程执行框架整体架构图。
图2为基于区块链的协作流程执行框架链上合约结构图。
图3为业务流程执行引擎执行概念图。
图4为访问控制策略实施过程图。
图5为基于区块链的协作流程执行框架使用步骤图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施方式的限制。本发明各个实施方式中的技术特征在没有相互冲突的前提下,均可进行相应组合。
如图1所示,本发明提出的基于区块链的协作流程执行系统被分为前端系统、后端系统、星际文件系统和以太坊区块链四个部分。
前端系统包含了向用户提供图形化界面的相关组件,包含用于支持业务流程建模的建模器和提供可视化流程的执行界面,执行界面用于管理协作流程的执行过程中对数据文件的上传和下载。
后端系统包含链下组件、Web3接口和星际文件系统代理层(以下简称IPFS代理层),其中链下组件包含用于解析编排图文件的翻译器、用于部署编排图模型内数据信息的部署器以及监控流程执行与版本更新过程的事件监听器;Web3接口是一个集合库,通过HTTP连接本地以太坊节点,能够提供检索用户账户、发送交易和与智能合约交互等功能的接口,本发明协作流程执行系统内与智能合约的交互都是通过Web3接口来进行调用;IPFS代理层用于在后端系统中拦截用户对于星际文件系统的请求,当用户试图上传或下载某个存储在星际文件系统中的文件时,IPFS代理层会通过Web3接口向访问控制智能合约发送请求,只有当访问控制智能合约返回的结果是True时才允许用户执行相应的操作。
IPFS用于存储跨组织业务流程执行过程中产生的共享数据文件,该系统本身是一个分散式内容寻址的文件系统,文件上传到IPFS后会产生一个哈希值,任何获取到该哈希值的用户都能够在IPFS中查询到相应的文件。IPFS由于其去中心化特性被广泛应用于区块链数据存储,即通过链下存储文件内容,链上存储文件哈希值来缓解以太坊数据存储压力。
以太坊区块链包括数据存储模块、访问控制模块和业务流程执行引擎。其中数据存储模块包含用于存储文件在IPFS中的哈希值的文件管理智能合约,以及用于管理用户和组织相关信息的属性管理合约;访问控制模块包含访问控制合约,用于在用户访问相应资源时验证访问者是否拥有对于被访问资源的操作权限;业务流程执行引擎包括与协作业务流程执行相关的流程合约,用于支持链上流程实例的执行过程。
以太坊区块链链上合约结构如图2所示,主要涉及属性管理合约、文件管理合约、流程合约和访问控制合约。
属性管理合约是一个存储了流程组织库、用户库和属性库的智能合约。在属性管理合约中,合约创建者将导入协作业务流程包含的流程组织并设置其组织管理员,组织管理员能够在相应的组织中管理组织包含的属性集合以及共享资源文件相关信息。
文件管理合约是一个用于管理共享数据文件信息的智能合约,该合约由其合约创建者和数据文件库组成,能够在区块链上管理协作业务流程执行过程中产生的共享数据文件,该合约将对应数据文件的哈希值存储于链上,当资源访问者拥有共享数据文件的访问权限时,能够通过IPFS代理层和数据文件哈希值获取文件。
流程合约是一个用于存储流程模型以及流程实例库的智能合约。其中流程模型包含了模型执行的控制流程逻辑,流程实例库包含多个流程实例的执行状态与执行过程。该流程合约能够被视作为一个业务流程执行引擎,该引擎的执行概念图如图3所示,首先需要部署通用智能合约,完成合约部署后,通过翻译器将流程模型解析为符合通用数据结构体格式的模型数据文件,通过部署器发送交易将模型导入到通用智能合约中。随后流程创建者调用合约函数来创建流程实例,整个过程都集中在单个智能合约中,不需要再额外部署实例智能合约,而区块链的合约部署成本远大于合约函数调用成本,将多个流程实例集成在单个智能合约中而不是为每个流程实例生成一个智能合约能够有效降低实例化成本开销。
访问控制合约是一个由访问请求库和访问策略库组成的智能合约,该合约内部包含匹配资源访问请求和资源访问控制策略的合约函数,能够根据IPFS代理层上传的资源访问请求进行评估,匹配相关资源访问控制策略并得出最后的资源访问请求结果。
本发明在提出基于区块链的协作流程执行系统基础上,进一步设计了一种基于该系统的新型数据访问控制方法,该方法基于任务与属性访问控制模型与智能合约技术实现,其执行过程如图4所示,该执行从资源请求者向策略执行点发送资源请求开始,策略执行点向策略决策点发起验证权限请求。策略决策点根据从策略管理点中获得的策略规则(属性条件表示式)和从策略信息点处获得的用户属性以及任务属性来评估资源访问者是否拥有权限,然后将决策结果返回策略执行点。当决策结果为拒绝时,策略执行点拒绝资源请求者的资源请求,当决策结果为允许时,策略执行点允许资源请求者对资源进行访问。对于本发明提出框架,IPFS代理层能够被视作为策略执行点、访问控制智能合约能够被视作为策略管理点与策略决策点、属性管理智能合约以及流程合约能够被视作为策略信息点,而用户访问的资源文件的实际内容存储于链下的IPFS中,其对应的索引地址和文件校验码等相关信息存储于文件管理智能合约中。通过采用该方案,本发明框架能够支持动态、灵活和细粒度的数据访问控制。此外,相比于传统方案引入集中授权点来处理权限验证访问权限,该方案的安全性更高且资源访问请求的决策结果都以不可篡改的区块链交易形式存储在区块之中,任何组织都能够对资源访问请求的执行结果进行追溯。
如图5所示,基于区块链的协作流程执行系统的数据访问控制方法具体包括以下步骤:
步骤一:框架发布者搭建以太坊私链,通过执行界面将本发明前述协作流程执行系统的以太坊区块链中涉及的各种智能合约(包括属性管理合约、访问控制合约、文件管理合约以及流程合约)依次部署到以太坊私链中,为了便于合约之间进行相互的合约函数调用,每个智能合约中都包含其余智能合约的合约地址全局变量,在完成合约部署后需要为每个智能合约导入其余智能合约的合约地址。值得注意的是,文件管理合约额外存储着一个保存在链下IPFS代理层的账户地址,只有该账户地址能够对文件管理合约的合约函数进行调用,所有上传到链下IPFS的数据文件都会使用该账户地址进行加密,这能够保证流程参与者无法绕开IPFS代理层组件直接和IPFS进行交互。
步骤二:完成合约部署后,框架管理者需要将流程模型(通过建模器获得)、参与协作流程执行的组织与用户属性、协作流程执行涉及的流程文件及其访问控制策略等相关数据导入到部署的智能合约中。具体的导入过程可参照如下:
框架管理者能够使用链下组件中的翻译器解析协作业务流程模型文件,完成解析后将得到JSON格式的协作业务流程模型数据文件,随后通过使用链下部署器将协作业务流程模型数据文件导入到流程合约中,完成模型数据导入后能够通过调用流程合约函数查看该协作业务流程的控制流关系。随后项目管理者将协作业务流程涉及到的组织及其管理者注册到属性管理合约中。组织及其管理者被注册到属性管理合约后,即可通过调用属性管理合约函数将组织内部管理的属性和相应的用户同样注册到属性管理合约中并为这些用户分配属性的具体值。此外,组织管理者还需要将提供给其它组织的资源文件属性注册到属性管理合约中,并将该资源文件对应的资源访问控制策略发布到访问控制合约中。
步骤三:完成智能合约的部署以及协作业务流程相关数据的导入后,流程管理者即可在流程执行引擎上通过调用流程合约的合约函数来创建流程实例,流程实例的执行逻辑由流程合约中存储的协作业务流程模型决定。此外,本发明提出的协作流程执行系统内部可采用在单个智能合约中集成多流程实例的设计方法,能够有效降低在以太坊上执行协作业务流程的消耗,提高系统吞吐量。当协作业务流程的执行过程不涉及共享资源文件的上传和下载等访问操作时,流程执行者只需要调用流程合约中相应的合约函数即可完成流程实例的执行,否则如果协作流程实例的执行涉及到共享资源文件的访问操作,则协作业务流程的执行需要转入步骤四。
步骤四:当协作流程实例执行过程涉及资源文件的数据共享与访问控制时,流程执行者将向IPFS代理层发送资源访问请求,IPFS代理层接受访问者发送的访问请求,将流程执行者的以太坊账户地址、访问资源的名称、访问资源所属的流程实例和访问者对资源执行的操作封装为资源访问请求并调用访问控制模块中的访问控制合约的合约函数接口,将其注册到访问控制合约中。访问控制合约根据对应的资源访问请求中的涉及到的数据文件、资源访问者的属性、协作流程实例的状态以及对共享数据文件的操作,在合约的访问策略库内检索相应的访问控制策略。完成访问控制策略的检索后,访问控制合约遍历检索到的所有访问控制策略,解析其中包含的策略规则,根据策略规则中的用户属性策略规则和任务属性策略规则分别向属性管理合约和流程合约发送请求,查询相关的用户以及任务属性,将属性值与用户属性策略规则以及任务属性策略规则进行匹配,当用户属性值能够满足用户属性策略规则的条件表达式且任务属性值能够满足任务属性策略规则的条件表示式时该访问控制策略匹配成功,否则匹配下一个访问控制策略;如果能匹配到访问控制策略,则明该资源访问者具有对资源文件的访问权限,如果所有的访问控制策略都无法匹配,说明该资源访问者没有对资源文件的访问权限。访问控制合约根据匹配结果记录访问控制请求的请求结果,并产生相应的事件通知链下IPFS代理层组件,该请求结果中含有是否应该拒绝资源访问请求对资源位文件的访问的决策结果。
步骤五:IPFS代理层监听访问控制合约中产生的事件,获取该资源访问请求结果,如果返回结果为拒绝,IPFS代理层组件发送通知拒绝资源访问者的请求。如果返回结果为许可,根据对于资源操作的不同产生不同结果,如果资源访问者需要读取相应的资源访问文件且返回结果为允许,IPFS代理层将根据资源文件的哈希值在IPFS中下载相应文件,并根据代理层维护的以太坊账户私钥解密文件并将文件发送给资源访问者,资源访问者对比获取文件产生摘要和链上存储摘要确认该文件没有被篡改。如果资源访问者需要写入(更新)相应的资源文件且返回结果为允许,此时资源访问者往往会将修改后的资源文件和文件摘要一同发送给IPFS代理层,IPFS代理层根据以太坊账户公钥加密资源文件并将其上传到IPFS中,IPFS返回资源文件哈希值。IPFS代理层将哈希值、文件所属流程实例以及文件摘要记录到文件管理合约中,完成相应操作后IPFS代理层返回上传成功通知。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
Claims (8)
1.一种基于区块链的协作流程执行系统,其特征在于:该系统包含前端系统、后端系统、星际文件系统以及以太坊区块链四个部分;
前端系统包含建模器与执行界面;其中建模器用于支持协作流程建模,执行界面用于管理协作流程的执行过程中对数据文件的上传和下载;
后端系统包含链下组件、Web3接口和星际文件系统代理层;其中链下组件用于处理前端系统传入的数据;Web3接口是一个集合库,用于提供包括检索用户账户、发送交易和与智能合约交互在内的功能接口;星际文件系统代理层用于在后端系统中拦截用户对于星际文件系统的请求并通过Web3接口向智能合约转发该请求用于对访问者进行权限验证,同时根据监听到验证结果决定是否向星际文件系统发送上传或下载文件的请求;
星际文件系统用于存储跨组织流程执行过程中产生的共享数据文件;
以太坊区块链包括数据存储模块、访问控制模块和流程执行引擎;其中数据存储模块包含文件管理合约和属性管理合约,所述文件管理合约用于存储文件在星际文件系统中的哈希值,所述属性管理合约用于管理用户和组织相关信息;访问控制模块包含访问控制合约,用于在用户访问相应资源时验证访问者是否拥有对于被访问资源的操作权限;流程执行引擎包含与协作流程执行相关的流程合约,用于支持链上流程实例的执行过程。
2.如权利要求1所述的基于区块链的协作流程执行系统,其特征在于:所述属性管理合约为存储有流程组织库、用户库和属性库的智能合约;在属性管理合约中,合约创建者将导入协作业务流程包含的流程组织并设置其组织管理员,组织管理员能够在相应的组织中管理组织包含的属性集合以及共享资源文件相关信息。
3.如权利要求1所述的基于区块链的协作流程执行系统,其特征在于:所述文件管理合约为用于管理共享数据文件信息的智能合约,由其合约创建者和数据文件库组成,能够在区块链上管理协作业务流程执行过程中产生的共享数据文件,并将数据文件的哈希值存储于链上,当资源访问者拥有数据文件的访问权限时,能够通过星际文件系统代理层和数据文件的哈希值获取数据文件。
4.如权利要求1所述的基于区块链的协作流程执行系统,其特征在于:所述流程合约为用于存储流程模型以及流程实例库的智能合约,其中流程模型包含模型执行的控制流程逻辑,流程实例库包含多个流程实例的执行状态与执行过程。
5.如权利要求1所述的基于区块链的协作流程执行系统,其特征在于:所述访问控制合约为由访问请求库和访问策略库组成的智能合约,其内部包含匹配资源访问请求和资源访问控制策略的合约函数,能够根据星际文件系统代理层上传的资源访问请求来评估资源访问者的访问权限,匹配相关资源访问控制策略并得出最后的资源访问请求结果。
6.一种基于如权利要求1所述协作流程执行系统的数据访问控制方法,其特征在于:该方法具体包括以下步骤:
S1、通过执行界面将以太坊区块链中涉及的智能合约部署到以太坊私链上;所述智能合约包括属性管理合约、访问控制合约、文件管理合约以及流程合约;
S2、将包括通过建模器构建的流程模型、参与协作流程执行的组织与用户属性、协作流程执行涉及的流程文件及其访问控制策略在内的数据导入到S1中部署的所述智能合约中;
S3、根据所述智能合约中存储的流程模型创建协作流程实例;当协作流程实例的执行不涉及对共享数据文件的操作时,参与协作流程执行的流程执行者能够通过在流程执行引擎上通过调用流程合约的合约函数来执行协作流程;
S4、当协作流程实例的执行涉及到共享数据文件的操作时,流程执行者将向星际文件系统代理层发送资源访问请求,星际文件系统代理层将调用访问控制模块中的访问控制合约的函数接口,将该请求转发到访问控制合约中,访问控制合约将根据该资源访问请求涉及到的数据文件、资源访问者的属性、协作流程实例的状态以及对共享数据文件的操作,在合约内检索相应的访问控制策略并评估资源访问者对文件的访问权限;完成评估后将产生事件,记录该资源访问请求的访问结果;
S5、星际文件系统代理层监听访问控制智能合约中产生的事件,获取对应资源访问请求的访问结果,根据访问结果允许或拒绝流程执行者对于星际文件系统的访问。
7.如权利要求1所述的数据访问控制方法,其特征在于:所述以太坊区块链中,每个智能合约中都包含其余智能合约的合约地址全局变量,在完成合约部署后需要为每个智能合约导入其余智能合约的合约地址;且文件管理合约中还存储有一个保存在链下星际文件系统代理层的账户地址,只有该账户地址能够对文件管理合约的合约函数进行调用,所有上传到链下星际文件系统的数据文件都会使用该账户地址进行加密,确保无法绕开星际文件系统代理层直接和星际文件系统进行交互。
8.如权利要求1所述的数据访问控制方法,其特征在于:所述S4中,评估资源访问者对文件的访问权限的方法如下:完成访问控制策略的检索后,访问控制合约遍历检索到的每一个访问控制策略,解析其中包含的策略规则,根据策略规则中的用户属性策略规则和任务属性策略规则分别向属性管理合约和流程合约发送请求,查询相关的用户属性值以及任务属性值,将用户属性值和任务属性值分别与用户属性策略规则和任务属性策略规则进行匹配,当用户属性值满足用户属性策略规则的条件表达式且任务属性值满足任务属性策略规则的条件表示式时视为当前访问控制策略匹配成功;如果能匹配到至少一个访问控制策略,则明该资源访问者具有对资源文件的访问权限,否则视为该资源访问者没有对资源文件的访问权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111590932.2A CN114239035A (zh) | 2021-12-23 | 2021-12-23 | 基于区块链的协作流程执行系统及其数据访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111590932.2A CN114239035A (zh) | 2021-12-23 | 2021-12-23 | 基于区块链的协作流程执行系统及其数据访问控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239035A true CN114239035A (zh) | 2022-03-25 |
Family
ID=80762171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111590932.2A Pending CN114239035A (zh) | 2021-12-23 | 2021-12-23 | 基于区块链的协作流程执行系统及其数据访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239035A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726858A (zh) * | 2022-03-31 | 2022-07-08 | 蚂蚁区块链科技(上海)有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190236598A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment |
CN112084162A (zh) * | 2020-08-07 | 2020-12-15 | 同济大学 | 一种基于区块链和ipfs的溯源权限管理系统 |
CN112836229A (zh) * | 2021-02-10 | 2021-05-25 | 北京深安信息科技有限公司 | 属性基加密和区块链结合的可信数据访问控制方案 |
CN113031968A (zh) * | 2021-01-19 | 2021-06-25 | 杭州电子科技大学 | 编排图驱动的区块链流程执行系统及其使用方法 |
-
2021
- 2021-12-23 CN CN202111590932.2A patent/CN114239035A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190236598A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment |
CN112084162A (zh) * | 2020-08-07 | 2020-12-15 | 同济大学 | 一种基于区块链和ipfs的溯源权限管理系统 |
CN113031968A (zh) * | 2021-01-19 | 2021-06-25 | 杭州电子科技大学 | 编排图驱动的区块链流程执行系统及其使用方法 |
CN112836229A (zh) * | 2021-02-10 | 2021-05-25 | 北京深安信息科技有限公司 | 属性基加密和区块链结合的可信数据访问控制方案 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726858A (zh) * | 2022-03-31 | 2022-07-08 | 蚂蚁区块链科技(上海)有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Maesa et al. | Blockchain based access control services | |
US10348774B2 (en) | Method and system for managing security policies | |
Vo et al. | Internet of blockchains: Techniques and challenges ahead | |
JP5990264B2 (ja) | ポリシー生成システム及び方法 | |
EP2711860B1 (en) | System and method for managing role based access control of users | |
CN108694189A (zh) | 共同所有权的数据库系统的管理 | |
US20120030120A1 (en) | Enforcement of security requirements for a business model | |
US8793213B2 (en) | Embedded data marts for central data warehouse | |
US7636911B2 (en) | System and methods for capturing structure of data models using entity patterns | |
Lahmar et al. | Multicloud service composition: a survey of current approaches and issues | |
CN114239035A (zh) | 基于区块链的协作流程执行系统及其数据访问控制方法 | |
Xu et al. | Model-driven engineering for blockchain applications | |
EP3084675B1 (en) | Data access control for business processes | |
Vela et al. | An architecture for access control management in collaborative enterprise systems based on organization models | |
US20120216240A1 (en) | Providing data security through declarative modeling of queries | |
Lassoued et al. | Modeling contextualized flexible cloud workflow services: an MDE based approach | |
US20090063620A1 (en) | Novel method and system for controlling access to features of a software program | |
Khajaria et al. | Modeling of security requirements for decision information systems | |
Leida et al. | Dynamic access control to semantics-aware streamed process logs | |
CN110851847A (zh) | 一种异构数据处理系统、方法、装置和存储介质 | |
Madani et al. | MC-ABAC: An ABAC-based Model for Collaboration in Multi-Cloud Environment | |
US20240028417A1 (en) | Executing federated workflows from edge to core | |
Sun et al. | Blockchain-based collaborative business process data sharing and access control | |
US20240111831A1 (en) | Multi-tenant solver execution service | |
Naqvi et al. | Fine-Grained Continuous Usage Control of Service Based Grids–The GridTrust Approach |
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 |