CN117254908B - 一种云端数据存储方法、装置、设备及介质 - Google Patents

一种云端数据存储方法、装置、设备及介质 Download PDF

Info

Publication number
CN117254908B
CN117254908B CN202311490358.2A CN202311490358A CN117254908B CN 117254908 B CN117254908 B CN 117254908B CN 202311490358 A CN202311490358 A CN 202311490358A CN 117254908 B CN117254908 B CN 117254908B
Authority
CN
China
Prior art keywords
ciphertext
fragment
computing node
data
stored
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
CN202311490358.2A
Other languages
English (en)
Other versions
CN117254908A (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.)
Chengfang Financial Technology Co ltd
Original Assignee
Chengfang Financial 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 Chengfang Financial Technology Co ltd filed Critical Chengfang Financial Technology Co ltd
Priority to CN202311490358.2A priority Critical patent/CN117254908B/zh
Publication of CN117254908A publication Critical patent/CN117254908A/zh
Application granted granted Critical
Publication of CN117254908B publication Critical patent/CN117254908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种云端数据存储方法、装置、设备及介质。该方法应用于云端服务器中的中心服务器,云端服务器还包括至少两个计算节点,包括:接收关联客户端发送的待存储数据及公钥;基于生成的随机数集合、待存储数据及公钥,确定密文碎片集合;通过密文碎片集合作为叶节点构建第一默克尔树并进行存储,根据各计算节点生成计算节点组,将密文碎片集合下发至计算节点组进行存储。通过将待存储数据转换为密文碎片集合,并下发至各计算节点组进行存储,通过第一默克尔树进行完整性校验。实现了云端数据的安全存储,这些结构均支持并行运算,能够充分利用CPU的优势加速运算过程,提升系统效率,保证了云端数据存储的安全性。

Description

