CN115604030A - 数据共享方法、装置、电子设备和存储介质 - Google Patents

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

Info

Publication number
CN115604030A
CN115604030A CN202211513665.3A CN202211513665A CN115604030A CN 115604030 A CN115604030 A CN 115604030A CN 202211513665 A CN202211513665 A CN 202211513665A CN 115604030 A CN115604030 A CN 115604030A
Authority
CN
China
Prior art keywords
key
authority
user terminal
encrypted
target user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211513665.3A
Other languages
English (en)
Other versions
CN115604030B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202211513665.3A priority Critical patent/CN115604030B/zh
Publication of CN115604030A publication Critical patent/CN115604030A/zh
Application granted granted Critical
Publication of CN115604030B publication Critical patent/CN115604030B/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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key

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

本发明涉及计算机领域,提供一种数据共享方法、装置、电子设备和存储介质,该方法包括:根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出目标用户终端的权限分发密钥密文;将目标用户终端的权限分发密钥密文和加密数据对象发送至目标用户终端,以供目标用户终端基于权限分发密钥密文和加密数据对象得到对象内容和操作权限,通过对象内容和操作权限进行数据共享。本发明提供的数据共享方法将权限分发密钥密文下发至不同用户终端,使得不同用户终端不需要发送用户ID即可共享相同操作权限,从而无法通过用户ID区分用户终端,即无法判断当前执行操作的用户终端的用户身份,提升了用户终端执行各项操作权限时的匿名性。

Description

