CN117294457A - 一种数据共享系统、方法、装置及电子设备 - Google Patents
一种数据共享系统、方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117294457A CN117294457A CN202210691257.0A CN202210691257A CN117294457A CN 117294457 A CN117294457 A CN 117294457A CN 202210691257 A CN202210691257 A CN 202210691257A CN 117294457 A CN117294457 A CN 117294457A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- target data
- edge node
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012795 verification Methods 0.000 claims abstract description 41
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
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为本发明实施例提供的一种可能的数据共享系统的具体结构示例图;
图1c为本发明实施例提供的一种指定区块的结构示例图;
图2为本发明实施例提供的第一种数据共享方法的流程示意图;
图3a为本发明实施例提供的第二种数据共享方法的流程示意图;
图3b为本发明实施例提供的一种数据请求方通过第一边缘节点访问目标数据的流程示例图;
图4a为本发明实施例提供的第三种数据共享方法的流程示意图;
图4b为本发明实施例提供的一种数据所有方将目标数据密文上传存储至第二边缘节点的流程示例图;
图5为本发明实施例提供的一种数据共享装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中在边缘计算的应用场景下,边缘节点之间难以实现数据安全共享的问题,本发明实施例提供了一种数据共享系统、方法、装置及电子设备。
下面通过具体实施例对本发明实施例提供的数据共享系统进行详细说明。
本发明实施例的系统应用于边缘计算平台,可以通过边缘计算平台部署。在实际使用过程中,也可以搭载在实体电子设备、虚拟机等运行。
参见图1a,图1a为本发明实施例提供的一种数据共享系统的结构示意图,包括:数据请求方101、多个边缘节点102及数据所有方103;
所述数据请求方,用于向本地对应的第一边缘节点发送数据请求,其中,所述数据请求包括所请求的目标数据的数据标识;
所述第一边缘节点,用于根据所述数据标识,从区块链的指定区块中获取所述目标数据的认证令牌,在基于所述认证令牌判定允许所述数据请求方访问所述目标数据的情况下,向所述数据请求方发送表示允许访问的验证信息,其中,所述认证令牌中包括所述目标数据的访问条件;
所述数据请求方,还用于在接收到所述验证信息后,生成自身的公私钥对,并将自身的公钥发送给所述数据所有方;
所述数据所有方,用于利用所述公钥加密所述目标数据的目标密钥,得到加密后的所述目标密钥,并发送给存储目标数据密文的第二边缘节点,其中,所述目标数据密文为利用所述目标密钥加密后的目标数据;
所述第二边缘节点,用于在接收到所述加密后的目标密钥后,将所述加密后的目标密钥及所述目标数据密文发送给所述数据请求方;
所述数据请求方,还用于利用自身的私钥对所述加密后的目标密钥进行解密,得到所述目标密钥;利用所述目标密钥对所述目标数据密文进行解密,得到所述目标数据。
本发明提供的数据共享系统中包括多个边缘节点,多个边缘节点之间相互连通,分别部署在不同的位置,以靠近处于不同位置的用户端或数据源,与所靠近的用户端或数据源实现本地对应,为其提供更快的网络响应。其中,数据请求方本地对应的边缘节点称之为第一边缘节点,数据所有方本地对应的边缘节点则称之为第二边缘节点。数据所有方将目标数据加密后所得到的目标数据密文上传存储于第二边缘节点。当数据请求方请求访问目标数据时,需要向第一边缘节点发送数据请求,通过第一边缘节点实现对目标数据的访问。
区块链是一种去中心化的分布式数据管理框架,现已应用于许多分布式系统场景,其通过去中心化、不可伪造的计算模型能够高效、低成本的实现分布式可信计算、交易等,目前在金融、物流、工业制造、医疗、物联网等领域广泛应用。在本发明实施例中,上述多个边缘节点构建成一条区块链,一个例子中,可以是一条私有链或联盟链。各边缘节点中所存储的数据的认证令牌均与各自的数据标识对应保存在区块链的指定区块中。
第一边缘节点在接收到数据请求方发送的包括数据标识的数据请求后,从区块链的指定区块中获取与该数据标识对应的目标数据的认证令牌。认证令牌中包括目标数据的访问条件,表示只有在满足该访问条件的情况下,才允许对目标数据进行访问。具体的,目标数据的访问条件可以是数据请求方的信息符合条件,例如,数据请求方的身份属性、ID(Identity document,身份标识号)、网络信息、保密等级等符合条件;也可以是边缘节点的信息符合条件,例如,边缘节点的节点ID、与第二边缘节点之间的网络路径信息、保密等级等符合条件;还可以是访问的时间符合条件。
第一边缘节点基于目标数据的认证令牌中的访问条件判断当前数据请求方能否被允许访问目标数据,当判定结果为允许数据请求方访问目标数据时,第一边缘节点向数据请求方发送表示允许访问的验证信息。
数据请求方在接收到第一边缘节点发送的验证信息后,生成自身的公私钥对,包括数据请求方自身的公钥和私钥。具体的,公钥和私钥为一对非对称的密钥对,其中,公钥为数据请求方发送给他人的密钥,用于加密相关数据;私钥则为数据请求方自己持有,用于对公钥加密的相关数据进行解密。在生成公私钥对后,数据请求方将公钥发送给数据所有方。
数据所有方在接收到数据请求方发送的公钥后,利用数据请求方的公钥加密目标数据的目标密钥,目标密钥即为上述数据所有方加密目标数据得到目标数据密文时,所利用的密钥。具体的,目标密钥为对称密钥,即加密目标数据和解密目标数据均为同一密钥。数据所有方得到公钥加密后的目标密钥,并将加密后的目标密钥发送给存储目标数据密文的第二边缘节点。
第二边缘节点在接收到加密后的目标密钥之后,则将自身存储的目标数据密文和该加密后的目标密钥一起发送给数据请求方。
接收到目标数据密文和加密后的目标密钥的数据请求方,首先利用自身的私钥对公钥加密后的目标密钥进行解密,得到目标密钥,再利用目标密钥对目标数据密文进行解密,从而得到目标数据。
由上可见,本发明实施例提供的数据共享系统,通过区块链存储数据的认证令牌,利用认证令牌对数据跨域访问进行权限认证控制,能够利用区块链去中心化的特点提高数据共享的安全性;再通过边缘节点存储、访问数据,从而降低用户端针对数据的资源开销,进而保障了数据共享的传输速率;与此同时,边缘节点所存储的数据是加密后的密文,所传输的数据密文的密钥是加密后的密钥,而密钥只有数据所有方以及通过认证令牌的权限认证的数据请求方能够获得,实现对数据的双重加密,降低了数据暴露的风险,实现了对数据进行跨域访问,进一步提高了数据在边缘节点之间共享的安全性,同时提高了数据跨域共享方案的普适性和通用性。
本发明的一个实施例中,所述数据请求还包括:所述数据请求方的用户属性信息,所述访问条件包括:允许访问的用户属性信息和节点属性信息;
所述第一边缘节点,具体用于从所述指定区块中获取所述目标数据的交易记录,根据所述交易记录中的节点标识确定上一次加密所述认证令牌的第二边缘节点;利用所述第二边缘节点的节点公钥对加密的所述认证令牌进行解密;基于解密后的所述认证令牌,判断所述数据请求方的用户属性信息和所述第一边缘节点的节点属性信息是否与所述认证令牌中的访问条件相匹配,若匹配,则判定允许所述数据请求方访问所述目标数据,向所述数据请求方发送所述验证信息。
上述区块链中的指定区块具体用于存储目标数据的交易记录,各边缘节点对目标数据进行存储、访问等都会产生交易记录。具体的,交易记录中包括目标数据的数据标识、目标数据被存储或访问的时刻、上一次对目标数据进行存储或访问的边缘节点的节点标识、被上一次对目标数据进行存储或访问的边缘节点利用自身的节点私钥加密后的目标数据的认证令牌、目标数据的数据所有方的ID等。一个例子中,交易记录中还可以包括目标数据存储所在的第二边缘节点的标识、目标数据的保密等级等。
本发明实施例中,数据所有方将目标数据密文上传存储至第二边缘节点后,在第一边缘节点之前,没有第三个边缘节点对目标数据进行访问或再次存储过,所以交易记录中上一次对目标数据进行存储或访问的边缘节点的节点标识是第二边缘节点的节点标识,加密后的认证令牌是利用第二边缘节点的节点私钥进行加密的。所以,第一边缘节点根据交易记录确定上一次对目标数据进行存储或访问的边缘节点是第二边缘节点之后,利用第二边缘节点的节点公钥解密得到目标数据的认证令牌,从而得到认证令牌中目标数据的访问条件。
上述各边缘节点的节点公钥用于解密各边缘节点用自身对应的节点私钥加密过的相关数据。一个例子中,上述各边缘节点的节点公钥是存储在区块链中的,则当第一边缘节点根据交易记录确定第二边缘节点的节点标识后,从区块链中获取第二边缘节点节点公钥,利用该节点公钥解密上述加密的认证令牌,从而得到认证令牌中目标数据的访问条件;又一个例子中,上述各边缘节点中均存储有其他各边缘节点的节点公钥,则当第一边缘节点根据交易记录确定第二边缘节点的节点标识后,利用自身存储的第二边缘节点的节点公钥解密上述加密的认证令牌,从而得到认证令牌中目标数据的访问条件。
当数据请求方的用户属性信息与目标数据的访问条件中包括的允许访问的用户属性信息相匹配、且第一边缘节点的节点属性信息也与访问条件中包括的允许访问的节点属性信息相匹配时,才判定数据请求方允许访问目标数据,此时才向数据请求方发送表示允许访问的验证信息;当数据请求方的用户属性信息与目标数据的访问条件中包括的允许访问的用户属性信息不匹配、或者第一边缘节点的节点属性信息与访问条件中包括的允许访问的节点属性信息不匹配时,都判定数据请求方不允许访问目标数据,此时则向数据请求方发送表示拒绝访问的验证信息。
一个例子中,上述用户属性信息可以指数据请求方的身份属性信息,具体的,可以是数据请求方的身份ID、数据请求方对应的用户的职业身份等,例如,目标数据的访问条件中包括的允许访问的用户属性信息为用户的职业身份,当用户为大学老师时,允许访问目标数据,则当数据请求方对应的用户的职业身份为大学老师时,数据请求方的用户属性信息与目标数据的访问条件中包括的允许访问的用户属性信息相匹配;上述节点属性信息可以指边缘节点的属性信息,具体的,可以是边缘节点的节点ID、与第二边缘节点之间的路径信息等,例如,目标数据的访问条件中包括的节点属性信息中包括允许访问的边缘节点的节点ID列表,则当第一边缘节点的节点ID在该列表中时,第一边缘节点的节点属性信息与目标数据的访问条件中包括的允许访问的节点属性信息相匹配。
本发明的一个实施例中,所述第一边缘节点,还用于在所述数据请求方得到所述目标数据之后,利用自身的节点私钥加密所述认证令牌,并基于所述加密后的认证令牌、所述第一边缘节点的节点标识及所述数据请求方得到所述目标数据的时刻,更新所述目标数据的交易记录;将更新后的交易记录生成新的指定区块,上传至所述区块链;
所述区块链,还用于将所述新的指定区块同步至各所述边缘节点。
在数据请求方得到目标数据后,则表示本次对目标数据的访问已经结束,此时第一边缘节点利用自身的节点私钥对上述解密后认证令牌重新加密,将第一边缘节点的节点标识作为本次访问目标数据的边缘节点的节点标识,记录数据请求方得到目标数据的时刻作为本次访问目标数据的访问时刻,并基于重新加密后的认证令牌、第一边缘节点的节点标识及数据请求方得到目标数据的时刻,更新目标数据的交易记录。将更新后的交易记录生成新的指定区块,上传至区块链,而区块链则将新的指定区块同步至各边缘节点。
由上可见,本发明实施例提供的数据共享系统,当第一边缘节点从指定区块中获取目标数据的交易记录,并根据交易记录中的节点标识确定上一次加密认证令牌的第二边缘节点,则利用所存储的第二边缘节点的节点公钥对加密的认证令牌进行解密,然后基于解密后的认证令牌,数据请求方的用户属性信息和第一边缘节点的节点属性信息是否与认证令牌中的访问条件相匹配,在匹配的情况下判定允许数据请求方访问目标数据,不匹配则拒绝数据请求方访问目标数据;并且,在数据请求方得到目标数据后更新交易记录,通过区块链同步更新后的交易记录,从而利用区块链实现对数据跨域访问的权限认证和对数据交易记录的同步更新,同时保证了数据的交易记录和访问权限都是去中心化且可信的,进而提高了数据共享的安全性;并且利用边缘节点对认证令牌进行加解密,降低了数据拥有方的加解密计算资源开销,提高了数据共享的传输速率。
本发明的一个实施例中,所述数据所有方,还用于在所述数据请求方向所述第一边缘节点发送数据请求之前,利用所述目标密钥加密所述目标数据,得到所述目标数据密文;将所述目标数据密文和所述目标数据的访问条件上传至所述第二边缘节点;
所述第二边缘节点,还用于向所述区块链请求分配所述目标数据对应的数据标识,并将所述数据标识和所述目标数据密文对应存储;根据所述目标数据的访问条件生成所述目标数据的认证令牌,并利用自身的节点私钥加密所述认证令牌;基于所述数据标识、加密后的所述认证令牌、所述第二边缘节点的节点标识以及所述第二边缘节点存储所述目标数据密文的时刻,生成所述目标数据的交易记录;将所述交易记录生成所述指定区块,上传至所述区块链;
所述区块链,还用于将所述指定区块同步至各所述边缘节点。
在数据请求方通过其本地对应的第一边缘节点请求访问目标数据之前,首先数据所有方要将目标数据密文上传存储至与其本地对应的第二边缘节点。数据所有方利用目标密钥加密目标数据,来得到目标数据密文,然后将目标数据密文和目标数据的访问条件一起上传至第二边缘节点。
第二边缘节点则在接收到目标数据密文和目标数据的访问条件之后,向区块链请求分配目标数据唯一对应的数据标识,并将数据标识和目标数据密文对应存储。然后根据目标数据的访问条件生成目标数据的认证令牌,再利用自身的节点私钥加密该认证令牌。再基于数据标识、加密后的认证令牌、第二边缘节点的节点标识以及第二边缘节点存储目标数据密文的时刻,生成目标数据的第一条交易记录,并将这条交易记录生成指定区块上传至区块链,然后区块链将该指定区块同步至各边缘节点。
由上可见,本发明实施例提供的数据共享系统,数据所有方将目标密钥加密后得到的目标数据密文,和目标数据的访问条件一起上传至第二边缘节点,然后第二边缘节点将通过区块链分配的唯一对应数据标识与目标数据密文对应存储,然后基于数据标识、加密后的认证令牌、第二边缘节点的节点标识以及第二边缘节点存储目标数据密文的时刻,生成目标数据的第一条交易记录,并将这条交易记录生成指定区块上传至区块链,使得区块链将该指定区块同步至各边缘节点,从而利用区块链存储数据的交易记录和权限认证身份,保证了存储或访问数据的边缘节点以及其构成的区块链都无法获得解密后的数据,提高了数据共享的安全性。
本发明的一个实施例中,如图1b所示,图1b提供了一种可能的数据共享系统的具体结构示例图。其中,边缘节点可以包括属性数据库、加解密服务器及可信用户列表。属性数据库用于存储边缘节点的节点属性,例如节点ID、路径信息等,还用于生成边缘节点的节点公私钥对;加解密服务器用于对数据的认证令牌进行加解密,提高密文加解密的速率,进一步降低数据的计算传输时延;可信用户列表用于存储通过注册的用户的信息,表示处于该列表的用户才允许作为数据请求方发送数据请求,以及存储允许访问的其他边缘节点对应的用户的信息。
上述区块链中与边缘节点对应的节点中可以包括分布式区块账本、秘钥数据库。秘钥数据库用于存储整个区块链中的其他各边缘计算节点的节点公钥以及本边缘节点的节点公私密钥对;分布式区块账本则用于利用长辈读写模块同步存储每次交易记录更新生成的指定区块。具体的,指定区块的结构可以如图1c所示,图1c提供了一种指定区块的结构示例图,包括区块头和区块体,区块头中包括指定区块的版本号、父区块哈希、时间戳、随机数、当前区块哈希、默尔克根(Merkle根);区块体中则包括多个哈希(Hash),如Hash1、Hash2、Hash12、Hash3、Hash4、Hash34、Hash1234,还包括目标数据的数据标识(Fid)、数据所有方的ID(Udo)、目标数据存储的第二边缘节点的节点标识(ECA)、目标数据的加密的认证令牌(AUTHFid)、上一次存储或访问目标数据的边缘节点的节点标识(EC’A)、目标数据的保密等级(CFid)、上一次目标数据被存储或访问的访问时刻(TimeStampFid)。其中加密的认证令牌是利用上一次访问目标数据的边缘节点即第二边缘节点的节点私钥(Kpri-A)加密的,认证令牌中包括允许访问目标数据的用户属性信息(ATTUSER)和边缘节点属性信息(ATTEC),加密的认证令牌可以以下述方式存储:
AUTHFid=Encrypt(Kpri-A,ATTUSER&&ATTEC)
参见图2,本发明实施例还提供了第一种数据共享方法的流程示意图,包括:
步骤S11:通过数据请求方向本地对应的第一边缘节点发送数据请求。
其中,所述数据请求包括所请求的目标数据的数据标识;
步骤S12:利用第一边缘节点根据所述数据标识,从区块链的指定区块中获取所述目标数据的认证令牌,在基于所述认证令牌判定允许所述数据请求方访问所述目标数据的情况下,向所述数据请求方发送表示允许访问的验证信息。
其中,所述认证令牌中包括所述目标数据的访问条件;
步骤S13:利用所述数据请求方在接收到所述验证信息后,生成自身的公私钥对,并将自身的公钥发送给数据所有方;
步骤S14:通过数据所有方利用所述公钥加密所述目标数据的目标密钥,得到加密后的所述目标密钥,并发送给存储目标数据密文的第二边缘节点。
其中,所述目标数据密文为利用所述目标密钥加密后的目标数据;
步骤S15:利用所述第二边缘节点在接收到所述加密后的目标密钥后,将所述加密后的目标密钥及所述目标数据密文发送给所述数据请求方;
步骤S16:通过数据请求方利用自身的私钥对所述加密后的目标密钥进行解密,得到所述目标密钥;利用所述目标密钥对所述目标数据密文进行解密,得到所述目标数据。
由上可见,本发明实施例提供的数据共享方法,通过区块链存储数据的认证令牌,利用认证令牌对数据跨域访问进行权限认证控制,能够利用区块链去中心化的特点提高数据共享的安全性;再通过边缘节点存储、访问数据,从而降低用户端针对数据的资源开销,进而保障了数据共享的传输速率;与此同时,边缘节点所存储的数据是加密后的密文,所传输的数据密文的密钥是加密后的密钥,而密钥只有数据所有方以及通过认证令牌的权限认证的数据请求方能够获得,实现对数据的双重加密,降低了数据暴露的风险,实现了对数据进行跨域访问,进一步提高了数据在边缘节点之间共享的安全性,同时提高了数据跨域共享方案的普适性和通用性。
在一种可能的实现方式中,所述数据请求还包括:所述数据请求方的用户属性信息,所述访问条件包括:允许访问的用户属性信息和节点属性信息;上述步骤S12利用第一边缘节点根据所述数据标识,从区块链的指定区块中确定所述目标数据的认证令牌,在基于所述认证令牌判定允许所述数据请求方访问所述目标数据的情况下,向所述数据请求方发送表示允许访问的验证信息,包括:
利用所述第一边缘节点从所述指定区块中获取所述目标数据的交易记录,根据所述交易记录中的节点标识确定上一次加密所述认证令牌的第二边缘节点;利用所述第二边缘节点的节点公钥对加密的所述认证令牌进行解密;基于解密后的所述认证令牌,判断所述数据请求方的用户属性信息和所述第一边缘节点的节点属性信息是否与所述认证令牌中的访问条件相匹配,若匹配,则判定允许所述数据请求方访问所述目标数据,向所述数据请求方发送所述验证信息。
本发明的一个实施例中,如图3a所示,本发明实施例还提供了第二种数据共享方法的流程示意图,在所述通过数据请求方利用自身的私钥对所述加密后的目标密钥进行解密,得到所述目标密钥,并利用所述目标密钥对所述目标数据密文进行解密,得到所述目标数据之后,上述方法还包括:
步骤S21:通过所述第一边缘节点利用自身的节点私钥加密所述认证令牌,并基于加密后的所述认证令牌、所述第一边缘节点的节点标识及所述数据请求方得到所述目标数据的时刻,更新所述目标数据的交易记录;将更新后的交易记录生成新的指定区块,上传至所述区块链;
步骤S22:利用所述区块链将所述新的指定区块同步至各所述边缘节点。
本发明的一个实施例中,上述数据请求方通过第一边缘节点访问目标数据的流程示例图可以如图3b所示。其中,ECB为第一边缘节点,DU为数据请求方,Kpub-DU和Kpri-DU为数据请求方的公私钥对,Encrypt为加密,Decrypt为解密,DO为数据所有方,CTk为加密后的目标密钥,data为目标数据,CTdata则为目标数据密文。
由上可见,本发明实施例提供的数据共享方法,当第一边缘节点从指定区块中获取目标数据的交易记录,并根据交易记录中的节点标识确定上一次加密认证令牌的第二边缘节点,则利用所存储的第二边缘节点的节点公钥对加密的认证令牌进行解密,然后基于解密后的认证令牌,数据请求方的用户属性信息和第一边缘节点的节点属性信息是否与认证令牌中的访问条件相匹配,在匹配的情况下判定允许数据请求方访问目标数据,不匹配则拒绝数据请求方访问目标数据;并且,在数据请求方得到目标数据后更新交易记录,通过区块链同步更新后的交易记录,从而利用区块链实现对数据跨域访问的权限认证和对数据交易记录的同步更新,同时保证了数据的交易记录和访问权限都是去中心化且可信的,进而提高了数据共享的安全性;并且利用边缘节点对认证令牌进行加解密,降低了数据拥有方的加解密计算资源开销,提高了数据共享的传输速率。
本发明的一个实施例中,如图4a所示,本发明实施例还提供了第三种数据共享方法的流程示意图在所述通过数据请求方向本地对应的第一边缘节点发送数据请求之前,上述方法还包括:
步骤S31:通过所述数据所有方利用所述目标密钥加密所述目标数据,得到所述目标数据密文;将所述目标数据密文和所述目标数据的访问条件上传至所述第二边缘节点;
步骤S32:利用第二边缘节点向所述区块链请求分配所述目标数据对应的数据标识,并将所述数据标识和所述目标数据密文对应存储;根据所述目标数据的访问条件生成所述目标数据的认证令牌,并利用自身的节点私钥加密所述认证令牌;基于所述数据标识、加密后的所述认证令牌、所述第二边缘节点的节点标识以及所述第二边缘节点存储所述目标数据密文的时刻,生成所述目标数据的交易记录;将所述交易记录生成所述指定区块,上传至所述区块链;
步骤S33:利用所述区块链将所述指定区块同步至各所述边缘节点。
本发明的一个实施例中,上述数据所有方将目标数据密文上传存储至第二边缘节点的流程示例图可以如图4b所示。
由上可见,本发明实施例提供的数据共享方法,数据所有方将目标密钥加密后得到的目标数据密文,和目标数据的访问条件一起上传至第二边缘节点,然后第二边缘节点将通过区块链分配的唯一对应数据标识与目标数据密文对应存储,然后基于数据标识、加密后的认证令牌、第二边缘节点的节点标识以及第二边缘节点存储目标数据密文的时刻,生成目标数据的第一条交易记录,并将这条交易记录生成指定区块上传至区块链,使得区块链将该指定区块同步至各边缘节点,从而利用区块链存储数据的交易记录和权限认证身份,保证了存储或访问数据的边缘节点以及其构成的区块链都无法获得解密后的数据,提高了数据共享的安全性。
参见图5,本发明实施例还提供了一种数据共享装置的结构示意图,应用于数据共享系统,包括:
请求发送模块501,用于通过数据请求方向本地对应的第一边缘节点发送数据请求,其中,所述数据请求包括所请求的目标数据的数据标识;
信息验证模块502,用于利用第一边缘节点根据所述数据标识,从区块链的指定区块中获取所述目标数据的认证令牌,在基于所述认证令牌判定允许所述数据请求方访问所述目标数据的情况下,向所述数据请求方发送表示允许访问的验证信息,其中,所述认证令牌中包括所述目标数据的访问条件;
公钥发送模块503,用于利用所述数据请求方在接收到所述验证信息后,生成自身的公私钥对,并将自身的公钥发送给数据所有方;
目标密钥加密模块504,用于通过数据所有方利用所述公钥加密所述目标数据的目标密钥,得到加密后的所述目标密钥,并发送给存储目标数据密文的第二边缘节点,其中,所述目标数据密文为利用所述目标密钥加密后的目标数据;
密文发送模块505,用于利用所述第二边缘节点在接收到所述加密后的目标密钥后,将所述加密后的目标密钥及所述目标数据密文发送给所述数据请求方;
数据获得模块506,用于通过数据请求方利用自身的私钥对所述加密后的目标密钥进行解密,得到所述目标密钥;利用所述目标密钥对所述目标数据密文进行解密,得到所述目标数据。
由上可见,本发明实施例提供的数据共享装置,通过区块链存储数据的认证令牌,利用认证令牌对数据跨域访问进行权限认证控制,能够利用区块链去中心化的特点提高数据共享的安全性;再通过边缘节点存储、访问数据,从而降低用户端针对数据的资源开销,进而保障了数据共享的传输速率;与此同时,边缘节点所存储的数据是加密后的密文,所传输的数据密文的密钥是加密后的密钥,而密钥只有数据所有方以及通过认证令牌的权限认证的数据请求方能够获得,实现对数据的双重加密,降低了数据暴露的风险,实现了对数据进行跨域访问,进一步提高了数据在边缘节点之间共享的安全性,同时提高了数据跨域共享方案的普适性和通用性。
本发明的一个实施例中,所述数据请求还包括:所述数据请求方的用户属性信息,所述访问条件包括:允许访问的用户属性信息和节点属性信息;
所述信息验证模块,具体用于:
利用所述第一边缘节点从所述指定区块中获取所述目标数据的交易记录,根据所述交易记录中的节点标识确定上一次加密所述认证令牌的第二边缘节点;利用所述第二边缘节点的节点公钥对加密的所述认证令牌进行解密;基于解密后的所述认证令牌,判断所述数据请求方的用户属性信息和所述第一边缘节点的节点属性信息是否与所述认证令牌中的访问条件相匹配,若匹配,则判定允许所述数据请求方访问所述目标数据,向所述数据请求方发送所述验证信息。
本发明的一个实施例中,所述装置还包括:
交易记录更新模块,用于通过所述第一边缘节点利用自身的节点私钥加密所述认证令牌,并基于加密后的所述认证令牌、所述第一边缘节点的节点标识及所述数据请求方得到所述目标数据的时刻,更新所述目标数据的交易记录;将更新后的交易记录生成新的指定区块,上传至所述区块链;
第一区块同步模块,用于利用所述区块链将所述新的指定区块同步至各所述边缘节点。
由上可见,本发明实施例提供的数据共享装置,当第一边缘节点从指定区块中获取目标数据的交易记录,并根据交易记录中的节点标识确定上一次加密认证令牌的第二边缘节点,则利用所存储的第二边缘节点的节点公钥对加密的认证令牌进行解密,然后基于解密后的认证令牌,数据请求方的用户属性信息和第一边缘节点的节点属性信息是否与认证令牌中的访问条件相匹配,在匹配的情况下判定允许数据请求方访问目标数据,不匹配则拒绝数据请求方访问目标数据;并且,在数据请求方得到目标数据后更新交易记录,通过区块链同步更新后的交易记录,从而利用区块链实现对数据跨域访问的权限认证和对数据交易记录的同步更新,同时保证了数据的交易记录和访问权限都是去中心化且可信的,进而提高了数据共享的安全性;并且利用边缘节点对认证令牌进行加解密,降低了数据拥有方的加解密计算资源开销,提高了数据共享的传输速率。
本发明的一个实施例中,所述装置还包括:
数据上传模块,用于通过所述数据所有方利用所述目标密钥加密所述目标数据,得到所述目标数据密文;将所述目标数据密文和所述目标数据的访问条件上传至所述第二边缘节点;
交易记录生成模块,用于利用第二边缘节点向所述区块链请求分配所述目标数据对应的数据标识,并将所述数据标识和所述目标数据密文对应存储;根据所述目标数据的访问条件生成所述目标数据的认证令牌,并利用自身的节点私钥加密所述认证令牌;基于所述数据标识、加密后的所述认证令牌、所述第二边缘节点的节点标识以及所述第二边缘节点存储所述目标数据密文的时刻,生成所述目标数据的交易记录;将所述交易记录生成所述指定区块,上传至所述区块链;
第二区块同步模块,用于利用所述区块链将所述指定区块同步至各所述边缘节点。
由上可见,本发明实施例提供的数据共享装置,数据所有方将目标密钥加密后得到的目标数据密文,和目标数据的访问条件一起上传至第二边缘节点,然后第二边缘节点将通过区块链分配的唯一对应数据标识与目标数据密文对应存储,然后基于数据标识、加密后的认证令牌、第二边缘节点的节点标识以及第二边缘节点存储目标数据密文的时刻,生成目标数据的第一条交易记录,并将这条交易记录生成指定区块上传至区块链,使得区块链将该指定区块同步至各边缘节点,从而利用区块链存储数据的交易记录和权限认证身份,保证了存储或访问数据的边缘节点以及其构成的区块链都无法获得解密后的数据,提高了数据共享的安全性。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述任一所述的数据共享方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一数据共享方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一数据共享方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、装置、电子设备、存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种数据共享系统,其特征在于,所述系统包括:数据请求方、多个边缘节点及数据所有方;
所述数据请求方,用于向本地对应的第一边缘节点发送数据请求,其中,所述数据请求包括所请求的目标数据的数据标识;
所述第一边缘节点,用于根据所述数据标识,从区块链的指定区块中获取所述目标数据的认证令牌,在基于所述认证令牌判定允许所述数据请求方访问所述目标数据的情况下,向所述数据请求方发送表示允许访问的验证信息,其中,所述认证令牌中包括所述目标数据的访问条件;
所述数据请求方,还用于在接收到所述验证信息后,生成自身的公私钥对,并将自身的公钥发送给所述数据所有方;
所述数据所有方,用于利用所述公钥加密所述目标数据的目标密钥,得到加密后的所述目标密钥,并发送给存储目标数据密文的第二边缘节点;
所述第二边缘节点,用于在接收到所述加密后的目标密钥后,将所述加密后的目标密钥及所述目标数据密文发送给所述数据请求方;
所述数据请求方,还用于利用自身的私钥对所述加密后的目标密钥进行解密,得到所述目标密钥;利用所述目标密钥对所述目标数据密文进行解密,得到所述目标数据。
2.根据权利要求1所述的系统,其特征在于,所述数据请求还包括:所述数据请求方的用户属性信息,所述访问条件包括:允许访问的用户属性信息和节点属性信息;
所述第一边缘节点,具体用于从所述指定区块中获取所述目标数据的交易记录,根据所述交易记录中的节点标识确定上一次加密所述认证令牌的第二边缘节点;利用所述第二边缘节点的节点公钥对加密的所述认证令牌进行解密;基于解密后的所述认证令牌,判断所述数据请求方的用户属性信息和所述第一边缘节点的节点属性信息是否与所述认证令牌中的访问条件相匹配,若匹配,则判定允许所述数据请求方访问所述目标数据,向所述数据请求方发送所述验证信息。
3.根据权利要求1所述的系统,其特征在于,
所述第一边缘节点,还用于在所述数据请求方得到所述目标数据之后,利用自身的节点私钥加密所述认证令牌,并基于加密后的所述认证令牌、所述第一边缘节点的节点标识及所述数据请求方得到所述目标数据的时刻,更新所述目标数据的交易记录;将更新后的交易记录生成新的指定区块,上传至所述区块链;
所述区块链,还用于将所述新的指定区块同步至各所述边缘节点。
4.根据权利要求1所述的系统,其特征在于,
所述数据所有方,还用于在所述数据请求方向所述第一边缘节点发送数据请求之前,利用所述目标密钥加密所述目标数据,得到所述目标数据密文;将所述目标数据密文和所述目标数据的访问条件上传至所述第二边缘节点;
所述第二边缘节点,还用于向所述区块链请求分配所述目标数据对应的数据标识,并将所述数据标识和所述目标数据密文对应存储;根据所述目标数据的访问条件生成所述目标数据的认证令牌,并利用自身的节点私钥加密所述认证令牌;基于所述数据标识、加密后的所述认证令牌、所述第二边缘节点的节点标识以及所述第二边缘节点存储所述目标数据密文的时刻,生成所述目标数据的交易记录;将所述交易记录生成所述指定区块,上传至所述区块链;
所述区块链,还用于将所述指定区块同步至各所述边缘节点。
5.一种数据共享方法,应用于数据共享系统,其特征在于,所述方法包括:
通过数据请求方向本地对应的第一边缘节点发送数据请求,其中,所述数据请求包括所请求的目标数据的数据标识;
利用第一边缘节点根据所述数据标识,从区块链的指定区块中获取所述目标数据的认证令牌,在基于所述认证令牌判定允许所述数据请求方访问所述目标数据的情况下,向所述数据请求方发送表示允许访问的验证信息,其中,所述认证令牌中包括所述目标数据的访问条件;
利用所述数据请求方在接收到所述验证信息后,生成自身的公私钥对,并将自身的公钥发送给数据所有方;
通过数据所有方利用所述公钥加密所述目标数据的目标密钥,得到加密后的所述目标密钥,并发送给存储目标数据密文的第二边缘节点;
利用所述第二边缘节点在接收到所述加密后的目标密钥后,将所述加密后的目标密钥及所述目标数据密文发送给所述数据请求方;
通过数据请求方利用自身的私钥对所述加密后的目标密钥进行解密,得到所述目标密钥;利用所述目标密钥对所述目标数据密文进行解密,得到所述目标数据。
6.根据权利要求5所述的方法,其特征在于,所述数据请求还包括:所述数据请求方的用户属性信息,所述访问条件包括:允许访问的用户属性信息和节点属性信息;
所述利用第一边缘节点根据所述数据标识,从区块链的指定区块中确定所述目标数据的认证令牌,在基于所述认证令牌判定允许所述数据请求方访问所述目标数据的情况下,向所述数据请求方发送表示允许访问的验证信息,包括:
利用所述第一边缘节点从所述指定区块中获取所述目标数据的交易记录,根据所述交易记录中的节点标识确定上一次加密所述认证令牌的第二边缘节点;利用所述第二边缘节点的节点公钥对加密的所述认证令牌进行解密;基于解密后的所述认证令牌,判断所述数据请求方的用户属性信息和所述第一边缘节点的节点属性信息是否与所述认证令牌中的访问条件相匹配,若匹配,则判定允许所述数据请求方访问所述目标数据,向所述数据请求方发送所述验证信息。
7.根据权利要求5所述的方法,其特征在于,在所述通过数据请求方利用自身的私钥对所述加密后的目标密钥进行解密,得到所述目标密钥,并利用所述目标密钥对所述目标数据密文进行解密,得到所述目标数据之后,所述方法还包括:
通过所述第一边缘节点利用自身的节点私钥加密所述认证令牌,并基于加密后的所述认证令牌、所述第一边缘节点的节点标识及所述数据请求方得到所述目标数据的时刻,更新所述目标数据的交易记录;将更新后的交易记录生成新的指定区块,上传至所述区块链;
利用所述区块链将所述新的指定区块同步至各所述边缘节点。
8.根据权利要求5所述的方法,其特征在于,在所述通过数据请求方向本地对应的第一边缘节点发送数据请求之前,所述方法还包括:
通过所述数据所有方利用所述目标密钥加密所述目标数据,得到所述目标数据密文;将所述目标数据密文和所述目标数据的访问条件上传至所述第二边缘节点;
利用第二边缘节点向所述区块链请求分配所述目标数据对应的数据标识,并将所述数据标识和所述目标数据密文对应存储;根据所述目标数据的访问条件生成所述目标数据的认证令牌,并利用自身的节点私钥加密所述认证令牌;基于所述数据标识、加密后的所述认证令牌、所述第二边缘节点的节点标识以及所述第二边缘节点存储所述目标数据密文的时刻,生成所述目标数据的交易记录;将所述交易记录生成所述指定区块,上传至所述区块链;
利用所述区块链将所述指定区块同步至各所述边缘节点。
9.一种数据共享装置,应用于数据共享系统,其特征在于,所述装置包括:
请求发送模块,用于通过数据请求方向本地对应的第一边缘节点发送数据请求,其中,所述数据请求包括所请求的目标数据的数据标识;
信息验证模块,用于利用第一边缘节点根据所述数据标识,从区块链的指定区块中获取所述目标数据的认证令牌,在基于所述认证令牌判定允许所述数据请求方访问所述目标数据的情况下,向所述数据请求方发送表示允许访问的验证信息,其中,所述认证令牌中包括所述目标数据的访问条件;
公钥发送模块,用于利用所述数据请求方在接收到所述验证信息后,生成自身的公私钥对,并将自身的公钥发送给数据所有方;
目标密钥加密模块,用于通过数据所有方利用所述公钥加密所述目标数据的目标密钥,得到加密后的所述目标密钥,并发送给存储目标数据密文的第二边缘节点;
密文发送模块,用于利用所述第二边缘节点在接收到所述加密后的目标密钥后,将所述加密后的目标密钥及所述目标数据密文发送给所述数据请求方;
数据获得模块,用于通过数据请求方利用自身的私钥对所述加密后的目标密钥进行解密,得到所述目标密钥;利用所述目标密钥对所述目标数据密文进行解密,得到所述目标数据。
10.根据权利要求9所述的装置,其特征在于,所述数据请求还包括:所述数据请求方的用户属性信息,所述访问条件包括:允许访问的用户属性信息和节点属性信息;
所述信息验证模块,具体用于:
利用所述第一边缘节点从所述指定区块中获取所述目标数据的交易记录,根据所述交易记录中的节点标识确定上一次加密所述认证令牌的第二边缘节点;利用所述第二边缘节点的节点公钥对加密的所述认证令牌进行解密;基于解密后的所述认证令牌,判断所述数据请求方的用户属性信息和所述第一边缘节点的节点属性信息是否与所述认证令牌中的访问条件相匹配,若匹配,则判定允许所述数据请求方访问所述目标数据,向所述数据请求方发送所述验证信息。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
交易记录更新模块,用于通过所述第一边缘节点利用自身的节点私钥加密所述认证令牌,并基于加密后的所述认证令牌、所述第一边缘节点的节点标识及所述数据请求方得到所述目标数据的时刻,更新所述目标数据的交易记录;将更新后的交易记录生成新的指定区块,上传至所述区块链;
第一区块同步模块,用于利用所述区块链将所述新的指定区块同步至各所述边缘节点。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
数据上传模块,用于通过所述数据所有方利用所述目标密钥加密所述目标数据,得到所述目标数据密文;将所述目标数据密文和所述目标数据的访问条件上传至所述第二边缘节点;
交易记录生成模块,用于利用第二边缘节点向所述区块链请求分配所述目标数据对应的数据标识,并将所述数据标识和所述目标数据密文对应存储;根据所述目标数据的访问条件生成所述目标数据的认证令牌,并利用自身的节点私钥加密所述认证令牌;基于所述数据标识、加密后的所述认证令牌、所述第二边缘节点的节点标识以及所述第二边缘节点存储所述目标数据密文的时刻,生成所述目标数据的交易记录;将所述交易记录生成所述指定区块,上传至所述区块链;
第二区块同步模块,用于利用所述区块链将所述指定区块同步至各所述边缘节点。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求5-8任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求5-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210691257.0A CN117294457A (zh) | 2022-06-17 | 2022-06-17 | 一种数据共享系统、方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210691257.0A CN117294457A (zh) | 2022-06-17 | 2022-06-17 | 一种数据共享系统、方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117294457A true CN117294457A (zh) | 2023-12-26 |
Family
ID=89243140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210691257.0A Pending CN117294457A (zh) | 2022-06-17 | 2022-06-17 | 一种数据共享系统、方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117294457A (zh) |
-
2022
- 2022-06-17 CN CN202210691257.0A patent/CN117294457A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431484B2 (en) | Blockchain transaction privacy enhancement through broadcast encryption | |
JP6547079B1 (ja) | 登録・認可方法、装置及びシステム | |
US11153290B2 (en) | Advanced security protocol for broadcasting and synchronizing shared folders over local area network | |
US10735202B2 (en) | Anonymous consent and data sharing on a blockchain | |
CN113132103B (zh) | 一种数据跨域安全共享系统及方法 | |
KR102025409B1 (ko) | 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법 | |
KR102113910B1 (ko) | 보안 동기화 시스템에서의 유효하지 않은 참가자들의 자동 식별 | |
Michalas | The lord of the shares: Combining attribute-based encryption and searchable encryption for flexible data sharing | |
US20210344482A1 (en) | Method of data transfer, a method of controlling use of data and cryptographic device | |
JP5215289B2 (ja) | 分散式の委任および検証のための方法、装置、およびシステム | |
KR101985179B1 (ko) | 블록체인 기반의 ID as a Service | |
CN112581126A (zh) | 基于区块链的平台数据管理方法、装置及存储介质 | |
US11741241B2 (en) | Private data processing | |
JP7421771B2 (ja) | Iotサービスを実施するための方法、アプリケーションサーバ、iot装置および媒体 | |
CN114513533A (zh) | 一种分类分级健身健康大数据共享系统及方法 | |
CN107332858B (zh) | 云数据存储方法 | |
CN107465681B (zh) | 云计算大数据隐私保护方法 | |
CN114239046A (zh) | 数据共享方法 | |
US11595398B1 (en) | Access control for named domain networking | |
EP4158838A1 (en) | Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network | |
CN113901505A (zh) | 数据共享方法、装置、电子设备及存储介质 | |
KR20210058313A (ko) | 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템 | |
WO2022227799A1 (zh) | 设备注册方法及装置、计算机设备、存储介质 | |
TW202304172A (zh) | 位置密鑰加密系統 | |
CN117294457A (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 |