CN115333820A - 区块链数据处理方法、装置、设备以及存储介质 - Google Patents

区块链数据处理方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN115333820A
CN115333820A CN202210948339.9A CN202210948339A CN115333820A CN 115333820 A CN115333820 A CN 115333820A CN 202210948339 A CN202210948339 A CN 202210948339A CN 115333820 A CN115333820 A CN 115333820A
Authority
CN
China
Prior art keywords
key
data
ciphertext
target data
target
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
Application number
CN202210948339.9A
Other languages
English (en)
Inventor
廖志勇
王宗友
时一防
朱耿良
刘区城
刘汉卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210948339.9A priority Critical patent/CN115333820A/zh
Publication of CN115333820A publication Critical patent/CN115333820A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

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

Abstract

本申请实施例公开了一种区块链数据处理方法、装置、设备以及存储介质,可适用于区块链领域。该方法包括:获取数据归属对象发起的第一授权请求,第一授权请求携带目标数据标识、数据授权对象的第一公钥和第一密钥密文;建立目标数据标识和第一公钥与第一密钥密文的第一映射关系;获取数据授权对象发起的携带请求携带目标数据标识和所述第一公钥的第一密钥获取请求;基于第一映射关系确定并返回第一密钥密文,以使数据授权对象基于第一私钥对第一密钥密文进行解密得到目标密钥,基于目标密钥对目标数据标识对应的目标数据密文进行解密得到目标数据。采用本申请实施例,可使数据归属对象灵活授权数据授权对象读取区块链中的加密数据,适用性高。

Description

