CN115460020A - 数据共享方法、装置、设备及存储介质 - Google Patents
数据共享方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115460020A CN115460020A CN202211402891.4A CN202211402891A CN115460020A CN 115460020 A CN115460020 A CN 115460020A CN 202211402891 A CN202211402891 A CN 202211402891A CN 115460020 A CN115460020 A CN 115460020A
- Authority
- CN
- China
- Prior art keywords
- data
- shared
- key
- user
- sub
- 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
Links
Images
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/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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明属于数据安全技术领域,公开了一种数据共享方法、装置、设备及存储介质。本发明通过根据用户加密密钥对本地共享数据加密,获得子共享密文数据;将子共享密文数据发送至服务端,以使服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;通过通用解密密钥对聚合密文数据进行解密,获得用户共享数据。由于在数据共享过程中,子共享密文数据由不同密钥加密,其他方均未持有该用户加密密钥,由此保证了参与方之间的数据安全性,且由于数据解密是直接通过存储在本地的通用解密密钥对聚合密文数据在本地进行解密,更进一步保证了解密结果的安全性。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种数据共享方法、装置、设备及存储介质。
背景技术
目前,互联网环境中数据应用场景多种多样,而在非可信的分布式场景中(如安全多方数据融合、安全多方集合交互、隐私保护联邦学习等分布式计算场景),用户与用户以及用户与服务端是互不可信的,而由于用户之间不可信,为了数据安全,不可令用户获取其他用户的明文数据,且由于服务端不可信,为了数据及其计算结果的安全,不可令服务端获取到明文的用户数据以及共享数据,在此种场景中,如何安全的进行数据共享,成为了一种难题。此外,除安全多方数据融合、安全多方集合交互等单次数据共享场景的安全性外,如何保证如联邦学习等需要多次交互训练场景的安全数据共享,也是一种难题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据共享方法、装置、设备及存储介质,旨在解决现有技术无法在非可信的分布式场景中保证数据的安全共享的技术问题。
为实现上述目的,本发明提供了一种数据共享方法,所述方法包括以下步骤:
根据用户加密密钥对本地共享数据加密,获得子共享密文数据;
将所述子共享密文数据发送至服务端,以使所述服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;
通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据。
可选的,所述根据所述用户加密密钥对本端共享数据加密,获得共享密文数据的步骤之前,还包括:
向密钥管理中心发送密钥生成请求,以使所述密钥管理中心根据各用户端发送的密钥生成请求反馈各用户端对应的密钥对;
对所述密钥对进行解析,获得用户加密密钥及通用解密密钥。
可选的,所述向密钥管理中心发送密钥生成请求,以使所述密钥管理中心根据各用户端发送的密钥生成请求反馈各用户端对应的密钥对的步骤,包括:
向密钥管理中心发送密钥生成请求,以使所述密钥管理中心在接收到数据共享组中各用户端发送的密钥生成请求时,生成公共参数,根据所述公共参数生成通用解密密钥以及多个用户加密密钥,依据所述多个用户加密密钥及所述通用解密密钥生成各用户端对应的密钥对并反馈。
可选的,所述根据用户加密密钥对本地共享数据加密,获得子共享密文数据的步骤,包括:
通过预设随机算法生成随机多项式;
将本地共享数据转化为多项式,获得待加密数据;
根据用户加密密钥、所述随机多项式对所述待加密数据进行加密,获得子共享密文数据。
可选的,所述通过预设随机算法生成随机多项式的步骤,包括:
获取当前迭代轮数;
将所述当前迭代轮数作为随机种子输入预设随机算法,生成随机多项式。
可选的,所述将所述子共享密文数据发送至服务端,以使所述服务端基于各用户端发送的子共享密文数据反馈聚合密文数据的步骤,包括:
将所述子共享密文数据发送至服务端,以使所述服务端在接收到数据共享组中各用户端发送的子共享密文数据时,通过预设聚合算法将所述子共享密文数据进行聚合,生成聚合密文数据并反馈。
可选的,所述通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据的步骤,包括:
通过通用解密密钥对所述聚合密文数据进行解密,获得解密数据;
对所述解密数据进行正确性验证;
在所述正确性验证通过时,将所述解密数据作为用户共享数据。
此外,为实现上述目的,本发明还提出一种数据共享装置,所述数据共享装置包括以下模块:
数据加密模块,用于根据用户加密密钥对本地共享数据加密,获得子共享密文数据;
数据发送模块,用于将所述子共享密文数据发送至服务端,以使所述服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;
数据解密模块,用于通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据。
此外,为实现上述目的,本发明还提出一种数据共享设备,所述数据共享设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的数据共享程序,所述数据共享程序被处理器执行时,实现如上所述的数据共享方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据共享程序,所述数据共享程序执行时实现如上所述的数据共享方法的步骤。
本发明通过根据用户加密密钥对本地共享数据加密,获得子共享密文数据;将子共享密文数据发送至服务端,以使服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;通过通用解密密钥对聚合密文数据进行解密,获得用户共享数据。由于在数据共享过程中,子共享密文数据由不同密钥加密,其他方均未持有该用户加密密钥,由此保证了参与方之间的数据安全性,且由于数据解密是直接通过存储在本地的通用解密密钥对聚合密文数据在本地进行解密,更进一步保证了解密结果的安全性,另外,由于每轮加密过程中用户端均重新生成随机多项式用于加密,可保证联邦学习等需要多次交互训练场景下的安全数据共享。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明数据共享方法第一实施例的流程示意图;
图3为本发明数据共享方法第二实施例的流程示意图;
图4为本发明数据共享装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据共享设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据共享程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在数据共享设备中,所述电子设备通过处理器1001调用存储器1005中存储的数据共享程序,并执行本发明实施例提供的数据共享方法。
本发明实施例提供了一种数据共享方法,参照图2,图2为本发明一种数据共享方法第一实施例的流程示意图。
本实施例中,所述数据共享方法包括以下步骤:
步骤S10:根据用户加密密钥对本地共享数据加密,获得子共享密文数据;
需要说明的是,本实施例的执行主体可以是所述数据共享设备,所述数据共享设备可以是需要进行数据共享的用户所使用的终端设备,如个人电脑、智能手机等电子设备,当然,还可以是其他功能相同或相似的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以数据共享设备为例对本发明数据共享方法进行说明。
需要说明的是,用户加密密钥可以是需要进行数据共享的至少两个用户预先向密钥管理中心申请的,不同用户会持有不同的加密密钥,用户加密密钥可以预先保存在数据共享设备本地中。本地共享数据可以是用户需要与其他用户进行共享的数据,本地共享数据可以由用户预先进行指定。
在实际使用中,根据用户加密密钥对本地共享数据加密,获得子共享密文数据可以是通过预设加密算法根据用户加密密钥对本地共享数据加密,并将生成的密文数据作为子共享密文数据。
步骤S20:将所述子共享密文数据发送至服务端,以使所述服务端基于各用户端发送的子共享密文数据反馈聚合密文数据。
需要说明的是,服务端可以是非可信分布式场景中,用于提供数据中转功能的服务器,在此场景中,服务器是不可信的,因此,服务端中并不会保存各用户的用户加密密钥,也无法对聚合后的聚合密文数据进行解密。
在实际使用中,数据共享设备可以将子共享密文数据发送至服务端,服务端会在接收到各个进行数据共享的用户所使用的数据共享设备发送的子共享密文数据之后,会通过预设密文聚合算法将子供向密文数据进行聚合为聚合密文数据,然后将聚合密文数据反馈给各个进行数据共享的用户所使用的数据共享设备。
进一步的,由于固定的加密算法容易被破解,为了提高数据共享的数据安全性,本实施例所述步骤S20,可以包括:
通过预设随机算法生成随机多项式;
将本地共享数据转化为多项式,获得待加密数据;
根据用户加密密钥、所述随机多项式对所述待加密数据进行加密,获得子共享密文数据。
需要说明的是,将本地共享数据转化为多项式,获得待价密数据可以是将本地共享数据进行编码,将其转换为项数与随机多项式项数一致的多项式数据,并将转换后的本地共享数据作为待加密数据。
在实际使用中,根据用户加密密钥、所述随机多项式对所述待加密数据进行加密,获得子共享密文数据可以是通过预设加密算法根据用户加密密钥及随机多项式对待加密数据进行加密,从而获得一个密文多项式,并将该密文多项式作为子共享密文数据。
在具体实现中,由于数据共享过程中涉及到了多个用户,而若是在同一轮加密中,每个用户所使用的数据共享设备生成的随机多项式不一致,则可能会导致最终数据难以进行聚合,导致最终数据共享过程出错,为了避免此种现象,本实施例所述通过预设随机算法生成随机多项式的步骤,可以包括:
获取当前迭代轮数;
将所述当前迭代轮数作为随机种子输入预设随机算法,生成随机多项式。
需要说明的是,当前迭代轮数可以是当前进行数据共享的轮数。
在具体实现中,为了保证同一轮各用户所使用的数据共享设备生成的随机多项式一致,可以将预设随机算法设置为一伪随机算法,该伪随机算法的输入为一随机种子,针对同一随机种子,预设随机算法输出的多项式相同。
可以理解的是,将预设随机算法设置为伪随机算法,然后将当前共享数据的轮数作为随机种子,则可以保证同一轮数的数据共享的过程中,不同用户所使用的数据共享设备生成的随机多项式保持一致,但是不同轮次可以对应不同的随机多项式,从而在保证数据可正常进行共享的前提下,提高数据共享的安全性。
步骤S30:通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据。
需要说明的是,通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据可以是通过调用预设解密算法根据通用解密密钥对聚合密文数据,从而获得用户共享数据。
在具体实现中,通用解密密钥可以是需要进行数据共享的至少两个用户预先向密钥管理中心申请的,各个用户所持有的通用解密密钥均相同。其中,通用解密密钥与各用户所持有的用户加密密钥存在联系,通用解密密钥可对聚合密文数据进行解密,但是无法对单个用户所持有的用户加密密钥进行加密得到的子共享密文数据进行解密,因此,为了保证数据可正常进行共享,则本实施例所述步骤S20,可以包括:
将所述子共享密文数据发送至服务端,以使所述服务端在接收到数据共享组中各用户端发送的子共享密文数据时,通过预设聚合算法将所述子共享密文数据进行聚合,生成聚合密文数据并反馈。
需要说明的是,数据共享组可以包括各个需要进行数据共享的用户的用户标识。用户端可以是各个需要进行数据共享的用户所使用的终端设备。
可以理解的是,由于通用解密密钥仅可对完整的聚合密文数据进行解密,若在聚合密文的过程中,缺少了任何一个用户端提供的子共享密文数据,则此时聚合得到的聚合密文数据都无法被正常进行解密,因此,服务端需要检测是否接收到数据共享组中各用户端发送的子共享密文数据,而在确定接收到数据共享组中各用户端发送的子共享密文数据时,再通过预设聚合算法将各个子共享密文数据进行聚合,之后再将生成的聚合密文数据反馈给各个用户端。
进一步的,为了提高数据共享的可靠性,本实施例所述步骤S30,可以包括:
通过通用解密密钥对所述聚合密文数据进行解密,获得解密数据;
对所述解密数据进行正确性验证;
在所述正确性验证通过时,将所述解密数据作为用户共享数据。
需要说明的是,由于是在非可信的分布式场景中应用数据共享方法,在此过程中,难免会出现恶意攻击等现象,在此过程中,恶意攻击者可能会伪造聚合密文数据,而此类伪造的聚合密文数据,其实是无法被通过通用解密密钥正常进行解密的,为了避免此种伪造的数据对用户产生影响,在通过通用解密密钥对聚合密文数据进行解密之后,可以对解密数据进行正确性验证,而若是正确性验证通过,则表示聚合密文数据并非恶意伪造的,因此,可以将解密数据作为用户共享数据。
本实施例通过根据用户加密密钥对本地共享数据加密,获得子共享密文数据;将子共享密文数据发送至服务端,以使服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;通过通用解密密钥对聚合密文数据进行解密,获得用户共享数据。由于在数据共享过程中,子共享密文数据由不同密钥加密,其他方均未持有该用户加密密钥,由此保证了参与方之间的数据安全性,且由于数据解密是直接通过存储在本地的通用解密密钥对聚合密文数据在本地进行解密,更进一步保证了解密结果的安全性,另外,由于每轮加密过程中用户端均重新生成随机多项式用于加密,可保证联邦学习等需要多次交互训练场景下的安全数据共享。
参考图3,图3为本发明一种数据共享方法第二实施例的流程示意图。
基于上述第一实施例,本实施例数据共享方法在所述步骤S10之前,还包括:
步骤S01:向密钥管理中心发送密钥生成请求,以使所述密钥管理中心根据各用户端发送的密钥生成请求反馈各用户端对应的密钥对。
需要说明的是,密钥管理中心可以用于生成用户加密秘钥及用户解密密钥,其中,密钥管理中心可以由权威机构构建,当然,也可以由用户共同协商后设立。
在实际使用中,密钥管理中心在接收到各用户端发送的密钥生成请求之后,会生成多个用户加密密钥及一个通用解密密钥,之后,可以根据用户加密密钥及通过解密密钥生成各个用户端对应的密钥对,然后将密钥对分别发送给对应的用户端。其中,生成的用户加密密钥数量与数据共享组中用户标识的数量一致;根据用户加密密钥及通过解密密钥生成各个用户端对应的密钥对可以是将用户加密密钥与各用户端对应,然后将各用户端对应的用户加密密钥与通用解密密钥组装为该用户端对应的密钥对。
在具体实现中,由于通用解密密钥与生成的多个加密密钥存在对应关系,为了保证可合理生成各个用户端对应的密钥对,本实施例所述步骤S01,可以包括:
向密钥管理中心发送密钥生成请求,以使所述密钥管理中心在接收到数据共享组中各用户端发送的密钥生成请求时,生成公共参数,根据所述公共参数生成通用解密密钥以及多个用户加密密钥,依据所述多个用户加密密钥及所述通用解密密钥生成各用户端对应的密钥对并反馈。
需要说明的是,数据共享组可以包括各个需要进行数据共享的用户的用户标识。需要进行数据共享的多个用户在确定合作之后,可以先提交信息在密钥管理中心中建立数据共享组。生成公共参数可以是从密钥生成请求中提取数据作为安全参数,然后将安全参数输入预设参数构建算法中生成公共参数,例如:从密钥生成请求中提取各用户的用户标识,对用户标识进行拼接,然后将拼接后的数据作为安全参数,之后将安全参数输入预设参数构建算法生成公共参数。
步骤S02:对所述密钥对进行解析,获得用户加密密钥及通用解密密钥。
需要说明的是,对密钥对进行解析,获得用户加密密钥及通用解密密钥可以是按预设格式对密钥对进行解析,从密钥对中提取用户加密密钥及通用解密密钥。其中,为了便于用户端计算随机多项式,服务端还可以将生成的公共参数与密钥对一起发送至各用户端。
可以理解的是,由于密钥通过网络传输,可能会存在不安全,为了提高数据共享方法的安全性,获取通用解密密钥及用户加密密钥也可以采用线下传输的方式进行,本实施例对此不加以限制。
为了便于理解,现对本发明数据共享方法进行举例说明,但不对本发明进行限定:
在本实施例中,涉及的算法总共有6个,分别为:预设参数构建算法(Setup)、预设密钥生成算法(KeyGen),预设随机算法(PRG),预设加密算法(Enc),预设解密算法(Dec),预设聚合算法(Eval)。
Setup(1λ) → PP:建立算法Setup输入安全参数 λ,输出公共参数PP={1λ, p, q,χs, χe, {bj} (j = 1, 2,…, b), a0},其中q = q(λ)是2的幂次整数,p < q为整数,χs和χe分别表示密钥分布和误差分布,均为高斯分布,{bj} (j = 1, 2,…, b) ∈ Rb,b为最大计算轮数的二进制位数,a0是一个公共随机多项式,从环 Rq = Zq/(Xn + 1) 上随机采样。
KeyGen(PP) → ({si} (i = 1, 2,…, N), s):密钥生成算法KeyGen输入公共参数PP,输出N个加密密钥{si} (i = 1, 2,…, N) 和一个解密密钥s.随后,它将密钥对{si,s} 通过安全信道分发给第i个用户。因此,不同的用户拥有不同的加密密钥和相同的解密密钥。具体的参数和密钥生成值为:N个加密密钥{si} (i = 1, 2,…, N) 的分布相同,均从密钥分布χs采样。解密密钥s为N个加密密钥的和,即解密密钥s = (s1 + s2 +… + sN)mod q.
PRG(at, {bj} (j = 1, 2,…, b), t + 1) → at + 1:伪随机数生成算法PRG将b+ 1个多项式at, {bj} (j = 1, 2,…, b)作为输入参与,将当前迭代轮数t + 1 = (x1…xb)2作为输入种子,算法输出伪随机多项式 at + 1 ∈ Rq
at + 1← F(at, {bj} (j = 1, 2,…, b), t + 1) := round(at×Πjbjxi),
其中,F可以是一个基于RLWE(Ring Learning with Errors)的伪随机函数,如Banerjee等人提出的伪随机函数。
Enc(si, mi) → ci:加密算法Enc采用加密密钥si加密明文多项式mi为密文多项式ci:
ci ← Enc(si, mi) = (at + 1 × si + p' × ei + mi) mod q,
其中ei ←χe为一个小的误差项,p' 为一个度为n - 1且所有系数为p的多项式。在该加密算法中,每轮加密过程中的随机多项式at + 1由用户采用当前计算轮数作为随机种子本地生成,保障了后续多密钥密文评估计算结果能被正确解密,同时也保证了加密方案在涉及多轮计算场景下的安全性。
Eval({ci} (i = 1, 2,…, N)) → c:预设聚合算法Eval计算N个参与方密文{ci} (i = 1, 2,…, N) 的和,并输出聚合密文cadd:
cadd← Eval({ci} (i = 1, 2,…, N)) = (c1 + c2 +… + cN) mod q = (at + 1×s + p' × e + madd) mod q,
其中,e = e1 + e2 +… + eN∈χe为一个小的误差多项式,madd = m1 + m2 +… +mN,为明文多项式的和。
Dec(s, cadd) → m':解密算法Dec采用通用解密密钥s解密聚合密文cadd,并输出解密明文m':
m' ← Dec(s, cadd) = ((cadd - at + 1× s) mod q) mod p = madd
需要说明的是,针对解密正确性:上述加密算法为双模数方法,形如(at + 1× si +p' × ei + mi) mod q,第一模数为RLWE的现有模数q,第二模数为p (p < q),用于将明文隐藏于密文的误差项中以防止恶意攻击者推理出明文,并且能在解密时以模p的方式去除该误差项,从而成功解密出明文。
针对单轮加密语义安全性:主要体现在加密算法的设计上,上述的加密算法ci =(at + 1× si + p' × ei + mi) mod q的加密形式仍然构成一个RLWE困难问题,并且,该加密过程将明文mi隐藏于误差项p' × ei之中,敌手根据密文ci和公开的随机参数at + 1不能推理出密钥si和明文mi,因此,该加密形式可以同时保证密钥和明文的安全性。另外,误差项的也保证了加密算法是一个概率算法,具有语义安全性(即同一个明文加密后的密文不相同)。
针对多轮加密语义安全性:在本方案的多方计算应用场景如隐私保护联邦学习中,用户之间需要进行多轮迭代计算,以训练出最终模型。因此,用户需要在每轮训练中对其数据进行加密,这种多轮加密的密文之间可能存在特殊联系,使得攻击者根据单一用户的多轮密文推理出该用户密钥或明文。具体在基于RLWE的加密算法中,每轮加密中的多项式a均需重新生成,否则攻击者可以根据多轮密文推理出加密密钥。
为了解决这一问题,从而保证本方案在多轮加密和单轮加密中具有相同的语义安全性,每轮迭代中均重新生成随机数a,记第t + 1次迭代的随机多项式为at + 1。该随机数由用户在每轮迭代中生成,而且为了用户之间的通信轮数尽可能小,需要所有用户在没有交互的情况下生成同样的多项式,以保证本方案中的多密钥聚合密文能被解密算法正确解密。因此,本方案初始化阶段,还需用户之间初始化一个伪随机函数,该函数以迭代次数作为种子的一部分,使得用户在不同轮迭代时生成的随机数不同而用户之间的随机数相同。为了保证整体方案的抗量子攻击安全性,本方案采用现有的RLWE伪随机函数作为用户端的伪随机函数,该函数生成伪随机多项式:
at + 1← F(at, {bj} (j = 1, 2,…, b), t + 1) := round(at×Πjbjxi)
其中at为上一轮加密中的多项式,{bj} (j = 1, 2,…, b)在每轮迭代中相同,为初始化参数。由于伪随机数生成相对于数据加密的计算开销非常低,因此不会对本方案的计算效率产生显著影响。
在此基础上,本发明数据共享方法具体的执行过程中主要涉及:密钥管理中心(KMC)、用户端(数据共享设备)、服务端。
整体方案的具体执行流程为:
S1:KMC端响应数据共享组中N个用户的秘钥生成请求,KMC生成用于后续计算的公共参数和密钥:
1、参数生成:KMC执行SMHE方案的Setup算法生成公共参数PP={1λ, p, q, χs ,χe, {bj} (j = 1, 2,…, b), a0}.
2、密钥生成:KMC执行SMHE方案的KeyGen算法生成N个加密密钥{si} (i = 1,2,…, N) 和一个解密密钥s. 随后,KMC端将{si, s} 通过安全信道分发给第i个用户。
S2:每个用户i在本地执行伪随机数生成算法PRG生成当轮(t + 1轮)随机多项式at + 1,并执行加密算法Enc生成本地密文数据,并将本地密文数据发送至服务端,具体包括:
1、伪随机数生成:用户i采用将当前轮数t + 1分解为2进制数并作为PRG的随机随机种子输入,生成随机多项式at + 1。
2、数据编码:用户i将其本地数据编码为一个多项式mi∈ Rq,该多项式的阶为n,系数为域Zq上的整数。
3、数据加密:用户i采用加密算法Enc和密钥si加密多项式mi为一个局部密文ci。
4、密文传输:用户i将局部密文ci发送给服务端。
S3:服务端在接收到所有N个用户的局部密文{ci} (i = 1, 2,…, N) 后,对密文执行聚合计算,生成聚合密文数据,并将聚合密文数据发送给各个用户端:
1、密文聚合:服务端执行Eval算法评估出N个局部密文的聚合密文数据cadd。
2、密文传输:服务端将聚合密文数据cadd发送给N个用户。
S4:用户i在接收到服务端发送的聚合密文数据cadd后,对其解密以获取计算结果的明文:
计算结果解密:用户使用通用解密密钥s执行Dec算法,获取计算结果明文m' = m1 + m2 +…+ mN。
在此过程中,从加密算法Enc可以看出,每轮加密过程中的随机多项式at + 1由用户采用当前计算轮数作为种子本地生成,保证了加密方案在涉及多轮计算场景下的数据安全性。从解密算法Dec可以看出,解密结果只能由拥有通用解密密钥的一方获得,从而确保解密结果的安全性。此外,有了通用解密密钥,Dec只能解密所有用户本地密文的聚合密文,而无法正确解密用户密文的任何部分的聚合结果。由此,可在k < N - 1个用户共谋攻击下,确保隐私敏感信息的安全性。再者,解密过程仅需拥有解密密钥的一方通过获取密文即可在本地执行解密计算,该算法仅需密钥用户与服务端进行1轮交互。因此,其解密过程节约了大量的计算开销,其通信开销也极大降低。
本实施例通过向密钥管理中心发送密钥生成请求,以使所述密钥管理中心根据各用户端发送的密钥生成请求反馈各用户端对应的密钥对;对所述密钥对进行解析,获得用户加密密钥及通用解密密钥;用户采用各自加密密钥和本地生成的当轮随机数对其数据进行加密。由此保证了各用户端仅持有其自身对应的用户加密密钥及通用解密密钥,而不会持有其他用户的用户加密密钥,保证了不同用户的密文数据之间是安全的,保证了在k < N- 1个用户合谋攻击情况下,用户数据的隐私安全性,还保证了用户的多轮加密数据不会泄露用户隐私,且由于预先将通用解密密钥发送给了各用户端,保证用户端在接收到聚合密文数据时,可以直接通过通用解密密钥在本地进行解密,无须在此将数据暴露于外网中,由此保证了解密结果的安全性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据共享程序,所述数据共享程序被处理器执行时实现如上文所述的数据共享方法的步骤。
参照图4,图4为本发明数据共享装置第一实施例的结构框图。
如图4所示,本发明实施例提出的数据共享装置包括:
数据加密模块10,用于根据用户加密密钥对本地共享数据加密,获得子共享密文数据;
数据发送模块20,用于将所述子共享密文数据发送至服务端,以使所述服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;
数据解密模块30,用于通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据。
进一步的,所述数据加密模块10,还用于向密钥管理中心发送密钥生成请求,以使所述密钥管理中心根据各用户端发送的密钥生成请求反馈各用户端对应的密钥对;对所述密钥对进行解析,获得用户加密密钥及通用解密密钥。
进一步的,所述数据加密模块10,还用于向密钥管理中心发送密钥生成请求,以使所述密钥管理中心在接收到数据共享组中各用户端发送的密钥生成请求时,生成公共参数,根据所述公共参数生成通用解密密钥以及多个用户加密密钥,依据所述多个用户加密密钥及所述通用解密密钥生成各用户端对应的密钥对并反馈。
进一步的,所述数据加密模块10,还用于通过预设随机算法生成随机多项式;将本地共享数据转化为多项式,获得待加密数据;根据用户加密密钥、所述随机多项式对所述待加密数据进行加密,获得子共享密文数据。
进一步的,所述数据加密模块10,还用于获取当前迭代轮数;将所述当前迭代轮数作为随机种子输入预设随机算法,生成随机多项式。
进一步的,所述数据发送模块20,还用于将所述子共享密文数据发送至服务端,以使所述服务端在接收到数据共享组中各用户端发送的子共享密文数据时,通过预设聚合算法将所述子共享密文数据进行聚合,生成聚合密文数据并反馈。
进一步的,所述数据解密模块30,还用于通过通用解密密钥对所述聚合密文数据进行解密,获得解密数据;对所述解密数据进行正确性验证;在所述正确性验证通过时,将所述解密数据作为用户共享数据。
本实施例通过根据用户加密密钥对本地共享数据加密,获得子共享密文数据;将子共享密文数据发送至服务端,以使服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;通过通用解密密钥对聚合密文数据进行解密,获得用户共享数据。由于在数据共享过程中,子共享密文数据由不同密钥加密,其他方均未持有该用户加密密钥,由此保证了参与方之间的数据安全性,且由于数据每轮加密过程中,用户本地根据当前轮数重新生成随机数,由此保证用户的多轮加密数据不会泄露用户数据隐私,可保证联邦学习等需要多次交互训练场景下的安全数据共享,另外,由于数据解密是直接通过存储在本地的通用解密密钥对聚合密文数据在本地进行解密,更进一步保证了解密结果的安全性。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据共享方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据共享方法,其特征在于,所述数据共享方法包括以下步骤:
根据用户加密密钥对本地共享数据加密,获得子共享密文数据;
将所述子共享密文数据发送至服务端,以使所述服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;
通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据。
2.如权利要求1所述的数据共享方法,其特征在于,所述根据所述用户加密密钥对本端共享数据加密,获得共享密文数据的步骤之前,还包括:
向密钥管理中心发送密钥生成请求,以使所述密钥管理中心根据各用户端发送的密钥生成请求反馈各用户端对应的密钥对;
对所述密钥对进行解析,获得用户加密密钥及通用解密密钥。
3.如权利要求2所述的数据共享方法,其特征在于,所述向密钥管理中心发送密钥生成请求,以使所述密钥管理中心根据各用户端发送的密钥生成请求反馈各用户端对应的密钥对的步骤,包括:
向密钥管理中心发送密钥生成请求,以使所述密钥管理中心在接收到数据共享组中各用户端发送的密钥生成请求时,生成公共参数,根据所述公共参数生成通用解密密钥以及多个用户加密密钥,依据所述多个用户加密密钥及所述通用解密密钥生成各用户端对应的密钥对并反馈。
4.如权利要求1所述的数据共享方法,其特征在于,所述根据用户加密密钥对本地共享数据加密,获得子共享密文数据的步骤,包括:
通过预设随机算法生成随机多项式;
将本地共享数据转化为多项式,获得待加密数据;
根据用户加密密钥、所述随机多项式对所述待加密数据进行加密,获得子共享密文数据。
5.如权利要求4所述的数据共享方法,其特征在于,所述通过预设随机算法生成随机多项式的步骤,包括:
获取当前迭代轮数;
将所述当前迭代轮数作为随机种子输入预设随机算法,生成随机多项式。
6.如权利要求1所述的数据共享方法,其特征在于,所述将所述子共享密文数据发送至服务端,以使所述服务端基于各用户端发送的子共享密文数据反馈聚合密文数据的步骤,包括:
将所述子共享密文数据发送至服务端,以使所述服务端在接收到数据共享组中各用户端发送的子共享密文数据时,通过预设聚合算法将所述子共享密文数据进行聚合,生成聚合密文数据并反馈。
7.如权利要求1-6任一项所述的数据共享方法,其特征在于,所述通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据的步骤,包括:
通过通用解密密钥对所述聚合密文数据进行解密,获得解密数据;
对所述解密数据进行正确性验证;
在所述正确性验证通过时,将所述解密数据作为用户共享数据。
8.一种数据共享装置,其特征在于,所述数据共享装置包括以下模块:
数据加密模块,用于根据用户加密密钥对本地共享数据加密,获得子共享密文数据;
数据发送模块,用于将所述子共享密文数据发送至服务端,以使所述服务端基于各用户端发送的子共享密文数据反馈聚合密文数据;
数据解密模块,用于通过通用解密密钥对所述聚合密文数据进行解密,获得用户共享数据。
9.一种数据共享设备,其特征在于,所述数据共享设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的数据共享程序,所述数据共享程序被处理器执行时,实现如权利要求1-7中任一项所述的数据共享方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据共享程序,所述数据共享程序执行时实现如权利要求1-7中任一项所述的数据共享方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211402891.4A CN115460020B (zh) | 2022-11-10 | 2022-11-10 | 数据共享方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211402891.4A CN115460020B (zh) | 2022-11-10 | 2022-11-10 | 数据共享方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115460020A true CN115460020A (zh) | 2022-12-09 |
CN115460020B CN115460020B (zh) | 2023-04-28 |
Family
ID=84295468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211402891.4A Active CN115460020B (zh) | 2022-11-10 | 2022-11-10 | 数据共享方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115460020B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581175A (zh) * | 2013-10-17 | 2014-02-12 | 江苏科技大学 | 一种安全的数据聚合方法 |
CN110838915A (zh) * | 2019-11-04 | 2020-02-25 | 浙江工商大学 | 一种前向安全密钥聚合的云存储数据共享方法 |
CN111181906A (zh) * | 2019-07-22 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种数据共享方法、装置、设备、系统及存储介质 |
CN113037460A (zh) * | 2021-03-03 | 2021-06-25 | 北京工业大学 | 基于同态加密和秘密共享的联邦学习隐私保护方法 |
CN113435592A (zh) * | 2021-05-22 | 2021-09-24 | 西安电子科技大学 | 一种隐私保护的神经网络多方协作无损训练方法及系统 |
-
2022
- 2022-11-10 CN CN202211402891.4A patent/CN115460020B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581175A (zh) * | 2013-10-17 | 2014-02-12 | 江苏科技大学 | 一种安全的数据聚合方法 |
CN111181906A (zh) * | 2019-07-22 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种数据共享方法、装置、设备、系统及存储介质 |
CN110838915A (zh) * | 2019-11-04 | 2020-02-25 | 浙江工商大学 | 一种前向安全密钥聚合的云存储数据共享方法 |
CN113037460A (zh) * | 2021-03-03 | 2021-06-25 | 北京工业大学 | 基于同态加密和秘密共享的联邦学习隐私保护方法 |
CN113435592A (zh) * | 2021-05-22 | 2021-09-24 | 西安电子科技大学 | 一种隐私保护的神经网络多方协作无损训练方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115460020B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196763B (zh) | Sm2算法协同签名及解密方法、装置与系统 | |
CN109831430B (zh) | 一种云计算环境下的安全可控高效的数据共享方法及系统 | |
CN111275202A (zh) | 一种面向数据隐私保护的机器学习预测方法及系统 | |
CN111342976A (zh) | 一种可验证的理想格上门限代理重加密方法及系统 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN114219483B (zh) | 基于lwe-cpabe的区块链数据共享方法、设备和存储介质 | |
JP2022528925A (ja) | データを暗号化するためのコンピュータにより実施される方法及びシステム | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
KR20210139344A (ko) | 데이터 기반 활동을 수행하는 방법 및 장치 | |
CN111901111A (zh) | Sm9密钥生成方法、装置、系统及可读存储介质 | |
CN108075879A (zh) | 一种数据加密和解密的方法、装置及系统 | |
CN108599926A (zh) | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN110557367B (zh) | 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统 | |
CN111565108B (zh) | 签名处理方法、装置及系统 | |
CN107104888B (zh) | 一种安全的即时通信方法 | |
CN114785527B (zh) | 数据传输方法、装置、设备及存储介质 | |
JP2006227411A (ja) | 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法 | |
CN116318654A (zh) | 融合量子密钥分发的sm2算法协同签名系统、方法及设备 | |
CN115834038A (zh) | 基于国家商用密码算法的加密方法及装置 | |
CN114915401A (zh) | 一种可验证的同态代理重加密方法及系统 | |
CN115460020B (zh) | 数据共享方法、装置、设备及存储介质 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN111431721A (zh) | 一种智能医疗环境下基于ibe的物联网设备加密方法 | |
JP3610106B2 (ja) | 複数の装置を有する通信システムにおける認証方法 |
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 |