数据共享方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种数据共享方法、装置、电子设备和存储介质。
背景技术
随着信息技术的高速发展,远程数据存储和共享已经成为被广泛采用的技术。数据共享系统常常用于存储敏感数据,因此,保护用户的隐私和数据完整性至关重要。
目前常见的数据共享方法允许服务器跟踪用户,即用户终端提供用户ID以及自身对应的私钥签名,服务器根据用户ID找到用户公钥验证用户身份,然后允许用户终端进行读/写操作。因此,在数据共享时,用户终端执行各项操作权限时都会被跟踪,导致了用户终端执行各项操作权限时的匿名性低。
发明内容
本发明提供一种数据共享方法、装置、电子设备和存储介质,旨在提升用户终端执行各项操作权限时的匿名性。
第一方面,本发明提供一种数据共享方法,所述数据共享方法应用于云服务器,所述数据共享方法,包括:
根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
在一个实施例中,所述根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,包括:
确定所述目标用户终端的用户属性是否符合,所述加密数据对象的访问控制策略;
若所述目标用户终端的用户属性符合,所述加密数据对象的访问控制策略,则输出所述目标用户终端的权限分发密钥密文;
其中,所述确定所述目标用户终端的用户属性是否符合,所述加密数据对象的访问控制策略,包括:
通过行向量映射函数将所述目标用户终端的用户属性映射到共享生成矩阵的对应行,得到所述目标用户终端的属性矩阵;
若所述目标用户终端的属性矩阵存在其可逆子矩阵,则确定所述目标用户终端的用户属性,符合所述加密数据对象的访问控制策略;
若所述目标用户终端的属性矩阵不存在其可逆子矩阵,则确定所述目标用户终端的用户属性,不符合所述加密数据对象的访问控制策略。
第二方面,本发明提供一种数据共享方法,所述数据共享方法应用于用户终端,所述数据共享方法,包括:
接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
第三方面,本发明提供一种数据共享方法,所述数据共享方法应用于联盟链用户终端,所述数据共享方法,包括:
生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
在一实施例中,所述基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,包括:
将所述第二签名密钥对中的RPK、所述第三签名密钥对中的WPK和所述加密后的权限密钥列表进行组装,得到对象头信息;
将所述对象头信息与所述加密后的对象内容进行组装,并以所述第一签名密钥对中的LPK为对象名称,生成所述加密数据对象。
第四方面,本发明提供一种数据共享装置,所述数据共享装置应用于云服务器,所述数据共享装置,包括:
输出模块,用于根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
第一数据共享模块,用于将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
第四方面,本发明提供一种数据共享装置,所述数据共享装置应用于用户终端,所述数据共享装置,包括:
第一解密模块,用于接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
第二解密模块,用于基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
第二数据共享模块,用于根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
第六方面,本发明提供一种数据共享装置,所述数据共享装置应用于联盟链用户终端,所述数据共享装置,包括:
第一生成模块,用于生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
获取模块,用于根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
第三加密模块,用于生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
填充模块,用于将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
第四加密模块,用于基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
第二生成模块,用于基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
第七方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面、第二方面和第三方面所述数据共享方法。
第八方面,本发明还提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质包括计算机程序,所述计算机程序被所述处理器执行时实现第一方面、第二方面和第三方面所所述数据共享方法。
第九方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被所述处理器执行时实现第一方面、第二方面和第三方面所所述数据共享方法。
本发明提供的数据共享方法、装置、电子设备和存储介质,根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出目标用户终端的权限分发密钥密文,目标用户终端为向云服务器发送读取数据请求的用户终端,加密数据对象的访问控制策略记录在区块链中;将目标用户终端的权限分发密钥密文和加密数据对象发送至目标用户终端,以供目标用户终端基于权限分发密钥密文和加密数据对象得到对象内容和操作权限,通过对象内容和操作权限进行数据共享。
因此,在数据共享的过程中,云服务器通过共同的加密数据对象和共同的访问控制策略,将权限分发密钥密文下发至不同的用户终端,所以,不同的用户终端直接通过权限分发密钥密文执行读写操作权限,使得不同的用户终端不需要发送用户ID即可共享相同操作权限。由于不同的用户终端都不需要发送用户ID,因此,云服务器无法通过用户ID来区分不同的用户终端,即无法判断当前执行操作的用户终端的用户身份,也即无法判断哪些操作是由哪个用户终端执行的,提升了用户终端执行各项操作权限时的匿名性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据共享方法的流程示意图之一;
图2是本发明提供的数据共享方法的流程示意图之二;
图3是本发明提供的数据共享方法的流程示意图之三;
图4是本发明提供的数据对象的结构示意图;
图5是本发明提供的数据共享装置的结构示意图之一;
图6是本发明提供的数据共享装置的结构示意图之二;
图7是本发明提供的数据共享装置的结构示意图之三;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了数据共享方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些数据下,可以以不同于此处的顺序完成所示出或描述的步骤。
参照图1,图1是本发明提供的数据共享方法的流程示意图之一。本发明实施例提供的数据共享方法包括:
步骤101,根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
步骤102,将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
需要说明的是,本实施例中的执行主体为云服务器。进一步地,用户终端在需要读取数据时,会向云端服务器发送读取数据请求。
因此,云端服务器接收到目标用户终端发送的读取数据请求后,确定该目标用户终端的用户属性。由于加密数据对象的访问控制策略记录在区块链中,因此,云端服务器接收到目标用户终端发送的读取数据请求的同时,在区块链中读取出加密数据对象的访问控制策略。
需要说明的是,加密数据对象的访问控制策略中定义了哪些用户属性可以读取云服务器中的数据,哪些用户终端对应有什么操作权限,哪些用户终端可以读取到云服务器中的哪些数据等。
进一步地,云端服务器根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出目标用户终端的权限分发密钥密文,其中,权限分发密钥密文可以理解为:对权限分发密钥使用属性基加密算法加密的结果,在一实施例中,权限分发密钥表示形式为UPKi,则权限分发密钥密文表示形式为Enc(UPKi),Enc表示加密。
进一步地,云端服务器将目标用户终端的权限分发密钥密文和加密数据对象发送至该目标用户终端。目标用户终端接收到云服务器发送的权限分发密钥密文和加密数据对象后,执行数据共享,具体为:
目标用户终端接收云服务器发送的权限分发密钥密文和加密数据对象后,通过目标用户终端的解密密钥对权限分发密钥密文进行解密,得到目标用户终端的权限分发密钥。
进一步地,目标用户终端通过权限分发密钥对加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥,对称密钥是用于解密对象内容的密钥,操作权限密钥是用于解密操作权限的密钥。
因此,目标用户终端根据解密出的对称密钥和操作权限密钥,分别获取到对象内容和操作权限。最后,目标用户终端通过对象内容和操作权限进行数据共享。
本发明提供的数据共享方法,根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出目标用户终端的权限分发密钥密文,目标用户终端为向云服务器发送读取数据请求的用户终端,加密数据对象的访问控制策略记录在区块链中;将目标用户终端的权限分发密钥密文和加密数据对象发送至目标用户终端,以供目标用户终端基于权限分发密钥密文和加密数据对象得到对象内容和操作权限,通过对象内容和操作权限进行数据共享。
因此,在数据共享的过程中,云服务器通过共同的加密数据对象和共同的访问控制策略,将权限分发密钥密文下发至不同的用户终端,所以,不同的用户终端直接通过权限分发密钥密文执行读写操作权限,使得不同的用户终端不需要发送用户ID即可共享相同操作权限。由于不同的用户终端都不需要发送用户ID,因此,云服务器无法通过用户ID来区分不同的用户终端,即无法判断当前执行操作的用户终端的用户身份,也即无法判断哪些操作是由哪个用户终端执行的,提升了用户终端执行各项操作权限时的匿名性。
进一步地,基于步骤101记载的根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,包括:
确定所述目标用户终端的用户属性是否符合,所述加密数据对象的访问控制策略;
若所述目标用户终端的用户属性符合,所述加密数据对象的访问控制策略,则输出所述目标用户终端的权限分发密钥密文。
具体地,云端服务器对目标用户终端的用户属性进行分析,确定目标用户终端的用户属性是否符合,加密数据对象的访问控制策略。
若确定目标用户终端的用户属性符合加密数据对象的访问控制策略,云端服务器则输出目标用户终端的权限分发密钥密文。
确定目标用户终端的用户属性是否符合加密数据对象的访问控制策略的具体方法包括:
通过行向量映射函数将所述目标用户终端的用户属性映射到共享生成矩阵的对应行,得到所述目标用户终端的属性矩阵;
若所述目标用户终端的属性矩阵存在其可逆子矩阵,则确定所述目标用户终端的用户属性,符合所述加密数据对象的访问控制策略;
若所述目标用户终端的属性矩阵不存在其可逆子矩阵,则确定所述目标用户终端的用户属性,不符合加密数据对象的访问控制策略。
需要说明的是,联盟链用户终端实际上是将数据的访问控制策略和数据的哈希值打包成交易记录在区块链上的。
因此,用户终端在请求数据之前先从联盟链处获得对应的交易,用户终端在本地预验证自身是否满足请求数据的访问控制策略。如果满足,用户终端再实际向云服务器发送数据读取请求,目的是为了监督云服务器进行访问控制的行为,即监督云服务器是否正确执行了联盟链用户终端定义的访问控制策略,具体为:
具体地,目标用户终端通过行向量映射函数将其用户属性映射到共享生成矩阵的对应行,得到目标用户终端的属性矩阵。
进一步地,若确定目标用户终端的属性矩阵存在其可逆子矩阵,目标用户终端则确定目标用户终端的用户属性符合加密数据对象的访问控制策略,将目标用户终端的每用户属性集合发送至云服务器。
云服务器接收到目标用户终端发送的用户属性集合后,通过加密数据对象的访问控制策略对用户属性集合进行再次确定,从而得到用户属性集合中符合加密数据对象的访问控制策略的用户属性。
在一实施例中,目标用户终端通过函数
Figure 534647DEST_PATH_IMAGE001
将其自身的每个用户属性映射到
Figure 196179DEST_PATH_IMAGE002
的 对应行,得到属性矩阵
Figure 471303DEST_PATH_IMAGE003
,其中,
Figure 770566DEST_PATH_IMAGE004
如果不存在
Figure 105733DEST_PATH_IMAGE005
的可逆子矩阵,目标用户终端则输出
Figure 241179DEST_PATH_IMAGE006
,表示目标用户终端的 用户属性不满足第
Figure 70726DEST_PATH_IMAGE007
组访问控制策略,否则输出
Figure 975228DEST_PATH_IMAGE008
。进一步地,对
Figure 481295DEST_PATH_IMAGE009
的下一个元素重 复上述验证,直至遍历完
Figure 353305DEST_PATH_IMAGE010
。若
Figure 970232DEST_PATH_IMAGE011
至少有一个元素为1,目标用户终端则
Figure 742622DEST_PATH_IMAGE012
发送 给云服务器。
对于
Figure 419591DEST_PATH_IMAGE013
中的每个元素,若
Figure 529630DEST_PATH_IMAGE014
,云服务器验证目标用户终端的用户属性集合是否 满足加密数据对象的访问控制策略中设定的第
Figure 199514DEST_PATH_IMAGE015
个访问控制策略。
进一步地,若确定目标用户终端的属性矩阵不存在其可逆子矩阵,目标用户终端则确定目标用户终端的用户属性不符合加密数据对象的访问控制策略。
本发明实施例通过属性矩阵准确地确定出目标用户终端的用户属性是否符合,加密数据对象的访问控制策略。
进一步地,参照图2,图2是本发明提供的数据共享方法的流程示意图之二,本发明实施例提供的数据共享方法包括:
步骤103,接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
步骤104,基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
步骤105,根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
需要说明的是,本实施例中的执行主体为用户终端,通过云服务器进行通信,实现数据共享,具体为:
目标用户终端接收云服务器发送的权限分发密钥密文和加密数据对象后,通过目标用户终端的解密密钥对权限分发密钥密文进行解密,得到目标用户终端的权限分发密钥。
进一步地,目标用户终端通过权限分发密钥对加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥,对称密钥是用于解密对象内容的密钥,操作权限密钥是用于解密操作权限的密钥。
因此,目标用户终端根据解密出的对称密钥和操作权限密钥,分别获取到对象内容和操作权限。最后,目标用户终端通过对象内容和操作权限进行数据共享。
在一实施例中,目标用户终端接收云服务器发送的权限分发密钥密文Enc(UPKi)后,通过目标用户终端的解密密钥对权限分发密钥密文Enc(UPKi)进行解密,得到权限分发密钥UPKi。
需要说明的是,联盟链用户终端实际上是将数据的访问控制策略和数据的哈希值打包成交易记录在区块链上的。
因此,目标用户终端在解密出对象内容m(数据明文)后,计算出数据明文m的数据散列H(m),并确定联盟链上的数据散列H(m),其中,数据散列H(m)即数据明文m的哈希值,联盟链上的数据散列H(m)即联盟链上的哈希值。
进一步地,目标用户终端将数据明文m的哈希值与联盟链上的数据散列H(m)进行比较,确定数据明文m的哈希值是否等于联盟链上的哈希值。若确定数据明文m的哈希值等于联盟链上的哈希值,目标用户终端则确定数据明文m正确。若确定数据明文m的哈希值等于联盟链上的哈希值,目标用户终端则确定数据明文m不是上传的原始数据,并向云服务器上报错误,从而验证了云服务器上的数据完整性,即监督云服务器是否正确存储了数据。
本发明实施例在数据共享的过程中,不同的用户终端直接通过云服务器下发的权限分发密钥密文获取无关用户身份的读写操作权限,使得不同的用户终端不需要发送用户ID即可共享相同操作权限。由于不同的用户终端都不需要发送用户ID,因此,云服务器无法通过用户ID来区分不同的用户终端,即无法判断当前执行操作的用户终端的用户身份,也即无法判断哪些操作是由哪个用户终端执行的,提升了用户终端执行各项操作权限时的匿名性。
进一步地,参照图3,图3是本发明提供的数据共享方法的流程示意图之三,本发明实施例提供的数据共享方法包括:
需要说明的是,本实施例中的执行主体为联盟链用户终端,通过云服务器进行通信,将加密数据对象发送至云服务器,为云服务器实现数据共享提供加密数据,具体为:
步骤106,生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
步骤107,根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
步骤108,生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
步骤109,将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
步骤110,基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
步骤111,基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
具体地,联盟链用户终端生成对象内容m(Object Conect)的第一权限密钥和权限密钥列表KL(Key List),其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK,具体参照表1,表1是数据对象的密钥表。
表1 数据对象的密钥表
Figure 78608DEST_PATH_IMAGE016
其中,LPK,RPK和WPK这三个验证密钥对所有用户终端可见。
进一步地,联盟链用户终端确定各个用户属性,并根据各个用户属性获取各个用 户属性的第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、 第二签名密钥对中的RSK或/和第三签名密钥对中的WSK。进一步地,联盟链用户终端生成各 个用户属性对应的各个权限分发密钥
Figure 660900DEST_PATH_IMAGE017
,其中,
Figure 71283DEST_PATH_IMAGE018
进一步地,联盟链用户终端通过各个用户属性的权限分发密钥
Figure 967695DEST_PATH_IMAGE019
对其获取到 的对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对 中的WSK进行加密,得到各个权限密钥密文,其中,权限密钥密文可以表示Enc(X)UPKi,权限 密钥密文Enc(X)UPKi中的X密钥即各个用户属性的第二权限密钥,根据各个用户属性决定。
在一实施例中,联盟链用户终端确定用户属性1为“计算机学院”&“老师”,则确定用户属性1可获取到读取权限、Get权限和Put权限,因此,获取到用户属性1的第二权限密钥为WSK、RSK和OSK。联盟链用户终端确定用户属性2为“计算机学院”&“学生”,则确定用户属性2可获取到读取权限和Get权限,因此,获取到用户属性2的第二权限密钥为OSK和RSK。联盟链用户终端确定用户属性3为“计算机学院”&“管理员”,则确定用户属性3可获取到读取权限、Get权限、Put权限和更新列表权限,因此,获取到用户属性3的第二权限密钥为WSK、RSK、LSK和OSK。
进一步地,联盟链用户终端生成用户属性1的权限分发密钥UPK1,生成用户属性2的权限分发密钥UPK2,生成用户属性3的权限分发密钥UPK3。联盟链用户终端通过权限分发密钥UPK1对用户属性1的第二权限密钥为WSK、RSK和OSK进行加密,得到用户属性1的权限密钥密文为Enc(WSK,RSK,OSK)UPK1。联盟链用户终端通过权限分发密钥UPK2对用户属性2的第二权限密钥为RSK和OSK进行加密,得到用户属性2的权限密钥密文为Enc(RSK,OSK,DMK)UPK2,其中,DMK为用来占位的伪密钥。联盟链用户终端通过权限分发密钥UPK3对用户属性3的第二权限密钥为WSK、RSK、LSK和OSK进行加密,得到用户属性3的权限密钥密文为Enc(WSK,RSK,OSK,LSK)UPK3
进一步地,联盟链用户终端将各个权限密钥密文Enc(X)UPKi填充至权限密钥列表 KL中,得到加密后的权限密钥列表
Figure 29192DEST_PATH_IMAGE020
进一步地,联盟链用户终端通过对称密钥OSK将对象内容m(Object Conect)进行 加密,得到加密后的对象内容
Figure 969335DEST_PATH_IMAGE021
,因此,加密后的的对象内容
Figure 850704DEST_PATH_IMAGE022
可以表示为Enc(Object Conect)OSK
进一步地,联盟链用户终端将加密后的对象内容
Figure 613123DEST_PATH_IMAGE023
、加密后的权限密钥列表
Figure 238050DEST_PATH_IMAGE020
、 第一签名密钥对中的LPK、第二签名密钥对中的RPK和第三签名密钥对中的WPK进行组装,生 成加密数据对象CT。同时,联盟链用户终端将加密数据发送至云服务器。
本发明实施例通过加密后的权限密钥列表进行访问控制,从而实现了细粒度的访问控制和用户终端操作匿名。
步骤111记载的基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,包括:
将所述第二签名密钥对中的RPK、所述第三签名密钥对中的WPK和所述加密后的权限密钥列表进行组装,得到对象头信息;
将所述对象头信息与所述加密后的对象内容进行组装,并以所述第一签名密钥对中的LPK为对象名称,生成所述加密数据对象。
具体地,联盟链用户终端将第二签名密钥对中的RPK、第三签名密钥对中的WPK和 加密后的权限密钥列表
Figure 427723DEST_PATH_IMAGE024
进行组装,得到对象头信息Object Header。
进一步地,联盟链用户终端将对象头信息Object Header与加密后的对象内容
Figure 983338DEST_PATH_IMAGE025
进行组装,并以第一签名密钥对中的LPK为对象名称Object Name,生成加密数据对象CT。
在一实施例中,一个数据对象CT包括对象名称Object Name、对象头信息Object Header、加密后的权限密钥列表
Figure 18290DEST_PATH_IMAGE026
和加密后的对象内容
Figure 257641DEST_PATH_IMAGE027
,具体为:对象名称Object Name 为第一签名密钥对中的LPK;对象头信息Object Header为第二签名密钥对中的RPK、第三签 名密钥对中的WPK、加密后的权限密钥列表
Figure 368948DEST_PATH_IMAGE028
以及加密后的对象内容Enc(Object Conect)OSK,其中,加密后的权限密钥列表
Figure 959329DEST_PATH_IMAGE029
中包含有多个权限密钥密文Enc(X)UPKi,多个 权限密钥密文Enc(X)UPKi分别为Enc(WSK,RSK,OSK)UPK1、Enc(RSK,OSK,DMK)UPK2、Enc(WSK, RSK,OSK,LSK)UPK3至Enc(X)UPKnk。因此,加密数据对象CT可以参照图4所示,图4是本发明提供 的数据对象的结构示意图。
本发明实施例的数据对象中包含一个加密的权限密钥列表,辅助权限密钥的分发至不同的用户终端,所以,不同的用户终端直接通过共享的权限密钥执行读写操作权限,使得不同的用户终端不需要发送用户ID即可共享相同操作权限。进一步地,由于不同的用户终端都不需要发送用户ID,因此,云服务器无法通过用户ID来区分不同的用户终端,即无法判断当前执行操作的用户终端的用户身份,也即无法判断哪些操作是由哪个用户终端执行的,提升了用户终端执行各项操作权限时的匿名性。
需要说明的是,本发明中的用户终端、联盟链用户终端和云服务器共属于一个联盟链。进一步地,联盟链主要包括联盟链用户终端(CBM)、云服务器(CSP)、属性授权机构(AA)、全球证书授权机构(CA)、联盟区块链(CB)和用户终端(DU)。
对于联盟链用户终端CBM:联盟链用户终端CBM是数据所有者组成,可以定义访问控制策略即决定哪些用户终端可以访问,哪些用户终端不可以访问,并将加密数据发送给云服务器CSP。同时,联盟链用户终端CBM 需要验证云服务器CSP 是否正确接收到密文。如果接收到云服务器CSP的值等于密文的哈希值,联盟链用户终端CBM则将访问控制策略、数据的哈希值和云服务器CSP的签名打包为一个交易。
进一步地,联盟链用户终端CBM根据其声誉分为领导成员和普通成员,名誉在特殊情况下有特殊的定义。普通成员可以通过提高声誉成为领导成员。所有联盟链用户终端CBM共同维护区块链,只有领导成员才能生成新区块。
对于云服务器CSP:云服务器CSP接收并存储联盟链用户终端CBM发送的密文,然后将密文的签名返回给联盟链用户终端CBM。云服务器CSP 还为用户终端DU 提供数据访问服务,并存储用户终端DU的属性密钥,用于对密文进行预解密。
对于属性授权机构AA:由全局唯一身份aid签名,识别用户终端DU并在其管理域内生成用户终端DU的属性密钥。将所有属性密钥和用户身份uid发送给云服务器CSP。每个属性授权机构 AA可管理多个属性,但一个属性只能被一个属性授权机构AA管理。
对于全球证书授权机构CA:全球证书授权机构CA是系统中完全受信任的全球证书颁发机构。接受系统内所有属性授权机构AA和用户终端DU的注册,并负责为每个合法属性授权机构AA和用户终端DU发放全球唯一的身份ID和UID。同时,为每个授权用户终端DU生成解密密钥,但不参与任何属性管理和任何属性密钥的生成。
对于联盟区块链CB:联盟区块链CB监督云服务器CSP,其成员是合法的用户。每个块体包含共享数据的哈希值、相应的访问策略和云服务器CSP对密文的签名。为了防止恶意攻击者,本发明实施例使用实用拜占庭容错(PBFT)共识算法。
对于用户终端DU:用户终端DU是由全球唯一身份uid签名的数据请求者。在访问数据之前,可以通过区块链验证其用户属性是否满足相应的访问控制策略。解密密文后,可以验证数据没有被篡改。只有当用户终端DU的用户属性满足访问控制策略时,用户终端DU才能解密密文。
进一步需要说明的是,联盟链用户终端CBM采用拜占庭容错(PBFT)协议来维护区块链。联盟链用户终端CBM根据声誉分为领导成员和普通成员,领导成员依次负责生成新区块。具体步骤如下:
预准备阶段Pre-Prepare:当一个联盟链用户终端CBM上传数据到云端,将产生的交易广播到全网。此外,领导成员对交易进行收集和排序存储至一个列表中,并将该列表广播到网络。
准备阶段Prepare:联盟链用户终端CBM收到交易清单后,按照顺序对交易进行验证。在验证所有交易后,联盟链用户终端CBM 根据交易结果计算新区块的哈希值,将该哈希值广播到网络。在这个过程中,每个联盟链用户终端CBM都需要验证交易中是否有云服务器CSP的签名,以及区块链上的访问控制策略是否与云端上的相同。只有满足以上两个条件的交易才被签署为有效交易。
Commit:如果一个联盟链用户终端CBM从其他联盟链用户终端CBM接收到2f+1(拜占庭节点的可容忍数量)个值,并且2f+1个值等于自身的值,联盟链用户终端CBM 将向网络广播Commit消息。
Reply:联盟链用户终端CBM一旦收到2f+1条Commit消息(包括自身的Commit消息),会将所有交易打包成一个新的区块,并记录在本地区块链上,领导成员生成一个新块。
进一步地,关于联盟链的具体机制如下:
定义1 (双线性映射):设
Figure 266814DEST_PATH_IMAGE030
Figure 344360DEST_PATH_IMAGE031
Figure 610257DEST_PATH_IMAGE032
为素数阶
Figure 953513DEST_PATH_IMAGE033
的三个循环群。一个双线性映射是 一个映射
Figure 281333DEST_PATH_IMAGE034
,具有以下性质:
双线性:对于所有
Figure 26435DEST_PATH_IMAGE035
Figure 915763DEST_PATH_IMAGE036
Figure 746315DEST_PATH_IMAGE037
Figure 130023DEST_PATH_IMAGE038
非简并性:存在
Figure 480364DEST_PATH_IMAGE039
Figure 88063DEST_PATH_IMAGE040
,使
Figure 343595DEST_PATH_IMAGE041
可计算性:对于任意
Figure 842578DEST_PATH_IMAGE035
Figure 234377DEST_PATH_IMAGE042
Figure 278556DEST_PATH_IMAGE043
都很容易计算。
定义2(访问结构):令
Figure 769187DEST_PATH_IMAGE044
是一个参与者集合。对于
Figure 557014DEST_PATH_IMAGE045
,集合
Figure 318166DEST_PATH_IMAGE046
为 单调的:如果
Figure 267667DEST_PATH_IMAGE047
Figure 560108DEST_PATH_IMAGE048
,则
Figure 574463DEST_PATH_IMAGE049
,访问结构(分别为单调访问结构)是非空集合
Figure 3170DEST_PATH_IMAGE050
的非空子集(分别为单调集合)的集合
Figure 592414DEST_PATH_IMAGE051
,即
Figure 90261DEST_PATH_IMAGE052
Figure 219891DEST_PATH_IMAGE053
中的集合称为授权集合,不 在
Figure 706367DEST_PATH_IMAGE054
中的集合称为未授权集合。
定义3(线性秘密共享方案(Linear secret sharing scheme,LSSS)):一个参与方 集合
Figure 745474DEST_PATH_IMAGE055
上的秘密共享方案
Figure 746928DEST_PATH_IMAGE056
是线性秘密共享方案
Figure 617932DEST_PATH_IMAGE057
,若满足以下条件:
条件1:各方的共享份额组成一个
Figure 4920DEST_PATH_IMAGE058
域上的向量。
条件2:
Figure 732704DEST_PATH_IMAGE059
的共享生成矩阵
Figure 159138DEST_PATH_IMAGE060
Figure 381303DEST_PATH_IMAGE061
Figure 373529DEST_PATH_IMAGE062
列。
对于所有
Figure 475478DEST_PATH_IMAGE063
,矩阵
Figure 700791DEST_PATH_IMAGE064
的第
Figure 648019DEST_PATH_IMAGE065
行被参与方定义为
Figure 25911DEST_PATH_IMAGE066
Figure 577721DEST_PATH_IMAGE067
为一个函数,从
Figure 978747DEST_PATH_IMAGE068
映 射到
Figure 791982DEST_PATH_IMAGE069
。对于向量
Figure 211331DEST_PATH_IMAGE070
Figure 451819DEST_PATH_IMAGE071
为共享秘密,其余为随机选择。
如果
Figure 136879DEST_PATH_IMAGE072
是根据
Figure 442220DEST_PATH_IMAGE073
的任何秘密的有效共享,存在常数
Figure 529125DEST_PATH_IMAGE074
Figure 393045DEST_PATH_IMAGE075
满足下列方程:
Figure 299821DEST_PATH_IMAGE076
进一步地,全球证书授权机构CA运行算法
Figure 454859DEST_PATH_IMAGE077
,具体为:以安 全参数
Figure 347335DEST_PATH_IMAGE078
为输入,
Figure 195205DEST_PATH_IMAGE079
Figure 589277DEST_PATH_IMAGE080
为素数阶p相同的两个循环群,即
Figure 734957DEST_PATH_IMAGE081
为双线性映射, g为
Figure 530874DEST_PATH_IMAGE082
的生成器,令
Figure 487329DEST_PATH_IMAGE083
是一个哈希函数。
全球证书授权机构CA选择一个随机数
Figure 119430DEST_PATH_IMAGE084
作为其主密钥MSK,计算
Figure 881850DEST_PATH_IMAGE085
Figure 735536DEST_PATH_IMAGE086
。同时,全球证书授权机构CA为每个合法属性授权机构AA分配一个唯一的全球权威 身份aid,k表示系统中属性授权机构AA的数量。最后,全球证书授权机构CA将全局参数设置 为
Figure 643318DEST_PATH_IMAGE087
进一步地,全球证书授权机构CA运行算法
Figure 277562DEST_PATH_IMAGE088
:在此阶段全球 证书授权机构CA为每个合法用户终端DU分配一个唯一的全局用户身份uid,然后为每个用 户终端DU选择随机数
Figure 515776DEST_PATH_IMAGE089
,并让
Figure 299668DEST_PATH_IMAGE090
作为用户终端DU的解密密钥。全球证书授权机 构CA还为每个用户终端生成解密公钥
Figure 129084DEST_PATH_IMAGE091
进一步地,属性授权机构AA运行算法
Figure 188307DEST_PATH_IMAGE092
:在得到唯一全 局权威身份援助后,属性授权机构AA选择
Figure 541796DEST_PATH_IMAGE093
Figure 104496DEST_PATH_IMAGE094
表示系统中第
Figure 370392DEST_PATH_IMAGE095
个属性授权机构AA),然 后计算
Figure 464381DEST_PATH_IMAGE096
作为属性授权机构AA的公钥。
进一步地,联盟链用户终端CBM运行算法
Figure 309978DEST_PATH_IMAGE097
:联盟链用户终 端CBM选择两个随机大素数
Figure 55080DEST_PATH_IMAGE098
Figure 944407DEST_PATH_IMAGE099
,计算
Figure 509381DEST_PATH_IMAGE100
Figure 955405DEST_PATH_IMAGE101
,然后联盟链用户终端 CBM选择一个随机数
Figure 240500DEST_PATH_IMAGE102
,其中
Figure 848199DEST_PATH_IMAGE103
Figure 166048DEST_PATH_IMAGE104
的协素数。最后,联盟链用户终端CBM计算
Figure 337135DEST_PATH_IMAGE105
,生成密钥
Figure 56829DEST_PATH_IMAGE106
,公钥
Figure 789424DEST_PATH_IMAGE107
进一步地,云服务器CSP运行算法
Figure 594569DEST_PATH_IMAGE108
,与联盟链用户终 端CBM设置相同。云服务器CSP最后生成密钥
Figure 320080DEST_PATH_IMAGE109
,公钥
Figure 143548DEST_PATH_IMAGE110
进一步,全球证书授权机构CA运行算法
Figure 93049DEST_PATH_IMAGE111
:当所有属性授权 机构AA完成初始化时,全球证书授权机构CA计算
Figure 57594DEST_PATH_IMAGE112
作为系统 公钥。
进一步,属性授权机构AA运行算法
Figure 420353DEST_PATH_IMAGE113
:在属 性授权机构AA的管理域内,为用户终端DU的用户属性
Figure 786743DEST_PATH_IMAGE114
选择随机数
Figure 907146DEST_PATH_IMAGE115
,然后生成用户 终端DU的属性密钥
Figure 936151DEST_PATH_IMAGE116
,属性密钥
Figure 3464DEST_PATH_IMAGE117
具体如下:
Figure 286678DEST_PATH_IMAGE118
同时,属性授权机构AA将属性密钥
Figure 797556DEST_PATH_IMAGE119
发送到云服务器CSP。
进一步,联盟链用户终端CBM运行算法
Figure 799010DEST_PATH_IMAGE120
:联盟链用户终端 CBM为数据对象
Figure 919281DEST_PATH_IMAGE121
生成操作权限密钥,其中,操作权限密钥包括读写对象内容的对称密钥 OSK,用于设置权限密钥列表的签名密钥对LPK和LSK,用于Get对象内容的签名密钥对RPK和 RSK,用于Put对象内容的签名密钥对WPK和WSK。
进一步地,联盟链用户终端CBM生成权限密钥列表
Figure 791423DEST_PATH_IMAGE122
,其中,
Figure 784786DEST_PATH_IMAGE123
为第j类权限密钥集合,其中,
Figure 959022DEST_PATH_IMAGE124
Figure 430455DEST_PATH_IMAGE125
是密钥列表长 度。
Figure 625944DEST_PATH_IMAGE126
,那么
Figure 773898DEST_PATH_IMAGE127
,即权限密钥列表KL各元素不重复。
对于
Figure 484365DEST_PATH_IMAGE128
,生成
Figure 697171DEST_PATH_IMAGE129
个权限分发密钥
Figure 825795DEST_PATH_IMAGE130
,然后联盟链用户终端CBM通过 权限分发密钥
Figure 629803DEST_PATH_IMAGE131
加密
Figure 30829DEST_PATH_IMAGE132
,具体为:联盟链用户终端CBM为
Figure 93332DEST_PATH_IMAGE133
选择一个加密指数
Figure 263413DEST_PATH_IMAGE134
,计 算
Figure 503901DEST_PATH_IMAGE135
,并生成向量
Figure 936763DEST_PATH_IMAGE136
,其中,
Figure 491373DEST_PATH_IMAGE137
用于共享 加密指数。
对于
Figure 578277DEST_PATH_IMAGE138
Figure 442197DEST_PATH_IMAGE139
为共享生成矩阵
Figure 614552DEST_PATH_IMAGE140
的行数,计算
Figure 458006DEST_PATH_IMAGE141
,其中
Figure 664996DEST_PATH_IMAGE142
Figure 184970DEST_PATH_IMAGE143
的 第
Figure 828310DEST_PATH_IMAGE144
行对应的向量,记
Figure 787039DEST_PATH_IMAGE145
Figure 786219DEST_PATH_IMAGE146
对应的参与方属性,联盟链用户终端CBM输出密文
Figure 552793DEST_PATH_IMAGE147
如下:
Figure 434161DEST_PATH_IMAGE148
得到加密后的密钥权限列表
Figure 868685DEST_PATH_IMAGE149
进一步地,联盟链用户终端CBM将RPK和WPK组装成对象头Header=(RPK,WPK),并对对象头进行签名。
进一步地,联盟链用户终端CBM使用对称密钥OSK对数据对象内容
Figure 33956DEST_PATH_IMAGE150
加密。联盟链用 户终端CBM将
Figure 161312DEST_PATH_IMAGE151
、Header和加密后的对象内容组合成加密后的对象密文CT,并以LPK作为对 象名发送给CSP。
进一步地,云服务器CSP运行算法
Figure 529976DEST_PATH_IMAGE152
:云服务器CSP收到 联盟链用户终端CBM发送的加密后的对象密文CT后,云服务器CSP计算H(CT),并生成
Figure 581240DEST_PATH_IMAGE153
,并将
Figure 289433DEST_PATH_IMAGE154
返回给联盟链用户终端CBM。
联盟链用户终端CBM运行算法
Figure 650007DEST_PATH_IMAGE155
:联盟链用户终端 CBM接收到云服务器CSP发送的
Figure 958498DEST_PATH_IMAGE156
后,验证
Figure 531562DEST_PATH_IMAGE157
是否成立。如果 不成立,联盟链用户终端CBM向云服务器CSP发送错误报告。如果成立,联盟链用户终端CBM 生成一个交易:
Figure 422157DEST_PATH_IMAGE158
其中,
Figure 639119DEST_PATH_IMAGE159
Figure 716796DEST_PATH_IMAGE160
Figure 624709DEST_PATH_IMAGE161
为将行向量映射到参与 方
Figure 556762DEST_PATH_IMAGE162
的函数。
进一步地,联盟链用户终端CBM通过其密钥对该交易的散列进行签名,即
Figure 259139DEST_PATH_IMAGE163
。最后,联盟链用户终端CBM将交易和签名打包,并将它们 广播给其他联盟链用户终端CBM。
进一步地,用户终端DU运行算法
Figure 824112DEST_PATH_IMAGE164
:当用户终端DU需要访问数 据时,首先在区块链上查找数据的交易。对于每个
Figure 692973DEST_PATH_IMAGE165
,用户终端DU通过函数
Figure 558161DEST_PATH_IMAGE166
将 其自身的每个用户属性映射到
Figure 618390DEST_PATH_IMAGE167
的对应行,得到属性矩阵
Figure 670660DEST_PATH_IMAGE168
。如果不存在
Figure 654796DEST_PATH_IMAGE169
的可逆子 矩阵,则用户终端DU输出
Figure 59976DEST_PATH_IMAGE170
,表示用户终端DU的用户属性不满足第
Figure 104156DEST_PATH_IMAGE114
组访问控制策略,否 则输出
Figure 846984DEST_PATH_IMAGE171
。进一步地,对
Figure 618500DEST_PATH_IMAGE172
的下一个元素重复上述验证,直至遍历完
Figure 192700DEST_PATH_IMAGE064
。若
Figure 345464DEST_PATH_IMAGE173
中至少有一个元素为1,用户终端DU则将数据请求以及
Figure 857479DEST_PATH_IMAGE174
发送给云服务器 CSP。
云服务器CSP运行算法
Figure 448997DEST_PATH_IMAGE175
:对于
Figure 815388DEST_PATH_IMAGE012
中的每个元素, 若
Figure 450637DEST_PATH_IMAGE176
,云服务器CSP验证用户终端DU的用户属性集是否满足联盟链用户终端CBM设定的 第
Figure 964795DEST_PATH_IMAGE177
个访问控制策略,其中
Figure 32109DEST_PATH_IMAGE178
。若满足,云服务器CSP将输出预解密的权限密钥密文
Figure 63125DEST_PATH_IMAGE179
。否则,将输出⊥。
计算预解密权限密钥密文
Figure 823271DEST_PATH_IMAGE180
具体如下:
Figure 559146DEST_PATH_IMAGE181
进一步地,云服务器CSP将预解密权限密钥密文
Figure 476155DEST_PATH_IMAGE182
填充到
Figure 817137DEST_PATH_IMAGE183
对应的位置上,生成 预解密密钥列表
Figure 810501DEST_PATH_IMAGE184
,将
Figure 722088DEST_PATH_IMAGE185
和CT的其它部分重新组装成预解密密文
Figure 193520DEST_PATH_IMAGE186
,并发送给用户终端 DU。
进一步地,用户终端DU运行算法
Figure 451326DEST_PATH_IMAGE187
:对于
Figure 536963DEST_PATH_IMAGE012
中的每个元 素,若
Figure 513009DEST_PATH_IMAGE188
,用户终端DU通过自身的解密密钥
Figure 522553DEST_PATH_IMAGE189
对预解密密钥列表
Figure 320352DEST_PATH_IMAGE190
中的
Figure 655518DEST_PATH_IMAGE191
进行 解密,得到权限密钥集合,权限密钥集合可以表示为:
Figure 587702DEST_PATH_IMAGE192
用户终端DU从上述处理过的KL中获得所有能获取的操作权限密钥。假设
Figure 853467DEST_PATH_IMAGE193
中至 少包含对称密钥OSK,用户终端DU使用OSK解密出数据对象内容
Figure 85865DEST_PATH_IMAGE150
进一步地,用户终端DU运行算法
Figure 14769DEST_PATH_IMAGE194
:当用户终端DU得到对象明文
Figure 965408DEST_PATH_IMAGE195
时,需要计算对象明
Figure 520017DEST_PATH_IMAGE196
的哈希值,并验证该哈希值值是否等于在区块链上的H(m)。
若哈希值值不等于在区块链上的H(m),用户终端DU输出0,表示对象明文
Figure 590610DEST_PATH_IMAGE197
不是上 传的原始数据,并向云服务器CSP上报错误。若哈希值值等于在区块链上的H(m),用户终端 DU输出1,表示对象明文
Figure 2000DEST_PATH_IMAGE198
正确。
进一步地,本发明提供的数据共享装置与本发明提供的数据共享方法互对应参照。
图5所示,图5是本发明提供的数据共享装置的结构示意图之一,数据共享装置应用于云服务器,数据共享装置包括:
输出模块501,用于根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
第一数据共享模块502,用于将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
进一步地,输出模块501还用于:
确定所述目标用户终端的用户属性是否符合,所述加密数据对象的访问控制策略;
若所述目标用户终端的用户属性符合,所述加密数据对象的访问控制策略,则输出所述目标用户终端的权限分发密钥密文;
其中,所述确定所述目标用户终端的用户属性是否符合,所述加密数据对象的访问控制策略,包括:
通过行向量映射函数将所述目标用户终端的用户属性映射到共享生成矩阵的对应行,得到所述目标用户终端的属性矩阵;
若所述目标用户终端的属性矩阵存在其可逆子矩阵,则确定所述目标用户终端的用户属性,符合所述加密数据对象的访问控制策略;
若所述目标用户终端的属性矩阵不存在其可逆子矩阵,则确定所述目标用户终端的用户属性,不符合所述加密数据对象的访问控制策略。
图6所示,图6是本发明提供的数据共享装置的结构示意图之二,数据共享装置应用于用户终端,数据共享装置包括:
第一解密模块601,用于接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
第二解密模块602,用于基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
第二数据共享模块603,用于根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
图7所示,图7是本发明提供的数据共享装置的结构示意图之三,数据共享装置应用于联盟链用户终端,数据共享装置包括:
第一生成模块701,用于生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
获取模块702,根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
第三加密模块703,用于生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
填充模块704,用于将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
第四加密模块705,用于基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
第二生成模块706,用于基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
进一步地,第二生成模块706还用于:
将所述第二签名密钥对中的RPK、所述第三签名密钥对中的WPK和所述加密后的权限密钥列表进行组装,得到对象头信息;
将所述对象头信息与所述加密后的对象内容进行组装,并以所述第一签名密钥对中的LPK为对象名称,生成所述加密数据对象。
本发明提供的数据共享装置的具体实施例与上述数据共享方法各实施例基本相同,在此不作赘述。
图8示例了一种电子设备的实体结构示意图,如图8所示,电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行数据共享方法,该方法应用于云服务器包括:
根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
该方法应用于用户终端包括:
接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
该方法应用于联盟链用户终端包括:
生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的数据共享方法,该方法应用于云服务器包括:
根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
该方法应用于用户终端包括:
接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
该方法应用于联盟链用户终端包括:
生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的数据共享方法,该方法应用于云服务器包括:
根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
该方法应用于用户终端包括:
接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
该方法应用于联盟链用户终端包括:
生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据共享方法,其特征在于,所述数据共享方法应用于云服务器,所述数据共享方法,包括:
根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
2.根据权利要求1所述的数据共享方法,其特征在于,所述根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,包括:
确定所述目标用户终端的用户属性是否符合,所述加密数据对象的访问控制策略;
若所述目标用户终端的用户属性符合,所述加密数据对象的访问控制策略,则输出所述目标用户终端的权限分发密钥密文;
其中,所述确定所述目标用户终端的用户属性是否符合,所述加密数据对象的访问控制策略,包括:
通过行向量映射函数将所述目标用户终端的用户属性映射到共享生成矩阵的对应行,得到所述目标用户终端的属性矩阵;
若所述目标用户终端的属性矩阵存在其可逆子矩阵,则确定所述目标用户终端的用户属性,符合所述加密数据对象的访问控制策略;
若所述目标用户终端的属性矩阵不存在其可逆子矩阵,则确定所述目标用户终端的用户属性,不符合所述加密数据对象的访问控制策略。
3.一种数据共享方法,其特征在于,所述数据共享方法应用于用户终端,所述数据共享方法,包括:
接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
4.一种数据共享方法,其特征在于,所述数据共享方法应用于联盟链用户终端,所述数据共享方法,包括:
生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
5.根据权利要求4所述的数据共享方法,其特征在于,所述基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,包括:
将所述第二签名密钥对中的RPK、所述第三签名密钥对中的WPK和所述加密后的权限密钥列表进行组装,得到对象头信息;
将所述对象头信息与所述加密后的对象内容进行组装,并以所述第一签名密钥对中的LPK为对象名称,生成所述加密数据对象。
6.一种数据共享装置,其特征在于,所述数据共享装置应用于云服务器,所述数据共享装置,包括:
输出模块,用于根据目标用户终端的用户属性和加密数据对象的访问控制策略,输出所述目标用户终端的权限分发密钥密文,其中,所述目标用户终端为向所述云服务器发送读取数据请求的用户终端,所述加密数据对象的访问控制策略记录在区块链中;
第一数据共享模块,用于将所述目标用户终端的权限分发密钥密文和所述加密数据对象发送至所述目标用户终端,以供所述目标用户终端基于权限分发密钥密文和所述加密数据对象得到对象内容和操作权限,并通过所述对象内容和所述操作权限进行数据共享。
7.一种数据共享装置,其特征在于,所述数据共享装置应用于用户终端,所述数据共享装置,包括:
第一解密模块,用于接收云服务器发送的权限分发密钥密文和加密数据对象,并基于解密密钥对所述权限分发密钥密文进行解密,得到权限分发密钥;
第二解密模块,用于基于权限分发密钥对所述加密数据对象中的权限密钥列表进行解密,得到权限密钥,其中,权限密钥包括对称密钥和操作权限密钥;
第二数据共享模块,用于根据所述对称密钥和所述操作权限密钥,分别得到对象内容和操作权限,并基于所述对象内容和操作权限进行数据共享。
8.一种数据共享装置,其特征在于,所述数据共享装置应用于联盟链用户终端,所述数据共享装置,包括:
第一生成模块,用于生成对象内容的第一权限密钥和权限密钥列表,其中,第一权限密钥包括用于读取对象内容的对称密钥OSK、用于更新权限密钥列表的第一签名密钥对LSK和LPK、用于Get对象的第二签名密钥对RPK和RSK,以及用于Put对象的第三签名密钥对WPK和WSK;
获取模块,用于根据各个用户属性获取其第二权限密钥,其中,第二权限密钥包括对称密钥OSK、第一签名密钥对中的LSK、第二签名密钥对中的RSK或/和第三签名密钥对中的WSK;
第三加密模块,用于生成各个用户属性的权限分发密钥,并通过各个用户属性的权限分发密钥对其第二权限密钥进行加密,得到各个权限密钥密文;
填充模块,用于将各个权限密钥密文填充至所述权限密钥列表中,得到加密后的权限密钥列表;
第四加密模块,用于基于所述对称密钥OSK对所述对象内容进行加密,得到加密后的对象内容;
第二生成模块,用于基于所述加密后的对象内容、所述加密后的权限密钥列表、所述第一签名密钥对中的LPK、所述第二签名密钥对中的RPK和所述第三签名密钥对中的WPK,生成加密数据对象,并将所述加密数据发送至云服务器。
9.一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的数据共享方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的数据共享方法。
CN202211513665.3A 2022-11-30 2022-11-30 数据共享方法、装置、电子设备和存储介质 Active CN115604030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211513665.3A CN115604030B (zh) 2022-11-30 2022-11-30 数据共享方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211513665.3A CN115604030B (zh) 2022-11-30 2022-11-30 数据共享方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN115604030A true CN115604030A (zh) 2023-01-13
CN115604030B CN115604030B (zh) 2023-05-02