区块链数据处理方法、装置、设备以及存储介质
技术领域
本申请涉及区块链领域,尤其涉及一种区块链数据处理方法、装置、设备以及存储介质。
背景技术
随着计算机技术的不断发展,区块链逐渐成为数据存储的重要方式。
通常情况下,数据归属对象(即数据所有方)可将待存储的数据进行加密后将加密数据存储至区块链以确保数据的安全性,同时可在加密数据的存储过程中预先将该加密数据的读取权限赋予部分对象,以使该部分对象可在数据归属对象将加密数据存储至区块链之后从区块链读取该加密数据。而在现有技术中,数据归属对象一旦将加密数据存储完毕之后,无法再将该加密数据的读取权限赋予其他对象,从而其他对象难以从区块链读取该加密数据。
发明内容
本申请实施例提供一种区块链数据处理方法、装置、设备以及存储介质,可使数据归属对象灵活授权其他对象读取区块链中的加密数据,适用性高。
一方面,本申请实施例提供一种区块链数据处理方法,该方法包括:
获取数据归属对象发起的第一授权请求,上述第一授权请求携带目标数据的目标数据标识、数据授权对象的第一公钥和第一密钥密文,上述第一密钥密文是上述数据归属对象基于上述第一公钥对目标密钥进行加密后得到的,上述目标密钥为上述数据归属对象对上述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
将上述第一密钥密文存储至上述区块链,并建立上述目标数据标识和上述第一公钥与上述第一密钥密文的第一映射关系;
获取上述数据授权对象发起的第一密钥获取请求,上述第一密钥获取请求携带上述目标数据标识和上述第一公钥;
基于上述第一映射关系从上述区块链确定上述第一密钥密文,并向上述数据授权对象返回上述第一密钥密文,以使上述数据授权对象基于上述数据授权对象的第一私钥对上述第一密钥密文进行解密得到上述目标密钥,并基于上述目标密钥对从上述区块链获取到的上述目标数据密文进行解密得到上述目标数据。
另一方面,本申请实施例提供一种区块链数据处理方法,该方法包括:
确定待授权的目标数据的目标数据标识;
发起第一授权请求,上述第一授权请求携带上述目标数据标识、数据授权对象的第一公钥和第一密钥密文,上述第一密钥密文是基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥用于对上述目标数据进行加密得到目标数据密文,上述目标数据密文存储于区块链;
其中,上述第一授权请求用于使智能合约将上述第一密钥密文存储至区块链并建立上述目标数据标识和第一公钥与上述第一密钥密文的第一映射关系,以在获取到上述数据授权对象发起的携带上述目标数据标识和上述第一公钥的第一密钥获取请求时,基于上述第一映射关系从上述区块链确定上述第一密钥密文,并向上述数据授权对象返回上述第一密钥密文。
另一方面,本申请实施例提供一种区块链数据处理方法,该方法包括:
发起第一密钥获取请求,上述第一密钥获取请求携带目标数据的目标数据标识和数据授权对象的第一公钥,上述第一密钥获取请求用于使智能合约基于上述目标数据标识和上述第一公钥与上述目标数据标识对应的第一密钥密文的第一映射关系,从区块链确定上述第一密钥密文并向上述数据授权对象返回上述第一密钥密文;
上述第一密钥密文是数据归属对象基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥为上述数据归属对象对上述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥
获取上述第一密钥密文,基于上述数据授权对象的第一私钥对上述第一密钥密文进行解密得到上述目标密钥,并基于上述目标密钥对从上述区块链获取到的上述目标数据密文进行解密得到上述目标数据。
另一方面,本申请实施例提供了一种区块链数据处理装置,该装置包括:
第一收发模块,用于获取数据归属对象发起的第一授权请求,上述第一授权请求携带目标数据的目标数据标识、数据授权对象的第一公钥和第一密钥密文,上述第一密钥密文是上述数据归属对象基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥为上述数据归属对象对上述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
请求处理模块,用于将上述第一密钥密文存储至上述区块链,并建立上述目标数据标识和上述第一公钥与上述第一密钥密文的第一映射关系;
上述第一收发模块,用于获取上述数据授权对象发起的第一密钥获取请求,上述第一密钥获取请求携带上述目标数据标识和上述第一公钥;
上述第一收发模块,用于基于上述第一映射关系从上述区块链确定上述第一密钥密文,并向上述数据授权对象返回上述第一密钥密文,以使上述数据授权对象基于上述数据授权对象的第一私钥对上述第一密钥密文进行解密得到上述目标密钥,并基于上述目标密钥对从上述区块链获取到的上述目标数据密文进行解密得到上述目标数据。
另一方面,本申请实施例提供了一种区块链数据处理装置,该装置包括:
信息确定模块,用于确定待授权的目标数据的目标数据标识;
第二收发模块,用于发起第一授权请求,上述第一授权请求携带上述目标数据标识、数据授权对象的第一公钥和第一密钥密文,上述第一密钥密文是基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥用于对上述目标数据进行加密得到目标数据密文,上述目标数据密文存储于区块链;
其中,上述第一授权请求用于使智能合约将上述第一密钥密文存储至区块链并建立上述目标数据标识和第一公钥与上述第一密钥密文的第一映射关系,以在获取到上述数据授权对象发起的携带上述目标数据标识和上述第一公钥的第一密钥获取请求时,基于上述第一映射关系从上述区块链确定上述第一密钥密文,并向上述数据授权对象返回上述第一密钥密文。
另一方面,本申请实施例提供了一种区块链数据处理装置,该装置包括:
第三收发模块,用于发起第一密钥获取请求,上述第一密钥获取请求携带目标数据的目标数据标识和数据授权对象的第一公钥,上述第一密钥获取请求用于使智能合约基于上述目标数据标识和上述第一公钥与上述目标数据标识对应的第一密钥密文的第一映射关系,从区块链确定上述第一密钥密文并向上述数据授权对象返回上述第一密钥密文;
上述第一密钥密文是数据归属对象基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥为上述数据归属对象对上述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
上述第三收发模块,用于获取上述第一密钥密文,基于上述数据授权对象的第一私钥对上述第一密钥密文进行解密得到上述目标密钥,并基于上述目标密钥对从上述区块链获取到的上述目标数据密文进行解密得到上述目标数据。
另一方面,本申请实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;
上述存储器用于存储计算机程序;
上述处理器被配置用于在调用上述计算机程序时,执行本申请实施例任一方面提供的区块链数据处理方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现本申请实施例任一方面提供的区块链数据处理方法。
另一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,上述计算机程序被处理器执行时实现本申请实施任一方面例提供的区块链数据处理方法。
在本申请实施例中,数据归属对象可通过发起第一授权请求以使智能合约建立目标数据标识和数据授权对象的第一公钥到第一密钥密文的第一映射关系,并在建立第一映射关系之后使得数据授权对象可以从区块链中获取目标数据的目标数据密文和第一密钥密文,以基于数据授权对象的第一私钥对第一密钥密文进行解密得到目标密钥,并基于目标密钥对目标数据密文进行解密得到目标数据,从而完成目标数据的读取。基于此方式,数据归属对象可灵活赋予任意对象从区块链读取加密数据的权限,灵活性更高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的网络架构示意图;
图1b是本申请实施例提供的数据共享***的结构示意图;
图2是本申请实施例提供的区块链数据处理方法的一流程示意图;
图3是本申请实施例提供的区块链数据处理方法的另一流程示意图;
图4是本申请实施例提供的区块链数据处理方法的又一流程示意图;
图5是本申请实施例提供的目标数据密文的存取方法的时序示意图;
图6是本申请实施例提供的目标密钥处理方法的时序示意图;
图7是本申请实施例提供的区块链的结构示意图;
图8a是本申请实施例提供的区块链数据处理装置的一结构示意图;
图8b是本申请实施例提供的区块链数据处理装置的另一结构示意图;
图8c是本申请实施例提供的区块链数据处理装置的又一结构示意图;
图9是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1a,图1a是本申请实施例提供的网络架构示意图。如图1a所示,数据归属对象11和数据授权对象12可以和区块链中的智能合约13进行交互,并且数据归属对象11和数据授权对象之前也可进行数据交互。
对于智能合约13而言,智能合约13可获取数据归属对象11发起的第一授权请求,第一授权请求携带第一密钥密文、目标数据的目标数据标识以及数据授权对象12的第一公钥。其中,第一密钥密文是数据归属对象11基于第一公钥对目标密钥进行加密后得到的,目标密钥为数据归属对象将目标数据进行加密以将加密德奥的目标数据密文存储至区块链时所采用的密钥。
进一步地,智能合约13可将第一密钥密文存储至区块链,并建立目标数据标识和第一公钥与第一密钥密文的第一映射关系,从而使得数据授权对象12具有从区块链读取目标数据的权限。在此情况下,智能合约13在接收到数据授权对象12发起的携带目标数据标识和第一公钥的第一密钥获取请求后,可基于先前建立的第一映射关系从区块链中确定出先前存储的第一密钥密文,以将第一密钥密文返回至数据授权对象12。
对于数据授权对象12而言,其可基于自身的第一私钥对智能合约13返回的第一密钥密文进行解密得到目标密钥,从而基于目标密钥对从区块链获取到目标数据对应的目标数据密文进行解密得到目标数据,从而完成对目标数据的读取。
其中,数据归属对象11和数据授权对象12可以分别为区块链中的任一节点,且数据归属对象11和数据授权对象12可以是独立的物理服务器或终端设备,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。其中,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
本申请实施例提供的区块链数据处理方法可适用于任何基于区块链实现数据共享、存储以及管理的数据处理场景,基于本申请实施例提供的方法,数据归属对象可灵活使数据授权对象读取由数据归属对象加密存储至区块链中的数据,实现对区块链中的加密数据的灵活分享,适用性高。
例如,本申请实施例中的数据归属对象和数据授权对象可以为区块链中的任意节点,且数据归属对象和数据授权对象所在的区块链可以视为一个数据共享***。如图1b所示的数据共享***100,该***中可以包括多个节点101,且多个节点101之间可以进行数据共享。图1a中的数据归属对象11和数据授权对象12可以是数据共享***100中的不同节点101。数据共享***100中的每个节点101可对数据共享***对应的区块链内的数据进行维护,并且为了保证数据共享***100内的各节点101之间的数据互通,数据共享***100中的每个节点101之间可以存在通信连接,节点101之间可以通过上述通信连接进行数据传输,并且每个节点101还可以实现与智能合约的交互,以实现本申请实施例提供的区块链数据处理方法。
参见图2,图2是本申请实施例提供的区块链数据处理方法的一流程示意图。图2所示的区块链数据处理方法由智能合约执行,具体可包括如下步骤:
步骤S21、获取第一授权请求,第一授权请求携带目标数据的目标数据标识、数据授权对象的第一公钥和第一密钥密文。
其中,目标数据为数据归属对象预先存储至区块链的数据,同时也是需要向数据授权对象进行授权以使数据授权对象可从区块链中读取的数据。
其中,第一密钥密文是数据归属对象基于数据授权对象的第一公钥对目标数据进行加密后得到的。
其中,目标密钥为数据归属对象对目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥。数据归属对象是目标数据的所有方,其可预先通过目标密钥对目标数据进行加密得到目标数据密文,并通过智能合约将目标数据密文存储至区块链以完成数据存储。
其中,目标数据的目标数据标识为智能合约将目标数据存储至区块链之后生成并向数据归属对象返回的、用于对目标数据进行唯一标识的相关信息。
其中,智能合约获取到的第一授权请求可以由数据归属对象直接向智能合约发起,也可以是由数据授权对象获取到数据归属对象发起的第一授权请求后,将第一授权请求转发至智能合约,具体可基于实际应用场景需求确定,在此不做限制。
其中,第一授权请求用于使智能合约完成对数据授权对象从区块链读取目标数据的权限的授权。
步骤S22、将第一密钥密文存储至区块链,并建立目标数据标识和第一公钥与第一密钥密文的第一映射关系。
在一些可行的实施方式中,智能合约在接收到携带目标数据标识、数据授权对象的第一公钥和第一密钥密文的第一授权请求之后,可将第一密钥密文存储至区块链,并建立目标数据标识和第一公钥与第一密钥密文的第一映射关系(也即目标数据标识、第一公钥到第一密钥密文的映射),从而使得数据授权对象具有从区块链读取目标数据的权限。
对于智能合约而言,智能合约在获取到第一公钥和目标数据标识之后,可通过上述第一映射关系确定出对应的第一密钥密文。同理,智能合约在获取到第一密钥密文之后,可通过上述第一映射关系确定出对应的目标数据标识和第一公钥。
步骤S23、获取第一密钥获取请求,第一密钥获取请求携带目标数据标识和第一公钥,基于第一映射关系从区块链确定第一密钥密文,并向数据授权对象返回第一密钥密文。
在一些可行的实施方式中,第一密钥请求为数据授权对象确定具有从区块链读取目标数据的权限之后,发起的携带目标数据标识和第一公钥的第一密钥获取请求。
其中,智能合约接收到的第一密钥获取请求可以由数据授权对象直接向智能合约发起,也可以是由数据归属对象获取到数据授权对象发起的第一密钥获取请求后,即将第一密钥获取请求转发至智能合约,具体可基于实际应用场景需求确定,在此不做限制。
其中,第一密钥获取请求用于使智能合约基于目标数据标识和第一公钥与第一密钥密文的第一映射关系,从区块链确定第一密钥密文并返回第一密钥密文。
其中,第一密钥密文为数据归属对象基于第一公钥对目标数据对应的目标密钥进行加密后得到的,目标密钥为数据归属对象对目标数据进行加密所采用的密钥。
步骤S24、基于第一映射关系从区块链确定第一密钥密文,并向数据授权对象返回第一密钥密文。
对于智能合约而言,智能合约在接收到携带目标数据标识和第一公钥的第一密钥获取请求之后,可通过第一映射关系从区块链确定出目标数据标识和第一公钥所对应的第一密钥密文,并向数据授权对象返回确定出的第一密钥密文。
其中,智能合约可将第一密钥密文发送至数据归属对象,由数据归属对象将第一密钥密文转发至数据授权对象,或者也可直接将第一密钥密文发送至数据授权对象,具体可基于实际应用场景需求确定,在此不做限制。
参见图3,图3是本申请实施例提供的区块链数据处理方法的另一流程示意图。图3所示的区块链数据处理方法可由数据归属方执行,具体可包括如下步骤:
步骤S31、确定待授权的目标数据的目标数据标识。
其中,目标数据为数据归属对象已通过智能合约存储至区块链的数据,同时也是需要向数据授权对象进行授权以使数据授权对象可从区块链中读取的数据。
其中,目标数据的目标数据标识为智能合约将目标数据存储至区块链之后生成并向数据归属对象返回的、用于对目标数据进行唯一标识的相关信息。
其中,目标数据的目标数据标识可以在将目标数据的目标数据密文之后从智能合约获取。
步骤S32、发起第一授权请求,第一授权请求携带目标数据标识、数据授权对象的第一公钥和第一密文。
对于数据归属对象而言,若其需要使数据授权对象具有从区块链读取目标数据的权限,则可基于数据授权对象的第一公钥对目标密钥(存储目标数据时对目标数据进行加密所采用的密钥)进行加密得到第一密钥密文,进而发起携带目标数据标识、第一公钥以及第一密钥密文的第一授权请求,以通过智能合约赋予数据授权对象从区块链读取目标数据的权限。
其中,数据归属对象可以接收数据授权对象发送的权限获取请求,权限获取请求携带目标数据的目标数据标识。数据归属对象在允许数据授权对象从区块链读取目标数据之后,可发起携带目标数据标识、数据授权对象的第一公钥和第一密钥密文的第一授权请求,以通过智能合约完成授权。
其中,数据授权对象的第一公钥可由数据归属对象接收数据授权对象发送的权限获取请求时获取。
其中,数据归属对象发起的第一授权请求可以是数据归属对象调用智能合约的“数据授权”方法之后所触发的相关请求,目标数据标识、数据授权对象的第一公钥和第一密钥密文即为调用该方法时数据归属对象输入的相关参数。
其中,第一密钥密文是数据归属对象基于数据授权对象的第一公钥对目标数据进行加密后得到的。
其中,目标密钥为数据归属对象对目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥。数据归属对象是目标数据的所有方,其可预先通过目标密钥对目标数据进行加密得到目标数据密文,并将目标数据密文存储至区块链以完成数据存储。
其中,第一授权请求用于使智能合约在接收到携带目标数据标识、数据授权对象的第一公钥和第一密钥密文的第一授权请求之后,可将第一密钥密文存储至区块链,并建立目标数据标识和第一公钥与第一密钥密文的第一映射关系(也即目标数据标识、第一公钥到第一密钥密文的映射),从而使得数据授权对象具有从区块链读取目标数据的权限。
参见图4,图4是本申请实施例提供的区块链数据处理方法的又一流程示意图。图4所示的区块链数据处理方法可由数据授权对象执行,具体可包括如下步骤:
步骤S41、发起第一密钥获取请求,第一密钥获取请求携带目标数据标识和数据授权对象的第一公钥。
在一些可行的实施方式中,数据归属对象具有从区块链读取目标数据的权限之后,发起携带目标数据标识和第一公钥的第一密钥获取请求。
其中,数据授权对象发起的第一密钥获取请求可以是数据授权对象调用智能合约的“读取密钥密文”方法之后所触发的相关请求,目标数据标识和第一公钥即为调用该方法时输入的相关参数。或者,数据授权对象可在获取到数据授权对象发送的用于指示数据授权对象具有读取目标数据的权限的相关信息后,发起第一密钥获取请求。
其中,目标数据标识可由数据归属对象从智能合约获取之后向数据授权对象发送,在此不做限制。
其中,数据授权对象可直接向智能合约发起第一密钥获取请求,也可向数据归属对象发起第一密钥获取请求,并由数据归属对象将第一密钥获取请求转发至智能合约,具体可基于实际应用场景需求确定,在此不做限制。
步骤S42、获取第一密钥密文,基于数据授权对象的第一私钥对第一密钥密文进行解密得到目标密钥,并基于目标密钥对获取到的目标数据密文进行解密得到目标数据。
在一些可行的实施方式中,由于第一密钥密文是由数据归属对象基于数据授权对象的第一公钥进行加密后得到的,因此数据授权对象在获取到智能合约返回的第一密钥密文之后,可基于自己(数据授权对象)的第一私钥对第一密钥密文进行解密得到目标密钥,即得到数据归属对象对目标数据进行加密时所采用的密钥。
进一步地,数据授权对象可从区块链获取目标数据对应的目标数据密文,进而基于确定出的目标密钥对目标数据密文进行解密得到最终的目标数据,完成对目标数据的读取。
下面结合图5对目标数据密文的存储和获取过程进行进一步说明。图5是本申请实施例提供的目标数据密文的存取方法的时序示意图,该方法具体可包括如下步骤:
步骤S51、发起数据存储请求,数据存储请求携带目标数据密文。
对于数据归属对象而言,数据归属对象确定出待存储的目标数据之后,可随机生成目标密钥并基于目标密钥对目标数据进行加密得到目标数据密文。数据归属对象进而可发起携带目标数据密文的数据存储请求,以请求智能合约将数据密文存储至区块链。
需要特别说明的是,数据对数对象可直接向智能合约发起数据存储请求,也可向数据授权对象发起数据存储请求,由数据授权对象将数据存储请求转发至智能合约,具体可基于实际应用场景需求确定,在此不做限制。
其中,数据归属对象发起的数据存储请求可以是数据归属对象调用智能合约的“保存数据”方法之后所触发的相关请求,目标数据密文即为调用该方法时输入的相关参数。
步骤S52、生成并返回目标数据标识。
对于智能合约而言,智能合约在接收到数据归属对象发起的携带目标数据密文的数据存储请求之后,为该目标数据密文生成可对目标数据(也即目标数据密文)进行唯一标识的目标数据标识,并将目标数据标识返回至数据归属对象,以使数据归属对象可基于目标数据标识从区块链查询目标数据对应的目标数据密文,或者基于目标数据标识完成对数据授权对象的授权操作。
步骤S53、将目标数据密文存储至区块链,建立目标数据标识与目标数据密文的第二映射关系。
对于智能合约而言,智能合约在接收到携带目标数据密文的数据存储请求之后,可将目标数据密文存储区块链以完成对目标数据的存储。
与此同时,智能合约可建立目标数据标识与目标数据密文的第二映射关系(也即目标数据标识到目标数据密文的映射),智能合约可在获取到目标数据标识之后通过第二映射关系即可确定出与之对应的目标数据密文。同理,智能合约可在获取到目标数据密文之后通过第二映射关系即可确定出与之对应的目标数据标识。
需要特别说明的是,智能合约生成并返回目标数据标识的过程与将目标数据密文存储至区块链的过程的先后顺序在此不做限制,且二者也可以同时进行,具体可基于实际应用场景需求确定,在此不做限制。
步骤S54、发起密文获取请求,密文获取请求携带目标数据标识。
对于数据授权对象而言,数据授权对象需要从区块链获取目标数据密文时,可向智能合约发起携带目标数据标识的密文获取请求,用于请求智能合约基于目标数据标识与目标数据密文的第二映射关系,从区块链确定并向授权对象返回目标数据密文。
需要特别说明的是,数据授权对象可直接向智能合约发起密文获取请求,也可向数据归属对象发起密文获取请求,由数据归属对象将密文获取请求转发至智能合约,具体可基于实际应用场景需求确定,在此不做限制。
其中,数据授权对象发起的密文获取请求可以是数据授权对象调用智能合约的“读取数据密文”方法之后所触发的相关请求,目标数据标识即为调用该方法时输入的相关参数。
步骤S55、基于第二映射关系从区块链确定并返回目标数据密文。
其中,智能合约可直接向数据授权对象返回目标数据密文,也可向数据归属对象返回目标数据密文,由数据归属对象将目标数据密文转发至数据授权对象,具体可基于实际应用场景需求确定,在此不做限制。
基于上述步骤S51-S55,可实现数据归属对象对目标数据密文的存储过程、以及数据授权对象对目标数据密文的获取过程。
在一些可行的实施方式中,对于数据归属对象而言,数据归属对象在基于目标密钥对目标数据进行加密以将加密得到的目标数据密文存储至区块链时,还可将目标密钥存储至本地存储空间。
进而在数据授权对象请求获取从区块链读取目标数据的权限时,获取数据授权对象的第一公钥并基于第一公钥对目标密钥进行加密,得到第一密钥密文。从而发起携带目标数据标识、第一公钥和第一密钥密文的第一授权请求,以使智能合约建立目标数据标识和第一公钥与第一密钥密文的第一映射关系,并在接收到数据授权对象发送的携带目标数据标识和第一公钥的第一密文获取请求时,根据第一映射关系确定并向数据授权对象返回第一密文密钥。
或者,数据归属对象可将第一密钥密文直接发送至数据授权对象,以使数据授权对象基于其自己的第一私钥对第一密钥密文进行解密得到目标密钥,进而基于目标密钥对获取到的目标数据密文解密得到目标数据,以完成数据读取。
在一些可行的实施方式中,对于数据归属对象而言,数据归属对象在基于目标密钥对目标数据进行加密以将加密得到目标数据密文存储至区块链时,还可预先获取各个对象的第一公钥,并基于各个对象的第一公钥对目标密钥进行加密得到各个对象所对应的密钥密文。
基于此,在任一对象请求获取从区块链读取目标数据的权限时,数据归属对象可发起携带该对象的第一公钥、目标数据标识以及该对象对应的密钥密文的授权请求以使该对象具有从区块链读取目标数据的权限。或者数据归属对象可将该对象对应的密钥密文直接发送至该对象,以使该对象基于其自己的私钥对该密钥密文进行解密得到目标密钥,进而基于目标密钥对获取到的目标数据密文解密得到目标数据,以完成数据读取。
在一些可行的实施方式中,对于数据归属对象而言,数据归属对象可将用于对目标数据进行加密的目标密钥加密得到第二密钥密文,并将第二密钥密文存储至区块链,从而无需对目标密钥进行本地存储。
在数据授权对象需要获取从区块链读取目标数据的权限时,数据归属对象可从区块链获取该第二密钥密文并对第二密钥密文进行解密得到目标密钥,并进一步基于数据授权对象的第一公钥对得到的目标密钥进行加密得到上述第一密钥密文,从而可发起携带数据授权对象的第一公钥、目标数据标识以及第一密钥密文的第一授权请求以使数据授权对象具有从区块链读取目标数据的权限。
其中,上述实现方式具体可参见图6。图6是本申请实施例提供的目标密钥处理方法的时序示意图。如图6所示,本申请实施例提供的目标密钥处理方法具体可包括如下步骤:
步骤S61、获取第二授权请求,第二授权请求携带目标数据标识、数据归属对象的第二公钥和第二密钥密文。
对于数据归属对象而言,数据归属对象在确定对目标数据进行加密的目标密钥之后,可基于数据归属对应的第二公钥对目标密钥进行加密得到第二密钥密文,进而发起携带目标数据标识、第二公钥和第二密钥密文的第二授权请求。
需要特别说明的是,数据归属对象可直接向智能合约发起第二授权请求,也可向数据授权对象发起第二授权请求,由数据授权对象将第二授权请求转发至智能合约,具体可基于实际应用场景需求确定,在此不做限制。
对于智能合约而言,智能合约则可接收数据归属对象发起的携带目标数据标识、第二公钥和第二密钥密文的第二授权请求。
步骤S62、将第二密钥密文存储至区块链,建立目标数据标识和第二公钥与第二密钥密文的第三映射关系。
对于智能合约而言,智能合约在接收到数据归属对象发起的第二授权请求之后,可将第二授权请求携带的第二密钥密文存储至区块链。
同时,智能合约可建立目标数据标识和第二公钥与第二密钥密文的第三映射关系(也即目标数据标识、第二公钥到第二密钥密文的映射),从而在获取到第二公钥和目标数据标识之后,可通过上述第三映射关系确定出对应的第二密钥密文。同理,智能合约在获取到第二密钥密文之后,可通过上述第三映射关系确定出对应的目标数据标识和第二公钥。
在一些可行的实施方式中,智能合约在接收到数据归属对象发起的第二授权请求后,可确定数据归属对象的对象信息,并基于对象信息对数据归属对象进行权限验证。
其中,该权限验证用于验证数据归属对象是否具有赋予数据授权对象读取目标数据的权限,也即用于确定第二授权请求并非是由其他对象所发送。
具体地,上述对象信息可以为对象地址。即在获取到第二授权请求之后,可基于第二授权请求携带的目标数据标识和第四映射关系,确定目标数据标识所对应的目标数据的数据归属对象的第二公钥。
其中,第四映射关系为智能合约将数据归属对象提交的目标数据密文存储至区块链之后所建立的目标数据标识到第二公钥的映射。
进一步地,智能合约确定出目标归属对象的第二公钥之后,可基于第二公钥确定出目标归属对象的对象信息(如地址信息等),并将此时第二授权请求的发起对象的对象信息(如地址信息等)与目标归属对象的对象信息进行匹配。
若二者一致,则确定此时第二授权请求的发起对象为数据归属对象,也即确定数据归属对象具有赋予数据授权对象读取目标数据的权限,从而执行将第二密钥密文存储至区块链,建立目标数据标识和第二公钥与第二密钥密文的第三映射关系的过程。若二者不一致,不对接收到的第二授权请求进行响应。
步骤S63、获取第二密钥获取请求,第二密钥获取请求携带目标数据标识和第二公钥。
对于智能合约而言,智能合约可获取数据归属对象发起的第二密钥获取请求,第二密钥获取请求第二密钥获取请求携带目标数据标识和第二公钥。
其中,数据归属对象可在确定授予数据授权对象从区块链读取目标数据的权限时,发起携带目标数据标识和第二公钥的第二密钥获取请求,用于请求智能合约基于第三映射关系、目标数据标识和第二公钥确定出此前存储至区块链的第二密钥密文。
需要特别说明的是,数据归属对象可直接向智能合约发起第二密钥获取请求,也可向数据授权对象发起第二密钥获取请求,由数据授权对象将第二密钥获取请求转发至智能合约,具体可基于实际应用场景需求确定,在此不做限制。
步骤S64、基于第三映射关系从区块链确定第二密钥密文,并返回第二密钥密文。
对于智能合约而言,智能合约在接收到第二密钥获取请求之后,可基于第二密钥获取请求携带的目标数据标识、第二公钥以及第三映射关系,从区块链中确定出数据归属对象此前提交的第二密钥密文。
智能合约在确定出第二密钥密文之后,可将第二密钥密文返回至数据归属对象。
步骤S65、基于数据归属对象的第二私钥对第二密钥密文进行解密得到目标密钥。
对于数据归属对象而言,由于第二密钥密文是由数据归属对象基于数据方的第二公钥进行加密后得到的,因此数据归属对象在获取到智能合约返回的第二密钥密文之后,可基于数据归属对象的第二私钥对第二密钥密文进行解密得到用于对目标数据进行加密的目标密钥。
在一些可行的实施方式中,数据归属对象可预先确定具有从区块链读取目标数据的权限的预设对象,并同时基于各个预设对象的公钥对目标密钥进行加密得到各预设对象对应的密钥密文。从而在将目标数据密文提交至智能合约的过程中,将各预设对象对应的公钥、密钥密文提交至智能合约,以使智能合约生成目标数据的目标数据标识之后建立每个预设对象的公钥和密钥密文与目标数据标识的映射关系,并将各预设对象保存至授权列表中,从而减少数据归属对象对智能合约的调用次数。
在此基础上,数据归属对象可基于数据授权对象的第一公钥对目标密钥进行加密得到第一密钥密文,进而发起携带第一密钥密文、目标数据标识和第一公钥的第一授权请求,以使数据授权对象获取从区块链读取目标数据的权限。
在本申请实施例中,数据归属对象和数据授权对象所在的区块链网络中的各个节点均存储一条相同的区块链,从而数据归属对象将目标数据密文存储至区块链之后数据授权对象可从区块链获取目标数据密文。参见图7,图7是本申请实施例提供的区块链的结构示意图。如图7所示,区块链由多个区块组成,创始块中包括区块头和区块体,区块头中存储有目标数据密文特征值、版本号、时间戳和难度值,区块体中存储有目标数据密文;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块体,区块头中存储有当前区块的目标数据密文特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中目标数据密文的安全性。
数据归属对象在生成区块链中的各个区块时,可对目标数据密文进行校验,完成校验后,将目标数据密文存储至内存池中,并更新其用于记录目标数据密文的哈希树;之后,将时间戳更新为存储目标数据密文的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
HA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为目标数据密文的特征值;ntime为时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,数据归属对象便可将目标数据密文对应存储,生成区块头和区块体,得到当前区块。数据归属对象和数据授权对象所在的区块链中的各个节点均具有与其对应的节点标识,且均可以存储有其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享***中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
节点名称 节点标识
节点1 IP 1
节点2 IP 2
节点N IP n
基于此,数据归属对象可根据其他节点的节点标识,将新生成的区块分别发送给其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中,从而将目标数据密文存储至区块链。
需要特别说明的是,本申请实施例中涉及到的各种映射关系、密钥密文以及公私钥均可存储于区块链之中,具体存储方式与上述过程类似,在此不再赘述。
需要特别说明的是,本申请实施例中智能合约、数据归属对象以及数据授权对象中的任意一方在获取其他任意一方发送的数据(如密钥密文、公私钥、数据标识、数据密文等)时,需要获取对方的许可或同意,且对获取到的数据进行处理时同样需要获得对方的授权,并且对相关数据的获取和处理过程需要遵守相关国家和地区的相关法律法规和标准。
在本申请实施例中,数据授权对象的第一公钥和第一私钥为基于非对称加密算法生成的公私钥对,数据归属对象的第二公钥和第二私钥为基于非对称加密算法生成的公私钥对。
其中,非对称加密算法包括但不限于包括但不限于Ed25519加密算法、RSA加密算法、椭圆曲线加密(Ellipse Curve Ctyptography,ECC)算法、SM2加密算法(国密标准定义的非对称加密算法)等,具体可基于实际应用场景需求确定,在此不做限制。
本申请实施例中,目标密钥是由数据归属对象采用对称加密算法对目标数据进行加密时所采用的密钥,对称加密算法包括但不限于数据加密标准(Data EncryptionStandard,DES)算法、高级加密标准(Advanced Encryption Standard,AES)算法、SM4加密算法(国密标准定义的对称加密算法)等,具体可基于实际应用场景需求确定,在此不做限制。
其中,对称加密算法可包括分组加密和流加密两种模式。其中分组加密又分为电子密码本(Electronic Code Book,ECB)、密文分组链接(Cipher Block Chaining,CBC)、密文反馈(Cipher Feedback,CFB)、输出反馈(Output Feedback,OFB)等模式。
在本申请实施例中,数据授权对象具有从区块链读取目标数据的权限可以理解为数据授权对象可以从区块链获取目标数据的目标数据密文,并基于目标密钥对目标数据密文进行解密的权限。
在本申请实施例中,数据归属对象可通过向智能合约发起第一授权请求以使智能合约建立目标数据标识和数据授权对象的第一公钥到第一密钥密文的第一映射关系,并在建立第一映射关系之后使得数据授权对象可以从区块链中获取目标数据的目标数据密文和第一密钥密文,以基于数据授权对象的第一私钥对第一密钥密文进行解密得到目标密钥,并基于目标密钥对目标数据密文进行解密得到目标数据,从而完成目标数据的读取。基于此方式,数据归属对象可在任意时间赋予任意对象从区块链读取加密数据的权限,灵活性更高。
参见图8a,图8a是本申请实施例提供的区块链数据处理装置的一结构示意图。本申请实施例提供的区块链数据处理装置包括:
第一收发模块81,用于获取数据归属对象发起的第一授权请求,上述第一授权请求携带目标数据的目标数据标识、数据授权对象的第一公钥和第一密钥密文,上述第一密钥密文是上述数据归属对象基于上述第一公钥对目标密钥进行加密后得到的,上述目标密钥为上述数据归属对象对上述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
请求处理模块82,用于将上述第一密钥密文存储至上述区块链,并建立上述目标数据标识和上述第一公钥与上述第一密钥密文的第一映射关系;
上述第一收发模块81,用于获取上述数据授权对象发起的第一密钥获取请求,上述第一密钥获取请求携带上述目标数据标识和上述第一公钥;
上述第一收发模块81,用于基于上述第一映射关系从上述区块链确定上述第一密钥密文,并向上述数据授权对象返回上述第一密钥密文,以使上述数据授权对象基于上述数据授权对象的第一私钥对上述第一密钥密文进行解密得到上述目标密钥,并基于上述目标密钥对从上述区块链获取到的上述目标数据密文进行解密得到上述目标数据。
在一些可行的实施方式中,上述第一收发模块81,还用于:
获取上述数据归属对象发起的携带上述目标数据密文的数据存储请求,生成上述目标数据标识并将上述目标数据标识返回至上述数据归属对象;
上述请求处理模块82,还用于:
将上述目标数据密文存储至上述区块链,并建立上述目标数据标识与上述目标数据密文的第二映射关系;
上述第一收发模块81,还用于:
获取上述数据授权对象发起的携带上述目标数据标识的数据获取请求,基于上述第二映射关系从上述区块链确定上述目标数据密文并向上述数据授权对象返回上述目标数据密文。
在一些可行的实施方式中,上述第一收发模块81,还用于:
获取上述数据归属对象发起的第二授权请求,上述第二授权请求携带上述目标数据标识、上述数据归属对象的第二公钥和第二密钥密文,上述第二密钥密文是上述数据归属对象基于上述第二公钥对上述目标密钥进行加密后得到的;
上述请求处理模块82,还用于:
将上述第二密钥密文存储至上述区块链,并建立上述目标数据标识和上述第二公钥与上述第二密钥密文的第三映射关系;
上述第一收发模块81,还用于:
获取上述数据归属对象发起的第二密钥获取请求,上述第二密钥获取请求携带上述目标数据标识和上述第二公钥;
基于上述第三映射关系从上述区块链确定上述第二密钥密文,并向上述数据归属对象返回上述第二密钥密文以使上述数据归属对象基于上述数据归属对象的第二私钥对上述第二密钥密文进行解密得到上述目标密钥。
在一些可行的实施方式中,上述请求处理模块82,还用于:
确定数据归属对象的对象信息,基于上述对象信息对上述数据归属对象进行权限验证;
响应于上述数据归属对象通过权限验证,执行将上述第二密钥密文存储至上述区块链,并建立上述目标数据标识和上述第二公钥与上述第二密钥密文的第三映射关系的步骤。
参见图8b,图8b是本申请实施例提供的区块链数据处理装置的另一结构示意图。本申请实施例提供的区块链数据处理装置包括:
信息确定模块83,用于确定待授权的目标数据的目标数据标识;
第二收发模块84,用于发起第一授权请求,上述第一授权请求携带上述目标数据标识、数据授权对象的第一公钥和第一密钥密文,上述第一密钥密文是基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥用于对上述目标数据进行加密得到目标数据密文,上述目标数据密文存储于区块链;
其中,上述第一授权请求用于使智能合约将上述第一密钥密文存储至区块链并建立上述目标数据标识和第一公钥与上述第一密钥密文的第一映射关系,以在获取到上述数据授权对象发起的携带上述目标数据标识和上述第一公钥的第一密钥获取请求时,基于上述第一映射关系从上述区块链确定上述第一密钥密文,并向上述数据授权对象返回上述第一密钥密文。
在一些可行的实施方式中,上述第二收发模块84,还用于:
发起数据存储请求,上述数据存储请求携带上述目标数据密文,上述数据存储请求用于使上述智能合约生成并返回上述目标数据标识、以及将上述数据密文存储至上述区块链并建立上述目标数据标识与上述目标数据密文的第二映射关系,以在获取到上述数据授权对象发起的携带上述目标数据标识的数据获取请求时,基于上述第二映射关系从上述区块链确定上述目标数据密文并向上述数据授权对象返回上述目标数据密文。
在一些可行的实施方式中,上述第二收发模块84,还用于:
发起第二授权请求,上述第二授权请求携带上述目标数据标识、上述数据归属对象的第二公钥和第二密钥密文,上述第二密钥密文是基于上述第二公钥对上述目标密钥进行加密后得到的;
上述第二授权请求用于使上述智能合约将上述第二密钥密文存储至上述区块链,并建立上述目标数据标识和上述第二公钥与上述第二密钥密文的第三映射关系。
在一些可行的实施方式中,上述第二收发模块84,还用于:
发起第二密钥获取请求,上述第二密钥获取请求携带上述目标数据标识和上述第二公钥,上述第二密钥获取请求用于使上述智能合约基于上述第三映射关系从上述区块链确定上述第二密钥密文,并向上述数据归属对象返回上述第二密钥密文;
获取上述第二密钥密文,基于上述数据归属对象的第二私钥对上述第二密钥密文进行解密得到上述目标密钥。
参见图8c,图8c是本申请实施例提供的区块链数据处理装置的又一结构示意图。本申请实施例提供的区块链数据处理装置包括:
第三收发模块85,用于发起第一密钥获取请求,上述第一密钥获取请求携带目标数据的目标数据标识和数据授权对象的第一公钥,上述第一密钥获取请求用于使智能合约基于上述目标数据标识和上述第一公钥与上述目标数据标识对应的第一密钥密文的第一映射关系,从区块链确定上述第一密钥密文并向上述数据授权对象返回上述第一密钥密文;
上述第一密钥密文是数据归属对象基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥为上述数据归属对象对上述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
上述第三收发模块85,用于获取上述第一密钥密文,基于上述数据授权对象的第一私钥对上述第一密钥密文进行解密得到上述目标密钥,并基于上述目标密钥对从上述区块链获取到的上述目标数据密文进行解密得到上述目标数据。
在一些可行的实施方式中,上述第三收发模块62,还用于:
发起密文获取请求,上述密文获取请求携带上述目标数据标识,上述密文获取请求用于使上述智能合约基于上述目标数据标识与上述目标数据密文的第二映射关系,从上述区块链确定上述目标数据密文并向上述数据授权对象返回上述目标数据密文;
获取上述目标数据密文。
参见图9,图9是本申请实施例提供的电子设备的结构示意图。如图9所示,本实施例中的电子设备900可以包括:处理器901,网络接口904和存储器905,此外,上述电子设备900还可以包括:对象接口903,和至少一个通信总线902。其中,通信总线902用于实现这些组件之间的连接通信。其中,对象接口903可以包括显示屏(Display)、键盘(Keyboard),可选对象接口903还可以包括标准的有线接口、无线接口。网络接口904可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器905可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。存储器905可选的还可以是至少一个位于远离前述处理器901的存储装置。如图9所示,作为一种计算机可读存储介质的存储器905中可以包括操作***、网络通信模块、对象接口模块以及设备控制应用程序。
在图9所示的电子设备900中,网络接口904可提供网络通讯功能;而对象接口903主要用于为对象提供输入的接口;在电子设备900作为智能合约对应的设备时,处理器901可以用于调用存储器905中存储的设备控制应用程序,用于实现:
获取数据归属对象发起的第一授权请求,所述第一授权请求携带目标数据的目标数据标识、数据授权对象的第一公钥和第一密钥密文,上述第一密钥密文是上述数据归属对象基于上述第一公钥对目标密钥进行加密后得到的,上述目标密钥为上述数据归属对象对上述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
将上述第一密钥密文存储至上述区块链,并建立上述目标数据标识和上述第一公钥与上述第一密钥密文的第一映射关系;
获取上述数据授权对象发起的第一密钥获取请求,上述第一密钥获取请求携带上述目标数据标识和上述第一公钥;
基于上述第一映射关系从上述区块链确定上述第一密钥密文,并向上述数据授权对象返回上述第一密钥密文,以使上述数据授权对象基于上述数据授权对象的第一私钥对上述第一密钥密文进行解密得到上述目标密钥,并基于上述目标密钥对从上述区块链获取到的上述目标数据密文进行解密得到上述目标数据。
在一些可行的实施方式中,上述处理器901还用于:
获取上述数据归属对象发起的携带上述目标数据密文的数据存储请求,生成上述目标数据标识并将上述目标数据标识返回至上述数据归属对象;
将上述目标数据密文存储至上述区块链,并建立上述目标数据标识与上述目标数据密文的第二映射关系;
获取上述数据授权对象发起的携带上述目标数据标识的数据获取请求,基于上述第二映射关系从上述区块链确定上述目标数据密文并向上述数据授权对象返回上述目标数据密文。
在一些可行的实施方式中,上述处理器901还用于:
获取上述数据归属对象发起的第二授权请求,上述第二授权请求携带上述目标数据标识、上述数据归属对象的第二公钥和第二密钥密文,上述第二密钥密文是上述数据归属对象基于上述第二公钥对上述目标密钥进行加密后得到的;
将上述第二密钥密文存储至上述区块链,并建立上述目标数据标识和上述第二公钥与上述第二密钥密文的第三映射关系;
获取上述数据归属对象发起的第二密钥获取请求,上述第二密钥获取请求携带上述目标数据标识和上述第二公钥;
基于上述第三映射关系从上述区块链确定上述第二密钥密文,并向上述数据归属对象返回上述第二密钥密文以使上述数据归属对象基于上述数据归属对象的第二私钥对上述第二密钥密文进行解密得到上述目标密钥。
在一些可行的实施方式中,上述处理器901还用于:
确定数据归属对象的对象信息,基于上述对象信息对上述数据归属对象进行权限验证;
响应于上述数据归属对象通过权限验证,执行将上述第二密钥密文存储至上述区块链,并建立上述目标数据标识和上述第二公钥与上述第二密钥密文的第三映射关系的步骤。
在电子设备900作为数据归属对象对应的设备时,处理器901可以用于调用存储器905中存储的设备控制应用程序,用于实现:
确定待授权的目标数据的目标数据标识;
发起第一授权请求,上述第一授权请求携带上述目标数据标识、数据授权对象的第一公钥和第一密钥密文,上述第一密钥密文是基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥用于对上述目标数据进行加密得到目标数据密文,上述目标数据密文存储于区块链;
其中,上述第一授权请求用于使智能合约将上述第一密钥密文存储至区块链并建立上述目标数据标识和第一公钥与上述第一密钥密文的第一映射关系,以在获取到上述数据授权对象发起的携带上述目标数据标识和上述第一公钥的第一密钥获取请求时,基于上述第一映射关系从上述区块链确定上述第一密钥密文,并向上述数据授权对象返回上述第一密钥密文。
在一些可行的实施方式中,上述处理器901还用于:
发起数据存储请求,上述数据存储请求携带上述目标数据密文,上述数据存储请求用于使上述智能合约生成并返回上述目标数据标识、以及将上述数据密文存储至上述区块链并建立上述目标数据标识与上述目标数据密文的第二映射关系,以在获取到上述数据授权对象发起的携带上述目标数据标识的数据获取请求时,基于上述第二映射关系从上述区块链确定上述目标数据密文并向上述数据授权对象返回上述目标数据密文。
在一些可行的实施方式中,上述处理器901还用于:
发起第二授权请求,上述第二授权请求携带上述目标数据标识、上述数据归属对象的第二公钥和第二密钥密文,上述第二密钥密文是基于上述第二公钥对上述目标密钥进行加密后得到的;
上述第二授权请求用于使上述智能合约将上述第二密钥密文存储至上述区块链,并建立上述目标数据标识和上述第二公钥与上述第二密钥密文的第三映射关系。
在一些可行的实施方式中,上述处理器901还用于:
发起第二密钥获取请求,上述第二密钥获取请求携带上述目标数据标识和上述第二公钥,上述第二密钥获取请求用于使上述智能合约基于上述第三映射关系从上述区块链确定上述第二密钥密文,并向上述数据归属对象返回上述第二密钥密文;
获取上述第二密钥密文,基于上述数据归属对象的第二私钥对上述第二密钥密文进行解密得到上述目标密钥。
在电子设备900作为数据授权对象对应的设备时,处理器901可以用于调用存储器905中存储的设备控制应用程序,用于实现:
发起第一密钥获取请求,上述第一密钥获取请求携带目标数据的目标数据标识和数据授权对象的第一公钥,上述第一密钥获取请求用于使智能合约基于上述目标数据标识和上述第一公钥与上述目标数据标识对应的第一密钥密文的第一映射关系,从区块链确定上述第一密钥密文并向上述数据授权对象返回上述第一密钥密文;
上述第一密钥密文是数据归属对象基于上述第一公钥对上述目标数据对应的目标密钥进行加密后得到的,上述目标密钥为上述数据归属对象对上述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
获取上述第一密钥密文,基于上述数据授权对象的第一私钥对上述第一密钥密文进行解密得到上述目标密钥,并基于上述目标密钥对从上述区块链获取到的上述目标数据密文进行解密得到上述目标数据。
在一些可行的实施方式中,上述处理器901还用于:
发起密文获取请求,上述密文获取请求携带上述目标数据标识,上述密文获取请求用于使上述智能合约基于上述目标数据标识与上述目标数据密文的第二映射关系,从上述区块链确定上述目标数据密文并向上述数据授权对象返回上述目标数据密文;
获取上述目标数据密文。
应当理解,在一些可行的实施方式中,上述处理器901可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,上述电子设备900可通过其内置的各个功能模块执行如上述图2-6中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图2-6中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的区块链数据处理装置或电子设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smartmedia card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,上述计算机程序被处理器执行图2-6中各个步骤所提供的方法。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或电子设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或电子设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (16)

