CN110928534A - 一种基于区块链的工作流节点认证方法及装置 - Google Patents
一种基于区块链的工作流节点认证方法及装置 Download PDFInfo
- Publication number
- CN110928534A CN110928534A CN201910973162.6A CN201910973162A CN110928534A CN 110928534 A CN110928534 A CN 110928534A CN 201910973162 A CN201910973162 A CN 201910973162A CN 110928534 A CN110928534 A CN 110928534A
- Authority
- CN
- China
- Prior art keywords
- data
- workflow
- template
- node
- universal
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于区块链的工作流节点认证方法及装置,所述方法包括:认证方建立通用工作流模板,所述通用工作流模板中包括多个工作流节点,所述工作流节点具有audit属性,用于指示该工作流节点是否需要认证;认证方基于所述通用工作流模板建立通用数据模板;实例化所述通用数据模板及通用工作流模板;获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断当前工作流节点是否需要认证,若需要认证,由中心化的认证方进行认证,并由区块链进行存证。根据本发明的上述方案,使用者能够根据需求创建和修改业务流程,满足业务多变的需求,将中心认证与区块链存证相结合,保证工作流节点流程实现的安全性以及具体数据的私密性。
Description
技术领域
本发明涉及工作流信息安全领域,尤其涉及一种基于区块链的工作流节点认证方法及装置。
背景技术
当前的软件系统中,具体的业务流程有两种实现方式,一种是通过收集需求以后直接以代码实现具体的功能,并将代码写入到软件系统中,另一种方式是以流程建模的方式写入到软件系统中,使用者能够根据需求灵活的修改业务流程。
然而,现有技术中对工作流节点的具体数据的安全性并未建立良好的安全判断机制,存在数据被篡改、数据泄露等风险。
发明内容
为解决上述技术问题,本发明提出了一种基于区块链的工作流节点认证方法及装置,所述方法及装置,用以解决现有技术没有对工作流节点的具体数据进行认证的方案,造成数据被篡改、数据泄露的技术问题。
根据本发明的第一方面,提供一种基于区块链的工作流节点认证方法,包括:
步骤S101:认证方使用JSON语言建立通用工作流模板,所述通用工作流模板中包括多个工作流节点,所述工作流节点具有audit属性,用于指示该工作流节点是否需要认证;
步骤S102:认证方使用JSON语言基于所述通用工作流模板建立通用数据模板,所述通用数据模板对所述工作流执行过程中需要收集和传递的数据进行定义;
步骤S103:实例化所述通用数据模板及通用工作流模板;
步骤S104:获取实例化后的通用工作流模板中的当前工作流节点,基于 audit属性判断所述当前工作流节点是否需要认证,若需要认证,由中心化的认证方对通用工作流模板中定义的当前工作流节点所需要接收或发送的数据、以及实例化过程中定义的数据模板进行认证,并由区块链对所述当前工作流节点所需要接收的数据、以及实例化过程中接收的数据模板进行存证;所述数据模板进行认证及存证是指对所述数据模板中的具体数据进行认证及存证。
进一步地,所述通用数据模板具有uuid、name、version、 languageType、contentType、required、validation、content字段,所述 uuid字段用于定义所述通用数据模板的唯一标识,所述name字段用于定义该通用数据模板的名称,所述version字段用于定义该通用数据模板的版本, languageType字段定义实现该通用数据模板的语言类型、contentType字段定义数据类型、required字段定义该数据是否必须、validation字段用于逻辑校验,可以包含校验脚本或链接到外部服务,用以判断数据格式是正确; content字段可以嵌套其他数据模板。
进一步地,所述步骤S104,包括:
步骤S1041:获取实例化后的通用工作流模板中的当前工作流节点,基于 audit属性判断所述当前工作流节点是否需要认证;若是,进入步骤S1042,若否,进入步骤S1044;
步骤S1042:获取所述实例化后的当前工作流节点,获取该当前工作流节点在通用工作流模板中定义的所需要接收或发送的数据、以及实例化过程中定义的数据模板,将该数据和数据模板发送至认证方认证审核;
步骤S1043:认证审核通过后,所述认证方将所述数据和数据模板进行 Hash计算,得出Hash值,并将Hash值发送至区块链上进行存证;
步骤S1044:判断当前工作流节点是否是结束节点;若是,方法结束;若否,进入步骤S1045;
步骤S1045:设置当前工作流节点为下一工作流节点,进入步骤S1042。
进一步地,区块链完成存证并同步后,认证方获取到此次存证操作的 ID,将ID与原始数据进行关联。
根据本发明第二方面,提供一种基于区块链的工作流节点认证装置,包括:
通用工作流模板模块:用于由认证方使用JSON语言建立通用工作流模板,所述通用工作流模板中包括多个工作流节点,所述工作流节点具有audit 属性,用于指示该工作流节点是否需要认证;
通用数据模板模块:用于由认证方使用JSON语言基于所述通用工作流模板建立通用数据模板,所述通用数据模板对所述工作流执行过程中需要收集和传递的数据进行定义;
实例化模块:用于实例化所述通用数据模板及通用工作流模板;
认证及存证模块:用于获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证,若需要认证,由中心化的认证方对通用工作流模板中定义的当前工作流节点所需要接收或发送的数据、以及实例化过程中定义的数据模板进行认证,并由区块链对所述当前工作流节点所需要接收的数据、以及实例化过程中接收的数据模板进行存证;所述数据模板进行认证及存证是指对所述数据模板中的具体数据进行认证及存证。
进一步地,所述通用数据模板具有uuid、name、version、 languageType、contentType、required、validation、content字段,所述 uuid字段用于定义所述通用数据模板的唯一标识,所述name字段用于定义该通用数据模板的名称,所述version字段用于定义该通用数据模板的版本, languageType字段定义实现该通用数据模板的语言类型、contentType字段定义数据类型、required字段定义该数据是否必须、validation字段用于逻辑校验,可以包含校验脚本或链接到外部服务,用以判断数据格式是正确; content字段可以嵌套其他数据模板。
进一步地,所述认证及存储模块,包括:
第一判断子模块:用于由获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证;
认证子模块:用于由获取所述实例化后的当前工作流节点,获取该当前工作流节点在通用工作流模板中定义的所需要接收或发送的数据、以及实例化过程中定义的数据模板,将该数据和数据模板发送至认证方认证审核;
存证子模块:用于认证审核通过后,所述认证方将所述数据和数据模板进行Hash计算,得出Hash值,并将Hash值发送至区块链上进行存证;
第二判断子模块:用于判断当前工作流节点是否是结束节点;
设置子模块:用于设置当前工作流节点为下一工作流节点。
进一步地,还具有关联子模块,用于由区块链完成存证并同步后,认证方获取到此次存证操作的ID,将ID与原始数据进行关联。
根据本发明第三方面,提供一种基于区块链的工作流节点认证系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的基于区块链的工作流节点认证方法。
根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的基于区块链的工作流节点认证方法。
根据本发明的上述方案,使使用者能够根据需求创建和修改业务流程,满足业务多变的需求,将中心认证与区块链存证相结合,对需要被认证的工作流节点数据进行认证,以保证工作流节点流程实现的安全性以及具体数据的私密性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:
图1为本发明提出的基于区块链的工作流节点认证方法流程图;
图2为本发明提出的通用工作流模板的结构图;
图3为本发明提出的通用数据模板的结构图;
图4为本发明提出的基于区块链的工作流节点认证装置组成框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先结合图1说明本发明的基于区块链的工作流节点认证方法,图1示出了根据本发明的基于区块链的工作流节点认证方法流程图。如图1所示,所述方法包括以下步骤:
步骤S101:认证方使用JSON语言建立通用工作流模板,所述通用工作流模板中包括多个工作流节点,所述工作流节点具有audit属性,用于指示该工作流节点是否需要认证;
步骤S102:认证方使用JSON语言基于所述通用工作流模板建立通用数据模板,所述通用数据模板对所述工作流执行过程中需要收集和传递的数据进行定义;
步骤S103:实例化所述通用数据模板及通用工作流模板;
步骤S104:获取实例化后的通用工作流模板中的当前工作流节点,基于 audit属性判断所述当前工作流节点是否需要认证,若需要认证,由中心化的认证方对通用工作流模板中定义的当前工作流节点所需要接收或发送的数据、以及实例化过程中定义的数据模板进行认证,并由区块链对所述当前工作流节点所需要接收的数据、以及实例化过程中接收的数据模板进行存证;
所述数据模板进行认证及存证是指对所述数据模板中的具体数据进行认证及存证。
所述步骤S101:认证方使用JSON语言建立通用工作流模板,所述通用工作流模板中包括多个工作流节点,所述工作流节点具有audit属性,用于指示该工作流节点是否需要认证,包括:
所述认证方可以是第三方认证机构,所述通用工作流模板用于描述实际的业务流程,用户可以依据软件系统所要实现的业务、功能确定业务流程过程中需要经历的各个节点,进而通过各个节点定义所述通用工作流模板,通过指定节点将不同的节点串联起来形成完整的业务流程。软件系统可以读取并识别这些节点。
本实施例中,所述通用工作流模板具有图2所示的结构,所述通用工作流模板具有process_id、process_name、definitions三个字段,所述 process_id字段用于定义该通用工作流模板对应的业务流程的唯一标识, process_name用于定义该业务流程的名称,definitions用于定义该业务流程所需要的各工作流节点。具体地,definitions字段可以定义多个工作流节点,每一工作流节点具有node_id、node_name、title、type、target、render、audit字段。其中,node_id定义工作流节点的唯一标识, node_name定义该工作流节点的名称,title定义该工作流节点标题,type用于定义该工作流节点的类型,工作流节点的类型包括开始节点、中间任务节点或结束节点。target用于定义该工作流节点执行完毕的下一节点ID,用于表示工作流节点的执行顺序,render字段通过from、to属性定义工作流节点的输入输出,audit用于定义该节点是否需要被认证。
可以结合具体的业务流程在所述通用工作流模板中设置其他字段。
在复杂的业务流程中可能包含多个开始节点,例如同一个业务流程即可以由用户主动发起并提交相关信息,也可以由服务方被动发起从用户处获取相关信息。
所述步骤S102:认证方使用JSON语言基于所述通用工作流模板建立通用数据模板,所述通用数据模板对所述工作流执行过程中需要收集和传递的数据进行定义,包括:
本实施例中,所述通用数据模板具有图3所示的结构,所述通用数据模板具有uuid、name、version、languageType、contentType、required、 validation、content字段,所述uuid字段用于定义所述通用数据模板的唯一标识,所述name字段用于定义该通用数据模板的名称,所述version字段用于定义该通用数据模板的版本,languageType字段定义实现该通用数据模板的语言类型、contentType字段定义数据类型、required字段定义该数据是否必须、validation字段用于逻辑校验,可以包含校验脚本或链接到外部服务,用以判断数据格式是正确以及判断数据是否符合规则,例如所述数据是属在预定范围内、content字段可以嵌套其他数据模板。
可以结合具体的通用工作流模板所需数据在所述通用数据模板中设置其他字段。
所述步骤S103:实例化所述通用数据模板及通用工作流模板,包括:
通用数据模板可以用来定义通用工作流模板执行过程中需要收集和传递的数据。所述通用数据模板及通用工作流模板相结合以满足实际业务流程的需要。
根据业务流程输入所需数据,具体地,对于开始节点,其输入数据为用户输入的,对于其他工作流节点,其输入数据可以为工作流节点接收的数据模板中的数据。
所述步骤S104:获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证,若需要认证,由中心化的认证方对通用工作流模板中定义的当前工作流节点所需要接收或发送的数据、以及实例化过程中定义的数据模板进行认证,并由区块链对所述当前工作流节点所需要接收的数据、以及实例化过程中接收的数据模板进行存证,所述数据模板进行认证及存证是指对所述数据模板中的具体数据进行认证及存证,包括:
步骤S1041:获取实例化后的通用工作流模板中的当前工作流节点,基于 audit属性判断所述当前工作流节点是否需要认证;若是,进入步骤S1042,若否,进入步骤S1044;
步骤S1042:获取所述实例化后的当前工作流节点,获取该当前工作流节点在通用工作流模板中定义的所需要接收或发送的数据、以及实例化过程中定义的数据模板,将该数据和数据模板发送至认证方认证审核;
所述认证方可以是第三方认证机构,由第三方认证机构的认证审核系统对数据和数据模板中的数据进行审核。
步骤S1043:认证审核通过后,所述认证方将所述数据和数据模板进行 Hash计算,得出Hash值,并将Hash值发送至区块链上进行存证;
参与Hash计算的数据模板是指数据模板中的数据,不直接上传原始数据的原因是区块链是一个公开可访问的网络,上传原始数据会造成数据的泄露。因此原始数据被存储在认证方的中心化系统中,而将Hash值存放在区块链上,可以保证中心化系统中的数据可追溯性。
区块链完成存证并同步后,认证方可以获取到这次存证操作的ID,将ID 与原始数据进行关联。
步骤S1044:判断当前工作流节点是否是结束节点;若是,方法结束;若否,进入步骤S1045;
步骤S1045:设置当前工作流节点为下一工作流节点,进入步骤S1042。
以下实施例说明基于身份证的KYC(know-your-customer)认证业务流程的基于区块链的工作流节点认证方法。
步骤S201:认证方定义KYC通用工作流模板,具体KYC通用工作流模板定义如下:
节点,表示KYC业务流程的开始,开始节点不进行任何的业务描述,仅告知KYC业务流程由这个节点开始,在该节点的target属性中指示了下一个流程节点的信息。
第二个工作流节点为数据提交节点,这个节点被定义为一个任务节点,节点名称为Submit,用于等待用户提交信息,并且在render的to属性中描述了当这个节点任务结束时,需要向下一个节点提交一个设定了ID值的数据模板,即需要在KYC通用数据模板中定义的与该ID值相同的数据模板。仅在用户提交了符合数据模板中定义的数据之后,该工作流节点才会结束并进入下一工作流节点。
第三个工作流节点为数据审核节点,这个节点也被定义为一个任务节点, 节点名称为Audit,用于等待审计服务方审计用户提交的数据,并且在该工作流节点的render的from属性中描述了需要从上一个节点接收数据模板。
本实施例中,在Submit节点中定义了render的to属性,需要传递一个 ID为9435d866-7107-4b7c-8243-180e8c3a0ccc的数据模板,并指定了 target是id为893b9c55-b915-482d-8723-852fc22e7d26的节点,即Audit 节点。
同时,在Audit节点的render的from属性定义了需要接收一个ID为 9435d866-7107-4b7c-8243-180e8c3a0ccc的数据模板。通过以上方式,定义了一个数据模板在两个工作流节点之间的传递。在实际过程中,传递的并非模板本身,而是模板包含的数据,即由用户填写并通过工作流节点处理生成的数据信息。
第四个工作流节点为结束节点,表明该KYC业务流程到此结束。
步骤S202:认证方建立KYC通用数据模板,具体KYC通用数据模板定义如下:
该KYC通用数据模板中定义了用户必须填写四项信息,包括姓名、身份
证号码、身份证正面照片、身份证反面照片,其中身份证号码中加入了对身份证号码的正则表达式验证。
用户填写好以上四项信息后得到如下的数据信息,提取数据信息即获得了所述KYC通用数据模板中content字段中所需的数据。
其中:
uuid:数据的唯一ID,用户每提交一次数据就生成一个uuid。
data:包含uuid对应的具体的用户数据,针对此实施例,具体信息为:
66286228-c455-4b82-957c-d1e8b1078f09关联到数据模板中的Name,用于获取用户的姓名;
1dcabbf0-5e70-4fd4-87ba-e043e7a5c0ad关联到数据模板中的IDCard,用于获取用户的身份证号码。
b9e77f0b-121e-4c8a-9bad-31f2cf74e63e关联到数据模板中的IDCard PhotoFront,用于获取用户的身份证正面照片。
3653da78-0c3c-4d9e-94ff-d642f7706d3a关联到数据模板中的IDCard PhotoBack,用于获取用户的身份证反面照片。
优选的,获取时系统要根据KYC通用数据模板中定义的数据模板对实际数据进行校验,以确定提交的数据内容是否正确。
步骤S203:基于KYC通用工作流模板及用户输入的数据对所述KYC通用工作流模板及KYC通用数据模板实例化;
将KYC通用工作流模板及KYC通用数据模板实例化,结合实例化后的KYC 通用工作流模板及KYC通用数据模板。
步骤S204:判断可知Audit工作流节点中audit的属性值为真,表明该工作流节点需要被认证,获取Audit工作流节点在通用工作流模板中定义的所需要接收的数据、以及接收的数据模板,本实施例中传递的并非模板本身,而是模板包含的数据;将该数据和数据模板发送至认证方认证审核,本实施例中认证方需要审核用户提交的身份证号,姓名,身份证的正面照片、身份证的反面照片;认证审核通过后,所述认证方将所述数据和数据模板中的数据进行Hash计算,得出Hash值,并将Hash值发送至区块链上进行存证,区块链完成存证并同步后,认证方可以获取到这次存证操作的ID,将ID 与原始数据进行关联。
请参考图4,其为本发明提出的基于区块链的工作流节点认证装置组成框图。如图所示,该装置包括:
通用工作流模板模块:用于由认证方使用JSON语言建立通用工作流模板,所述通用工作流模板中包括多个工作流节点,所述工作流节点具有audit 属性,用于指示该工作流节点是否需要认证;
通用数据模板模块:用于由认证方使用JSON语言基于所述通用工作流模板建立通用数据模板,所述通用数据模板对所述工作流执行过程中需要收集和传递的数据进行定义;
实例化模块:用于实例化所述通用数据模板及通用工作流模板;
认证及存证模块:用于获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证,若需要认证,由中心化的认证方对通用工作流模板中定义的当前工作流节点所需要接收或发送的数据、以及实例化过程中定义的数据模板进行认证,并由区块链对所述当前工作流节点所需要接收的数据、以及实例化过程中接收的数据模板进行存证;所述数据模板进行认证及存证是指对所述数据模板中的具体数据进行认证及存证。
进一步地,所述通用数据模板具有uuid、name、version、 languageType、contentType、required、validation、content字段,所述 uuid字段用于定义所述通用数据模板的唯一标识,所述name字段用于定义该通用数据模板的名称,所述version字段用于定义该通用数据模板的版本, languageType字段定义实现该通用数据模板的语言类型、contentType字段定义数据类型、required字段定义该数据是否必须、validation字段用于逻辑校验,可以包含校验脚本或链接到外部服务,用以判断数据格式是正确; content字段可以嵌套其他数据模板。
进一步地,所述认证及存储模块,包括:
第一判断子模块:用于由获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证;
认证子模块:用于由获取所述实例化后的当前工作流节点,获取该当前工作流节点在通用工作流模板中定义的所需要接收或发送的数据、以及实例化过程中定义的数据模板,将该数据和数据模板发送至认证方认证审核;
存证子模块:用于认证审核通过后,所述认证方将所述数据和数据模板进行Hash计算,得出Hash值,并将Hash值发送至区块链上进行存证;
第二判断子模块:用于判断当前工作流节点是否是结束节点;
设置子模块:用于设置当前工作流节点为下一工作流节点。
进一步地,还具有关联子模块,用于由区块链完成存证并同步后,认证方获取到此次存证操作的ID,将ID与原始数据进行关联。
本发明实施例进一步给出一种基于区块链的工作流节点认证的系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如上所述的基于区块链的工作流节点认证的方法。
本发明实施例进一步给出一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如上所述的基于区块链的工作流节点认证的方法。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种基于区块链的工作流节点认证方法,其特征在于,所述方法包括:
步骤S101:认证方使用JSON语言建立通用工作流模板,所述通用工作流模板中包括多个工作流节点,所述工作流节点具有audit属性,用于指示该工作流节点是否需要认证;
步骤S102:认证方使用JSON语言基于所述通用工作流模板建立通用数据模板,所述通用数据模板对所述工作流执行过程中需要收集和传递的数据进行定义;
步骤S103:实例化所述通用数据模板及通用工作流模板;
步骤S104:获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证,若需要认证,由中心化的认证方对通用工作流模板中定义的当前工作流节点所需要接收或发送的数据、以及实例化过程中定义的数据模板进行认证,并由区块链对所述当前工作流节点所需要接收的数据、以及实例化过程中接收的数据模板进行存证;所述数据模板进行认证及存证是指对所述数据模板中的具体数据进行认证及存证。
2.如权利要求1所述的基于区块链的工作流节点认证方法,其特征在于,所述通用数据模板具有uuid、name、version、languageType、contentType、required、validation、content字段,所述uuid字段用于定义所述通用数据模板的唯一标识,所述name字段用于定义该通用数据模板的名称,所述version字段用于定义该通用数据模板的版本,languageType字段定义实现该通用数据模板的语言类型、contentType字段定义数据类型、required字段定义该数据是否必须、validation字段用于逻辑校验,可以包含校验脚本或链接到外部服务,用以判断数据格式是正确;content字段可以嵌套其他数据模板。
3.如权利要求1所述的基于区块链的工作流节点认证方法,其特征在于,所述步骤S104,包括:
步骤S1041:获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证;若是,进入步骤S1042,若否,进入步骤S1044;
步骤S1042:获取所述实例化后的当前工作流节点,获取该当前工作流节点在通用工作流模板中定义的所需要接收或发送的数据、以及实例化过程中定义的数据模板,将该数据和数据模板发送至认证方认证审核;
步骤S1043:认证审核通过后,所述认证方将所述数据和数据模板进行Hash计算,得出Hash值,并将Hash值发送至区块链上进行存证;
步骤S1044:判断当前工作流节点是否是结束节点;若是,方法结束;若否,进入步骤S1045;
步骤S1045:设置当前工作流节点为下一工作流节点,进入步骤S1042。
4.如权利要求3所述的基于区块链的工作流节点认证方法,其特征在于,区块链完成存证并同步后,认证方获取到此次存证操作的ID,将ID与原始数据进行关联。
5.一种基于区块链的工作流节点认证装置,其特征在于,所述装置包括:
通用工作流模板模块:用于由认证方使用JSON语言建立通用工作流模板,所述通用工作流模板中包括多个工作流节点,所述工作流节点具有audit属性,用于指示该工作流节点是否需要认证;
通用数据模板模块:用于由认证方使用JSON语言基于所述通用工作流模板建立通用数据模板,所述通用数据模板对所述工作流执行过程中需要收集和传递的数据进行定义;
实例化模块:用于实例化所述通用数据模板及通用工作流模板;
认证及存证模块:用于获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证,若需要认证,由中心化的认证方对通用工作流模板中定义的当前工作流节点所需要接收或发送的数据、以及实例化过程中定义的数据模板进行认证,并由区块链对所述当前工作流节点所需要接收的数据、以及实例化过程中接收的数据模板进行存证;所述数据模板进行认证及存证是指对所述数据模板中的具体数据进行认证及存证。
6.如权利要求5所述的基于区块链的工作流节点认证装置,其特征在于,所述通用数据模板具有uuid、name、version、languageType、contentType、required、validation、content字段,所述uuid字段用于定义所述通用数据模板的唯一标识,所述name字段用于定义该通用数据模板的名称,所述version字段用于定义该通用数据模板的版本,languageType字段定义实现该通用数据模板的语言类型、contentType字段定义数据类型、required字段定义该数据是否必须、validation字段用于逻辑校验,可以包含校验脚本或链接到外部服务,用以判断数据格式是正确;content字段可以嵌套其他数据模板。
7.如权利要求5所述的基于区块链的工作流节点认证装置,其特征在于,所述认证及存储模块,包括:
第一判断子模块:用于由获取实例化后的通用工作流模板中的当前工作流节点,基于audit属性判断所述当前工作流节点是否需要认证;
认证子模块:用于由获取所述实例化后的当前工作流节点,获取该当前工作流节点在通用工作流模板中定义的所需要接收或发送的数据、以及实例化过程中定义的数据模板,将该数据和数据模板发送至认证方认证审核;
存证子模块:用于认证审核通过后,所述认证方将所述数据和数据模板进行Hash计算,得出Hash值,并将Hash值发送至区块链上进行存证;
第二判断子模块:用于判断当前工作流节点是否是结束节点;
设置子模块:用于设置当前工作流节点为下一工作流节点。
8.如权利要求7所述的基于区块链的工作流节点认证装置,其特征在于,还具有关联子模块,用于由区块链完成存证并同步后,认证方获取到此次存证操作的ID,将ID与原始数据进行关联。
9.一种基于区块链的工作流节点认证的系统,其特征在于,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求1-4任一所述的基于区块链的工作流节点认证方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1-4任一所述的基于区块链的工作流节点认证方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910973162.6A CN110928534B (zh) | 2019-10-14 | 2019-10-14 | 一种基于区块链的工作流节点认证方法及装置 |
EP20878003.1A EP4046009A4 (en) | 2019-10-14 | 2020-10-14 | METHOD AND DEVICE FOR CERTIFICATION OF WORKFLOW NODES BASED ON BLOCKCHAIN |
PCT/CN2020/120771 WO2021073516A1 (en) | 2019-10-14 | 2020-10-14 | Blockchain-based workflow node certification method and device |
JP2022519265A JP2022552110A (ja) | 2019-10-14 | 2020-10-14 | ブロックチェーンベースのワークフローノード認証方法及びデバイス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910973162.6A CN110928534B (zh) | 2019-10-14 | 2019-10-14 | 一种基于区块链的工作流节点认证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928534A true CN110928534A (zh) | 2020-03-27 |
CN110928534B CN110928534B (zh) | 2021-11-09 |
Family
ID=69848941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910973162.6A Active CN110928534B (zh) | 2019-10-14 | 2019-10-14 | 一种基于区块链的工作流节点认证方法及装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4046009A4 (zh) |
JP (1) | JP2022552110A (zh) |
CN (1) | CN110928534B (zh) |
WO (1) | WO2021073516A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433900A (zh) * | 2020-12-03 | 2021-03-02 | 海光信息技术股份有限公司 | 用于芯片验证的方法、系统、设备以及存储介质 |
CN112465448A (zh) * | 2020-11-11 | 2021-03-09 | 中国人民大学 | 基于区块链的跨组织工作流运行方法及系统 |
WO2021073516A1 (en) * | 2019-10-14 | 2021-04-22 | Shanghai Weilian Information Technology Co., Ltd. | Blockchain-based workflow node certification method and device |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279840A (zh) * | 2013-06-08 | 2013-09-04 | 北京首钢自动化信息技术有限公司 | 基于动态语言与事件处理机制的工作流引擎实现方法 |
US20170329980A1 (en) * | 2016-05-13 | 2017-11-16 | Vmware, Inc. | Secure and scalable data transfer using a hybrid blockchain-based approach |
CN107636662A (zh) * | 2015-02-13 | 2018-01-26 | 优替控股有限公司 | 网络内容认证 |
CN107705114A (zh) * | 2017-08-31 | 2018-02-16 | 中链科技有限公司 | 基于区块链技术的著作权数据处理方法、系统和存储介质 |
US20180103042A1 (en) * | 2016-10-12 | 2018-04-12 | Bank Of America Corporation | Automated data authentication and service authorization via cryptographic keys in a private blockchain |
CN108573341A (zh) * | 2018-03-23 | 2018-09-25 | 杭州云象网络技术有限公司 | 一种基于联盟链的工作流系统构建方法 |
CN108922012A (zh) * | 2018-07-11 | 2018-11-30 | 北京大账房网络科技股份有限公司 | 基于区块链技术不泄露原始信息的发票查验方法 |
CN109246197A (zh) * | 2018-08-15 | 2019-01-18 | 交通银行股份有限公司 | 基于智能合约的数据处理方法及装置 |
WO2019032113A1 (en) * | 2017-08-10 | 2019-02-14 | Visa International Service Association | BIOMETRIC VERIFICATION METHOD USING A CERTIFICATION TOKEN |
CN109753288A (zh) * | 2019-01-14 | 2019-05-14 | 杭州云象网络技术有限公司 | 一种适用于形式化验证的智能合约编译方法 |
CN109783572A (zh) * | 2018-12-14 | 2019-05-21 | 平安科技(深圳)有限公司 | 区块链多链创建方法、装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10135870B2 (en) * | 2016-02-22 | 2018-11-20 | Bank Of America Corporation | System for external validation of secure process transactions |
WO2019090005A1 (en) * | 2017-11-01 | 2019-05-09 | Clause, Inc. | System and method for a blockchain-based network transitioned by a legal contract |
US11205178B2 (en) * | 2017-12-28 | 2021-12-21 | International Business Machines Corporation | Converting processes into multiple blockchain smart contracts |
CN109767190A (zh) * | 2018-12-29 | 2019-05-17 | 中国工商银行股份有限公司 | 基于区块链的跨机构工作流处理方法、平台及系统 |
CN112750037A (zh) * | 2019-04-30 | 2021-05-04 | 创新先进技术有限公司 | 基于区块链的数据压缩、查询方法及装置和电子设备 |
CN114039733B (zh) * | 2019-05-23 | 2023-12-12 | 创新先进技术有限公司 | 一种针对联盟链的存证业务转移方法、装置及设备 |
CN110928534B (zh) * | 2019-10-14 | 2021-11-09 | 上海唯链信息科技有限公司 | 一种基于区块链的工作流节点认证方法及装置 |
-
2019
- 2019-10-14 CN CN201910973162.6A patent/CN110928534B/zh active Active
-
2020
- 2020-10-14 WO PCT/CN2020/120771 patent/WO2021073516A1/en active Application Filing
- 2020-10-14 EP EP20878003.1A patent/EP4046009A4/en active Pending
- 2020-10-14 JP JP2022519265A patent/JP2022552110A/ja active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279840A (zh) * | 2013-06-08 | 2013-09-04 | 北京首钢自动化信息技术有限公司 | 基于动态语言与事件处理机制的工作流引擎实现方法 |
CN107636662A (zh) * | 2015-02-13 | 2018-01-26 | 优替控股有限公司 | 网络内容认证 |
US20170329980A1 (en) * | 2016-05-13 | 2017-11-16 | Vmware, Inc. | Secure and scalable data transfer using a hybrid blockchain-based approach |
US20180103042A1 (en) * | 2016-10-12 | 2018-04-12 | Bank Of America Corporation | Automated data authentication and service authorization via cryptographic keys in a private blockchain |
WO2019032113A1 (en) * | 2017-08-10 | 2019-02-14 | Visa International Service Association | BIOMETRIC VERIFICATION METHOD USING A CERTIFICATION TOKEN |
CN107705114A (zh) * | 2017-08-31 | 2018-02-16 | 中链科技有限公司 | 基于区块链技术的著作权数据处理方法、系统和存储介质 |
CN108573341A (zh) * | 2018-03-23 | 2018-09-25 | 杭州云象网络技术有限公司 | 一种基于联盟链的工作流系统构建方法 |
CN108922012A (zh) * | 2018-07-11 | 2018-11-30 | 北京大账房网络科技股份有限公司 | 基于区块链技术不泄露原始信息的发票查验方法 |
CN109246197A (zh) * | 2018-08-15 | 2019-01-18 | 交通银行股份有限公司 | 基于智能合约的数据处理方法及装置 |
CN109783572A (zh) * | 2018-12-14 | 2019-05-21 | 平安科技(深圳)有限公司 | 区块链多链创建方法、装置、设备及存储介质 |
CN109753288A (zh) * | 2019-01-14 | 2019-05-14 | 杭州云象网络技术有限公司 | 一种适用于形式化验证的智能合约编译方法 |
Non-Patent Citations (1)
Title |
---|
陈迪等: "区块链技术在域间路由安全领域的应用研究", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021073516A1 (en) * | 2019-10-14 | 2021-04-22 | Shanghai Weilian Information Technology Co., Ltd. | Blockchain-based workflow node certification method and device |
CN112465448A (zh) * | 2020-11-11 | 2021-03-09 | 中国人民大学 | 基于区块链的跨组织工作流运行方法及系统 |
CN112465448B (zh) * | 2020-11-11 | 2023-07-07 | 中国人民大学 | 基于区块链的跨组织工作流运行方法及系统 |
CN112433900A (zh) * | 2020-12-03 | 2021-03-02 | 海光信息技术股份有限公司 | 用于芯片验证的方法、系统、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2022552110A (ja) | 2022-12-15 |
EP4046009A1 (en) | 2022-08-24 |
EP4046009A4 (en) | 2023-11-08 |
CN110928534B (zh) | 2021-11-09 |
WO2021073516A1 (en) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108898389B (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
CN108335206B (zh) | 资产管理方法及装置、电子设备 | |
CN110928534B (zh) | 一种基于区块链的工作流节点认证方法及装置 | |
JP2021515427A (ja) | ブロックチェーンベースのデータ検証方法および装置、ならびに電子デバイス | |
CN109146679A (zh) | 基于区块链的智能合约调用方法及装置、电子设备 | |
CN110490721B (zh) | 财务凭证生成方法及相关产品 | |
CN110245481A (zh) | 一种实名认证的方法、装置及终端设备 | |
CN113268336B (zh) | 一种服务的获取方法、装置、设备以及可读介质 | |
CN112613877B (zh) | 应用于区块链网络的智能合约触发方法、装置及相关设备 | |
US11038685B1 (en) | Correcting blockchain transactions with cryptocurrency type mistakes | |
CN113627145A (zh) | 一种参数化配置的文件生成方法、装置、设备和介质 | |
CN108924185A (zh) | 接口生成方法及装置 | |
CN113037505B (zh) | 一种可信Web应用的实现方法及系统 | |
CN110245912A (zh) | 一种电子合同签署方法、装置、存储介质及终端设备 | |
CN114265577A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN103685259B (zh) | 账户登录的方法及其装置 | |
CN112507668A (zh) | 项目数据存证方法、存证系统、终端设备及可读存储介质 | |
CN112651716A (zh) | 数据处理方法、设备及存储介质 | |
CN111681141A (zh) | 文件认证方法、文件认证装置及终端设备 | |
KR20210106532A (ko) | 블록체인을 통해 행해지는 전송의 성능을 제어하거나 강제하기 위한 컴퓨터-구현된 시스템 및 방법 | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN111259411B (zh) | 区块链管理方法、装置、电子设备及可读存储介质 | |
CN112256689A (zh) | 业务数据清洗方法、装置、电子设备 | |
CN112633271A (zh) | 一种基于ocr识别的金融交易系统认证方法 | |
CN114677138A (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 |