CN112532646B - 数据共享方法、***、装置、设备和存储介质 - Google Patents

数据共享方法、***、装置、设备和存储介质 Download PDF

Info

Publication number
CN112532646B
CN112532646B CN202011432334.8A CN202011432334A CN112532646B CN 112532646 B CN112532646 B CN 112532646B CN 202011432334 A CN202011432334 A CN 202011432334A CN 112532646 B CN112532646 B CN 112532646B
Authority
CN
China
Prior art keywords
data
request
target
provider
target data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011432334.8A
Other languages
English (en)
Other versions
CN112532646A (zh
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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202011432334.8A priority Critical patent/CN112532646B/zh
Priority to PCT/CN2020/138055 priority patent/WO2022120938A1/zh
Publication of CN112532646A publication Critical patent/CN112532646A/zh
Application granted granted Critical
Publication of CN112532646B publication Critical patent/CN112532646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种数据共享方法、***、装置、设备和存储介质,属于区块链技术领域。包括:第一设备将目标数据存储至区块链***。第一设备接收到第二设备发送的数据使用请求后,向区块链***发送携带有数据使用方标识的数据获取请求。区块链***使用数据提供方的公钥对目标数据进行加密,得到加密数据并发送给第二设备,设置数据使用方标识具有目标数据的使用权限。第二设备向区块链***发送携带有数据使用方标识和加密数据的数据查看请求。区块链***在数据使用方标识具有目标数据的使用权限时,使用数据提供方的私钥对加密数据进行解密,得到解密数据并发送给第二设备。本申请的数据传输过程安全,可以保证获得的解密数据可信、不可篡改。

Description

数据共享方法、***、装置、设备和存储介质
技术领域
本申请涉及区块链技术领域,特别涉及一种数据共享方法、***、装置、设备和存储介质。
背景技术
随着计算机网络技术的不断发展,不同部门、不同地区间的信息交流逐步增加,数据共享需求也随之增长。
目前,两个设备之间可以通过接口等方式获取到对端的数据。然而,这种数据共享方式中,一方面,由于涉及到网络通信,所以数据容易被攻击和篡改,另一方面,可能会存在第三方冒充对端身份来拿到数据。
发明内容
本申请实施例提供了一种数据共享方法、***、装置、设备和存储介质,可以保证数据传输过程安全,从而保证获得的数据可信、不可篡改。所述技术方案如下:
第一方面,提供了一种数据共享方法,所述方法包括:
第一设备将目标数据存储至区块链***;
所述第一设备接收到第二设备发送的数据使用请求后,向所述区块链***发送数据获取请求,所述数据获取请求携带数据使用方标识;
所述区块链***接收到所述数据获取请求后,使用数据提供方的公钥对所述目标数据进行加密,得到加密数据;设置所述数据使用方标识具有所述目标数据的使用权限;将所述加密数据发送给所述第二设备;
所述第二设备接收到所述加密数据后,向所述区块链***发送数据查看请求,所述数据查看请求携带所述数据使用方标识和所述加密数据;
所述区块链***接收到所述数据查看请求后,若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据;将所述解密数据发送给所述第二设备。
在本申请中,区块链***将第一设备中的目标数据存储后,若接收到第一设备发送的数据获取请求,则使用数据提供方的公钥对目标数据进行加密,得到加密数据并发送给第二设备,以及设置数据使用方标识具有目标数据的使用权限。由于区块链的不可篡改性,所以第二设备从区块链***获取到的加密数据的来源可保证,该加密数据安全可信。之后,若区块链***接收到第二设备发送的数据查看请求,则在确定数据使用方标识具有目标数据的使用权限的情况下,可以使用数据提供方的私钥对该加密数据进行解密,得到解密数据并发送给第二设备。如此,数据传输过程安全,可以保证获得的解密数据可信、不可篡改。
可选地,所述第一设备将目标数据存储至区块链***,包括:
所述第一设备向所述区块链***发送数据托管请求,所述数据托管请求携带所述目标数据和所述目标数据的属性信息,所述目标数据的属性信息包括数据提供方标识;
所述区块链***接收到所述数据托管请求后,对所述目标数据进行存储,得到目标数据存储信息;将所述数据提供方标识与所述目标数据存储信息对应存储;将所述目标数据存储信息发送给所述第一设备。
可选地,所述第一设备接收到第二设备发送的数据使用请求后,向所述区块链***发送数据获取请求,包括:
所述第一设备接收所述第二设备发送的数据使用请求,所述数据使用请求携带所述数据使用方标识和数据特征信息;
若所述目标数据的特征信息与所述数据特征信息一致,则所述第一设备向所述区块链***发送数据获取请求,所述数据获取请求携带所述数据使用方标识和所述目标数据存储信息。
可选地,所述方法还包括:
所述区块链***接收到所述数据获取请求后,根据所述数据获取请求携带的目标数据存储信息从所述区块链获取所述目标数据;获取与所述数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取所述数据提供方的公钥;
所述区块链***设置所述数据使用方标识具有所述目标数据的使用权限,包括:
所述区块链***将所述数据提供方标识作为加密方标识,将所述数据使用方标识作为权限方标识,将所述加密数据的加密数据标识、所述加密方标识和所述权限方标识对应存储。
可选地,所述若所述区块链***确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据,包括:
所述区块链***获取与所述数据查看请求携带的加密数据的加密数据标识对应存储的权限方标识和加密方标识;
若获取到的权限方标识包括所述数据查看请求携带的数据使用方标识,则所述区块链***根据获取到的加密方标识获取所述数据提供方的私钥,使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据。
可选地,所述区块链***将所述解密数据发送给所述第二设备,包括:
所述区块链***生成用于展示所述解密数据的页面;
所述区块链***在所述页面中嵌入水印信息,所述水印信息包括所述数据提供方标识;和/或,设置所述页面的内容保存功能处于禁用状态;
所述区块链***将所述页面发送给所述第二设备进行显示。
可选地,所述第一设备将目标数据存储至区块链***之前,还包括:
所述第一设备向所述区块链***发送身份注册请求,所述身份注册请求携带所述数据提供方的身份信息;
所述区块链***接收到所述身份注册请求后,根据所述身份信息为所述数据提供方进行身份注册,在身份注册成功时,为所述数据提供方分配公钥、私钥和数据提供方标识;将所述数据提供方标识发送给所述第一设备。
第二方面,提供了一种数据共享***,所述数据共享***包括第一设备、第二设备和区块链***;
所述第一设备,用于将目标数据存储至所述区块链***;
所述第一设备,还用于接收到所述第二设备发送的数据使用请求后,向所述区块链***发送数据获取请求,所述数据获取请求携带数据使用方标识;
所述区块链***,用于接收到所述数据获取请求后,使用数据提供方的公钥对所述目标数据进行加密,得到加密数据;设置所述数据使用方标识具有所述目标数据的使用权限;将所述加密数据发送给所述第二设备;
所述第二设备,用于接收到所述加密数据后,向所述区块链***发送数据查看请求,所述数据查看请求携带所述数据使用方标识和所述加密数据;
所述区块链***,用于接收到所述数据查看请求后,若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据;将所述解密数据发送给所述第二设备。
可选地,所述第一设备,用于向所述区块链***发送数据托管请求,所述数据托管请求携带所述目标数据和所述目标数据的属性信息,所述目标数据的属性信息包括数据提供方标识;
所述区块链***,用于接收到所述数据托管请求后,对所述目标数据进行存储,得到目标数据存储信息;将所述数据提供方标识与所述目标数据存储信息对应存储;将所述目标数据存储信息发送给所述第一设备。
可选地,所述第一设备用于:
接收所述第二设备发送的数据使用请求,所述数据使用请求携带所述数据使用方标识和数据特征信息;
若所述目标数据的特征信息与所述数据特征信息一致,则向所述区块链***发送数据获取请求,所述数据获取请求携带所述数据使用方标识和所述目标数据存储信息。
可选地,所述区块链***还用于:
接收到所述数据获取请求后,根据所述数据获取请求携带的目标数据存储信息从所述区块链获取所述目标数据;获取与所述数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取所述数据提供方的公钥。
可选地,所述区块链***用于:
将所述数据提供方标识作为加密方标识,将所述数据使用方标识作为权限方标识,将所述加密数据的加密数据标识、所述加密方标识和所述权限方标识对应存储。
可选地,所述区块链***用于:
获取与所述数据查看请求携带的加密数据的加密数据标识对应存储的权限方标识和加密方标识;
若获取到的权限方标识包括所述数据查看请求携带的数据使用方标识,则根据获取到的加密方标识获取所述数据提供方的私钥,使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据。
可选地,所述区块链***用于:
生成用于展示所述解密数据的页面;
在所述页面中嵌入水印信息,所述水印信息包括所述数据提供方标识;和/或,设置所述页面的内容保存功能处于禁用状态;
将所述页面发送给所述第二设备进行显示。
可选地,所述第一设备,还用于向所述区块链***发送身份注册请求,所述身份注册请求携带所述数据提供方的身份信息;
所述区块链***,还用于接收到所述身份注册请求后,根据所述身份信息为所述数据提供方进行身份注册,在身份注册成功时,为所述数据提供方分配公钥、私钥和数据提供方标识;将所述数据提供方标识发送给所述第一设备。
第三方面,提供了一种数据共享方法,应用于数据共享***中的区块链***,所述数据共享***包括第一设备、第二设备和所述区块链***,所述方法包括:
对所述第一设备中的目标数据进行存储;
接收到所述第一设备发送的携带有数据使用方标识的数据获取请求后,使用数据提供方的公钥对所述目标数据进行加密,得到加密数据;设置所述数据使用方标识具有所述目标数据的使用权限;
将所述加密数据发送给所述第二设备;
接收到所述第二设备发送的携带有所述数据使用方标识和所述加密数据的数据查看请求后,若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据;
将所述解密数据发送给所述第二设备。
可选地,所述对所述第一设备中的目标数据进行存储,包括:
接收所述第一设备发送的数据托管请求,所述数据托管请求携带所述目标数据和所述目标数据的属性信息,所述目标数据的属性信息包括数据提供方标识;
对所述目标数据进行存储,得到目标数据存储信息;
将所述数据提供方标识与所述目标数据存储信息对应存储;
将所述目标数据存储信息发送给所述第一设备。
可选地,所述数据获取请求携带所述数据使用方标识和所述目标数据存储信息。
可选地,所述方法还包括:
接收到所述数据获取请求后,根据所述数据获取请求携带的目标数据存储信息从所述区块链获取所述目标数据;获取与所述数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取所述数据提供方的公钥。
可选地,所述设置所述数据使用方标识具有所述目标数据的使用权限,包括:
将所述数据提供方标识作为加密方标识,将所述数据使用方标识作为权限方标识,将所述加密数据的加密数据标识、所述加密方标识和所述权限方标识对应存储。
可选地,所述若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据,包括:
获取与所述数据查看请求携带的加密数据的加密数据标识对应存储的权限方标识和加密方标识;
若获取到的权限方标识包括所述数据查看请求携带的数据使用方标识,则根据获取到的加密方标识获取所述数据提供方的私钥,使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据。
可选地,所述将所述解密数据发送给所述第二设备,包括:
生成用于展示所述解密数据的页面;
在所述页面中嵌入水印信息,所述水印信息包括所述数据提供方标识;和/或,设置所述页面的内容保存功能处于禁用状态;
将所述页面发送给所述第二设备进行显示。
可选地,所述对所述第一设备中的目标数据进行存储之前,还包括:
接收所述第一设备发送的身份注册请求,所述身份注册请求携带所述数据提供方的身份信息;
根据所述身份信息为所述数据提供方进行身份注册,在身份注册成功时,为所述数据提供方分配公钥、私钥和数据提供方标识;
将所述数据提供方标识发送给所述第一设备。
第四方面,提供了一种数据共享装置,应用于数据共享***中的区块链***,所述数据共享***包括第一设备、第二设备和所述区块链***,所述装置包括:
存储模块,用于对所述第一设备中的目标数据进行存储;
加密模块,用于接收到所述第一设备发送的携带有数据使用方标识的数据获取请求后,使用数据提供方的公钥对所述目标数据进行加密,得到加密数据;设置所述数据使用方标识具有所述目标数据的使用权限;
发送模块,用于将所述加密数据发送给所述第二设备;
解密模块,用于接收到所述第二设备发送的携带有所述数据使用方标识和所述加密数据的数据查看请求后,若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据;
所述发送模块,还用于将所述解密数据发送给所述第二设备。
可选地,所述存储模块用于:
接收所述第一设备发送的数据托管请求,所述数据托管请求携带所述目标数据和所述目标数据的属性信息,所述目标数据的属性信息包括数据提供方标识;
对所述目标数据进行存储,得到目标数据存储信息;
将所述数据提供方标识与所述目标数据存储信息对应存储;
将所述目标数据存储信息发送给所述第一设备。
可选地,所述数据获取请求携带所述数据使用方标识和所述目标数据存储信息。
可选地,所述装置还包括:
获取模块,用于接收到所述数据获取请求后,根据所述数据获取请求携带的目标数据存储信息从所述区块链获取所述目标数据;获取与所述数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取所述数据提供方的公钥。
可选地,所述加密模块用于:
将所述数据提供方标识作为加密方标识,将所述数据使用方标识作为权限方标识,将所述加密数据的加密数据标识、所述加密方标识和所述权限方标识对应存储。
可选地,所述解密模块用于:
获取与所述数据查看请求携带的加密数据的加密数据标识对应存储的权限方标识和加密方标识;
若获取到的权限方标识包括所述数据查看请求携带的数据使用方标识,则根据获取到的加密方标识获取所述数据提供方的私钥,使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据。
可选地,所述发送模块用于:
生成用于展示所述解密数据的页面;
在所述页面中嵌入水印信息,所述水印信息包括所述数据提供方标识;和/或,设置所述页面的内容保存功能处于禁用状态;
将所述页面发送给所述第二设备进行显示。
可选地,所述装置还包括:
接收模块,用于接收所述第一设备发送的身份注册请求,所述身份注册请求携带所述数据提供方的身份信息;
注册模块,用于根据所述身份信息为所述数据提供方进行身份注册,在身份注册成功时,为所述数据提供方分配公钥、私钥和数据提供方标识;
所述发送模块,用于将所述数据提供方标识发送给所述第一设备。
第五方面,提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第三方面所述的数据共享方法。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第三方面所述的数据共享方法。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第三方面所述的数据共享方法的步骤。
可以理解的是,上述第二方面、第三方面、第四方面、第五方面、第六方面、第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链***的结构示意图;
图2是本申请实施例提供的一种区块链的示意图;
图3是本申请实施例提供的一种数据共享***的示意图;
图4是本申请实施例提供的一种数据共享方法的流程图;
图5是本申请实施例提供的另一种数据共享方法的流程图;
图6是本申请实施例提供的一种数据共享装置的结构示意图;
图7是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在对本申请实施例进行解释说明之前,先对区块链的相关内容予以说明。
图1是本申请实施例提供的一种区块链***的结构示意图。
参见图1,区块链***100是指用于进行节点与节点之间数据共享的***,区块链***100中可以包括多个节点101,多个节点101可以是指区块链***100中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护区块链***100内的共享数据。为了保证区块链***100内的信息互通,区块链***100中的每个节点101之间可以存在信息连接,节点101之间可以通过该信息连接进行信息传输。比如,当区块链***100中的任意节点101接收到输入信息时,区块链***100中的其他节点101便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链***100中全部节点101上存储的数据一致。
区块链***100中的每个节点101均存储一条相同的区块链。参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
区块链***100具有分布式数据存储、点对点传输、共识机制、加密算法等计算机技术。区块链***100是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的共享开放、真实完整和安全可靠。
下面对本申请实施例涉及的***架构予以说明。
图3是本申请实施例提供的一种数据共享***的示意图。参见图3,该数据共享***包括:第一设备301、第二设备302和区块链***303。
第一设备301是数据提供方的设备。第一设备301可以是一个通用计算机设备或一个专用计算机设备。在具体实现中,第一设备301可以是台式机、便携式电脑、网络服务器、掌上电脑、移动手机、平板电脑、无线终端设备、通信设备或嵌入式设备,本申请实施例不限定第一设备301的类型,只要第一设备301可以被数据提供方所使用即可。数据提供方是用于提供可被共享的数据的一方。
第二设备302是数据使用方的设备。第二设备302可以是一个通用计算机设备或一个专用计算机设备。在具体实现中,第二设备302可以是台式机、便携式电脑、网络服务器、掌上电脑、移动手机、平板电脑、无线终端设备、通信设备或嵌入式设备,本申请实施例不限定第二设备302的类型,只要第二设备302可以被数据使用方所使用即可。数据使用方是用于使用被共享的数据的一方。
区块链***303可以是上文图1-图2实施例所述的区块链***100。
在一种可能的方式中,第一设备301是能够与区块链***303直接通信的设备,如第一设备301可以是网络服务器等。这种方式下,第一设备301可以通过有线网络或无线网络与区块链***303进行通信。在另一种可能的方式中,第一设备301是不能与区块链***303直接通信的设备,如第一设备301可以是终端设备等。这种方式下,该数据共享***还可以包括业务***,第一设备301可以通过业务***与区块链***303进行通信,即业务***可以转发第一设备301发送给区块链***303的信息,同时也可以转发区块链***303发送给第一设备301的信息。
在一种可能的方式中,第二设备302是能够与区块链***303直接通信的设备,如第二设备302可以是网络服务器等。这种方式下,第二设备302可以通过有线网络或无线网络与区块链***303进行通信。在另一种可能的方式中,第二设备302是不能与区块链***303直接通信的设备,如第二设备302可以是终端设备等。这种方式下,该数据共享***还可以包括业务***,第二设备302可以通过业务***与区块链***303进行通信,即业务***可以转发第二设备302发送给区块链***303的信息,同时也可以转发区块链***303发送给第二设备302的信息。
第一设备301、第二设备302和区块链***303可以执行下文图4实施例所述的数据共享方法,来实现第二设备302对第一设备301所共享的目标数据的获取。
为了保证接入区块链***的用户身份可靠,数据提供方和数据使用方可以先在区块链***进行身份注册。下面对数据提供方和数据使用方的身份注册过程进行说明。
数据提供方的身份注册过程可以包括如下步骤(1)-步骤(3):
(1)第一设备向区块链***发送身份注册请求。
该身份注册请求用于请求为数据提供方进行身份注册,该身份注册请求携带数据提供方的身份信息。
(2)区块链***接收到第一设备发送的身份注册请求后,根据该身份信息为数据提供方进行身份注册,在身份注册成功时,为数据提供方分配公钥、私钥和数据提供方标识。
数据提供方标识用于标识数据提供方的身份。比如,数据提供方标识可以为数据提供方账号、第一设备标识等。第一设备标识用于标识第一设备,如第一设备标识可以是第一设备的UUID(Universally Unique Identifier,通用唯一识别码)、MAC(Media AccessControl,介质访问控制)地址、IP(Internet Protocol,互联网协议)地址、或出厂序列号等。
为数据提供方分配的公钥和私钥是一对密钥,数据提供方的公钥和私钥中的一个用于加密,另一个用于解密。
区块链***可以将为数据提供方分配的公钥、私钥和数据提供方标识对应存储,如此后续可以根据数据提供方标识,获取数据提供方的公钥或私钥。
其中,区块链***根据该身份信息为数据提供方进行身份注册的操作可以为:区块链***对该身份信息进行验证;若该身份信息验证通过,则确定数据提供方的身份注册成功;若该身份信息验证失败,则确定数据提供方的身份注册失败。
(3)区块链***将数据提供方标识发送给第一设备。
区块链***仅将数据提供方标识发送给第一设备。数据提供方的公钥和私钥均托管于区块链***。
数据使用方的身份注册过程可以包括如下步骤(1)-步骤(3):
(1)第二设备向区块链***发送身份注册请求。
该身份注册请求用于请求为数据使用方进行身份注册,该身份注册请求携带数据使用方的身份信息。
(2)区块链***接收到第二设备发送的身份注册请求后,根据该身份信息为数据使用方进行身份注册,在身份注册成功时,为数据使用方分配公钥、私钥和数据使用方标识。
数据使用方标识用于标识数据使用方的身份。比如,数据使用方标识可以为数据使用方账号、第二设备标识等。第二设备标识用于标识第二设备,如第二设备标识可以是第二设备的UUID、MAC地址、IP地址、或出厂序列号等。
为数据使用方分配的公钥和私钥是一对密钥,数据使用方的公钥和私钥中的一个用于加密,另一个用于解密。
区块链***可以将为数据使用方分配的公钥、私钥和数据使用方标识对应存储,如此后续可以根据数据使用方标识,获取数据使用方的公钥或私钥。
其中,区块链***根据该身份信息为数据使用方进行身份注册的操作可以为:区块链***对该身份信息进行验证;若该身份信息验证通过,则确定数据使用方的身份注册成功;若该身份信息验证失败,则确定数据使用方的身份注册失败。
(3)区块链***将数据使用方标识发送给第二设备。
区块链***仅将数据使用方标识发送给第一设备。数据使用方的公钥和私钥均托管于区块链***。
下面对本申请实施例提供的数据共享方法进行详细地解释说明。
图4是本申请实施例提供的一种数据共享方法的流程图。参见图4,该方法包括以下步骤。
步骤401:第一设备将目标数据存储至区块链***。
目标数据为数据提供方提供的可被共享的数据。
具体地,步骤401可以包括如下步骤(1)-步骤(3):
(1)第一设备向区块链***发送数据托管请求。
该数据托管请求用于请求将目标数据托管于区块链***上。该数据托管请求携带目标数据和目标数据的属性信息,目标数据的属性信息可以包括数据提供方标识、使用期限、适用场景等一个或多个属性信息。
(2)区块链***接收到第一设备发送的数据托管请求后,对该数据托管请求携带的目标数据进行存储,得到目标数据存储信息;将该数据托管请求携带的数据提供方标识与目标数据存储信息对应存储。
其中,区块链***对目标数据进行存储时,可以将目标数据存储至区块链;或者,可以将目标数据的哈希值存储至区块链,将目标数据存储至数据库中。
其中,区块链***将目标数据存储至区块链时,可以根据智能合约将目标数据上链。也即,区块链***可以调用智能合约来生成存储有目标数据的区块,并将该区块添加到共享的区块链中。如此,目标数据将不可被篡改。
其中,区块链***将目标数据的哈希值存储至区块链的操作与上述区块链***将目标数据存储至区块链的操作类似,本申请实施例对此不再赘述。
智能合约是基于区块链可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。在区块链架构中,智能合约以链上代码的形式储存在区块链的区块中。可以通过调用智能合约来执行特定的操作。
目标数据存储信息用于指示目标数据的存储位置,根据目标数据存储信息可以获取到目标数据。示例地,目标数据存储信息可以为用于标识目标数据本身的一些信息,如目标数据存储信息可以为目标数据的名称等。或者,当区块链***是直接将目标数据存储至区块链时,目标数据存储信息可以为用于标识存储有目标数据的区块的一些信息,如目标数据存储信息可以为区块高度等。
(3)区块链***将目标数据存储信息发送给第一设备。
步骤402:第二设备向第一设备发送数据使用请求。
该数据使用请求用于请求使用第一设备共享的数据。该数据使用请求可以携带数据使用方标识和数据特征信息。
该数据特征信息用于指示数据使用方想要使用的数据的特征。该数据特征信息可以包括数据发布时间、数据性质等。比如,该数据特征信息用于指示数据使用方想要使用的是在8月发布的财政数据。
一种可能的实现方式中,第二设备上可以显示有数据共享页面,该数据共享页面中显示有数据搜索框和下载选项。若数据使用方想要使用数据,则可以在数据搜索框中输入数据特征信息,然后点击下载选项来触发数据使用指令。第二设备检测到该数据使用指令后,可以向第一设备发送数据使用请求。
步骤403:第一设备接收到第二设备发送的数据使用请求后,向区块链***发送数据获取请求。
该数据获取请求用于请求获取第一设备存储到区块链***的目标数据对应的加密数据。该数据获取请求可以携带数据使用方标识。进一步地,该数据获取请求还可以携带目标数据存储信息。
其中,第一设备向区块链***发送数据获取请求时,可以调用智能合约共享数据获取接口来向区块链***发送该数据获取请求。
进一步地,第一设备向区块链***发送数据获取请求之前,可以先在第一设备共享的数据中查找特征信息与该数据使用请求携带的数据特征信息一致的数据,若目标数据的特征信息与该数据特征信息一致,再向区块链***发送数据获取请求。
目标数据的特征信息用于指示目标数据的特征。目标数据的特征信息可以包括目标数据的发布时间、性质等。比如,目标数据的特征信息可以用于指示目标数据是在8月24日发布的财政数据。
假设该数据特征信息用于指示数据使用方想要使用的是在8月发布的财政数据,且目标数据的特征信息用于指示目标数据是在8月24日发布的财政数据,则第一设备可以确定目标数据的特征信息与该数据特征信息一致,此时第一设备可以向区块链***发送数据获取请求。
更进一步地,第一设备在共享的数据中查找特征信息与该数据使用请求携带的数据特征信息一致的数据之前,还可以先审核该数据使用请求,在审核通过后再在共享的数据中查找特征信息与该数据使用请求携带的数据特征信息一致的数据。
第一设备对该数据使用请求的审核可以是自动进行的,比如第一设备可以按照预设的数据使用条件对该数据使用请求进行审核,该数据使用条件可以根据具体的业务需求进行预先设置。若该数据使用请求满足该数据使用条件,则第一设备确定该数据使用请求审核通过;若该数据使用请求不满足该数据使用条件,则第一设备确定该数据使用请求审核未通过。
或者,第一设备对该数据使用请求的审核可以是手动进行的,比如可以由数据提供方来对该数据使用请求进行审核。数据提供方确定该数据使用请求不存在问题时,可以触发审核通过指令,第一设备检测到该审核通过指令后,确定该数据使用请求审核通过;数据提供方确定该数据使用请求存在问题时,可以触发审核未通过指令,第一设备检测到该审核未通过指令后,确定该数据使用请求审核未通过。
步骤404:区块链***接收到第一设备发送的数据获取请求后,使用数据提供方的公钥对目标数据进行加密,得到加密数据;设置数据使用方标识具有目标数据的使用权限。
进一步地,区块链***使用数据提供方的公钥对目标数据进行加密,得到加密数据之前,可以先根据该数据获取请求携带的目标数据存储信息获取目标数据;获取与该数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取数据提供方的公钥,之后,再使用数据提供方的公钥对目标数据进行加密,得到加密数据。
其中,区块链***设置数据使用方标识具有目标数据的使用权限的操作可以为:区块链***将数据提供方标识作为加密方标识,将数据使用方标识作为权限方标识,将该加密数据的加密数据标识、该加密方标识和该权限方标识对应存储。
该加密数据的加密数据标识用于标识该加密数据,如该加密数据的加密数据标识可以为该加密数据的名称等。该加密数据的加密数据标识可以在不解密该加密数据的情况下从该加密数据直接获得。
该加密方标识用于指示该加密数据是由哪方加密。该权限方标识用于指示该加密数据可供哪方使用。如此,区块链***将数据提供方标识作为加密方标识,将数据使用方标识作为权限方标识,将该加密数据的加密数据标识、该加密方标识和该权限方标识对应存储后,就表示该加密数据是由数据提供方加密,且可供数据使用方进行使用。由于该加密数据是对目标数据加密得到,所以此时数据使用方标识就具有了目标数据的使用权限。
步骤405:区块链***将该加密数据发送给第二设备。
可选地,区块链***可以将该加密数据发送给第一设备,由第一设备将该加密数据发送给第二设备。或者,区块链***可以直接将该加密数据发送给第二设备。
本申请实施例中,通过调用智能合约共享数据获取接口,可以执行合约逻辑,来实现第一设备向区块链***发送数据获取请求、区块链***获取目标数据对应的加密数据并发送给第二设备、区块链***设置数据使用方对目标数据的使用权限的这一系列操作。
值得说明的是,本申请实施例中,第二设备若想使用目标数据,则需要通过第一设备来指示区块链***设置数据使用方对目标数据的使用权限。也就是说,数据使用方若想使用目标数据,需要在通过数据提供方的审批后,才能拿到对目标数据的使用权限。如此,区块链***将该加密数据发送给第二设备后,对于数据使用方手中的该加密数据,因数据使用方拿到了对目标数据的使用权限,所以数据使用方可以根据该加密数据获得目标数据。而如果存在对该加密文件恶意散播的情况,第三方在未通过数据提供方的审批的情况下仍旧是不能获得目标数据的,只有在通过数据提供方的审批后方可获得目标数据的使用权限,然后才能通过该加密数据获得目标数据。
对于数据提供方来说,可以对目标数据的使用权限进行控制。比如,数据提供方若想限制数据使用方对目标数据的使用,则可以取消数据使用方对目标数据的使用权限。具体地,第一设备可以向区块链***发送数据限制使用请求,该数据限制使用请求携带数据使用方标识和该加密数据的加密数据标识;区块链***接收到该数据限制使用请求后,可以将与该加密数据标识对应存储的权限方标识中的数据使用方标识删除,如此,数据使用方标识就不再具有目标数据的使用权限。
步骤406:第二设备接收到该加密数据后,向区块链***发送数据查看请求。
该数据查看请求用于请求查看该加密数据对应的解密数据,即请求查看目标数据。该数据查看请求携带数据使用方标识和该加密数据。
一种可能的实现方式中,第二设备上可以显示有数据共享页面,该数据共享页面中显示有下载选项。若数据使用方想要使用数据,则可以点击下载选项,以指示第二设备向第一设备发送数据使用请求。之后,第二设备会接收到该加密数据,此时第二设备可以将该加密数据显示在该数据共享页面上。如此,数据使用方通过点击该数据共享页面上的下载选项就实现了对想要使用的数据所对应的加密数据的获取。
一种可能的实现方式中,第二设备上可以显示有数据查看页面,该数据查看页面中显示有数据上传入口。数据使用方通过该数据上传入口上传该加密数据后,第二设备就会向区块链***发送数据查看请求。
步骤407:区块链***接收到第二设备发送的数据查看请求后,若确定该数据查看请求携带的数据使用方标识具有目标数据的使用权限,则使用数据提供方的私钥对该数据查看请求携带的加密数据进行解密,得到解密数据。
具体地,区块链***接收到第二设备发送的数据查看请求后,可以先获取与该数据查看请求携带的加密数据的加密数据标识对应存储的权限方标识和加密方标识,若获取到的权限方标识包括该数据查看请求携带的数据使用方标识,则确定数据使用方标识具有目标数据的使用权限。之后,区块链***根据获取到的加密方标识(即数据提供方标识)获取数据提供方的私钥,使用数据提供方的私钥对该数据查看请求携带的加密数据进行解密,得到解密数据。
步骤408:区块链***将解密数据发送给第二设备。
进一步地,区块链***将该解密数据发送给第二设备之前,还可以先检测该解密数据是否被篡改。若该解密数据未被篡改,则区块链***将该解密数据发送给第二设备;若该解密数据已被篡改,则区块链***不将该解密数据发送给第二设备,而是向第二设备发送提醒消息,以提醒数据使用方其获得的加密数据存在问题。
一种可能的方式中,若区块链***此前是将目标数据直接存储至区块链,则区块链***可以从区块链中获取该加密数据对应的目标数据;若获取到的目标数据与该解密数据相同,则可以确定该解密数据未被篡改,就是目标数据;若获取到的目标数据与该解密数据不同,则可以确定该解密数据已被篡改,不是目标数据。
另一种可能的方式中,若区块链***此前是将目标数据的哈希值存储至区块链,则区块链***可以从区块链中获取该加密数据对应的目标数据的哈希值作为第一哈希值,然后计算该解密数据的哈希值作为第二哈希值;若第一哈希值与第二哈希值相同,则可以确定该解密数据未被篡改,就是目标数据;若第一哈希值与第二哈希值不同,则可以确定该解密数据已被篡改,不是目标数据。
进一步地,区块链***将该解密数据发送给第二设备之前,还可以先获取该加密数据对应的目标数据的使用期限;若当前时间处于目标数据的使用期限内,则将该解密数据发送给第二设备;若当前时间不处于目标数据的使用期限内,则不将该解密数据发送给第二设备,而是向第二设备发送提醒消息,以提醒数据使用方当前已超过目标数据的使用期限。
具体地,区块链***将该解密数据发送给第二设备的操作可以为:区块链***生成用于展示该解密数据的页面。区块链***在该页面中嵌入水印信息,该水印信息可以包括目标数据的一个或多个属性信息,如可以包括数据提供方标识、使用期限、适用场景等中的一个或多个;和/或,区块链***设置该页面的内容保存功能处于禁用状态。区块链***将该页面发送给第二设备进行显示。
区块链***在该页面中嵌入水印信息后,若第二设备对该页面进行截图,则截图得到的图像中会包含有该水印信息。区块链***设置该页面的内容保存功能处于禁用状态后,第二设备将不能将该页面中的内容保存到本地。
这种情况下,第二设备接收到该页面后,可以显示该页面,数据使用方可以在该页面上查看该解密数据,但不能将该解密数据单独保存到本地,从而可以有效防止该解密数据被恶意扩散。
一种可能的实现方式中,第二设备上可以显示有数据查看页面,该数据查看页面中显示有数据上传入口。数据使用方通过该数据上传入口上传该加密数据后,第二设备就会向区块链***发送数据查看请求。之后,第二设备会接收到区块链***返回的包含有该加密数据对应的解密数据的页面,第二设备可以显示该页面,以供数据使用方查看。
在本申请实施例中,区块链***将第一设备中的目标数据存储后,若接收到第一设备发送的数据获取请求,则使用数据提供方的公钥对目标数据进行加密,得到加密数据并发送给第二设备,以及设置数据使用方标识具有目标数据的使用权限。由于区块链的不可篡改性,所以第二设备从区块链***获取到的加密数据的来源可保证,该加密数据安全可信。之后,若区块链***接收到第二设备发送的数据查看请求,则在确定数据使用方标识具有目标数据的使用权限的情况下,可以使用数据提供方的私钥对该加密数据进行解密,得到解密数据并发送给第二设备。如此,数据传输过程安全,可以保证获得的解密数据可信、不可篡改。
图5是本申请实施例提供的一种数据共享方法的流程图。该方法应用于区块链***,该区块链***可以是上文图1-图2实施例所述的区块链***100。参见图5,该方法可以包括如下步骤:
步骤501:对第一设备中的目标数据进行存储。
其中,步骤501的相关内容已在上文图4实施例中的步骤401进行详细说明,本申请实施例对此不再赘述。
步骤502:接收到第一设备发送的携带有数据使用方标识的数据获取请求后,使用数据提供方的公钥对目标数据进行加密,得到加密数据;设置数据使用方标识具有目标数据的使用权限。
其中,步骤502的相关内容已在上文图4实施例中的步骤403和步骤404进行详细说明,本申请实施例对此不再赘述。
步骤503:将该加密数据发送给第二设备。
其中,步骤503的相关内容已在上文图4实施例中的步骤405进行详细说明,本申请实施例对此不再赘述。
步骤504:接收到第二设备发送的携带有数据使用方标识和该加密数据的数据查看请求后,若确定数据查看请求携带的数据使用方标识具有目标数据的使用权限,则使用数据提供方的私钥对数据查看请求携带的加密数据进行解密,得到解密数据。
其中,步骤504的相关内容已在上文图4实施例中的步骤406和步骤407进行详细说明,本申请实施例对此不再赘述。
步骤505:将该解密数据发送给第二设备。
其中,步骤505的相关内容已在上文图4实施例中的步骤408进行详细说明,本申请实施例对此不再赘述。
在本申请实施例中,区块链***将第一设备中的目标数据存储后,若接收到第一设备发送的数据获取请求,则使用数据提供方的公钥对目标数据进行加密,得到加密数据并发送给第二设备,以及设置数据使用方标识具有目标数据的使用权限。由于区块链的不可篡改性,所以第二设备从区块链***获取到的加密数据的来源可保证,该加密数据安全可信。之后,若区块链***接收到第二设备发送的数据查看请求,则在确定数据使用方标识具有目标数据的使用权限的情况下,可以使用数据提供方的私钥对该加密数据进行解密,得到解密数据并发送给第二设备。如此,数据传输过程安全,可以保证获得的解密数据可信、不可篡改。
图6是本申请实施例提供的一种数据共享装置的结构示意图,该装置可以应用于区块链***,该区块链***可以为上文图1-图2实施例的区块链***100。参见图6,该装置包括:存储模块601、加密模块602、发送模块603、解密模块604。
存储模块601,用于对第一设备中的目标数据进行存储;
加密模块602,用于接收到第一设备发送的携带有数据使用方标识的数据获取请求后,使用数据提供方的公钥对目标数据进行加密,得到加密数据;设置数据使用方标识具有目标数据的使用权限;
发送模块603,用于将加密数据发送给第二设备;
解密模块604,用于接收到第二设备发送的携带有数据使用方标识和加密数据的数据查看请求后,若确定数据查看请求携带的数据使用方标识具有目标数据的使用权限,则使用数据提供方的私钥对数据查看请求携带的加密数据进行解密,得到解密数据;
发送模块603,还用于将该解密数据发送给第二设备。
可选地,存储模块601用于:
接收第一设备发送的数据托管请求,数据托管请求携带目标数据和目标数据的属性信息,目标数据的属性信息包括数据提供方标识;
对目标数据进行存储,得到目标数据存储信息;
将数据提供方标识与目标数据存储信息对应存储;
将目标数据存储信息发送给第一设备。
可选地,数据获取请求携带数据使用方标识和目标数据存储信息。
可选地,该装置还包括:
获取模块,用于接收到数据获取请求后,根据数据获取请求携带的目标数据存储信息从区块链获取目标数据;获取与数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取数据提供方的公钥。
可选地,加密模块602用于:
将数据提供方标识作为加密方标识,将数据使用方标识作为权限方标识,将加密数据的加密数据标识、加密方标识和权限方标识对应存储。
可选地,解密模块604用于:
获取与数据查看请求携带的加密数据的加密数据标识对应存储的权限方标识和加密方标识;
若获取到的权限方标识包括数据查看请求携带的数据使用方标识,则根据获取到的加密方标识获取数据提供方的私钥,使用数据提供方的私钥对数据查看请求携带的加密数据进行解密,得到解密数据。
可选地,发送模块603用于:
生成用于展示解密数据的页面;
在页面中嵌入水印信息,水印信息包括数据提供方标识;和/或,设置页面的内容保存功能处于禁用状态;
将页面发送给第二设备进行显示。
可选地,该装置还包括:
接收模块,用于接收第一设备发送的身份注册请求,身份注册请求携带数据提供方的身份信息;
注册模块,用于根据身份信息为数据提供方进行身份注册,在身份注册成功时,为数据提供方分配公钥、私钥和数据提供方标识;
发送模块603,还用于将数据提供方标识发送给第一设备。
在本申请实施例中,区块链***将第一设备中的目标数据存储后,若接收到第一设备发送的数据获取请求,则使用数据提供方的公钥对目标数据进行加密,得到加密数据并发送给第二设备,以及设置数据使用方标识具有目标数据的使用权限。由于区块链的不可篡改性,所以第二设备从区块链***获取到的加密数据的来源可保证,该加密数据安全可信。之后,若区块链***接收到第二设备发送的数据查看请求,则在确定数据使用方标识具有目标数据的使用权限的情况下,可以使用数据提供方的私钥对该加密数据进行解密,得到解密数据并发送给第二设备。如此,数据传输过程安全,可以保证获得的解密数据可信、不可篡改。
需要说明的是:上述实施例提供的数据共享装置在数据共享时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
上述实施例提供的数据共享装置与数据共享方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
图7为本申请实施例提供的一种计算机设备的结构示意图。如图7所示,计算机设备7包括:处理器70、存储器71以及存储在存储器71中并可在处理器70上运行的计算机程序72,处理器70执行计算机程序72时实现上文图5实施例中的数据共享方法中的步骤。
计算机设备7可以是通用计算机设备或专用计算机设备。在具体实现中,计算机设备7可以是由多台服务器组成的服务器集群。本领域技术人员可以理解,图7仅仅是计算机设备7的举例,并不构成对计算机设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,比如还可以包括输入输出设备、网络接入设备等。
处理器70可以是中央处理单元(Central Processing Unit,CPU),处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器。
存储器71在一些实施例中可以是计算机设备7的内部存储单元,比如计算机设备7的硬盘或内存。存储器71在另一些实施例中也可以是计算机设备7的外部存储设备,比如计算机设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器71还可以既包括计算机设备7的内部存储单元也包括外部存储设备。存储器71用于存储操作***、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,比如计算机程序的程序代码等。存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机设备,该计算机设备包括:至少一个处理器、存储器以及存储在该存储器中并可在该至少一个处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述方法实施例中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,该计算机程序包括计算机程序代码,该计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。该计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。该计算机指令可以存储在上述计算机可读存储介质中。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (11)

1.一种数据共享方法,其特征在于,所述方法包括:
第一设备向区块链***发送数据托管请求,所述数据托管请求携带目标数据和所述目标数据的属性信息,所述目标数据的属性信息包括数据提供方标识;
所述区块链***接收到所述数据托管请求后,对所述目标数据进行存储,得到目标数据存储信息;将所述数据提供方标识与所述目标数据存储信息对应存储;将所述目标数据存储信息发送给所述第一设备;
所述第一设备接收到第二设备发送的数据使用请求后,向所述区块链***发送数据获取请求,所述数据使用请求携带数据使用方标识,所述数据获取请求携带所述数据使用方标识和所述目标数据存储信息;
所述区块链***接收到所述数据获取请求后,根据所述数据获取请求携带的目标数据存储信息获取所述目标数据;获取与所述数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取所述数据提供方的公钥;使用所述数据提供方的公钥对所述目标数据进行加密,得到加密数据;设置所述数据使用方标识具有所述目标数据的使用权限;将所述加密数据发送给所述第二设备;
所述第二设备接收到所述加密数据后,向所述区块链***发送数据查看请求,所述数据查看请求携带所述数据使用方标识和所述加密数据;
所述区块链***接收到所述数据查看请求后,若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据;将所述解密数据发送给所述第二设备。
2.如权利要求1所述的方法,其特征在于,所述第一设备接收到第二设备发送的数据使用请求后,向所述区块链***发送数据获取请求,包括:
所述第一设备接收所述第二设备发送的数据使用请求,所述数据使用请求携带所述数据使用方标识和数据特征信息;
若所述目标数据的特征信息与所述数据特征信息一致,则所述第一设备向所述区块链***发送数据获取请求。
3.如权利要求1所述的方法,其特征在于,所述区块链***设置所述数据使用方标识具有所述目标数据的使用权限,包括:
所述区块链***将所述数据提供方标识作为加密方标识,将所述数据使用方标识作为权限方标识,将所述加密数据的加密数据标识、所述加密方标识和所述权限方标识对应存储。
4.如权利要求3所述的方法,其特征在于,所述若所述区块链***确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据,包括:
所述区块链***获取与所述数据查看请求携带的加密数据的加密数据标识对应存储的权限方标识和加密方标识;
若获取到的权限方标识包括所述数据查看请求携带的数据使用方标识,则所述区块链***根据获取到的加密方标识获取所述数据提供方的私钥,使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据。
5.如权利要求1-4任一所述的方法,其特征在于,所述区块链***将所述解密数据发送给所述第二设备,包括:
所述区块链***生成用于展示所述解密数据的页面;
所述区块链***在所述页面中嵌入水印信息,所述水印信息包括所述数据提供方标识;和/或,设置所述页面的内容保存功能处于禁用状态;
所述区块链***将所述页面发送给所述第二设备进行显示。
6.如权利要求1-4任一所述的方法,其特征在于,所述第一设备向区块链***发送数据托管请求之前,还包括:
所述第一设备向所述区块链***发送身份注册请求,所述身份注册请求携带所述数据提供方的身份信息;
所述区块链***接收到所述身份注册请求后,根据所述身份信息为所述数据提供方进行身份注册,在身份注册成功时,为所述数据提供方分配公钥、私钥和数据提供方标识;将所述数据提供方标识发送给所述第一设备。
7.一种数据共享***,其特征在于,所述数据共享***包括第一设备、第二设备和区块链***;
所述第一设备,用于向所述区块链***发送数据托管请求,所述数据托管请求携带目标数据和所述目标数据的属性信息,所述目标数据的属性信息包括数据提供方标识;
所述区块链***,用于接收到所述数据托管请求后,对所述目标数据进行存储,得到目标数据存储信息;将所述数据提供方标识与所述目标数据存储信息对应存储;将所述目标数据存储信息发送给所述第一设备;
所述第一设备,还用于接收到所述第二设备发送的数据使用请求后,向所述区块链***发送数据获取请求,所述数据使用请求携带数据使用方标识,所述数据获取请求携带所述数据使用方标识和所述目标数据存储信息;
所述区块链***,用于接收到所述数据获取请求后,根据所述数据获取请求携带的目标数据存储信息获取所述目标数据;获取与所述数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取所述数据提供方的公钥;使用所述数据提供方的公钥对所述目标数据进行加密,得到加密数据;设置所述数据使用方标识具有所述目标数据的使用权限;将所述加密数据发送给所述第二设备;
所述第二设备,用于接收到所述加密数据后,向所述区块链***发送数据查看请求,所述数据查看请求携带所述数据使用方标识和所述加密数据;
所述区块链***,用于接收到所述数据查看请求后,若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据;将所述解密数据发送给所述第二设备。
8.一种数据共享方法,其特征在于,应用于数据共享***中的区块链***,所述数据共享***包括第一设备、第二设备和所述区块链***,所述方法包括:
接收所述第一设备发送的数据托管请求,所述数据托管请求携带目标数据和所述目标数据的属性信息,所述目标数据的属性信息包括数据提供方标识;对所述目标数据进行存储,得到目标数据存储信息;将所述数据提供方标识与所述目标数据存储信息对应存储;将所述目标数据存储信息发送给所述第一设备;
接收所述第一设备发送的携带有数据使用方标识和所述目标数据存储信息的数据获取请求,所述数据获取请求是所述第一设备在接收到所述第二设备发送的携带有所述数据使用方标识的数据使用请求后发送的;根据所述数据获取请求携带的目标数据存储信息获取所述目标数据;获取与所述数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取所述数据提供方的公钥;使用所述数据提供方的公钥对所述目标数据进行加密,得到加密数据;设置所述数据使用方标识具有所述目标数据的使用权限;
将所述加密数据发送给所述第二设备;
接收到所述第二设备发送的携带有所述数据使用方标识和所述加密数据的数据查看请求后,若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据;
将所述解密数据发送给所述第二设备。
9.一种数据共享装置,其特征在于,应用于数据共享***中的区块链***,所述数据共享***包括第一设备、第二设备和所述区块链***,所述装置包括:
存储模块,用于接收所述第一设备发送的数据托管请求,所述数据托管请求携带目标数据和所述目标数据的属性信息,所述目标数据的属性信息包括数据提供方标识;对所述目标数据进行存储,得到目标数据存储信息;将所述数据提供方标识与所述目标数据存储信息对应存储;将所述目标数据存储信息发送给所述第一设备;
加密模块,用于接收所述第一设备发送的携带有数据使用方标识和所述目标数据存储信息的数据获取请求,所述数据获取请求是所述第一设备在接收到所述第二设备发送的携带有所述数据使用方标识的数据使用请求后发送的;根据所述数据获取请求携带的目标数据存储信息获取所述目标数据;获取与所述数据获取请求携带的目标数据存储信息对应存储的数据提供方标识,根据获取到的数据提供方标识获取所述数据提供方的公钥;使用所述数据提供方的公钥对所述目标数据进行加密,得到加密数据;设置所述数据使用方标识具有所述目标数据的使用权限;
发送模块,用于将所述加密数据发送给所述第二设备;
解密模块,用于接收到所述第二设备发送的携带有所述数据使用方标识和所述加密数据的数据查看请求后,若确定所述数据查看请求携带的数据使用方标识具有所述目标数据的使用权限,则使用所述数据提供方的私钥对所述数据查看请求携带的加密数据进行解密,得到解密数据;
所述发送模块,还用于将所述解密数据发送给所述第二设备。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求8所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求8所述的方法。
CN202011432334.8A 2020-12-09 2020-12-09 数据共享方法、***、装置、设备和存储介质 Active CN112532646B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011432334.8A CN112532646B (zh) 2020-12-09 2020-12-09 数据共享方法、***、装置、设备和存储介质
PCT/CN2020/138055 WO2022120938A1 (zh) 2020-12-09 2020-12-21 数据共享方法、***、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011432334.8A CN112532646B (zh) 2020-12-09 2020-12-09 数据共享方法、***、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN112532646A CN112532646A (zh) 2021-03-19
CN112532646B true CN112532646B (zh) 2022-08-16

Family

ID=74998789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011432334.8A Active CN112532646B (zh) 2020-12-09 2020-12-09 数据共享方法、***、装置、设备和存储介质

Country Status (2)

Country Link
CN (1) CN112532646B (zh)
WO (1) WO2022120938A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792318A (zh) * 2021-09-18 2021-12-14 上海数据交易中心有限公司 数据授权方法及装置、计算机可读存储介质、计算机设备
CN114221791B (zh) * 2021-11-19 2023-06-23 建信金融科技有限责任公司 数据处理方法、装置、设备及存储介质
CN113935070B (zh) 2021-12-16 2022-06-07 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质
CN116504365A (zh) * 2023-06-25 2023-07-28 安徽影联云享医疗科技有限公司 一种医学影像信息共享方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019214211A1 (zh) * 2018-05-10 2019-11-14 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备
CN110719163A (zh) * 2019-09-29 2020-01-21 联想(北京)有限公司 一种信息处理方法、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4614377B2 (ja) * 2000-03-01 2011-01-19 キヤノン株式会社 暗号化データ管理システム及び方法、記憶媒体
CN106992990A (zh) * 2017-05-19 2017-07-28 北京牛链科技有限公司 数据共享方法和***以及区块链***和计算设备
CN108462568B (zh) * 2018-02-11 2021-08-06 西安电子科技大学 一种基于区块链的安全文件存储和共享方法、云存储***
CN108923925B (zh) * 2018-06-22 2022-11-08 北京京东尚科信息技术有限公司 应用于区块链的数据存储方法和装置
CN109639753B (zh) * 2018-10-26 2021-08-17 众安信息技术服务有限公司 一种基于区块链的数据共享方法及***
CN110336833B (zh) * 2019-07-30 2022-06-21 中国工商银行股份有限公司 基于区块链的图片内容共识方法、服务器
CN110535833B (zh) * 2019-08-07 2020-06-09 中国石油大学(北京) 一种基于区块链的数据共享控制方法
CN111460400B (zh) * 2020-03-31 2024-06-18 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN111797415A (zh) * 2020-06-30 2020-10-20 远光软件股份有限公司 基于区块链的数据共享方法、电子设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019214211A1 (zh) * 2018-05-10 2019-11-14 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备
CN110719163A (zh) * 2019-09-29 2020-01-21 联想(北京)有限公司 一种信息处理方法、设备及存储介质

Also Published As

Publication number Publication date
WO2022120938A1 (zh) 2022-06-16
CN112532646A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN112532646B (zh) 数据共享方法、***、装置、设备和存储介质
US11868509B2 (en) Method and arrangement for detecting digital content tampering
CN109862041B (zh) 一种数字身份认证方法、设备、装置、***及存储介质
EP3404891B1 (en) Method and system for distributing digital content in peer-to-peer network
Fabian et al. Collaborative and secure sharing of healthcare data in multi-clouds
US20190074968A1 (en) Method, apparatus and system for data encryption and decryption
US9088538B2 (en) Secure network storage
CN113193965B (zh) 基于nft的数字内容实物化展示***
CN110199287A (zh) 利用密封包围区的数据解封
CN110199288A (zh) 交叉平台包围区数据密封
CN110199286A (zh) 利用密封包围区的数据密封
CN110214324A (zh) 密钥保管库包围区
CN110199284A (zh) 交叉平台包围区身份
CN110226167A (zh) 抽象包围区身份
JP6326173B1 (ja) データ送受信システム及びデータ送受信方法
CN110214323A (zh) 包围区抽象模型
CN112131316A (zh) 应用于区块链***的数据处理方法及装置
US8848922B1 (en) Distributed encryption key management
CN110199285A (zh) 从属包围区二进制文件
KR101648364B1 (ko) 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법
JP2014109826A (ja) 広域分散医療情報ネットワークの緊急時のためのデータ管理機構
CN112307116A (zh) 基于区块链的数据访问控制方法、装置及设备
CN110214321A (zh) 嵌套包围区身份
CN112529402A (zh) 任务委派方法、***、装置、设备和存储介质
TW201933826A (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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210319

Assignee: Hangzhou Quanke Technology Co.,Ltd.

Assignor: HANGZHOU HYPERCHAIN TECHNOLOGIES Co.,Ltd.

Contract record no.: X2022980029948

Denomination of invention: Data sharing method, system, device, device and storage medium

Granted publication date: 20220816

License type: Common License

Record date: 20230115

EE01 Entry into force of recordation of patent licensing contract