1.一种区块链数据处理方法,其特征在于,所述方法包括:
获取数据归属对象发起的第一授权请求,所述第一授权请求携带目标数据的目标数据标识、数据授权对象的第一公钥和第一密钥密文,所述第一密钥密文是所述数据归属对象基于所述第一公钥对目标密钥进行加密后得到的,所述目标密钥为所述数据归属对象对所述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
将所述第一密钥密文存储至所述区块链,并建立所述目标数据标识和所述第一公钥与所述第一密钥密文的第一映射关系;
获取所述数据授权对象发起的第一密钥获取请求,所述第一密钥获取请求携带所述目标数据标识和所述第一公钥;
基于所述第一映射关系从所述区块链确定所述第一密钥密文,并向所述数据授权对象返回所述第一密钥密文,以使所述数据授权对象基于所述数据授权对象的第一私钥对所述第一密钥密文进行解密得到所述目标密钥,并基于所述目标密钥对从所述区块链获取到的所述目标数据密文进行解密得到所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述数据归属对象发起的携带所述目标数据密文的数据存储请求,生成所述目标数据标识并将所述目标数据标识返回至所述数据归属对象;
将所述目标数据密文存储至所述区块链,并建立所述目标数据标识与所述目标数据密文的第二映射关系;
所述方法还包括:
获取所述数据授权对象发起的携带所述目标数据标识的数据获取请求,基于所述第二映射关系从所述区块链确定所述目标数据密文并向所述数据授权对象返回所述目标数据密文。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述数据归属对象发起的第二授权请求,所述第二授权请求携带所述目标数据标识、所述数据归属对象的第二公钥和第二密钥密文,所述第二密钥密文是所述数据归属对象基于所述第二公钥对所述目标密钥进行加密后得到的;
将所述第二密钥密文存储至所述区块链,并建立所述目标数据标识和所述第二公钥与所述第二密钥密文的第三映射关系;
所述方法还包括:
获取所述数据归属对象发起的第二密钥获取请求,所述第二密钥获取请求携带所述目标数据标识和所述第二公钥;
基于所述第三映射关系从所述区块链确定所述第二密钥密文,并向所述数据归属对象返回所述第二密钥密文以使所述数据归属对象基于所述数据归属对象的第二私钥对所述第二密钥密文进行解密得到所述目标密钥。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定数据归属对象的对象信息,基于所述对象信息对所述数据归属对象进行权限验证;
响应于所述数据归属对象通过权限验证,执行将所述第二密钥密文存储至所述区块链,并建立所述目标数据标识和所述第二公钥与所述第二密钥密文的第三映射关系的步骤。
5.一种区块链数据处理方法,其特征在于,所述方法包括:
确定待授权的目标数据的目标数据标识;
发起第一授权请求,所述第一授权请求携带所述目标数据标识、数据授权对象的第一公钥和第一密钥密文,所述第一密钥密文是基于所述第一公钥对所述目标数据对应的目标密钥进行加密后得到的,所述目标密钥用于对所述目标数据进行加密得到目标数据密文,所述目标数据密文存储于区块链;
其中,所述第一授权请求用于使智能合约将所述第一密钥密文存储至区块链并建立所述目标数据标识和第一公钥与所述第一密钥密文的第一映射关系,以在获取到所述数据授权对象发起的携带所述目标数据标识和所述第一公钥的第一密钥获取请求时,基于所述第一映射关系从所述区块链确定所述第一密钥密文,并向所述数据授权对象返回所述第一密钥密文。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
发起数据存储请求,所述数据存储请求携带所述目标数据密文,所述数据存储请求用于使所述智能合约生成并返回所述目标数据标识、以及将所述数据密文存储至所述区块链并建立所述目标数据标识与所述目标数据密文的第二映射关系,以在获取到所述数据授权对象发起的携带所述目标数据标识的数据获取请求时,基于所述第二映射关系从所述区块链确定所述目标数据密文并向所述数据授权对象返回所述目标数据密文。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
发起第二授权请求,所述第二授权请求携带所述目标数据标识、所述数据归属对象的第二公钥和第二密钥密文,所述第二密钥密文是基于所述第二公钥对所述目标密钥进行加密后得到的;
所述第二授权请求用于使所述智能合约将所述第二密钥密文存储至所述区块链,并建立所述目标数据标识和所述第二公钥与所述第二密钥密文的第三映射关系。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
发起第二密钥获取请求,所述第二密钥获取请求携带所述目标数据标识和所述第二公钥,所述第二密钥获取请求用于使所述智能合约基于所述第三映射关系从所述区块链确定所述第二密钥密文,并向所述数据归属对象返回所述第二密钥密文;
获取所述第二密钥密文,基于所述数据归属对象的第二私钥对所述第二密钥密文进行解密得到所述目标密钥。
9.一种区块链数据处理方法,其特征在于,所述方法还包括:
发起第一密钥获取请求,所述第一密钥获取请求携带目标数据的目标数据标识和数据授权对象的第一公钥,所述第一密钥获取请求用于使智能合约基于所述目标数据标识和所述第一公钥与所述目标数据标识对应的第一密钥密文的第一映射关系,从区块链确定所述第一密钥密文并向所述数据授权对象返回所述第一密钥密文;
所述第一密钥密文是数据归属对象基于所述第一公钥对所述目标数据对应的目标密钥进行加密后得到的,所述目标密钥为所述数据归属对象对所述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
获取所述第一密钥密文,基于所述数据授权对象的第一私钥对所述第一密钥密文进行解密得到所述目标密钥,并基于所述目标密钥对从所述区块链获取到的所述目标数据密文进行解密得到所述目标数据。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
发起密文获取请求,所述密文获取请求携带所述目标数据标识,所述密文获取请求用于使所述智能合约基于所述目标数据标识与所述目标数据密文的第二映射关系,从所述区块链确定所述目标数据密文并向所述数据授权对象返回所述目标数据密文;
获取所述目标数据密文。
11.一种区块链数据处理装置,其特征在于,所述装置包括:
第一收发模块,用于获取数据归属对象发起的第一授权请求,所述第一授权请求携带目标数据的目标数据标识、数据授权对象的第一公钥和第一密钥密文,所述第一密钥密文是所述数据归属对象基于所述第一公钥对所述目标数据对应的目标密钥进行加密后得到的,所述目标密钥为所述数据归属对象对所述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
请求处理模块,用于将所述第一密钥密文存储至所述区块链,并建立所述目标数据标识和所述第一公钥与所述第一密钥密文的第一映射关系;
所述第一收发模块,用于获取所述数据授权对象发起的第一密钥获取请求,所述第一密钥获取请求携带所述目标数据标识和所述第一公钥;
所述第一收发模块,用于基于所述第一映射关系从所述区块链确定所述第一密钥密文,并向所述数据授权对象返回所述第一密钥密文,以使所述数据授权对象基于所述数据授权对象的第一私钥对所述第一密钥密文进行解密得到所述目标密钥,并基于所述目标密钥对从所述区块链获取到的所述目标数据密文进行解密得到所述目标数据。
12.一种区块链数据处理装置,其特征在于,所述装置包括:
信息确定模块,用于确定待授权的目标数据的目标数据标识;
第二收发模块,用于发起第一授权请求,所述第一授权请求携带所述目标数据标识、数据授权对象的第一公钥和第一密钥密文,所述第一密钥密文是基于所述第一公钥对所述目标数据对应的目标密钥进行加密后得到的,所述目标密钥用于对所述目标数据进行加密得到目标数据密文,所述目标数据密文存储于区块链;
其中,所述第一授权请求用于使智能合约将所述第一密钥密文存储至区块链并建立所述目标数据标识和第一公钥与所述第一密钥密文的第一映射关系,以在获取到所述数据授权对象发起的携带所述目标数据标识和所述第一公钥的第一密钥获取请求时,基于所述第一映射关系从所述区块链确定所述第一密钥密文,并向所述数据授权对象返回所述第一密钥密文。
13.一种区块链数据处理装置,其特征在于,所述装置包括:
第三收发模块,用于发起第一密钥获取请求,所述第一密钥获取请求携带目标数据的目标数据标识和数据授权对象的第一公钥,所述第一密钥获取请求用于使智能合约基于所述目标数据标识和所述第一公钥与所述目标数据标识对应的第一密钥密文的第一映射关系,从区块链确定所述第一密钥密文并向所述数据授权对象返回所述第一密钥密文;
所述第一密钥密文是数据归属对象基于所述第一公钥对所述目标数据对应的目标密钥进行加密后得到的,所述目标密钥为所述数据归属对象对所述目标数据进行加密以将加密得到的目标数据密文存储至区块链时所采用的密钥;
所述第三收发模块,用于获取所述第一密钥密文,基于所述数据授权对象的第一私钥对所述第一密钥密文进行解密得到所述目标密钥,并基于所述目标密钥对从所述区块链获取到的所述目标数据密文进行解密得到所述目标数据。
14.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序;
所述处理器被配置用于在调用所述计算机程序时,执行如权利要求1至10任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至10任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至10任一项所述的方法。
CN202210948339.9A 2022-08-08 2022-08-08 区块链数据处理方法、装置、设备以及存储介质 Pending CN115333820A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210948339.9A CN115333820A (zh) 2022-08-08 2022-08-08 区块链数据处理方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210948339.9A CN115333820A (zh) 2022-08-08 2022-08-08 区块链数据处理方法、装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN115333820A true CN115333820A (zh) 2022-11-11