Family

ID=84852864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211513665.3A Active CN115604030B (zh) 2022-11-30 2022-11-30 数据共享方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115604030B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021154157A1 (en) * 2020-01-31 2021-08-05 Agency For Science, Technology And Research Blockchain-based data exchange
CN113901512A (zh) * 2021-09-27 2022-01-07 北京邮电大学 数据共享方法及系统
CN114219483A (zh) * 2021-12-14 2022-03-22 云南财经大学 基于lwe-cpabe的区块链数据共享方法、设备和存储介质
WO2022105505A1 (zh) * 2020-11-20 2022-05-27 腾讯科技(深圳)有限公司 应用于区块链系统的数据处理方法及装置
CN115296838A (zh) * 2022-06-24 2022-11-04 北京中科金财科技股份有限公司 基于区块链的数据共享方法、系统及存储介质
CN115412257A (zh) * 2022-08-24 2022-11-29 淮阴工学院 一种基于区块链双链的冷链联合节点数据共享方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021154157A1 (en) * 2020-01-31 2021-08-05 Agency For Science, Technology And Research Blockchain-based data exchange
WO2022105505A1 (zh) * 2020-11-20 2022-05-27 腾讯科技(深圳)有限公司 应用于区块链系统的数据处理方法及装置
CN113901512A (zh) * 2021-09-27 2022-01-07 北京邮电大学 数据共享方法及系统
CN114219483A (zh) * 2021-12-14 2022-03-22 云南财经大学 基于lwe-cpabe的区块链数据共享方法、设备和存储介质
CN115296838A (zh) * 2022-06-24 2022-11-04 北京中科金财科技股份有限公司 基于区块链的数据共享方法、系统及存储介质
CN115412257A (zh) * 2022-08-24 2022-11-29 淮阴工学院 一种基于区块链双链的冷链联合节点数据共享方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
雷蕾等: "支持策略隐藏的加密云存储访问控制机制", 《软件学报》 *