一种云端数据存储方法、装置、设备及介质
技术领域
本发明涉及云存储技术领域,尤其涉及一种云端数据存储方法、装置、设备及介质。
背景技术
随着数据爆炸式的增长和宽带网络的普及,近年来云计算服务的发展迅速,云存储已经成为当今云计算领域的一个重要应用分支,云存储具有存储空间价格低廉、随处存取、方便共享、容灾备份的优点。
然而,云存储在带来便捷性的同时,由于其通常采用纯明文的存储方式极易发生安全泄露的风险,也带来了安全性方面的隐患。
发明内容
本发明提供了一种云端数据存储方法、装置、设备及介质,以实现云端数据的安全存储。
根据本发明的第一方面,提供了一种云端数据存储方法,应用于云端服务器中的中心服务器,所述云端服务器还包括至少两个计算节点,包括:
接收关联客户端发送的待存储数据及公钥;
基于生成的随机数集合、所述待存储数据及所述公钥,确定密文碎片集合;
通过所述密文碎片集合作为叶节点构建第一默克尔树并进行存储;
根据各所述计算节点生成计算节点组,将所述密文碎片集合下发至所述计算节点组进行存储。
根据本发明的第二方面,提供了一种云端数据存储装置,应用于云端服务器中的中心服务器,所述云端服务器还包括至少两个计算节点,包括:
数据接收模块,用于接收关联客户端发送的待存储数据及公钥;
集合确定模块,用于基于生成的随机数集合、所述待存储数据及所述公钥,确定密文碎片集合;
构建模块,用于通过所述密文碎片集合作为叶节点构建第一默克尔树并进行存储;
信息存储模块,用于根据各所述计算节点生成计算节点组,将所述密文碎片集合下发至所述计算节点组进行存储。
根据本发明的第三方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的云端数据存储方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的云端数据存储方法。
本发明实施例的技术方案,通过应用于云端服务器中的中心服务器,云端服务器还包括至少两个计算节点,包括:接收关联客户端发送的待存储数据及公钥;基于生成的随机数集合、待存储数据及公钥,确定密文碎片集合;通过密文碎片集合作为叶节点构建第一默克尔树并进行存储,根据各计算节点生成计算节点组,将密文碎片集合下发至计算节点组进行存储。通过将待存储数据转换为密文碎片集合,并下发至各计算节点组进行存储,通过第一默克尔树进行完整性校验。实现了云端数据的安全存储,这些结构均支持并行运算,能够充分利用CPU的优势加速运算过程,提升系统效率,保证了云端数据存储的安全性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种云端数据存储方法的流程图;
图2是根据本发明实施例一提供了一种云端数据存储方法中的第一默克尔树示例图;
图3是根据本发明实施例一提供了一种云端数据存储方法中的存储结构示意图;
图4是根据本发明实施例二提供的一种云端数据存储装置的结构示意图;
图5是实现本发明实施例的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种云端数据存储方法的流程图,本实施例可适用于云端服务器进行数据存储的情况,该方法可以由云端数据存储装置来执行,应用于云端服务器中的中心服务器,所述云端服务器还包括至少两个计算节点,该云端数据存储装置可以采用硬件和/或软件的形式实现,该云端数据存储装置可配置于电子设备中。如图1所示,该方法包括:
S110、接收关联客户端发送的待存储数据及公钥。
在本实施例中,关联客户端可以理解为向云端服务器进行数据存储的客户端。待存储数据可以理解为需要发送至云端服务器进行存储的数据。公钥可以理解为用于进行加密数据。
需要知道的是,同态加密是一种特殊的加密算法,它允许在加密之后的密文上直接进行计算,且计算结果解密后正好与明文的计算结果是一致的。按照对明文的运算处理能力可分为部分同态和全同态。其中部分同态是指只支持加法运算或者乘法运算或者两者都支持但是操作次数受限的情况;全同态是指可以支持任意函数。本发明使用加法同态加密算法,这里以Paillier算法为例,简要介绍基础模块的流程:1、密钥生成(记为):首先随机选取两个大质数p和q;计算n=pq以及/>(lcm为最小公倍数);随机选取整数/>,满足/>,其中/>(gcd表示最大公约数);计算得到公钥pk为(n,g),私钥sk为/>。2、加密操作(记为/>),其中,m为明文,pk为公钥,首先设需要加密的明文为m,生成随机数r(/>);使用公钥pk加密明文m得到密文。3、解密操作(记为/>),其中c为需要解密的密文,sk表示私钥,设需要解密的密文为c,使用私钥sk解密得到明文m;计算/>。4、同态加法(记为HomAdd(c1,c2))其中,c1,c2表示要做同态加法的密文,设需要进行加法运算的两个明文分别为m1和m2对应密文为c1和c2,根据加密操作可知/> ;计算/>,结合解密的计算步骤不难看出/>。5、密文数乘(记为/>)(c表示要做乘法的密文,const为常量的乘数)设需要进行数乘运算的明文为m,对应密文为c,乘数为const根据加密操作可知/>;计算/>,结合解密的计算步骤不难看出/>
其中,关联客户端可以使用同态加密的密钥生成模块生成公私密钥对(pk,sk)。
具体的,云端服务器中的中心服务器可以接收关联客户端发送的待储存数据及公钥。
S120、基于生成的随机数集合、待存储数据及公钥,确定密文碎片集合。
在本实施例中,随机数集合可以理解为随机生成的数的集合。密文碎片集合可以理解为经过公钥加密后的所有碎片密文的集合。
具体的,中心服务器可以利用秘密共享(Secret Sharing)的思想来做数据的分片生成随机数集合,使用随机数集合拆分待储存数据,得到碎片集合,进而通过公钥对碎片集合中的每一个碎片进行同台加密,得到密文碎片集合。
S130、通过密文碎片集合作为叶节点构建第一默克尔树并进行存储。
在本实施例中,叶节点可以理解为第一默克尔树中最底部的节点。第一默克尔树可以理解为用于进行完整性验证的一种树状结构。
具体的,中心服务器可以将碎片密文作为叶节点,使用哈希函数(H)构造第一默克尔树(Merkle Tree),并对第一默克尔树进行存储,便于后续进行完整性的校验。默克尔树是一种哈希树,运算过程一般是将叶节点的数据进行分组哈希,并将生成的新哈希值插入到树中,如此递归直到只剩最后一个根哈希值并记为区块头的Merkle根,默克尔树的优势在于,它可以将大数据拆分成小块,并对每个块进行哈希计算,使得只需要验证局部块的完整性,就能快速地验证整个数据文件的完整性。
示例性的,为了理解本发明中的第一默克尔树的构成,以一个具体的示例进行展示,图2为本发明实施例一提供了一种云端数据存储方法中的第一默克尔树示例图,如图2所示,假设共有八个密文碎片,分别为cp1-cp8,根据密文碎片集合生成默克尔树(注:为区分普通的计算,〖〗符号表示密文计算,即需要调用同态加密的相关方法完成密文的计算,从叶节点自底向上进行构造,两两结合,父节点为起两个子节点的加合的哈希值(例如节点H1234=H(H12+H34)),注意这里叶子节点为密文碎片,因此起上一层父节点(H12,H34,H56,H78)所使用的加合方法为同态加合(例如H12=HomAdd(cp1,cp2))。
S140、根据各计算节点生成计算节点组,将密文碎片集合下发至计算节点组进行存储。
在本实施例中,计算节点组可以理解为将计算节点两两分组得到的计算节点组。
具体的,中心服务器可以将计算节点进行两两分组,生成计算节点组,并将密文碎片集合中的每个密文碎片进行依次下发,下发至每个计算节点组进行存储。
示例性的,为了理解本发明中的第一默克尔树的构成,以一个具体的示例进行展示,图3为本发明实施例一提供了一种云端数据存储方法中的存储结构示意图,如图3所示,假设有8个计算节点,可以分为4组:S1和S2、S3和S4、S5和S6、S7和S8,并且依次发放密文碎片cp1-cp8至对应的计算节点进行储存。
本发明实施例的技术方案,通过应用于云端服务器中的中心服务器,云端服务器还包括至少两个计算节点,包括:接收关联客户端发送的待存储数据及公钥;基于生成的随机数集合、待存储数据及公钥,确定密文碎片集合;通过密文碎片集合作为叶节点构建第一默克尔树并进行存储,根据各计算节点生成计算节点组,将密文碎片集合下发至计算节点组进行存储。通过将待存储数据转换为密文碎片集合,并下发至各计算节点组进行存储,通过第一默克尔树进行完整性校验。实现了云端数据的安全存储,这些结构均支持并行运算,能够充分利用CPU的优势加速运算过程,提升系统效率,保证了云端数据存储的安全性。后续发生异常时可以计算服务器局部更新,不必重新生成所有分片,也不不影响最终数据的恢复和数据完整性的校验。
作为本实施例一的第一可选实施例,在上述实施例的基础上,可以将基于生成的随机数集合、所述待存储数据及所述公钥,确定密文碎片集合进一步优化为:
a1、根据生成的随机数集合对待存储数据进行拆分,得到碎片数据集合。
在本实施例中,碎片数据集合可以理解为待存储数据拆分后所形成的集合。
具体的,中心服务器可以根据生成的随机数集合来拆分待存储数据,得到碎片数据集合。
示例性的,中心服务器利用秘密共享(Secret Sharing)的思想来做数据的分片生成n-1个随机数r1,r2…rn-1,得到随机数集合,再使用随机数拆分待存储数据M,即得碎片集合,不难看出/>
b1、通过公钥对碎片数据集合中的各碎片数据进行同态加密,得到密文碎片集合。
具体的,中心服务器可以使用公钥对碎片数据集合中的每个碎片数据进行同态加密,得到密文碎片集合。
示例性的,中心服务器可以使用公钥pk对碎片集合每一个元素进行同态加密,得到碎片密文的集合:
本实施例一的第一可选实施例,通过这样的设置,计算分散保存的数据采用秘密共享进行拆分契合加法同态加密的加法同态性,为后续进行存储及更新奠定了基础,当发生异常时可以计算服务器局部更新,不必重新生成所有分片,提升了更新效率,也不不影响最终数据的恢复和数据完整性的校验。
作为本实施例一的第二可选实施例,在将密文碎片集合下发至计算节点组进行存储之后,还包括:
当接收到关联客户端发送的数据获取请求时,获取各计算节点保存的碎片密文,根据各碎片密文及第一默克尔树,确定密文聚合信息并发送至关联客户端。
在本实施例中,数据获取请求可以理解为用于提取出在云端服务器存储的数据的请求。密文聚合信息可以理解为将碎片进行聚合后所对应的信息。
具体的,当中心服务器接收到关联客户端发送的数据获取请求时,中心服务器可以获取各计算节点保存的碎片密文,由于在存储的过程中可能会出现对碎片密文进行更新、丢失等情况,在进行聚合前需要对各碎片密文所对应的完整性进行检查,中心服务器可以根据当前接收到的各计算节点所保存的各碎片密文生成另一默克尔树,再将其与第一默克尔树进行比对,当比对结果一致时,中心服务器可以将碎片密文进行聚合,确定密文聚合信息并发送至关联客户端。
进一步地,可以将根据各碎片密文及第一默克尔树,确定密文聚合信息并发送至关联客户端的步骤优化为:
根据各碎片密文,生成第二默克尔树;当第一默克尔树的第一根节点与第二默克尔树的第二根节点一致时,对各碎片密文进行密文聚合,得到密文聚合信息;将密文聚合信息发送至关联客户端。
在本实施例中,第二默克尔树可以理解为通过在获取数据获取请求时各计算节点储存的碎片密文生成的默克尔树。第一根节点可以理解为在第一默克尔树最顶端的节点数值。第二根节点可以理解为在第二默克尔树最顶端的节点数值。
具体的,当接收到关联客户端发送的数据获取请求时,各计算节点可以将本地保 存的密文碎片发送给中心服务器,中心服务器根据收集到的密文碎片,自底向上构建第二 默克尔树,通过将第一默克尔树的第一根节点与第二默克尔树的第二根节点进行比对,当 第一默克尔树的第一根节点(如图2中的H12345678即为根节点)与第二默克尔树的第二根节点 一致时,对各碎片密文进行密文聚合,中心服务器计算Mc=〖cp1+cp2+…+cpn〗(使用同态加密 的同态加法HomAdd(cp1,cp2)来做密文的求和),将求出的密文聚合信息发送给客户端。其 中,若校验不通过,即数据发生篡改,此时可通过默克尔树逐层比对快速比对出发生篡改的 计算节点,假设图3中的发生了篡改,构成默克尔树的时候,自根向下依次比对会发现 H12345678,H1234及H34不同,则发生了篡改,完整性校验不通过。其中,当关联客户端收到密文聚 合信息时,客户端使用自己的私钥sk解密密文聚合信息,得到最终的明文M:M=Dec(Mc,sk)。
本实施例一的第二可选实施例,通过这样的设置,利用默克尔树进行完整性校验,保证了数据的完整性,这些结构均支持并行运算,提升了系统的计算效率,并且通过默克尔树结构可以精准排查出异常数据,实现了对异常的检查。
作为本实施例一的第三可选实施例,在将密文碎片集合下发至计算节点组进行存储之后还包括:
当计算节点满足碎片更新条件时,将计算节点作为待更新计算节点,根据待更新计算节点所属的目标计算节点组,对目标计算节点组的碎片密文进行更新。
需要知道的是,碎片更新阶段主要在于,在云端服务器日常工作中,当存储了密文碎片的计算节点本身进行一些系统更新或者自身检测到一些安全威胁时,则碎片更新条件可根据实际使用来确定,或者设置成定期更新。待更新计算节点可以理解为需要进行更新的计算节点。目标计算节点组可以理解为待更新计算节点所属的计算节点组。
具体的,当计算节点满足碎片更新条件时,将计算节点作为待更新计算节点,根据待更新计算节点所属的目标计算节点组,对目标计算节点组的碎片密文进行更新。
进一步地,在上述实施例的基础上,根据待更新计算节点所属的目标计算节点组,对目标计算节点组的碎片密文进行更新的步骤可以优化为:
a2、通过待更新计算节点将自身存储的第一密文碎片发送至目标计算节点组中的另一计算节点。
在本实施例中,第一密文碎片可以理解为当前存储的密文碎片。另一计算节点可以理解为目标计算节点组中包括的另一个计算节点。
具体的,待更新计算节点可以将自身存储的第一密文碎片发送至目标计算节点组中的另一计算节点。
b2、通过另一计算节点根据第一密文碎片、自身存储的第二密文碎片及公钥,确定第三密文碎片及第四密文碎片。
在本实施例中,第二密文碎片可以理解为另一计算节点当前存储的密文碎片。第三密文碎片可以理解为另一计算节点更新后的密文碎片。第四密文碎片可以理解为待更新计算节点更新后的密文碎片。
其中,可以将根据第一密文碎片、自身存储的第二密文碎片及公钥,确定第三密文碎片及第四密文碎片的步骤优化为:
生成更新随机数,根据公钥对更新随机数进行加密,得到第三密文碎片;根据第一密文碎片及自身存储的第二密文碎片进行密文求和,确定结合密文碎片;根据结合密文碎片及第三密文碎片,确定第四密文碎片。
具体的,首先另一计算节点首先生成随机数new_share,使用同态加密函数以及客户端生成的公钥pk对其进行加密,得到第三密文碎片cpnew_share=Enc(new_share,pk)。然后,根据第一密文碎片及第二密文碎片进行密文求和,使用同态加密的同态加法、密文数乘来实现密文求和,得到结合密文碎片,再通过结合密文碎片减去第三密文碎片,得到第四密文碎片。
示例性的,待更新计算节点为s1,第一密文碎片为cp1,另一计算节点为,第二密 文碎片为,结合密文碎片为可以表示为〖cp1+cp2〗,即使用同态加密的同态加法来做密文求和,第四密文碎片为〖cp1+cp2-cpnew_share〗,即:
c2、通过第三密文碎片更新第二密文碎片,并将第四密文碎片发送至待更新计算节点,以使待更新计算节点基于第四密文碎片更新第一密文碎片。
具体的,另一计算节点通过第三密文碎片更新第二密文碎片,并将第四密文碎片发送至待更新计算节点,以使待更新计算节点基于第四密文碎片更新第一密文碎片。
示例性的,s1更新自己持有的密文碎片cp1为〖cp1+cp2-cpnew_share〗作为新的密文碎片,s2更新自己持有的密文碎片cp2为cpnew_share,经过这轮的商议和碎片更新,两个计算节点的碎片均得到了更新,增强了系统安全性,但是不改变密文碎片的加合,即〖〖cp1+cp2-cpnew_share〗+cpnew_share〗=〖cp1+cp2〗。进一步的也就不改变解密后的明文碎片的加合,即
本实施例一的第三可选实施例,通过这样的设置,当发生异常时可以计算节点组进行局部更新,不必重新生成所有分片,更新后也不影响最终数据的恢复及数据完整性的校验。
实施例二
图4为本发明实施例二提供的一种云端数据存储装置的结构示意图。如图4所示,该装置包括:数据接收模块41、集合确定模块42、构建模块43及信息存储模块44。其中,
数据接收模块41,用于接收关联客户端发送的待存储数据及公钥;
集合确定模块42,用于基于生成的随机数集合、所述待存储数据及所述公钥,确定密文碎片集合;
构建模块43,用于通过所述密文碎片集合作为叶节点构建第一默克尔树并进行存储;
信息存储模块44,用于根据各所述计算节点生成计算节点组,将所述密文碎片集合下发至所述计算节点组进行存储。
本发明实施例的技术方案,通过应用于云端服务器中的中心服务器,云端服务器还包括至少两个计算节点,包括:接收关联客户端发送的待存储数据及公钥;基于生成的随机数集合、待存储数据及公钥,确定密文碎片集合;通过密文碎片集合作为叶节点构建第一默克尔树并进行存储,根据各计算节点生成计算节点组,将密文碎片集合下发至计算节点组进行存储。通过将待存储数据转换为密文碎片集合,并下发至各计算节点组进行存储,通过第一默克尔树进行完整性校验。实现了云端数据的安全存储,这些结构均支持并行运算,能够充分利用CPU的优势加速运算过程,提升系统效率,保证了云端数据存储的安全性。
进一步地,集合确定模块41具体用于:
根据生成的随机数集合对所述待存储数据进行拆分,得到碎片数据集合;
通过所述公钥对所述碎片数据集合中的各碎片数据进行同态加密,得到密文碎片集合。
可选地,该装置还包括:信息发送模块。
所述信息发送模块,用于在将所述密文碎片集合下发至所述计算节点组进行存储之后,当接收到所述关联客户端发送的数据获取请求时,获取各所述计算节点保存的碎片密文,根据各所述碎片密文及所述第一默克尔树,确定密文聚合信息并发送至所述关联客户端。
进一步地,所述信息发送模块具体用于:
根据各所述碎片密文,生成第二默克尔树;
当所述第一默克尔树的第一根节点与所述第二默克尔树的第二根节点一致时,对各所述碎片密文进行密文聚合,得到密文聚合信息;
将所述密文聚合信息发送至所述关联客户端。
可选地,该装置还包括:密文更新模块。
所述密文更新模块,用于在所述将所述密文碎片集合下发至所述计算节点组进行存储之后,当所述计算节点满足碎片更新条件时,将所述计算节点作为待更新计算节点,根据所述待更新计算节点所属的目标计算节点组,对所述目标计算节点组的碎片密文进行更新。
进一步地,所述密文更新模块,包括:
信息发送单元,用于通过所述待更新计算节点将自身存储的第一密文碎片发送至所述目标计算节点组中的另一计算节点;
碎片确定单元,用于通过所述另一计算节点根据所述第一密文碎片、自身存储的第二密文碎片及所述公钥,确定第三密文碎片及第四密文碎片;
密文更新单元,用于通过所述第三密文碎片更新所述第二密文碎片,并将所述第四密文碎片发送至所述待更新计算节点,以使所述待更新计算节点基于所述第四密文碎片更新所述第一密文碎片。
其中,碎片确定单元具体用于:
生成更新随机数,根据所述公钥对所述更新随机数进行加密,得到第三密文碎片;
根据所述第一密文碎片及自身存储的第二密文碎片进行密文求和,确定结合密文碎片;
根据所述结合密文碎片及所述第三密文碎片,确定第四密文碎片。
本发明实施例所提供的云端数据存储装置可执行本发明任意实施例所提供的云端数据存储方法,具备执行方法相应的功能模块和有益效果。
实施例三
图5示出了可以用来实施本发明的实施例的电子设备50的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(ROM)52、随机访问存储器(RAM)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(ROM)52中的计算机程序或者从存储单元58加载到随机访问存储器(RAM)53中的计算机程序,来执行各种适当的动作和处理。在RAM 53中,还可存储电子设备50操作所需的各种程序和数据。处理器51、ROM 52以及RAM 53通过总线54彼此相连。输入/输出(I/O)接口55也连接至总线54。
电子设备50中的多个部件连接至I/O接口55,包括:输入单元56,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如云端数据存储方法。
在一些实施例中,云端数据存储方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由ROM 52和/或通信单元59而被载入和/或安装到电子设备50上。当计算机程序加载到RAM 53并由处理器51执行时,可以执行上文描述的云端数据存储方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行云端数据存储方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (7)

1.一种云端数据存储方法,其特征在于,应用于云端服务器中的中心服务器,所述云端服务器还包括至少两个计算节点,包括:
接收关联客户端发送的待存储数据及公钥;
基于生成的随机数集合、所述待存储数据及所述公钥,确定密文碎片集合;
通过所述密文碎片集合作为叶节点构建第一默克尔树并进行存储;
根据各所述计算节点生成计算节点组,将所述密文碎片集合下发至所述计算节点组进行存储;
其中,基于生成的随机数集合、所述待存储数据及所述公钥,确定密文碎片集合,包括:
根据生成的随机数集合对所述待存储数据进行拆分,得到碎片数据集合;
通过所述公钥对所述碎片数据集合中的各碎片数据进行同态加密,得到密文碎片集合;
其中,在所述将所述密文碎片集合下发至所述计算节点组进行存储之后,还包括:
当所述计算节点满足碎片更新条件时,将所述计算节点作为待更新计算节点,根据所述待更新计算节点所属的目标计算节点组,对所述目标计算节点组的碎片密文进行更新;
其中,所述根据所述待更新计算节点所属的目标计算节点组,对所述目标计算节点组的碎片密文进行更新,包括:
通过所述待更新计算节点将自身存储的第一密文碎片发送至所述目标计算节点组中的另一计算节点;
通过所述另一计算节点根据所述第一密文碎片、自身存储的第二密文碎片及所述公钥,确定第三密文碎片及第四密文碎片;
通过所述第三密文碎片更新所述第二密文碎片,并将所述第四密文碎片发送至所述待更新计算节点,以使所述待更新计算节点基于所述第四密文碎片更新所述第一密文碎片。
2.根据权利要求1所述的方法,其特征在于,在所述将所述密文碎片集合下发至所述计算节点组进行存储之后,还包括:
当接收到所述关联客户端发送的数据获取请求时,获取各所述计算节点保存的碎片密文,根据各所述碎片密文及所述第一默克尔树,确定密文聚合信息并发送至所述关联客户端。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述碎片密文及所述第一默克尔树,确定密文聚合信息并发送至所述关联客户端,包括:
根据各所述碎片密文,生成第二默克尔树;
当所述第一默克尔树的第一根节点与所述第二默克尔树的第二根节点一致时,对各所述碎片密文进行密文聚合,得到密文聚合信息;
将所述密文聚合信息发送至所述关联客户端。
4.根据权利要求1所述的方法,所述根据所述第一密文碎片、自身存储的第二密文碎片及所述公钥,确定第三密文碎片及第四密文碎片,包括:
生成更新随机数,根据所述公钥对所述更新随机数进行加密,得到第三密文碎片;
根据所述第一密文碎片及自身存储的第二密文碎片进行密文求和,确定结合密文碎片;
根据所述结合密文碎片及所述第三密文碎片,确定第四密文碎片。
5.一种云端数据存储装置,其特征在于,应用于云端服务器中的中心服务器,所述云端服务器还包括至少两个计算节点,包括:
数据接收模块,用于接收关联客户端发送的待存储数据及公钥;
集合确定模块,用于基于生成的随机数集合、所述待存储数据及所述公钥,确定密文碎片集合;
构建模块,用于通过所述密文碎片集合作为叶节点构建第一默克尔树并进行存储;
信息存储模块,用于根据各所述计算节点生成计算节点组,将所述密文碎片集合下发至所述计算节点组进行存储;
其中,所述集合确定模块,具体用于:
根据生成的随机数集合对所述待存储数据进行拆分,得到碎片数据集合;
通过所述公钥对所述碎片数据集合中的各碎片数据进行同态加密,得到密文碎片集合;
其中,所述装置还包括:密文更新模块;
所述密文更新模块,用于在所述将所述密文碎片集合下发至所述计算节点组进行存储之后,当所述计算节点满足碎片更新条件时,将所述计算节点作为待更新计算节点,根据所述待更新计算节点所属的目标计算节点组,对所述目标计算节点组的碎片密文进行更新;
进一步地,所述密文更新模块,包括:
信息发送单元,用于通过所述待更新计算节点将自身存储的第一密文碎片发送至所述目标计算节点组中的另一计算节点;
碎片确定单元,用于通过所述另一计算节点根据所述第一密文碎片、自身存储的第二密文碎片及所述公钥,确定第三密文碎片及第四密文碎片;
密文更新单元,用于通过所述第三密文碎片更新所述第二密文碎片,并将所述第四密文碎片发送至所述待更新计算节点,以使所述待更新计算节点基于所述第四密文碎片更新所述第一密文碎片。
6.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的云端数据存储方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-4中任一项所述的云端数据存储方法。
CN202311490358.2A 2023-11-10 2023-11-10 一种云端数据存储方法、装置、设备及介质 Active CN117254908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311490358.2A CN117254908B (zh) 2023-11-10 2023-11-10 一种云端数据存储方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311490358.2A CN117254908B (zh) 2023-11-10 2023-11-10 一种云端数据存储方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN117254908A CN117254908A (zh) 2023-12-19
CN117254908B true CN117254908B (zh) 2024-02-02

Family

ID=89126630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311490358.2A Active CN117254908B (zh) 2023-11-10 2023-11-10 一种云端数据存储方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117254908B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220559A (zh) * 2017-06-11 2017-09-29 南京安链数据科技有限公司 一种针对不可篡改文件的加密存储方法
CN112988764A (zh) * 2021-05-14 2021-06-18 北京百度网讯科技有限公司 数据存储方法、装置、设备和存储介质
CN113572618A (zh) * 2021-08-10 2021-10-29 东北大学 结合Fabric和IPFS的去中心化存储系统及其数据存储方法
WO2022141014A1 (zh) * 2020-12-29 2022-07-07 深圳大学 一种基于多用户数据的安全求均值方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11711213B2 (en) * 2020-07-23 2023-07-25 PolySign, Inc. Master key escrow process

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220559A (zh) * 2017-06-11 2017-09-29 南京安链数据科技有限公司 一种针对不可篡改文件的加密存储方法
WO2022141014A1 (zh) * 2020-12-29 2022-07-07 深圳大学 一种基于多用户数据的安全求均值方法
CN112988764A (zh) * 2021-05-14 2021-06-18 北京百度网讯科技有限公司 数据存储方法、装置、设备和存储介质
CN113572618A (zh) * 2021-08-10 2021-10-29 东北大学 结合Fabric和IPFS的去中心化存储系统及其数据存储方法

Also Published As

Publication number Publication date
CN117254908A (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
WO2018184407A1 (zh) 一种具有隐私保护的K-means聚类方法及系统
EP3394848A1 (en) Method for storing data on a storage entity
CN108111295A (zh) 一种基于类模运算的同态加密算法
CN105553667A (zh) 一种动态口令的生成方法
US20130145149A1 (en) Authentication device, authentication method and computer readable medium
Ma et al. An Efficient Pairing‐Free Certificateless Searchable Public Key Encryption for Cloud‐Based IIoT
CN117725598A (zh) 安卓端数据加解密方法、装置、设备及介质
CN111798236B (zh) 交易数据加、解密方法、装置及设备
CN117254908B (zh) 一种云端数据存储方法、装置、设备及介质
CN116405199A (zh) 基于ntru算法和sm2算法的加密方法、装置、设备和介质
CN115883199A (zh) 一种文件传输方法、装置、电子设备及存储介质
CN113609156B (zh) 数据的查询与写入方法、装置、电子设备及可读存储介质
CN116248258A (zh) 一种密码检测方法、装置、设备及存储介质
CN117035776B (zh) 一种数据共享方法、装置、电子设备和存储介质
Li et al. [Retracted] Hardware Optimization and System Design of Elliptic Curve Encryption Algorithm Based on FPGA
CN116436697B (zh) 数据传输加解密方法、装置、电子设备及存储介质
CN117081744B (zh) 基于椭圆曲线的签名处理方法、装置及电子设备
KR102528441B1 (ko) 블록체인을 기반으로 한 동적 암호키를 생성하는 저전력 무선 센서 네트워크 시스템 및 상기 시스템에서의 동적 암호키 생성 방법
CN112637174B (zh) 数据相关度计算方法、装置、电子设备和存储介质
CN117459235A (zh) 面向物联网终端设备的可信控制指令的实现方法
CN117640083A (zh) 一种数据传输方法、装置、设备及存储介质
CN113783705A (zh) 密钥的零知识证明方法、验证端、设备以及存储介质
CN116594894A (zh) 一种接口测试方法、装置、电子设备及存储介质
Xu et al. Design and Implementation of a Cloud-based Collaborative Signature System for Two Parties Based on SM2
CN115603911A (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