Family

ID=83921081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210948339.9A Pending CN115333820A (zh) 2022-08-08 2022-08-08 区块链数据处理方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN115333820A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110798315A (zh) * 2019-11-11 2020-02-14 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置及终端
CN112182646A (zh) * 2020-09-16 2021-01-05 小米数字科技有限公司 数据读取方法及装置、数据授权方法及装置、存储介质
CN113609221A (zh) * 2021-07-27 2021-11-05 卓尔智联(武汉)研究院有限公司 数据存储方法、数据访问方法、装置和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110798315A (zh) * 2019-11-11 2020-02-14 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置及终端
CN112182646A (zh) * 2020-09-16 2021-01-05 小米数字科技有限公司 数据读取方法及装置、数据授权方法及装置、存储介质
CN113609221A (zh) * 2021-07-27 2021-11-05 卓尔智联(武汉)研究院有限公司 数据存储方法、数据访问方法、装置和存储介质

Similar Documents

Publication Publication Date Title
CN108235806B (zh) 安全访问区块链的方法、装置、***、存储介质及电子设备
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
CN109922077B (zh) 一种基于区块链的身份认证方法及其***
CN110855671B (zh) 一种可信计算方法和***
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN114143108B (zh) 一种会话加密方法、装置、设备及存储介质
CN109309566B (zh) 一种认证方法、装置、***、设备及存储介质
CN107196919B (zh) 一种匹配数据的方法和装置
CN112566119A (zh) 终端认证方法、装置、计算机设备及存储介质
CN110690956A (zh) 双向认证方法及***、服务器和终端
CN111917711B (zh) 数据访问方法、装置、计算机设备和存储介质
CN113343201A (zh) 注册请求处理方法、用户身份信息管理方法及设备
CN114500069A (zh) 一种电子合同的存储及共享的方法与***
CN114039753A (zh) 一种访问控制方法、装置、存储介质及电子设备
CN111510288A (zh) 密钥管理方法、电子设备及存储介质
CN114417309A (zh) 一种双向身份验证方法、装置、设备及存储介质
CN112787822B (zh) 一种大属性集下的基于sm9的属性加密方法及***
CN108055356A (zh) 一种信息处理方法、服务器、客户端及可读存储介质
CN116709312A (zh) 一种安全防护方法、装置及电子设备
CN111552950A (zh) 一种软件授权方法、装置及计算机可读存储介质
CN116599719A (zh) 一种用户登录认证方法、装置、设备、存储介质
CN114662073B (zh) 用于led***的验证方法、装置、计算机设备与介质
CN114554485B (zh) 异步会话密钥协商和应用方法、***、电子设备及介质
CN115333820A (zh) 区块链数据处理方法、装置、设备以及存储介质
CN113868713A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40075666

Country of ref document: HK