CN110635912B - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN110635912B
CN110635912B CN201910770856.XA CN201910770856A CN110635912B CN 110635912 B CN110635912 B CN 110635912B CN 201910770856 A CN201910770856 A CN 201910770856A CN 110635912 B CN110635912 B CN 110635912B
Authority
CN
China
Prior art keywords
target
data
key
proxy server
target number
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
CN201910770856.XA
Other languages
English (en)
Other versions
CN110635912A (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 Siyuan Ideal Holding Group Co ltd
Original Assignee
Beijing Siyuan Ideal Holding Group 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 Beijing Siyuan Ideal Holding Group Co ltd filed Critical Beijing Siyuan Ideal Holding Group Co ltd
Priority to CN201910770856.XA priority Critical patent/CN110635912B/zh
Publication of CN110635912A publication Critical patent/CN110635912A/zh
Application granted granted Critical
Publication of CN110635912B publication Critical patent/CN110635912B/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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种数据处理方法及装置,该方法包括:代理服务器接收密钥生成中心发送的第一密钥对;代理服务器响应第一密钥对向密钥生成中心发送确认信息,其中,确认信息用于确认收到第一密钥对,并指示密钥生成中心删除第一密钥对以及目标数量的第二私钥;代理服务器接收目标客户端发送的数据处理请求,其中,数据处理请求用于请求对目标数据进行处理;代理服务器使用第一密钥对对目标数据进行处理。通过本发明,解决了相关技术中客户端的私钥安全性较低的问题,进而达到了提高了相关技术中客户端的私钥安全性的效果。

Description

数据处理方法及装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据处理方法及装置。
背景技术
cpk(组合公钥)体系是以第三方的kgc(密钥生成中心)生成一个密钥空间矩阵,随后用户以一个标记身份id来注册时,通过转换算法将id映射成空间内的某一组公私钥对。用户获取私钥后,本地存储公钥空间矩阵,任意用户的id在本地都可以直接换算成公钥。但是,这种处理方式会导致所有用户的私钥都被kgc存储,存在集中密钥泄露的风险。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法及装置,以至少解决相关技术中客户端的私钥安全性较低的问题。
根据本发明的一个实施例,提供了一种数据处理方法,包括:
代理服务器接收密钥生成中心发送的第一密钥对,其中,所述第一密钥对包括所述密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,所述目标数量的第二私钥与所述目标数量的客户端一一对应;
所述代理服务器响应所述第一密钥对向所述密钥生成中心发送确认信息,其中,所述确认信息用于确认收到所述第一密钥对,并指示所述密钥生成中心删除所述第一密钥对以及所述目标数量的第二私钥;
所述代理服务器接收目标客户端发送的数据处理请求,其中,所述数据处理请求用于请求对目标数据进行处理;
所述代理服务器使用所述第一密钥对对所述目标数据进行处理。
可选地,所述代理服务器接收所述密钥生成中心发送的所述第一密钥对包括:
所述代理服务器接收所述密钥生成中心发送的所述第一公钥和所述第一私钥,其中,所述第一私钥是所述目标数量的第二私钥的和,所述第一公钥是根据所述第一私钥及预设椭圆曲线类算法计算获得的,所述目标数量的第二私钥中每个第二私钥所对应的第二公钥为根据所述每个第二私钥及所述预设椭圆曲线类算法计算获得的。
可选地,所述数据处理请求包括第一运算请求,所述第一运算请求用于请求确定第一数据与目标数量的第二数据的和值,其中,所述代理服务器使用所述第一密钥对对所述目标数据进行处理包括:
所述代理服务器将所述第一数据拆分为所述目标数量的第三数据;
所述代理服务器使用所述目标数量的客户端一一对应的所述目标数量的第二公钥分别对所述目标数量的第三数据进行加密,得到所述目标数量的第四数据;
所述代理服务器将所述目标数量的数据对分别发送给所述目标数量的客户端,其中,所述目标数量的数据对中每个数据对包括一个所述第四数据和一个所述第二数据;
所述代理服务器接收所述目标数量的客户端返回的所述目标数量的第一运算结果,其中,所述目标数量的第一运算结果中每个第一运算结果是每个所述客户端对接收到的数据对进行加法运算得到的运算结果;
所述代理服务器确定所述目标数量的第一运算结果的第一运算和值,并使用所述第一私钥对所述第一运算和值进行解密,得到所述第一数据与目标数量的第二数据的和值;
所述代理服务器将所述第一数据与目标数量的第二数据的和值发送至所述目标客户端。
可选地,所述数据处理请求包括第二运算请求,所述第二运算请求用于请求确定所述目标数量的运算组合的和值,其中,所述代理服务器使用所述第一密钥对对所述目标数据进行处理包括:
所述代理服务器接收所述目标数量的客户端返回的所述目标数量的加密运算结果,其中,所述目标数量的加密运算结果中每个加密运算结果是每个所述客户端使用各自对应的第二私钥对接收到的所述目标客户端发送的加密运算组合进行解密得到运算组合,并对得到的运算组合进行运算得到第二运算结果,再使用各自对应的第二公钥加密第二运算结果得到的加密运算结果;
所述代理服务器确定所述目标数量的加密运算结果的第二运算和值,并使用所述第一私钥对所述第二运算和值进行解密,得到所述目标数量的运算组合的和值;
所述代理服务器将所述目标数量的运算组合的和值发送至所述目标客户端。
可选地,所述数据处理请求包括签名请求,所述签名请求用于请求对所述目标数据进行签名,其中,所述代理服务器使用所述第一密钥对对所述目标数据进行处理包括:
所述代理服务器使用所述第一私钥对所述目标数据进行签名,得到第一签名数据;
所述代理服务器将所述第一签名数据发送至所述目标客户端。
可选地,所述代理服务器使用所述第一私钥对所述目标数据进行签名,得到所述第一签名数据包括:
所述代理服务器将所述目标数据发送至所述目标数量的客户端;
所述代理服务器接收所述目标数量的客户端返回的所述目标数量的第二签名数据,其中,所述目标数量的第二签名数据中每个第二签名数据是所述目标数量的客户端中每个客户端使用所述每个客户端对应的第二私钥对所述目标数据进行签名得到的数据;
所述代理服务器使用所述目标数量的客户端中每个客户端对应的第二公钥分别验证所述目标数量的第二签名数据中对应的第二签名数据是否正确;
在所述目标数量的第二签名数据中的每个第二签名数据均正确的情况下,所述代理服务器使用所述第一私钥对所述目标数据进行签名,得到所述第一签名数据。
可选地,所述数据处理请求包括恢复请求,所述恢复请求用于请求恢复所述目标客户端对应的目标私钥,其中,所述代理服务器使用所述第一密钥对对所述目标数据进行处理包括:
所述代理服务器使用所述第一私钥对目标数量的密文的和进行解密,得到所述目标私钥,其中,所述目标数量的密文是所述目标客户端将所述目标私钥拆分为所述目标数量的第五数据,并使用所述目标数量的客户端对应的所述目标数量的第二公钥分别对所述目标数量的第五数据进行加密得到的数据;
所述代理服务器将所述目标私钥发送至所述目标客户端。
可选地,在所述代理服务器使用所述第一私钥对所述目标数量的密文的和进行解密,得到所述目标私钥之前,所述方法还包括:
所述代理服务器接收所述目标数量的客户端分别发送的所述目标数量的密文;或者,
所述代理服务器接收所述目标客户端发送的所述目标数量的密文。
可选地,所述代理服务器接收所述密钥生成中心发送的所述第一密钥对包括:
所述代理服务器接收所述密钥生成中心发送的加密信息,其中,所述加密信息是所述密钥生成中心使用所述代理服务器的公钥对所述第一密钥对进行加密得到的信息;
所述代理服务器使用所述代理服务器的私钥对所述加密信息进行解密,得到所述第一密钥对。
根据本发明的另一个实施例,提供了一种数据处理方法,包括:密钥生成中心根据与目标数量的客户端一一对应的所述目标数量的第二私钥生成第一公钥和第一私钥;
所述密钥生成中心将第一密钥对发送至所述目标数量的客户端所对应的代理服务器,其中,所述第一密钥对包括所述第一公钥和所述第一私钥;
所述密钥生成中心接收所述代理服务器响应所述第一密钥对发送的确认信息,其中,所述确认信息用于确认收到所述第一密钥对,并指示所述密钥生成中心删除所述第一密钥对以及所述目标数量的第二私钥;
所述密钥生成中心响应所述确认信息删除所述第一密钥对以及所述目标数量的第二私钥。
可选地,密钥生成中心根据与目标数量的客户端一一对应的所述目标数量的第二私钥生成第一公钥和第一私钥包括:
所述密钥生成中心从所述目标数量的客户端分别获取每个所述客户端对应的第二私钥;
所述密钥生成中心将所述目标数量的第二私钥的和确定为所述第一私钥;
所述密钥生成中心根据所述第一私钥及预设椭圆曲线类算法计算确定所述第一公钥,得到第一密钥对,其中,所述目标数量的第二私钥中每个第二私钥所对应的第二公钥为根据所述每个第二私钥及预设椭圆曲线类算法计算获得的。
可选地,所述密钥生成中心将第一密钥对发送至所述目标数量的客户端所对应的代理服务器包括:
所述密钥生成中心使用所述代理服务器的公钥对所述第一密钥对进行加密,得到加密信息;
所述密钥生成中心将所述加密信息发送至所述代理服务器。
根据本发明的另一个实施例,提供了一种数据处理装置,应用于代理服务器,包括:
第一接收模块,用于接收密钥生成中心发送的第一密钥对,其中,所述第一密钥对包括所述密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,所述目标数量的第二私钥与所述目标数量的客户端一一对应;
第一发送模块,用于响应所述第一密钥对向所述密钥生成中心发送确认信息,其中,所述确认信息用于确认收到所述第一密钥对,并指示所述密钥生成中心删除所述第一密钥对以及所述目标数量的第二私钥;
第二接收模块,用于接收目标客户端发送的数据处理请求,其中,所述数据处理请求用于请求对目标数据进行处理;
数据处理模块,用于使用所述第一密钥对对所述目标数据进行处理。
根据本发明的另一个实施例,提供了一种数据处理装置,应用于密钥生成中心,包括:
生成模块,用于根据与目标数量的客户端一一对应的所述目标数量的第二私钥生成第一公钥和第一私钥;
第二发送模块,用于将第一密钥对发送至所述目标数量的客户端所对应的代理服务器,其中,所述第一密钥对包括所述第一公钥和所述第一私钥;
第三接收模块,用于接收所述代理服务器响应所述第一密钥对发送的确认信息,其中,所述确认信息用于确认收到所述第一密钥对,并指示所述密钥生成中心删除所述第一密钥对以及所述目标数量的第二私钥;
删除模块,用于响应所述确认信息删除所述第一密钥对以及所述目标数量的第二私钥。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过代理服务器接收密钥生成中心发送的第一密钥对,其中,第一密钥对包括密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,目标数量的第二私钥与目标数量的客户端一一对应;代理服务器响应第一密钥对向密钥生成中心发送确认信息,其中,确认信息用于确认收到第一密钥对,并指示密钥生成中心删除第一密钥对以及目标数量的第二私钥;代理服务器接收目标客户端发送的数据处理请求,其中,数据处理请求用于请求对目标数据进行处理;代理服务器使用第一密钥对对目标数据进行处理的方式,由密钥生成中心根据目标数量客户端的第二私钥生成第一密钥对提供给代理服务器,在代理服务器确认接收到第一密钥对后密钥生成中心将第一密钥对以及目标数量的第二私钥删除,后续目标客户端的数据处理请求都由代理服务器使用第一密钥对来进行处理,使得客户端的私钥除了客户端本身之外不会存储在任何其他设备。因此,可以解决相关技术中客户端的私钥安全性较低的问题,达到提高相关技术中客户端的私钥安全性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种数据处理方法的流程图;
图3是根据本发明实施例的另一种数据处理方法的流程图;
图4是根据本发明实施例的一种数据处理装置的结构框图;
图5是根据本发明实施例的另一种数据处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据处理方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据处理方法,图2是根据本发明实施例的一种数据处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,代理服务器接收密钥生成中心发送的第一密钥对,其中,第一密钥对包括密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,目标数量的第二私钥与目标数量的客户端一一对应;
步骤S204,代理服务器响应第一密钥对向密钥生成中心发送确认信息,其中,确认信息用于确认收到第一密钥对,并指示密钥生成中心删除第一密钥对以及目标数量的第二私钥;
步骤S206,代理服务器接收目标客户端发送的数据处理请求,其中,数据处理请求用于请求对目标数据进行处理;
步骤S208,代理服务器使用第一密钥对对目标数据进行处理。
可选地,在本实施例中,客户端与代理服务器可以但不限于是绑定的关系,多个客户端中一组客户端对应一个代理服务器,另一组客户端对应另一个代理服务器,依次类推,密钥生成中心根据每组客户端的私钥为其代理服务器生成密钥对发送给该组客户端所绑定的代理服务器。
可选地,在本实施例中,上述目标数量可以但不限于为大于或者等于2的任意自然数,比如:每一组客户端可以包括10个以上的客户端。
可选地,在本实施例中,每个客户端的第二公钥和第二私钥可以但不限于是在客户端本地随机生成的。生成后,每个客户端将其第二私钥传递给密钥生成中心,密钥生成中心根据接收到的目标数量的第二私钥生成第一密钥对提供给目标数量的客户端对应的代理服务器。
可选地,在本实施例中,密钥生成中心所删除的第一密钥对以及目标数量的第二私钥可以但不限于包括密钥生成中心所存储的第一密钥对以及目标数量的第二私钥本身,以及用于传输这些密钥的信息。
可选地,在本实施例中,目标客户端发送的数据处理请求可以不限于包括:用于请求确定第一数据与目标数量的第二数据的和值的请求,用于请求确定所述目标数量的运算组合的和值的请求,用于请求对所述目标数据进行签名的请求,用于请求恢复所述目标客户端对应的目标私钥的请求等等。
通过上述步骤,通过代理服务器接收密钥生成中心发送的第一密钥对,其中,第一密钥对包括密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,目标数量的第二私钥与目标数量的客户端一一对应;代理服务器响应第一密钥对向密钥生成中心发送确认信息,其中,确认信息用于确认收到第一密钥对,并指示密钥生成中心删除第一密钥对以及目标数量的第二私钥;代理服务器接收目标客户端发送的数据处理请求,其中,数据处理请求用于请求对目标数据进行处理;代理服务器使用第一密钥对对目标数据进行处理的方式,由密钥生成中心根据目标数量客户端的第二私钥生成第一密钥对提供给代理服务器,在代理服务器确认接收到第一密钥对后密钥生成中心将第一密钥对以及目标数量的第二私钥删除,后续目标客户端的数据处理请求都由代理服务器使用第一密钥对来进行处理,使得客户端的私钥除了客户端本身之外不会存储在任何其他设备。因此,可以解决相关技术中客户端的私钥安全性较低的问题,达到提高相关技术中客户端的私钥安全性的效果。
可选地,密钥生成中心将目标数量的第二私钥的和确定为第一私钥,根据第一私钥及预设椭圆曲线类算法计算获得第一公钥,每个客户端是根据每个第二私钥及预设椭圆曲线类算法计算获得第二公钥的。
例如:在上述步骤S202中,代理服务器接收密钥生成中心发送的第一公钥和第一私钥,其中,第一私钥是目标数量的第二私钥的和,第一公钥是根据第一私钥及预设椭圆曲线类算法计算获得的,目标数量的第二私钥中每个第二私钥所对应的第二公钥为根据每个第二私钥及预设椭圆曲线类算法计算获得的。
在一个可选的实施方式中,在密钥生成中心(kgc)中,每个群体绑定唯一一个代理机构,即将群体group与代理机构proxy进行一一对应关系记录下来。假设其中一个群体为groupA,假定其包括有n(优选的方案是包括10以上)个实体(即上述目标数量的客户端),其第二私钥分别为d1、d2、d3、…、dn。令G为该预设椭圆曲线类算法(比如ecc算法)的曲线的生成元,则对应的第二公钥分别为p1=d1*G、p2=d2*G、p3=d3*G、…、pn=dn*G。
令代理机构的第一公钥为P、第一私钥为D。在groupA绑定proxyA操作时,各实体使用kgc的公钥加密其自身的第二私钥,安全的传递给kgc。此时,在kgc中计算P=p1+p2+p3+…+pn,D=d1+d2+d3+…+dn,kgc将P和D发送给代理机构作为其公私钥对。可以看出,P=p1+p2+p3+…+pn=(d1*G)+(d2*G)+(d3*G)+…+(dn*G)=(d1+d2+d3+…+dn)*G=D*G,因此代理机构的第一密钥对正确配对。当kgc安全的将P、D发送给代理机构后,kgc内部必须删除这两个值,同时删除得到的各实体第二私钥的明文和密文信息。此时即完成了群体与代理机构的真正绑定。可知在绑定后,各实体的第二私钥仍然只存在于其本地。除其本身外,不会有额外第三方获知各实体的第二私钥。
可选地,目标数量的客户端绑定了代理服务器,此代理服务器将会代替其进行多签名的签名操作、多方计算的监督、关键信息备份恢复操作等。
例如:数据处理请求包括第一运算请求,第一运算请求用于请求确定第一数据与目标数量的第二数据的和值,其中,在上述步骤S208中,代理服务器可以但不限于通过以下方式进行多方计算请求的处理:代理服务器将第一数据拆分为目标数量的第三数据;代理服务器使用目标数量的客户端一一对应的目标数量的第二公钥分别对目标数量的第三数据进行加密,得到目标数量的第四数据;代理服务器将目标数量的数据对分别发送给目标数量的客户端,其中,目标数量的数据对中每个数据对包括一个第四数据和一个第二数据;代理服务器接收目标数量的客户端返回的目标数量的第一运算结果,其中,目标数量的第一运算结果中每个第一运算结果是每个客户端对接收到的数据对进行加法运算得到的运算结果;代理服务器确定目标数量的第一运算结果的第一运算和值,并使用第一私钥对第一运算和值进行解密,得到第一数据与目标数量的第二数据的和值;代理服务器将第一数据与目标数量的第二数据的和值发送至目标客户端。
可选地,接收目标数量的数据对中每个数据对的客户端与每个数据对中包括的第四数据对应的第二公钥可以不对应,使每个客户端无法解密得到真实的第三数据值。例如:目标数量的数据对可以按乱序发给不同的参与客户端。
在上述可选的实施方式中,当代理机构ProxyA受到用户(目标客户端)的委托,进行安全计算时(优选为加法类操作)。ProxyA获取明文消息,将其分解为n个加法运算,分别为m1到mn。与其进行计算的数据对应为x1到xn。则分别对此n个运算等式作计算后,再联合相加才能得到最终结果。ProxyA使用p1到pn分别对m1到mn进行加密。加密后的结果记为M1、M2、M3、…、Mn,其与x1到xn分别配对,对此n个数按乱序发给不同的参与实体,使每个实体无法解密得到真实的m值。每个实体对密文M与明文x进行加法类运算,将运算结果返回给ProxyA。ProxyA收到最终的消息后,整体数据相加为=M1+M2+M3+…Mn+x1+x2+x3+…+xn,等同于使用ProxyA的第一公钥P加密(m1+…+mn+x1+…+xn)。因此ProxyA使用第一私钥D解密,即可得到多方计算的最终运算结果。整个过程中实现了安全的多方计算,利用同态特性,对密文直接运算得到最终结果。而各个实体并不知道真实数据和最终运算结果。
可选地,在用户需要n个实体对不同的数据进行任意计算,但需要统计最终计算结果的和的情况下,用户将运算拆分成n个不同的计算组合,需求是求n个不同计算组合的和。每个不同的计算组合需要分别保密,且可以包含任意加法类、乘法类运算,可以由代理服务器进行处理。例如:数据处理请求包括第二运算请求,第二运算请求用于请求确定目标数量的运算组合的和值,其中,在上述步骤S208中,代理服务器可以但不限于通过以下方式进行多方计算请求的处理:代理服务器接收目标数量的客户端返回的目标数量的加密运算结果,其中,目标数量的加密运算结果中每个加密运算结果是每个客户端使用各自对应的第二私钥对接收到的目标客户端发送的加密运算组合进行解密得到运算组合,并对得到的运算组合进行运算得到第二运算结果,再使用各自对应的第二公钥加密第二运算结果得到的加密运算结果;代理服务器确定目标数量的加密运算结果的第二运算和值,并使用第一私钥对第二运算和值进行解密,得到目标数量的运算组合的和值;代理服务器将目标数量的运算组合的和值发送至目标客户端。
可选地,在代理服务器接收目标数量的客户端返回的目标数量的加密运算结果之前,可以由目标客户端使用目标数量的客户端一一对应的目标数量的第二公钥分别对目标数量的运算组合进行加密,得到目标数量的加密运算组合,目标客户端将目标数量的加密运算组合分别发送给目标数量的对应的客户端。目标数量的客户端中每个客户端对收到的加密运算组合进行解密,并进行运算处理,得到运算结果,使用自身的第二公钥对运算结果进行加密,将加密后的运算结果发送给代理服务器。
在上述可选的实施方式中,用户对每个运算组合,分别使用每个实体的第二公钥加密,发送给不同的多方计算实体,每个多方计算实体收到计算组合后,使用自身第二私钥解密,拿到真实数据后,进行数学运算。每个实体运算得到结果后,为使得ProxyA只知道最终结果,而不必知道每个中间值,只需每个实体仍然使用自身第二公钥加密运算结果,将密文发送给ProxyA即可。ProxyA得到全部密文后,将密文相加,然后使用自身的第一私钥解密,即可得到最终的计算结果。ProxyA将最终运算结果返回给用户,此时安全多方计算完成。
可选地,代理服务器还可以进行多方签名的处理。用户发布一条消息,需要群体内的每个实体进行签名确认,但希望得到最终一条短签名时,可以由代理服务器进行处理。例如:数据处理请求包括签名请求,签名请求用于请求对目标数据进行签名,其中,在上述步骤S208中,代理服务器使用第一私钥对目标数据进行签名,得到第一签名数据;代理服务器将第一签名数据发送至目标客户端。
可选地,代理服务器在处理多签名请求时还可以通过目标数量的客户端对签名请求进行验证。例如:代理服务器将目标数据发送至目标数量的客户端;代理服务器接收目标数量的客户端返回的目标数量的第二签名数据,其中,目标数量的第二签名数据中每个第二签名数据是目标数量的客户端中每个客户端使用每个客户端对应的第二私钥对目标数据进行签名得到的数据;代理服务器使用目标数量的客户端中每个客户端对应的第二公钥分别验证目标数量的第二签名数据中对应的第二签名数据是否正确;在目标数量的第二签名数据中的每个第二签名数据均正确的情况下,代理服务器使用第一私钥对目标数据进行签名,得到第一签名数据。
在上述可选的实施方式中,用户将消息发给群体绑定的代理机构ProxyA,ProxyA将消息发送给群体内的全部参与签名的实体。每个签名实体分别对消息进行签名,将签名后的数据返回给ProxyA。ProxyA验证所有签名是否正确。如果全部正确,则使用自身第一私钥对消息进行签名,将签名返回给用户。任何需要验证此条消息签名的人,需要使用群体内的全部实体的第二公钥之和进行验证签名。整个过程中,只需暴露各个签名实体的第二公钥即可。由cpk组合公钥的特性,可以得到使用ProxyA的第一私钥签名数据,可以直接使用全部实体的第二公钥之和进行验签。
更一般的,如果代理机构具有较高的权限,可以全权做主进行代理签名。则用户提交消息给ProxyA,代理机构直接使用自身第一私钥签名,返回签名消息即可,而不必需要每个实体的签名消息确认。此时,仍然满足可以使用全部实体的第二公钥之和进行签名验证。此时签名速度更快,交互更少。
可选地,当用户需要将自己的秘密信息分成多份进行共享时,可以采取如下步骤进行。以秘密信息为私钥为例:首先,用户将第二私钥拆分成n个相加的大数(如生成大素数,用第二私钥数据逐个递减的方式构建)。本地备份第二私钥时,使用口令通过kdf算法转换成密钥,从而采用该密钥对私钥加密存储在本地文件中。在进行远端备份时,将n个数分别使用本装置中某个代理机构的n个参与实体的公钥加密,将密文存储在远程实体的载体内。同时这些密文还备份到本地。
可选地,当用户的上述私密信息,比如目标客户端的目标私钥,丢失需要进行恢复时,可以由代理服务器为用户恢复目标私钥。例如:数据处理请求包括恢复请求,恢复请求用于请求恢复目标客户端对应的目标私钥,其中,在上述步骤S208中,代理服务器使用第一私钥对目标数量的密文的和进行解密,得到目标私钥,其中,目标数量的密文是目标客户端将目标私钥拆分为目标数量的第五数据,并使用目标数量的客户端对应的目标数量的第二公钥分别对目标数量的第五数据进行加密得到的数据;代理服务器将目标私钥发送至目标客户端。
可选地,目标数量的密文可以但不限于是由目标数量的客户端或者目标客户端发送给代理服务器的。例如:在代理服务器使用第一私钥对目标数量的密文的和进行解密,得到目标私钥之前,代理服务器接收目标数量的客户端分别发送的目标数量的密文;或者,代理服务器接收目标客户端发送的目标数量的密文。
可选地,密钥生成中心与代理服务器之间可以采用安全方式进行数据传输。例如:在上述步骤S202中,代理服务器接收密钥生成中心发送的加密信息,其中,加密信息是密钥生成中心使用代理服务器的公钥对第一密钥对进行加密得到的信息;代理服务器使用代理服务器的私钥对加密信息进行解密,得到第一密钥对。
在本实施例中还提供了一种数据处理方法,图3是根据本发明实施例的另一种数据处理方法的流程图,如图3所示,该流程包括如下步骤:
步骤S302,密钥生成中心根据与目标数量的客户端一一对应的目标数量的第二私钥生成第一公钥和第一私钥;
步骤S304,密钥生成中心将第一密钥对发送至目标数量的客户端所对应的代理服务器,其中,第一密钥对包括第一公钥和第一私钥;
步骤S306,密钥生成中心接收代理服务器响应第一密钥对发送的确认信息,其中,确认信息用于确认收到第一密钥对,并指示密钥生成中心删除第一密钥对以及目标数量的第二私钥;
步骤S308,密钥生成中心响应确认信息删除第一密钥对以及目标数量的第二私钥。
可选地,由密钥生成中心根据目标数量的第二私钥和预设椭圆曲线类算法确定第一公钥和第一私钥。例如:在上述步骤S302中,密钥生成中心从目标数量的客户端分别获取每个客户端对应的第二私钥;密钥生成中心将目标数量的第二私钥的和确定为第一私钥;密钥生成中心根据第一私钥及预设椭圆曲线类算法计算确定第一公钥,其中,目标数量的第二私钥中每个第二私钥所对应的第二公钥为根据每个第二私钥及预设椭圆曲线类算法计算获得的。
可选地,密钥生成中心使用代理服务器自身的公钥对第一密钥对进行加密再传输给代理服务器,代理服务器使用其自身的私钥对其进行解密,得到第一密钥对,从而实现对第一密钥对的安全传输。例如:在上述步骤S304中,密钥生成中心使用代理服务器的公钥对第一密钥对进行加密,得到加密信息;密钥生成中心将加密信息发送至代理服务器。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种数据处理装置,应用于代理服务器,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的一种数据处理装置的结构框图,如图4所示,该装置包括:
第一接收模块42,用于接收密钥生成中心发送的第一密钥对,其中,第一密钥对包括密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,目标数量的第二私钥与目标数量的客户端一一对应;
第一发送模块44,用于响应第一密钥对向密钥生成中心发送确认信息,其中,确认信息用于确认收到第一密钥对,并指示密钥生成中心删除第一密钥对以及目标数量的第二私钥;
第二接收模块46,用于接收目标客户端发送的数据处理请求,其中,数据处理请求用于请求对目标数据进行处理;
数据处理模块48,用于使用第一密钥对对目标数据进行处理。
可选地,第一接收模块用于:
接收密钥生成中心发送的第一公钥和第一私钥,其中,第一私钥是目标数量的第二私钥的和,第一公钥是根据第一私钥及预设椭圆曲线类算法计算获得的,目标数量的第二私钥中每个第二私钥所对应的第二公钥为根据每个第二私钥及预设椭圆曲线类算法计算获得的。
可选地,数据处理请求包括第一运算请求,第一运算请求用于请求确定第一数据与目标数量的第二数据的和值,其中,数据处理模块包括:
拆分单元,用于将第一数据拆分为目标数量的第三数据;
第一加密单元,用于使用目标数量的客户端一一对应的目标数量的第二公钥分别对目标数量的第三数据进行加密,得到目标数量的第四数据;
第一发送单元,用于将目标数量的数据对分别发送给目标数量的客户端,其中,目标数量的数据对中每个数据对包括一个第四数据和一个第二数据;
第一接收单元,用于接收目标数量的客户端返回的目标数量的第一运算结果,其中,目标数量的第一运算结果中每个第一运算结果是每个客户端对接收到的数据对进行加法运算得到的运算结果;
第一处理单元,用于确定目标数量的第一运算结果的第一运算和值,并使用第一私钥对第一运算和值进行解密,得到第一数据与目标数量的第二数据的和值;
第二发送单元,用于将第一数据与目标数量的第二数据的和值发送至目标客户端。
可选地,数据处理请求包括第二运算请求,第二运算请求用于请求确定目标数量的运算组合的和值,其中,数据处理模块包括:
第二接收单元,用于接收目标数量的客户端返回的目标数量的加密运算结果,其中,目标数量的加密运算结果中每个加密运算结果是每个客户端使用各自对应的第二私钥对接收到的目标客户端发送的加密运算组合进行解密得到运算组合,并对得到的运算组合进行运算得到第二运算结果,再使用各自对应的第二公钥加密第二运算结果得到的加密运算结果;
第二处理单元,用于确定目标数量的加密运算结果的第二运算和值,并使用第一私钥对第二运算和值进行解密,得到目标数量的运算组合的和值;
第三发送单元,用于将目标数量的运算组合的和值发送至目标客户端。
可选地,数据处理请求包括签名请求,签名请求用于请求对目标数据进行签名,其中,数据处理模块包括:
签名单元,用于使用第一私钥对目标数据进行签名,得到第一签名数据;
第四发送单元,用于将第一签名数据发送至目标客户端。
可选地,签名单元包括:
发送子单元,用于将目标数据发送至目标数量的客户端;
接收子单元,用于接收目标数量的客户端返回的目标数量的第二签名数据,其中,目标数量的第二签名数据中每个第二签名数据是目标数量的客户端中每个客户端使用每个客户端对应的第二私钥对目标数据进行签名得到的数据;
验证子单元,用于使用目标数量的客户端中每个客户端对应的第二公钥分别验证目标数量的第二签名数据中对应的第二签名数据是否正确;
签名子单元,用于在目标数量的第二签名数据中的每个第二签名数据均正确的情况下,使用第一私钥对目标数据进行签名,得到第一签名数据。
可选地,数据处理请求包括恢复请求,恢复请求用于请求恢复目标客户端对应的目标私钥,其中,数据处理模块包括:
第一解密单元,用于使用第一私钥对目标数量的密文的和进行解密,得到目标私钥,其中,目标数量的密文是目标客户端将目标私钥拆分为目标数量的第五数据,并使用目标数量的客户端对应的目标数量的第二公钥分别对目标数量的第五数据进行加密得到的数据;
第六发送单元,用于将目标私钥发送至目标客户端。
可选地,上述装置还包括:
第四接收模块,用于在使用第一私钥对目标数量的密文的和进行解密,得到目标私钥之前,接收目标数量的客户端分别发送的目标数量的密文;或者,
第五接收模块,用于在使用第一私钥对目标数量的密文的和进行解密,得到目标私钥之前,接收目标客户端发送的目标数量的密文。
可选地,第一接收模块包括:
第三接收单元,用于接收密钥生成中心发送的加密信息,其中,加密信息是密钥生成中心使用代理服务器的公钥对第一密钥对进行加密得到的信息;
第二解密单元,用于使用代理服务器的私钥对加密信息进行解密,得到第一密钥对。
在本实施例中还提供了一种数据处理装置,应用于密钥生成中心,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的另一种数据处理装置的结构框图,如图5所示,该装置包括:
生成模块52,用于根据与目标数量的客户端一一对应的目标数量的第二私钥生成第一公钥和第一私钥;
第二发送模块54,用于将第一密钥对发送至目标数量的客户端所对应的代理服务器,其中,第一密钥对包括第一公钥和第一私钥;
第三接收模块56,用于接收代理服务器响应第一密钥对发送的确认信息,其中,确认信息用于确认收到第一密钥对,并指示密钥生成中心删除第一密钥对以及目标数量的第二私钥;
删除模块58,用于响应确认信息删除第一密钥对以及目标数量的第二私钥。
可选地,生成模块包括:
获取单元,用于从目标数量的客户端分别获取每个客户端对应的第二私钥;
第一确定单元,用于将目标数量的第二私钥的和确定为第一私钥;
第二确定单元,用于根据第一私钥及预设椭圆曲线类算法计算确定第一公钥,得到第一密钥对,其中,目标数量的第二私钥中每个第二私钥所对应的第二公钥为根据每个第二私钥及预设椭圆曲线类算法计算获得的。
可选地,第二发送模块包括:
第二加密单元,用于使用代理服务器的公钥对第一密钥对进行加密,得到加密信息;
第五发送单元,用于将加密信息发送至代理服务器。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,代理服务器接收密钥生成中心发送的第一密钥对,其中,所述第一密钥对包括所述密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,所述目标数量的第二私钥与所述目标数量的客户端一一对应;
S2,所述代理服务器响应所述第一密钥对向所述密钥生成中心发送确认信息,其中,所述确认信息用于确认收到所述第一密钥对,并指示所述密钥生成中心删除所述第一密钥对以及所述目标数量的第二私钥;
S3,所述代理服务器接收目标客户端发送的数据处理请求,其中,所述数据处理请求用于请求对目标数据进行处理;
S4,所述代理服务器使用所述第一密钥对对所述目标数据进行处理。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,代理服务器接收密钥生成中心发送的第一密钥对,其中,所述第一密钥对包括所述密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,所述目标数量的第二私钥与所述目标数量的客户端一一对应;
S2,所述代理服务器响应所述第一密钥对向所述密钥生成中心发送确认信息,其中,所述确认信息用于确认收到所述第一密钥对,并指示所述密钥生成中心删除所述第一密钥对以及所述目标数量的第二私钥;
S3,所述代理服务器接收目标客户端发送的数据处理请求,其中,所述数据处理请求用于请求对目标数据进行处理;
S4,所述代理服务器使用所述第一密钥对对所述目标数据进行处理。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种数据处理方法,其特征在于,包括:
代理服务器接收密钥生成中心发送的第一密钥对,其中,所述第一密钥对包括所述密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,所述目标数量的第二私钥与所述目标数量的客户端一一对应;
所述代理服务器响应所述第一密钥对向所述密钥生成中心发送确认信息,其中,所述确认信息用于确认收到所述第一密钥对,并指示所述密钥生成中心删除所述第一密钥对以及所述目标数量的第二私钥;
所述代理服务器接收目标客户端发送的数据处理请求,其中,所述数据处理请求用于请求对目标数据进行处理;
所述代理服务器使用所述第一密钥对对所述目标数据进行处理;
所述数据处理请求包括第一运算请求,所述第一运算请求用于请求确定第一数据与目标数量的第二数据的和值,其中,所述代理服务器使用所述第一密钥对对所述目标数据进行处理包括:
所述代理服务器将所述第一数据拆分为所述目标数量的第三数据;
所述代理服务器使用所述目标数量的客户端一一对应的所述目标数量的第二公钥分别对所述目标数量的第三数据进行加密,得到所述目标数量的第四数据;
所述代理服务器将所述目标数量的数据对分别发送给所述目标数量的客户端,其中,所述目标数量的数据对中每个数据对包括一个所述第四数据和一个所述第二数据;
所述代理服务器接收所述目标数量的客户端返回的所述目标数量的第一运算结果,其中,所述目标数量的第一运算结果中每个第一运算结果是每个所述客户端对接收到的数据对进行加法运算得到的运算结果;
所述代理服务器确定所述目标数量的第一运算结果的第一运算和值,并使用所述第一私钥对所述第一运算和值进行解密,得到所述第一数据与目标数量的第二数据的和值;
所述代理服务器将所述第一数据与目标数量的第二数据的和值发送至所述目标客户端。
2.根据权利要求1所述的方法,其特征在于,所述代理服务器接收所述密钥生成中心发送的所述第一密钥对包括:
所述代理服务器接收所述密钥生成中心发送的所述第一公钥和所述第一私钥,其中,所述第一私钥是所述目标数量的第二私钥的和,所述第一公钥是根据所述第一私钥及预设椭圆曲线类算法计算获得的,所述目标数量的第二私钥中每个第二私钥所对应的第二公钥为根据所述每个第二私钥及所述预设椭圆曲线类算法计算获得的。
3.根据权利要求1所述的方法,其特征在于,所述数据处理请求包括第二运算请求,所述第二运算请求用于请求确定所述目标数量的运算组合的和值,其中,所述代理服务器使用所述第一密钥对对所述目标数据进行处理包括:
所述代理服务器接收所述目标数量的客户端返回的所述目标数量的加密运算结果,其中,所述目标数量的加密运算结果中每个加密运算结果是每个所述客户端使用各自对应的第二私钥对接收到的所述目标客户端发送的加密运算组合进行解密得到运算组合,并对得到的运算组合进行运算得到第二运算结果,再使用各自对应的第二公钥加密第二运算结果得到的加密运算结果;
所述代理服务器确定所述目标数量的加密运算结果的第二运算和值,并使用所述第一私钥对所述第二运算和值进行解密,得到所述目标数量的运算组合的和值;
所述代理服务器将所述目标数量的运算组合的和值发送至所述目标客户端。
4.根据权利要求1所述的方法,其特征在于,所述数据处理请求包括签名请求,所述签名请求用于请求对所述目标数据进行签名,其中,所述代理服务器使用所述第一密钥对对所述目标数据进行处理包括:
所述代理服务器使用所述第一私钥对所述目标数据进行签名,得到第一签名数据;
所述代理服务器将所述第一签名数据发送至所述目标客户端。
5.根据权利要求4所述的方法,其特征在于,所述代理服务器使用所述第一私钥对所述目标数据进行签名,得到所述第一签名数据包括:
所述代理服务器将所述目标数据发送至所述目标数量的客户端;
所述代理服务器接收所述目标数量的客户端返回的所述目标数量的第二签名数据,其中,所述目标数量的第二签名数据中每个第二签名数据是所述目标数量的客户端中每个客户端使用所述每个客户端对应的第二私钥对所述目标数据进行签名得到的数据;
所述代理服务器使用所述目标数量的客户端中每个客户端对应的第二公钥分别验证所述目标数量的第二签名数据中对应的第二签名数据是否正确;
在所述目标数量的第二签名数据中的每个第二签名数据均正确的情况下,所述代理服务器使用所述第一私钥对所述目标数据进行签名,得到所述第一签名数据。
6.根据权利要求1所述的方法,其特征在于,所述数据处理请求包括恢复请求,所述恢复请求用于请求恢复所述目标客户端对应的目标私钥,其中,所述代理服务器使用所述第一密钥对对所述目标数据进行处理包括:
所述代理服务器使用所述第一私钥对目标数量的密文的和进行解密,得到所述目标私钥,其中,所述目标数量的密文是所述目标客户端将所述目标私钥拆分为所述目标数量的第五数据,并使用所述目标数量的客户端对应的所述目标数量的第二公钥分别对所述目标数量的第五数据进行加密得到的数据;
所述代理服务器将所述目标私钥发送至所述目标客户端。
7.根据权利要求6所述的方法,其特征在于,在所述代理服务器使用所述第一私钥对所述目标数量的密文的和进行解密,得到所述目标私钥之前,所述方法还包括:
所述代理服务器接收所述目标数量的客户端分别发送的所述目标数量的密文;或者,
所述代理服务器接收所述目标客户端发送的所述目标数量的密文。
8.根据权利要求1所述的方法,其特征在于,所述代理服务器接收所述密钥生成中心发送的所述第一密钥对包括:
所述代理服务器接收所述密钥生成中心发送的加密信息,其中,所述加密信息是所述密钥生成中心使用所述代理服务器的公钥对所述第一密钥对进行加密得到的信息;
所述代理服务器使用所述代理服务器的私钥对所述加密信息进行解密,得到所述第一密钥对。
9.一种数据处理装置,应用于代理服务器,其特征在于,包括:
第一接收模块,用于接收密钥生成中心发送的第一密钥对,其中,所述第一密钥对包括所述密钥生成中心根据目标数量的第二私钥生成的第一公钥和第一私钥,所述目标数量的第二私钥与所述目标数量的客户端一一对应;
第一发送模块,用于响应所述第一密钥对向所述密钥生成中心发送确认信息,其中,所述确认信息用于确认收到所述第一密钥对,并指示所述密钥生成中心删除所述第一密钥对以及所述目标数量的第二私钥;
第二接收模块,用于接收目标客户端发送的数据处理请求,其中,所述数据处理请求用于请求对目标数据进行处理;
数据处理模块,用于使用所述第一密钥对对所述目标数据进行处理;
数据处理请求包括第一运算请求,第一运算请求用于请求确定第一数据与目标数量的第二数据的和值,其中,数据处理模块包括:
拆分单元,用于将第一数据拆分为目标数量的第三数据;
第一加密单元,用于使用目标数量的客户端一一对应的目标数量的第二公钥分别对目标数量的第三数据进行加密,得到目标数量的第四数据;
第一发送单元,用于将目标数量的数据对分别发送给目标数量的客户端,其中,目标数量的数据对中每个数据对包括一个第四数据和一个第二数据;
第一接收单元,用于接收目标数量的客户端返回的目标数量的第一运算结果,其中,目标数量的第一运算结果中每个第一运算结果是每个客户端对接收到的数据对进行加法运算得到的运算结果;
第一处理单元,用于确定目标数量的第一运算结果的第一运算和值,并使用第一私钥对第一运算和值进行解密,得到第一数据与目标数量的第二数据的和值;
第二发送单元,用于将第一数据与目标数量的第二数据的和值发送至目标客户端。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至8任一项中所述的方法。
CN201910770856.XA 2019-08-20 2019-08-20 数据处理方法及装置 Active CN110635912B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910770856.XA CN110635912B (zh) 2019-08-20 2019-08-20 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910770856.XA CN110635912B (zh) 2019-08-20 2019-08-20 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN110635912A CN110635912A (zh) 2019-12-31
CN110635912B true CN110635912B (zh) 2022-07-15

Family

ID=68970530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910770856.XA Active CN110635912B (zh) 2019-08-20 2019-08-20 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN110635912B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327617B (zh) * 2020-02-25 2022-08-12 北京同邦卓益科技有限公司 数据传输方法、装置、服务器及存储介质
CN111754233B (zh) * 2020-06-29 2023-11-07 兴唐通信科技有限公司 基于多方签名的电子支付方法和系统
CN111737767B (zh) * 2020-07-31 2020-11-17 支付宝(杭州)信息技术有限公司 针对隐私数据进行安全运算的方法和装置
CN112671733A (zh) * 2020-12-16 2021-04-16 平安科技(深圳)有限公司 数据通信方法、密钥管理系统、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080048764A (ko) * 2006-11-29 2008-06-03 삼성전자주식회사 권리객체에 대리 서명하는 방법 및 장치와 대리인증서 발급방법 및 장치
CN101340282A (zh) * 2008-05-28 2009-01-07 北京易恒信认证科技有限公司 复合公钥的生成方法
CN102170357A (zh) * 2011-05-31 2011-08-31 北京虎符科技有限公司 组合密钥动态安全管理系统
WO2012111713A1 (ja) * 2011-02-17 2012-08-23 株式会社 東芝 鍵管理システム
CN103490901A (zh) * 2013-09-30 2014-01-01 广东南方信息安全产业基地有限公司 基于组合密钥体系的密钥生成和发放方法
CN103581175A (zh) * 2013-10-17 2014-02-12 江苏科技大学 一种安全的数据聚合方法
CN105450396A (zh) * 2016-01-11 2016-03-30 长沙市迪曼森信息科技有限公司 一种无证书的组合密钥产生及应用方法
CN108574570A (zh) * 2017-03-08 2018-09-25 华为技术有限公司 私钥生成方法、设备以及系统
CN109474430A (zh) * 2019-01-10 2019-03-15 四川虹微技术有限公司 一种集群密钥生成方法、装置及其存储介质
CN109600224A (zh) * 2018-11-06 2019-04-09 卓望数码技术(深圳)有限公司 一种sm2密钥生成、签名方法、终端、服务器和存储介质
CN110061828A (zh) * 2019-04-04 2019-07-26 西安电子科技大学 无可信中心的分布式数字签名方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080048764A (ko) * 2006-11-29 2008-06-03 삼성전자주식회사 권리객체에 대리 서명하는 방법 및 장치와 대리인증서 발급방법 및 장치
CN101340282A (zh) * 2008-05-28 2009-01-07 北京易恒信认证科技有限公司 复合公钥的生成方法
WO2012111713A1 (ja) * 2011-02-17 2012-08-23 株式会社 東芝 鍵管理システム
CN102170357A (zh) * 2011-05-31 2011-08-31 北京虎符科技有限公司 组合密钥动态安全管理系统
CN103490901A (zh) * 2013-09-30 2014-01-01 广东南方信息安全产业基地有限公司 基于组合密钥体系的密钥生成和发放方法
CN103581175A (zh) * 2013-10-17 2014-02-12 江苏科技大学 一种安全的数据聚合方法
CN105450396A (zh) * 2016-01-11 2016-03-30 长沙市迪曼森信息科技有限公司 一种无证书的组合密钥产生及应用方法
CN108574570A (zh) * 2017-03-08 2018-09-25 华为技术有限公司 私钥生成方法、设备以及系统
CN109600224A (zh) * 2018-11-06 2019-04-09 卓望数码技术(深圳)有限公司 一种sm2密钥生成、签名方法、终端、服务器和存储介质
CN109474430A (zh) * 2019-01-10 2019-03-15 四川虹微技术有限公司 一种集群密钥生成方法、装置及其存储介质
CN110061828A (zh) * 2019-04-04 2019-07-26 西安电子科技大学 无可信中心的分布式数字签名方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Combined Public Key Cryptosystem Based on Conic Curves over the Ring Zn;M. Yu等;《2008 International Conference on Computer Science and Software Engineering》;20081212;全文 *
一种安全的椭圆曲线代理签名方案;左为平等;《佳木斯大学学报(自然科学版)》;20070715(第04期);全文 *
两个有效的基于CPK的组群密钥传输协议;邓少锋等;《武汉大学学报(信息科学版)》;20100505(第05期);全文 *
代理签名的现状与进展;李继国等;《通信学报》;20031025(第10期);正文第3.2小节 *
李继国等.代理签名的现状与进展.《通信学报》.2003,(第10期), *
组合公钥(CPK)体制标准(V3.0);南相浩等;《计算机安全》;20091115(第11期);全文 *

Also Published As

Publication number Publication date
CN110635912A (zh) 2019-12-31

Similar Documents

Publication Publication Date Title
CN110635912B (zh) 数据处理方法及装置
US10903991B1 (en) Systems and methods for generating signatures
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
CN110213044B (zh) 基于多个非对称密钥池的抗量子计算https签密通信方法和系统
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
CN111819815B (zh) 用于转移对数字资产的控制的计算机实现的方法和系统
CN111404950B (zh) 一种基于区块链网络的信息共享方法、装置和相关设备
CN105812141A (zh) 一种面向外包加密数据的可验证交集运算方法及系统
CN108462575B (zh) 基于无可信中心门限混合加密的上传数据加密方法
CN110380845B (zh) 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备
EP3496331A1 (en) Two-party signature device and method
CN113239403A (zh) 一种数据共享方法及装置
CN110930251A (zh) 基于联盟链和隐式证书的抗量子计算云存储方法及系统
CN109818754B (zh) 客户端为多个客户端和单一服务器生成密钥的方法、设备
CN105530089B (zh) 属性基加密方法和装置
WO2022116175A1 (zh) 数字签名的生成方法、装置和服务器
CN111245594B (zh) 一种基于同态运算的协同签名方法及系统
Tang et al. Efficient cross-user deduplication of encrypted data through re-encryption
CN112003690B (zh) 密码服务系统、方法及装置
CN110166460B (zh) 业务帐号的注册方法和装置、存储介质、电子装置
CN104868994A (zh) 一种协同密钥管理的方法、装置及系统
CN113452513B (zh) 密钥分发方法、装置和系统
CN109639409B (zh) 密钥初始化方法、装置、电子设备及计算机可读存储介质
Kanagamani et al. Zero knowledge based data deduplication using in-line Block Matching protocolfor secure cloud storage
CN110880969A (zh) 基于联盟链和隐式证书的qkd网络认证密钥生成方法及系统

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