CN115242383A - 一种基于区块链的数据权属多方共享管理方法 - Google Patents
一种基于区块链的数据权属多方共享管理方法 Download PDFInfo
- Publication number
- CN115242383A CN115242383A CN202210833018.4A CN202210833018A CN115242383A CN 115242383 A CN115242383 A CN 115242383A CN 202210833018 A CN202210833018 A CN 202210833018A CN 115242383 A CN115242383 A CN 115242383A
- Authority
- CN
- China
- Prior art keywords
- data
- ownership
- original data
- key
- party
- 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
Images
Classifications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于区块链的数据权属多方共享管理方法,涉及区块链技术领域,该方法通过权属多方共享管理智能合约响应于数据上链请求生成位一的样本数据对象,样本数据对象包括利用原始数据密钥对原始数据加密得到的加密后数据、权属列表以及权属密钥列表,权属列表包括原始数据的所有权属方的用户标识,权属密钥列表中包括由对应的权属方的用户公钥对原始数据密钥加密得到若干个权属密钥;将样本数据对象发送至区块链,并将各个权属密钥返回给各个权属方以供访问,可以实现一对多的权限关系映射,从而满足权属多方共享场景下的数据确权需求。
Description
技术领域
本申请涉及区块链技术领域,尤其是一种基于区块链的数据权属多方共享管理方法。
背景技术
数据确权是数据产业发展必须解决的核心问题,数据要成为数字资产,最重要的就是需要对数据进行确权,简单来说就是确定某种数据到底归属于谁。目前,随着区块链、联盟链技术的公平记账、加密安全、难以篡改、全程追溯等特性被行业广泛认可,基于区块链、联盟链技术的数字资产确权应用也正在逐步推广,并在众多行业领域得以实践。
区块链技术的数据确权的方法是,当用户给自己的作品进行确权时,确权数据会以Hash值的形式存储到区块链上进行保存,通过区块链去中心化和分布式记账等特点,有效保证存储的电子数据不被篡改,保障确权数据的真实性和原始性。专利号为CN201911381869.4的“基于区块链的数据确权方法及系统”专利,公开了一种基于区块链联盟链的数据确权方法,能够实现根据用户身份确权管理。
在当前数据应用场景中,越来越多的价值数据,特别像人工智能深度挖掘的高价值样本数据,往往需要由多方合作构建完整的系统环境,共同努力来完成。但目前通用的基于区块链的数据确权技术仅支持单一归属方的确权机制,也即数据只能有一个权属方,难以满足现有多方合作数据的确权需求。
发明内容
本申请人针对上述问题及技术需求,提出了一种基于区块链的数据权属多方共享管理方法,本申请的技术方案如下:
一种基于区块链的数据权属多方共享管理方法,该方法包括:
创建权属多方共享管理智能合约,通过权属多方共享管理智能合约保存有各个合法用户的用户公钥,各个合法用户保存各自的用户私钥,每个合法用户的用户公钥和用户私钥为一对密钥;
获取数据上链请求,数据上链请求包含原始数据及其对应的至少两个权属方,每个权属方分别为一个合法用户;
通过权属多方共享管理智能合约响应于数据上链请求生成样本数据对象,样本数据对象包括利用原始数据密钥对原始数据加密得到的加密后数据、权属列表以及权属密钥列表,权属列表包括原始数据的所有权属方的用户标识,权属密钥列表中包括若干个权属密钥且每个权属密钥对应于一个权属方,每个权属密钥由对应的权属方的用户公钥对原始数据密钥加密得到;
通过权属多方共享管理智能合约将样本数据对象发送至区块链,并将各个权属密钥返回给各个权属方,供各个权属方利用各自的权属密钥访问使用原始数据。
其进一步的技术方案为,通过权属多方共享管理智能合约响应于数据上链请求,利用原始数据密钥对原始数据加密得到的加密后数据,并将加密后数据和原始数据密钥暂存在存储缓存中;且在将存储缓存中的加密后数据填充入样本数据对象中,并销毁存储缓存中的加密后数据;在生成样本数据对象并发送至区块链后,销毁存储缓存中的原始数据密钥。
其进一步的技术方案为,数据上链请求包括数据类型字段以及数据内容字段,当数据类型字段指示原始数据未上传过区块链时,权属多方共享管理智能合约提取数据内容字段的字段信息得到原始数据;当数据类型字段指示原始数据已上传过区块链时,权属多方共享管理智能合约根据数据内容字段记载的上链数据地址索引从区块链中读取得到原始数据。
其进一步的技术方案为,该方法还包括:
区块链接收合法用户发送的针对原始数据的数据使用请求,数据使用请求用于请求触发原始数据在预定的业务场景的应用模型,且应用模型预先向区块链注册事件服务为应用事件;
当确定合法用户是原始数据的权属方时,区块链根据数据使用请求构建基于权属多方共享管理智能合约的可信计算环境,获取原始数据对应的样本数据对象并纳管原始数据及辅助参数,在多方节点背书下调用应用事件,并在应用执行完毕后,将执行结果返回给合法用户。
其进一步的技术方案为,数据使用请求包括数据索引、与应用事件唯一对应的事件码以及作为权属方的合法用户的用户数据密钥,用户数据密钥由对应的权属方的用户私钥对原始数据密钥加密得到;
则区块链接收到数据使用请求后,根据数据索引在区块链账本中获取样本数据对象,并检测样本数据对象的权属列表中是否包含合法用户,若包含则确定合法用户是原始数据的权属方,否则确定合法用户不是原始数据的权属方、不响应数据使用请求;
当确定合法用户是原始数据的权属方时,区块链利用用户数据密钥对样本数据对象中的加密后数据进行解密得到原始数据,并利用事件码调用对应的应用事件,触发原始数据在预定的业务场景的应用模型。
其进一步的技术方案为,该方法还包括:
确定原始数据在预定的业务场景的应用模型;
将应用模型通过智能合约固化,部署应用模型智能合约并向区块链注册事件服务为应用事件;
将应用事件唯一对应的事件码返回给原始数据的各个权属方。
其进一步的技术方案为,该方法还包括:
当区块链解析数据使用请求检测到自动更新标识时,区块链将应用执行过程中产生的对原始数据的更新同步到原始数据对应的样本数据对象中。
其进一步的技术方案为,该方法还包括:
在更新样本数据对象中的原始数据时,将样本数据对象中旧版本的原始数据写入历史账本供数据追溯。
其进一步的技术方案为,该方法还包括:
区块链生成并保存原始数据的使用过程记录,使用过程记录包括请求使用原始数据的调用者、调用时间、调用原因和调用状态。
其进一步的技术方案为,该方法还包括:
区块链接收原始数据的任意一个权属方发送的权属变更请求,权属变更请求用于请求变更原始数据的权属列表;
区块链根据权属变更请求生成权属变更通知发送给原始数据的所有权属方;
当接收到所有权属方响应于权属变更通知的同意反馈时,通过权属多方共享管理智能合约根据权属变更请求修改原始数据的样本数据对象的权属列表和权属密钥列表:当增加新的权属方时,将新增加的权属方添加到权属列表中并为新增加的权属方生成对应的权属密钥添加到样本数据对象的权属密钥列表中;当删除已有的权属方时,将请求删除的权属方从权属列表中删除,并从权属密钥列表中将请求删除的权属方对应的权属密钥删除。
本申请的有益技术效果是:
本申请公开了一种基于区块链的数据权属多方共享管理方法,该方法支持权属多方共享的确权机制,利用区块链的防篡改、隐私加密特性形成唯一的样本数据对象,数据对象维护权属列表和权属密钥列表,从而实现一对多的权限关系映射,可以满足权属多方共享场景下的数据确权需求。
原始数据密钥通过各个权属方的用户公钥进行密钥派生形成权属密钥,派生得到的权属密钥相互独立互不影响,都可以实现对原始数据的正常访问,原始数据密钥在派生形成权属密钥后自动销毁,将数据访问权限完全归还于原始数据的权属方。
本申请规避了传统的区块链数据应用中,先下载源数据然后向应用模型中导入源数据的使用模式。通过区块链智能合约固化原始数据的应用逻辑,再利用区块链事件机制,将智能合约注册为事件码。权属方通过触发事件码即可调用原始数据执行特定的业务场景计算,整个计算过程在区块链可信环境下执行,原始数据无需脱离区块链系统环境,输出的计算结果返回到权属方,实现了对原始数据的免下载、无触碰使用,同时原始数据应用轨迹区块链全程记录。
传统的区块链数据确权,不能对已确权数据进行更新,更新后的数据只能重新确权为新的数据资产,频繁的确权会导致大量的系统空间、性能浪费,同时也增加实验人员数据运维工作量。而本申请提供的管理方法将原始数据封装为样本数据对象并上链管理,支持对原始数据的更新,更新后的原始数据作为当前世界状态锁定确权关系,实现同一份样本数据的确权信息叠加式更新,避免了重新确权带来的问题,尤其适用于诸如实验数据之类的更新频繁且必要的原始数据的应用场景。且区块链对旧版本的原始数据全程记录,便于溯源。
对已确权的样本数据更新,保障数据更新的可靠性极为重要。本申请提供联合签名投票机制,在原始数据当前所有权限方一致同意的情况下,可以变更原始数据的权属列表。权属变更请求由原始数据的任意一个权属方发起,其他权属方签名确认,如果有任何一个权属方驳回,则变更流程将会终止。投票过程由区块链存证,形成不可篡改的证据链。对于更新后的原始数据,区块链保存所有完整的历史版本,可靠性较高。
附图说明
图1是本申请一个实施例中将权属多方共享的原始数据上传至区块链的方法流程图。
图2是本申请一个实施例中的样本数据对象的数据结构示意图。
图3是本申请一个实施例中,任意一个权属方访问使用区块链中的权属多方共享的原始数据的方法流程图。
图4是本申请一个实施例中变更权属多方共享的原始数据的权属列表的方法流程图。
具体实施方式
下面结合附图对本申请的具体实施方式做进一步说明。
本申请公开了一种基于区块链的数据权属多方共享管理方法,首先创建权属多方共享管理智能合约。本申请的权属多方共享管理智能合约具有管理密钥对功能。合法用户向区块链注册信息时,区块链系统生成包含用户密钥和用户私钥的一对密钥。权属多方共享管理智能合约将合法用户及其用户公钥对应保存,而将用户私钥返回给对应的合法用户各自保存。
在区块链系统中,合法用户一般由对应的用户标识来表示,本申请后续不再具体描述用户标识,而直接描述为合法用户。
比如可以采用诸如RSA、ECC等通用密钥算法,按照指定算法类型随机产生非对称的一对密钥。合法用户在进行注册时,将生成用户公钥与合法用户绑定并对应存储,且将用户私钥通过TLS加密后返回给合法用户。
一、原始数据的上链过程,请参考图1所示的流程图。
步骤S1,获取数据上链请求,数据上链请求用于请求将原始数据上传至区块链。数据上链请求包含原始数据及其对应的至少两个权属方,每个权属方分别为一个合法用户。
在一个实施例中,数据上链请求包含的原始数据是未上传过区块链的新的数据。或者在另一个实施例中,数据上链请求包含的原始数据是已经上传过区块链的数据。
可选的,数据上链请求还包括加密算法类型,加密算法类型用于指示权属多方共享管理智能合约利用指定的该加密算法类型对原始数据进行加密。
可选的,数据上链请求还包括原始数据的特征信息和格式规范。
可选的,数据上链请求还包括请求编号以及发送该数据上链请求的合法用户,该合法用户一般是原始数据的其中一个权属方。
基于数据上链请求携带的上述信息,在一个实施例中,数据上链请求的数据格式如下,包含如下几个字段:
(1)请求编号字段(Id字段):字段信息为该数据上链请求的请求编号。
(2)请求方字段(User字段):字段信息为发送该数据上链请求的合法用户。
(3)数据类型字段(Type字段):字段信息为该数据上链请求携带的原始数据的数据类型,字段信息为0时指示携带的原始数据未上传过区块链,字段信息为1时指示携带的原始数据已上传过区块链。
(4)数据内容字段(Context字段):字段信息指示原始数据。在一个实施例中,当原始数据未上传过区块链时,该数据内容字段的字段信息即为原始数据的数据内容,则权属多方共享管理智能合约提取数据内容字段的字段信息得到原始数据。当原始数据已上传过区块链时,该数据内容字段的字段信息为原始数据在区块链中的上链数据地址索引,则权属多方共享管理智能合约根据数据内容字段记载的上链数据地址索引从区块链中读取得到原始数据。
(5)算法类型字段(Encrypt字段):字段信息为加密算法类型。
(6)权属对象字段(AuthList字段):字段信息为数组形式,包含原始数据的多个权属方。
(7)数据特征字段(Feature字段):字段信息为原始数据的特征信息。
(8)数据格式字段(Format字段):字段信息为原始数据的格式规范。
比如一个实例中的数据上链请求如下:
{"Id":"123","User":"zhangsan","Type":"0",
"Context":"WyIwRENEODVCOTZFM0E5RjY0NENCM0YwODY3
MzhGRkNFQjRDM0U4NzJFIiwiMTU4Njk0NTgwNCJd",
"Encrypt":"AES","AuthList":["zhangsan","lisi","wangwu"],
"Feature":[],"Format":[]}
则基于该数据上链请求可以确定,请求编号为123,发送该数据上链请求的合法用户为zhangsan,原始数据未上传过区块链,且携带的原始数据的内容为指定的加密算法类型为AES算法。原始数据的权属方包括三个,分别为zhangsan、lisi和wangwu。原始数据的特征信息和格式规范中的内容上述实施例未详细示出。
步骤S2,通过权属多方共享管理智能合约响应于数据上链请求生成样本数据对象。
样本数据对象包括利用原始数据密钥对原始数据加密得到的加密后数据、权属列表以及权属密钥列表,权属列表包括原始数据的所有权属方的用户标识,权属密钥列表中包括若干个权属密钥且每个权属密钥对应于一个权属方,每个权属密钥由对应的权属方的用户公钥对原始数据密钥加密得到。
比如权属列表包括zhangsan、lisi、wangwu,则利用zhangsan的用户公钥1对原始数据密钥加密得到zhangsan对应的权属密钥1,利用lisi的用户公钥2对原始数据密钥加密得到lisi对应的权属密钥2,利用wangwu的用户公钥3对原始数据密钥加密得到wangwu对应的权属密钥3,由此得到的权属密钥列表包括权属密钥1、权属密钥2和权属密钥3。
在接收到数据上链请求时,首先通过权属多方共享管理智能合约响应于数据上链请求,利用原始数据密钥对原始数据加密得到的加密后数据。数据上链请求指定了加密算法类型,权属多方共享管理智能合约随机生成原始数据密钥,并按照指定的加密算法按类型利用原始数据密钥对原始数据进行加密。
然后,先将加密后数据和原始数据密钥暂存在存储缓存中,再封装形成样本数据对象,样本数据对象的数据结构如图2所示。样本数据对象包括数据头、数据特征字段、数据格式字段和数据内容字段,其中数据头包括数据名称字段、数据校验码字段、数据加密类型字段、权属列表字段和权属密钥列表字段:
(1)数据名称字段:字段信息为数据名称、是原始数据的唯一标识。
(2)数据校验码字段:字段信息为原始数据的唯一不可逆认证码,一般为Hash值,拥有数据防篡改校验功能。
(3)数据加密类型字段:字段信息为对原始数据采用的加密算法类型。
(4)权属列表字段:字段信息为权属列表,一般为数组形式。
(5)权属密钥列表字段:字段信息为权属密钥列表,一般为数组形式。
(6)数据特征字段;字段信息为原始数据的特征信息,特征信息是以数据应用为目标,对数据内容关键信息的抽象,一般包括数据分类、类别、科目、适用对象、创建单位、创建时间、范围、精度等。
(7)数据格式字段:字段信息为数据内容格式的规范定义。数据内容采用行扫描录入,每行的字段间用逗号分隔。数据定义规范每个字段的数据类型、含义、关联等要素信息。
(8)数据内容字段:字段信息为加密后数据。
则基于上述数据结构,将存储缓存中的加密后数据填充入样本数据对象中的数据内容字段。另外,在将存储缓存中的加密后数据填充入样本数据对象中,并销毁存储缓存中的加密后数据。将权属列表填充入样本数据对象中的权属列表字段。依次利用各个权属方的用户公钥对原始数据密钥加密得到权属密钥,形成权属密钥列表并填充入样本数据对象中的权属密钥列表字段。再按照规范依次填写好其他各个字段,就能封装形成样本数据对象。
比如在一个实例中,数据头可以采用JSON协议描述如下:
{"Name":"CruiserX1","Encrypt":"AES","AuthList":["user1","user2","user3"],
"Key":["JFDURE07F93JFOSA3FCEB4C3E872ERE989FDSJNAQPPOFDS0988
FDSOEFSF8FDSAAFDDF0","U9FDSFD3FDSAFDSVCV4989OALPNNOSF8FD
SAAFD23VCWETVK9IJMLE2ARHQNLVPDF0","3JFS9FMMFIN1ABVXFREIMH
HFGREPPJU3GV658BCDERSLPKFIUHNNBGY5EFCCSSQZZFYYUIMMJHFDTU
KMOIHGHVRR6F33"]}
则由此可知,数据名称为Name,原始数据的Hash值为CruiserX1,加密算法类型为AES算法,权属列表中包括三个权属方分别为user1、user2和user3。权属密钥列表中包括三个权属密钥,分别为对应于权属方user1的权属密钥对应于权属方user2的权属密钥以及对应于权属方user3的权属密钥
步骤S3,通过权属多方共享管理智能合约将样本数据对象发送至区块链,并将各个权属密钥返回给各个权属方。
在一个实施例中,将样本数据对象发送至区块链后,向各个权属方分别返回反馈信号,反馈信号包含该权属方的权属密钥,还包括原始数据在区块链中的数据索引。除此之外,还可以包含诸如请求编号等信息。则反馈信号包括如下字段:
(1)请求字段:字段信息为请求编号。
(2)索引字段:字段信息为原始数据在区块链中的数据索引。
(3)密钥字段:字段信息为权属方对应的权属密钥,也即利用该权属方的用户公钥对原始数据密钥加密后的结果。
在一个实例中,权属多方共享管理智能合约向一个权属方发送的反馈信号如下:
{"Id":"124","Data":""JDS93F2SDU",
"Key":"JFDURE07F93JFOSA3FCEB4C3E872ERE989F
DSJNAQPPOFDS0988FDSOEFSF8FDSAAFDDF0"}
权属方利用各自的用户私钥对权属密钥进行解密,即可获得原始数据密钥,则各个权属方都可以利用各自的权属密钥访问使用区块链中的原始数据。各个权属密钥相互独立互不影响,且都可以实现对原始数据的正常访问,另外在生成样本数据对象并发送至区块链后,销毁存储缓存中的原始数据密钥,也即保障区块链账本中不存在原始数据的明文或弱安全的原始数据密钥,将数据访问权限完全归还于原始数据的权属方。
二、原始数据的应用过程,请参考图3所示的流程图。
通过步骤S1~步骤S3,已经完成了原始数据的上链,则各个权属方都可以正常访问并使用原始数据。在常规的区块链应用过程中,权属方需要先下载源数据,然后向应用模型中导入源数据的使用模式,但是多一次源数据下载操作,就多一份数据泄露风险。在多方权属共享场景下,任一权属方直接触碰源数据也都会给其他权属方带来数据安全风险。因此本申请利用区块链事件机制来实现原始数据的全封闭式应用模式,保障数据访问过程安全。
步骤S1,首先需要注册应用事件,包括如下一些步骤:
1、确定原始数据在预定的业务场景的应用模型,确定应用模型的数据依赖与成果输出目标。数据依赖包括原始数据及其他辅助参数。样本数据对象中的数据格式字段对加密后数据进行了规范定义,辅助数据则需参考应用模型要求明确格式定义。考虑应用目标,设计成果输出格式定义,输出参数将返回权属方所使用的客户端作为成果目标。
2、将应用模型通过智能合约固化,部署应用模型智能合约并向区块链注册事件服务为应用事件。明确了应用模型后,需要编写基于输入的数据依赖产生成果输出目标的智能合约处理逻辑。智能合约执行过程是对业务应用逻辑过程的抽象,是对样本数据的智能化训练。智能合约编辑完成后,在区块链联盟链权属共享通道中部署。部署完毕,以智能合约地址及应用数据模型定义为参数,向区块链注册事件应用。区块链检测请求参数规范,确认该智能合约不存在重复注册。
3、将应用事件唯一对应的事件码返回给原始数据的各个权属方。区块链事件模块检查通过后,产生唯一的事件码,与事件响应地址绑定,返回注册成功的事件码给原始数据的各个权属方。
步骤S2,触发应用事件,包括如下步骤:
1、合法用户在请求启动原始数据的某一应用事件时,发送针对原始数据的数据使用请求,该数据使用请求用于请求触发原始数据在预定的业务场景的应用模型,且应用模型预先按如上操作向区块链注册事件服务为应用事件。
在一个实施例中,数据使用请求包括数据索引、与应用事件唯一对应的事件码以及作为权属方的合法用户的用户数据密钥。用户数据密钥由对应的权属方的用户私钥对原始数据密钥加密得到,由于区块链账本中不存在显式的原始数据密钥,因此数据使用请求中需要携带用户数据密钥。
可选的,数据使用请求还包括更新模式字段,当更新模式字段的字段信息为自动更新标识时,表示指示自动更新原始数据。当更新模式字段的字段信息为不更新标识时,表示指示不自动更新原始数据。
其他的,数据使用请求还可以包含请求编号、输入参数等。则在一个实施例中,数据使用请求包含如下字段:
(1)请求字段:字段信息为请求编号。
(2)事件码字段:字段信息为请求触发的应用事件的事件码。
(3)索引字段:字段信息为请求访问的原始数据在区块链中的数据索引。
(4)密钥字段:字段信息为作为权属方的合法用户的用户数据密钥。
(5)更新模式字段:当更新模式字段的字段信息为True时为自动更新标识,当更新模式字段的字段信息为False时为不更新标识。
(6)参数字段:字段信息为输入参数。
在一个实例中,合法用户发送的数据使用请求如下:
2、区块链接收合法用户发送的针对原始数据的数据使用请求,并判断该数据使用请求的合法用户是否是该原始数据的权属方,若是权属方则表示有原始数据的操作权限,响应该数据使用请求,若不是权属方则表示该合法用户不具有原始数据的操作权限,则不响应该数据使用请求。
具体的,根据数据使用请求中的数据索引在区块链账本中获取样本数据对象,并检测样本数据对象的权属列表中是否包含该合法用户,若包含则确定合法用户是原始数据的权属方,否则确定合法用户不是原始数据的权属方、不响应数据使用请求。
3、当确定合法用户是原始数据的权属方时,权属多方共享管理智能合约利用该合法用户的用户公钥对数据使用请求中的用户数据密钥进行解密即可得到原始数据密钥,利用原始数据密钥对样本数据对象中的加密后数据进行解密即可得到原始数据。且区块链根据数据使用请求构建基于权属多方共享管理智能合约的可信计算环境,获取原始数据对应的样本数据对象并纳管原始数据及辅助参数,在多方节点背书下利用事件码调用对应的应用事件,触发原始数据在预定的业务场景的应用模型,实现安全访问。在应用执行完毕后,将执行结果返回给发送数据访问请求的合法用户。在返回执行结构时,也可以利用该合法用户对应的用户公钥对执行结果加密后返回。
如上所述,数据访问请求中可以携带自动更新标识,则区块链将应用执行过程中产生的对原始数据的更新同步到原始数据对应的样本数据对象中,也即利用更新后的原始数据直接替代已经确权的旧版本的原始数据,无需像传统区块链应用一样要重新确权为新的数据资产。这种原始数据的更新方式尤其适用于数据更新频繁的实验性样本数据,更新后的原始数据的准确性和完整性都高于旧版本的原始数据,完全可以直接替代旧版本的原始数据,实现同一份原始数据的确权信息的叠加式更新。另外,在更新样本数据对象中的原始数据时,将样本数据对象中旧版本的原始数据写入历史账本供数据追溯。
在应用过程中,区块链还会生成并保存原始数据的使用过程记录,使用过程记录包括请求使用原始数据的调用者、调用时间、调用原因和调用状态。
三、权属变更功能,请参考图4所示的流程图。
该权属多方共享管理智能合约还提供权属列表的更新服务,样本数据可能由于新加盟方的参与,得到明显提升与优化。包括如下步骤:
1、原始数据的任意一个权属方发送权属变更请求,权属变更请求用于请求变更原始数据的权属列表。
权属变更请求包括原始数据在区块链的数据索引、发送该权属变更请求的合法用户的用户数据密钥、变更类型以及待变更权属方,还可以包含请求编号等。则在一个实施例中,权属变更请求包括如下字段:
(1)请求字段:字段信息为请求编号。
(2)请求方字段:字段信息为发送该权属变更请求的合法用户。
(3)索引字段:字段信息为请求访问的原始数据在区块链中的数据索引。
(4)密钥字段:字段信息为作为权属方的合法用户的用户数据密钥。
(5)变更类型字段:字段信息为请求对权属列表的变更类型,字段信息为1时请求在权属列表中增加新的权属方,字段信息为0时请求从权属列表中删除已有的权属方。
(6)变更数据字段:字段信息为待变更权属方。
比如在一个实例中,权属变更请求如下:
则在该实例中,请求编号为126,发送该权属变更请求的合法用户为zhangsan,数据索引为JDS93F2SDU,用户数据密钥为变更类型字段RenewType的字段信息为1,变更数据字段RenewData的字段信息为J83JFNDS0938IF09S098,表示该权属变更请求用于请求在权属列表中增加新的合法用户J83JFNDS0938IF09S098作为权属方。
2、区块链接收针对原始数据的权属变更请求,并首先检测该权属变更请求是否合法,包括检查发送该权属变更请求的合法用户是否是原始数据的权属方、用户数据密钥是否正确等,如数据都正确,则表示权属变更请求合法,执行下一步操作,否则不响应权属变更请求。
3、当确定权属变更请求合法时,区块链根据权属变更请求生成权属变更通知发送给原始数据的所有权属方。区块链在区块链账本中插入该权属变更通知,则原始数据的所有权属方都可以查询到该权属变更通知,该权属变更通知用于通知各个权属方,发送该权属变更请求的权属方请求变更权属列表。其他各个权属方可以响应于该权属变更通知返回同意反馈,表示同意变更权属列表,或者可以响应于该权属变更通知返回驳回反馈,表示不同意变更权属列表。
4、权属变更采用一票否决制,如果权属方一致同意,则权属列表的变更生效,也即当接收到所有权属方响应于权属变更通知的同意反馈时,通过权属多方共享管理智能合约根据权属变更请求修改原始数据的样本数据对象的权属列表和权属密钥列表,包括两种情况:当权属变更请求用于请求增加新的权属方时,权属多方共享管理智能合约将新增加的权属方添加到权属列表中并为新增加的权属方生成对应的权属密钥添加到样本数据对象的权属密钥列表中,还将生成的权属密钥返回给新增加的权属方。当权属变更请求用于请求删除已有的权属方时,权属多方共享管理智能合约将请求删除的权属方从所述权属列表中删除,并从权属密钥列表中将请求删除的权属方对应的权属密钥删除。在实际应用时,更常用的是增加的新的权属方的情况。
如果有权属方返回驳回反馈,则不作变更。权属变更投票结果会通知到参与投票的所有权属方,同时记录到区块链系统账本中。
以上所述的仅是本申请的优选实施方式,本申请不限于以上实施例。可以理解,本领域技术人员在不脱离本申请的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本申请的保护范围之内。
Claims (10)
1.一种基于区块链的数据权属多方共享管理方法,其特征在于,所述方法包括:
创建权属多方共享管理智能合约,通过所述权属多方共享管理智能合约保存有各个合法用户的用户公钥,各个合法用户保存各自的用户私钥,每个合法用户的用户公钥和用户私钥为一对密钥;
获取数据上链请求,所述数据上链请求包含原始数据及其对应的至少两个权属方,每个权属方分别为一个合法用户;
通过所述权属多方共享管理智能合约响应于所述数据上链请求生成样本数据对象,所述样本数据对象包括利用原始数据密钥对所述原始数据加密得到的加密后数据、权属列表以及权属密钥列表,所述权属列表包括所述原始数据的所有权属方的用户标识,所述权属密钥列表中包括若干个权属密钥且每个权属密钥对应于一个权属方,每个权属密钥由对应的权属方的用户公钥对所述原始数据密钥加密得到;
通过所述权属多方共享管理智能合约将所述样本数据对象发送至区块链,并将各个权属密钥返回给各个权属方,供各个权属方利用各自的权属密钥访问使用所述原始数据。
2.根据权利要求1所述的方法,其特征在于,
通过所述权属多方共享管理智能合约响应于所述数据上链请求,利用所述原始数据密钥对所述原始数据加密得到的加密后数据,并将所述加密后数据和所述原始数据密钥暂存在存储缓存中;且在将所述存储缓存中的加密后数据填充入所述样本数据对象中,并销毁存储缓存中的加密后数据;在生成所述样本数据对象并发送至区块链后,销毁存储缓存中的原始数据密钥。
3.根据权利要求1所述的方法,其特征在于,
所述数据上链请求包括数据类型字段以及数据内容字段,当所述数据类型字段指示原始数据未上传过区块链时,所述权属多方共享管理智能合约提取所述数据内容字段的字段信息得到所述原始数据;当所述数据类型字段指示原始数据已上传过区块链时,所述权属多方共享管理智能合约根据所述数据内容字段记载的上链数据地址索引从区块链中读取得到所述原始数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
区块链接收合法用户发送的针对原始数据的数据使用请求,所述数据使用请求用于请求触发所述原始数据在预定的业务场景的应用模型,且所述应用模型预先向区块链注册事件服务为应用事件;
当确定所述合法用户是所述原始数据的权属方时,区块链根据所述数据使用请求构建基于权属多方共享管理智能合约的可信计算环境,获取所述原始数据对应的样本数据对象并纳管所述原始数据及辅助参数,在多方节点背书下调用所述应用事件,并在应用执行完毕后,将执行结果返回给所述合法用户。
5.根据权利要求4所述的方法,其特征在于,所述数据使用请求包括数据索引、与所述应用事件唯一对应的事件码以及作为权属方的所述合法用户的用户数据密钥,所述用户数据密钥由对应的权属方的用户私钥对所述原始数据密钥加密得到;
则区块链接收到所述数据使用请求后,根据所述数据索引在区块链账本中获取样本数据对象,并检测所述样本数据对象的权属列表中是否包含所述合法用户,若包含则确定所述合法用户是所述原始数据的权属方,否则确定所述合法用户不是所述原始数据的权属方、不响应所述数据使用请求;
当确定所述合法用户是所述原始数据的权属方时,区块链利用所述用户数据密钥对所述样本数据对象中的加密后数据进行解密得到所述原始数据,并利用所述事件码调用对应的应用事件,触发所述原始数据在预定的业务场景的应用模型。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
确定所述原始数据在预定的业务场景的应用模型;
将所述应用模型通过智能合约固化,部署应用模型智能合约并向区块链注册事件服务为应用事件;
将所述应用事件唯一对应的事件码返回给所述原始数据的各个权属方。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当区块链解析所述数据使用请求检测到自动更新标识时,区块链将应用执行过程中产生的对所述原始数据的更新同步到所述原始数据对应的样本数据对象中。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在更新样本数据对象中的原始数据时,将样本数据对象中旧版本的原始数据写入历史账本供数据追溯。
9.根据权利要求4所述的方法,其特征在于,所述方法还包括:
区块链生成并保存所述原始数据的使用过程记录,所述使用过程记录包括请求使用所述原始数据的调用者、调用时间、调用原因和调用状态。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
区块链接收原始数据的任意一个权属方发送的权属变更请求,所述权属变更请求用于请求变更所述原始数据的权属列表;
区块链根据所述权属变更请求生成权属变更通知发送给所述原始数据的所有权属方;
当接收到所有权属方响应于所述权属变更通知的同意反馈时,通过权属多方共享管理智能合约根据所述权属变更请求修改所述原始数据的样本数据对象的权属列表和权属密钥列表:当增加新的权属方时,将新增加的权属方添加到所述权属列表中并为新增加的权属方生成对应的权属密钥添加到样本数据对象的权属密钥列表中;当删除已有的权属方时,将请求删除的权属方从所述权属列表中删除,并从所述权属密钥列表中将请求删除的权属方对应的权属密钥删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210833018.4A CN115242383A (zh) | 2022-07-14 | 2022-07-14 | 一种基于区块链的数据权属多方共享管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210833018.4A CN115242383A (zh) | 2022-07-14 | 2022-07-14 | 一种基于区块链的数据权属多方共享管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115242383A true CN115242383A (zh) | 2022-10-25 |
Family
ID=83673285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210833018.4A Pending CN115242383A (zh) | 2022-07-14 | 2022-07-14 | 一种基于区块链的数据权属多方共享管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115242383A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116244376A (zh) * | 2023-02-10 | 2023-06-09 | 上海尚象信息科技有限公司 | 一种基于区块链的数据确权方法及装置 |
CN117614609A (zh) * | 2024-01-23 | 2024-02-27 | 中国人民解放军战略支援部队航天工程大学 | 一种基于复合区域链的可追溯数据确权方法、系统及设备 |
-
2022
- 2022-07-14 CN CN202210833018.4A patent/CN115242383A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116244376A (zh) * | 2023-02-10 | 2023-06-09 | 上海尚象信息科技有限公司 | 一种基于区块链的数据确权方法及装置 |
CN117614609A (zh) * | 2024-01-23 | 2024-02-27 | 中国人民解放军战略支援部队航天工程大学 | 一种基于复合区域链的可追溯数据确权方法、系统及设备 |
CN117614609B (zh) * | 2024-01-23 | 2024-04-02 | 中国人民解放军战略支援部队航天工程大学 | 一种基于复合区域链的可追溯数据确权方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110060162B (zh) | 基于区块链的数据授权、查询方法和装置 | |
CN110785760B (zh) | 用于登记数字文档的方法和系统 | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN107566116B (zh) | 用于数字资产确权登记的方法及装置 | |
US10275603B2 (en) | Containerless data for trustworthy computing and data services | |
CN111492634A (zh) | 使用零知识协议的安全并且机密的保管交易系统、方法和设备 | |
US20080167994A1 (en) | Digital Inheritance | |
CN115242383A (zh) | 一种基于区块链的数据权属多方共享管理方法 | |
CN111460509B (zh) | 一种基于区块链的电子签名应用方法 | |
CN110598434B (zh) | 基于区块链网络的房屋信息处理方法、装置、电子设备及存储介质 | |
EP3984162A1 (en) | Encrypting data associated with decentralized identifier | |
CN109242404B (zh) | 履历信息管理方法、装置、计算机设备与可读存储介质 | |
US20210306133A1 (en) | Decentralized Methods and Systems for Storage, Access, Distribution and Exchange of Electronic Information and Documents over the Internet using Blockchain to protect against Cyber attacks and Theft | |
JP7114078B2 (ja) | 電子認証方法及びプログラム | |
EP4026291B1 (en) | Control of the delegated use of did-related data | |
CN112149077B (zh) | 基于区块链技术的供应链票据方法、系统和计算机设备 | |
CN113360458B (zh) | 一种基于联盟链的分布式文件存储共享系统 | |
CN112822178A (zh) | 一种基于区块链的业务协同数据共享及隐私保护方法 | |
CN112967054B (zh) | 一种数据管理方法、装置及设备 | |
CN111597583B (zh) | 一种基于区块链的数据共享交换方法 | |
CN111835687B (zh) | 基于区块链的安全协同系统及安全协同方法 | |
CN111931230A (zh) | 数据授权方法和装置、存储介质和电子装置 | |
Chauhan | Iot network identity management using smart contract and blockchain technology | |
CN116015856A (zh) | 基于区块链数字身份的数据流转方法及装置 | |
CN111866010B (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 |