Also Published As

Publication number Publication date
CN115604030B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN112019591B (zh) 一种基于区块链的云数据共享方法
US10673626B2 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
CN110493347B (zh) 基于区块链的大规模云存储中数据访问控制方法及系统
Ma et al. Attribute-based secure announcement sharing among vehicles using blockchain
CN104901942B (zh) 一种基于属性加密的分布式访问控制方法
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
Yu et al. Improved security of a dynamic remote data possession checking protocol for cloud storage
CN109145612B (zh) 基于区块链实现防数据篡改、用户共谋的云数据共享方法
Han et al. A data sharing protocol to minimize security and privacy risks of cloud storage in big data era
WO2022199290A1 (zh) 多方安全计算
CN110430161B (zh) 一种基于区块链的可监管数据匿名分享方法及系统
JP2023500570A (ja) コールドウォレットを用いたデジタルシグニチャ生成
CN111294349B (zh) 用于物联网设备数据共享的方法及装置
Luo et al. Efficient integrity auditing for shared data in the cloud with secure user revocation
Yan et al. Integrity audit of shared cloud data with identity tracking
CN115174184A (zh) 一种基于属性基加密的交易客体身份匿名可追踪方法、网络设备、存储设备
WO2023134576A1 (zh) 数据加密方法、属性授权中心及存储介质
CN115208656B (zh) 一种基于区块链和权限管理的供应链数据共享方法及系统
Cui et al. Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database
Li et al. Blockchain‐Based Fine‐Grained Data Sharing for Multiple Groups in Internet of Things
CN115913677A (zh) 一种基于区块链的协作边缘存储数据隐私保护系统及方法
Malarvizhi et al. Secure file sharing using cryptographic techniques in cloud
CN114629640A (zh) 一种解决密钥托管问题的白盒可追责属性基加密系统及其方法
CN115604030A (zh) 数据共享方法、装置、电子设备和存储介质
Neela et al. A Hybrid Cryptography Technique with Blockchain for Data Integrity and Confidentiality in Cloud Computing

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