CN111448779B - 用于混合秘密共享的系统、设备和方法 - Google Patents
用于混合秘密共享的系统、设备和方法 Download PDFInfo
- Publication number
- CN111448779B CN111448779B CN201980006306.9A CN201980006306A CN111448779B CN 111448779 B CN111448779 B CN 111448779B CN 201980006306 A CN201980006306 A CN 201980006306A CN 111448779 B CN111448779 B CN 111448779B
- Authority
- CN
- China
- Prior art keywords
- key
- computing device
- message
- messages
- shares
- 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
Links
Images
Classifications
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/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
- H04L63/0435—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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- 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
- H04L63/0442—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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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
- H04L63/045—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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/0819—Key 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/0825—Key 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
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/32—Cryptographic 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/3247—Cryptographic 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)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了用于混合秘密共享的系统、设备和方法。根据实施例,计算设备可以使用第一加密密钥对秘密消息进行加密,以生成加密的秘密消息。所述计算设备还可以根据阈值数目将第二加密密钥分割成多个密钥共享。所述阈值数目小于或等于所述多个密钥共享的数目。然后,所述计算设备可以传输多条消息。所述多条消息中的每条消息包括所述加密的秘密消息和所述多个密钥共享中的一个。
Description
相关申请案交叉申请
本申请要求于2018年5月1日递交的发明名称为“用于混合秘密共享的系统、设备和方法”的第15/968,430号美国专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
技术领域
本发明大体涉及密码学,在特定实施例中,涉及用于机密信息的秘密共享的系统、设备和方法的技术和机制。
背景技术
秘密共享(也称为秘密分割)是指一种用于在一组参与者之间分割和分布秘密消息的方法。为所述参与者中的每一个分配所述秘密消息共享。只有将足够多的共享组合在一起,才能重构所述秘密消息。每个独立共享都不能单独用于重构所述秘密。
在秘密共享中,给定秘密消息(S)、所需共享数目(N)和阈值数目(T),将所述秘密消息(S)分割成N个共享。原始秘密消息可以根据任何T数目的不同共享来重构。若数目小于所述T个共享,则禁止访问所述秘密消息S。例如,秘密口令可能被分割成三个共享(N=3),阈值为两份(T=2)。所述三个共享可以在3名管理员之间分布,每名管理员拥有一个不同的共享。由于所述阈值为2,因此任何一个管理员都无法重构所述秘密口令。至少需要两名管理员根据向这两名管理员分布的两个相应共享来重构原始口令。
发明内容
本发明实施例描述的用于机密信息的混合秘密共享的系统、设备和方法通常可以实现技术优势。
根据本发明的一个方面,公开了用于加密秘密消息的方法。计算设备可以使用第一加密密钥对所述秘密消息进行加密,以生成加密的秘密消息。所述计算设备还可以根据阈值数目将第二加密密钥分割成多个密钥共享。所述阈值数目小于或等于所述多个密钥共享的数目。然后,所述计算设备可以传输多条消息。所述传输的多条消息中的每条消息包括所述加密的秘密消息和所述多个密钥共享中的一个。
根据本发明的任一前述方面,至少需要所述阈值数目的所述多个密钥共享来重构所述第二加密密钥。
根据本发明的任一前述方面,所述第一加密密钥为对称加密密钥,所述第二加密密钥与所述第一加密密钥相同。
根据本发明的前述方面,所述计算设备使用经认证的加密算法和所述第一加密密钥对所述秘密消息进行加密,以生成所述加密的秘密消息。
根据本发明的前述方面,所述经认证的加密算法是采用伽罗华计数器模式的高级加密标准(Advanced Encryption Standard with a Galois/Counter Mode,简称AES-GCM)加密算法或采用CBC-MAC模式的高级加密标准(Advance Encryption Standard with CBC-MAC Mode,简称AES-CCM)加密算法。
根据本发明的任一前述方面,所述第一加密密钥是用于非对称加密的密钥对中的公钥,所述第二加密密钥是所述密钥对中的私钥。
根据本发明的前述方面,所述方法还包括:通过所述计算设备,生成第二密钥对,所述第二密钥对包括第二私钥和第二公钥;对于所述多条消息中的每条相应的消息:通过所述计算设备,使用所述第二密钥对中的所述第二私钥生成数字签名;通过所述计算设备,在所述相应的消息中包括所述生成的数字签名,用于认证所述相应的消息。
根据本发明的任一前述方面,所述分割包括使用Shamir秘密共享方案分割函数将所述第二加密密钥分割成所述多个密钥共享。
根据本发明的任一前述方面,在所述计算设备的安全存储器中生成所述秘密消息。
根据本发明的另一方面,公开了用于对加密的秘密消息进行解密的方法。计算设备可以接收多条消息。所述接收到的多条消息中的每条消息包括所述加密的秘密消息和多个密钥共享中的不同密钥共享。所述计算设备可以确定至少接收到重构加密密钥所需的阈值数目的不同密钥共享。之后,所述计算设备可以组合所述接收到的多条消息中的每条消息中的所述不同密钥共享,以重构加密密钥。然后,所述计算设备使用所述重构的加密密钥对所述加密的秘密消息进行解密,以生成所述秘密消息。
根据本发明的任一前述方面,所述用于对加密的秘密消息进行解密的方法还包括:在所述解密之前,对所述接收到的多条消息中的每条消息进行认证。
根据本发明的前述方面,所述认证包括:对于所述接收到的多条消息中的每条消息,通过所述计算设备,在未对所述接收到的多条消息中的至少一条进行认证时,报告对所述接收到的多条消息的篡改。
根据本发明的前述方面,所述认证包括:对于所述接收到的多条消息中的每条消息,通过所述计算设备,在未对所述接收到的多条消息中的至少一条中包含的数字签名进行认证时,报告对所述接收到的多条消息的篡改。
根据本发明的任一前述方面,所述重构的加密密钥是用于使用经认证的加密算法对所述秘密消息进行加密的对称加密密钥。
根据本发明的前述方面,用于对加密的秘密消息进行解密的方法还包括:根据所述加密的秘密消息的所述解密的结果来检测篡改。
根据本发明的任一前述方面,所述解密包括使用所述重构的加密密钥和采用伽罗华计数器模式的高级加密标准(Advanced Encryption Standard with a Galois/CounterMode,简称AES-GCM)解密算法或采用CBC-MAC模式的高级加密标准(Advance EncryptionStandard with CBC-MAC Mode,简称AES-CCM)解密算法中的一个对所述加密的秘密消息进行解密,以生成所述秘密消息。
根据本发明的任一前述方面,所述重构的加密密钥是用于非对称加密的密钥对中的私钥,所述密钥对包括所述私钥和公钥。
根据本发明的任一前述方面,所述组合包括使用Shamir秘密共享方案组合函数来组合所述多条消息中的每条消息中的所述不同密钥共享,以生成所述加密密钥。
此外,还提供了用于执行所述方法的计算设备和计算机程序产品。
附图说明
为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,其中:
图1是传统秘密共享技术的示图;
图2是一些实施例提供的混合秘密共享技术的示图;
图3是一些实施例提供的用于重构秘密消息的混合秘密共享技术的示图;
图4是一些实施例提供的一种用于加密计算设备执行秘密消息的混合秘密共享的方法的流程图;
图5是一些实施例提供的一种用于解密加密计算设备执行混合秘密共享和重构加密的秘密消息的方法的流程图;
图6是一些实施例提供的一种用于解密计算设备检测消息篡改的方法的流程图;
图7是示出混合秘密共享的一种实现方式实施例的性能与使用Shamir秘密共享方案来分割秘密消息的传统方法的性能之间比较的示图;
图8是一种处理系统实施例的示图。
除非另有指示,否则不同图中的对应标号和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。
具体实施方式
下文将详细论述本发明实施例的制作和使用。然而,应了解,本发明提供可在各种具体上下文中体现的许多适用的发明性概念。所论述的具体实施例仅仅说明用以实施和使用本发明的具体方式,而不限制本发明的范围。下面将更详细地描述这些和其它发明方面。
以下详细论述当前实例实施例的操作和其结构。但应了解,本发明提供的许多适用发明概念可实施在多种具体环境中。所论述的具体实施例仅仅说明本发明的具体结构以及用于操作本发明的具体方式,而不应限制本发明的范围。
秘密共享是存储高度敏感、高度重要的机密信息的理想选择。机密信息的示例包括机密文件、加密密钥、导弹发射代码和银行账户码。这些信息必须高度保密,因为它们一旦泄露,后果可能是灾难性的。此外,至关重要的是,这些信息不得丢失。传统秘密共享将一条秘密消息(S)分割成N个所需共享,其中阈值为(T),并将所述秘密消息的一个或多个共享分配给不同参与者的计算设备以将其存储在所述计算设备中。所述阈值数目(T)是重构原始秘密消息所需的不同共享的最小数目。另一方面,数目小于所述阈值数目(T)共享不足以重构所述原始秘密消息。
图1示出了传统秘密共享技术的示图。在图1中,分割操作104将秘密消息S 102分割成N个共享106(s1、s2、s3、……、sN),其中T为所述阈值数目。这里,秘密消息S 102可以是表示机密信息的未加密字节序列(例如,明文)。N可以是大于或等于2的正整数。T可以是大于或等于2的正整数,并且T小于N。所述N个共享106可以这样的方式分布在多个参与者之间,使得重构所述秘密消息S 102的唯一方法是访问至少若干数目的共享。此数目称为所述阈值数目(T)。无法通过访问数目小于所述阈值数目T的共享来重构所述秘密消息S 102。
例如,分割操作104可以将所述秘密消息S 102分割成4个共享(s1、s2、s3、s4),其中3为所述阈值数目(N=4,T=3)。需要至少3个不同的共享才能重构所述秘密消息S 102。可以向3名管理员(即参与者108、110和112)分布所述共享。可以通过网络(图1中未示出)将所述相应的共享传输至所述3名管理员使用的相对应的计算设备来分布所述共享。此外,还可以将所述共享存储在诸如便携式硬盘驱动器和USB拇指驱动器之类的便携式永久性存储器中,并通过使用所述便携式永久性存储器向所述3名其它管理员分布所述共享,以将所述相应的共享传输至所述3名管理员使用的相对应的计算设备。
在图1中的示例中,可以为管理员108、110和112分配不同级别的特权。例如,管理员108可能仅可接收共享s1,管理员110可以接收共享s1和s2,管理员112可以接收共享s3和s4,如图1所示。这里,每名管理员使用的所述计算设备没有足够的共享来重构所述秘密消息S 102,因为管理员使用的所述计算设备都不具有所述阈值数目(T=3)的所述共享。但是,管理员108和112使用的所述计算设备可以组合其相应的共享(s1、s3、s4),以重构所述原始秘密消息S 102。同样,管理员110和112使用的所述计算设备可以组合其相应的共享(s1、s2、s3、s4),以重构所述秘密消息S 102。然而,由于管理员108和110的不同共享(s1、s2)的总数目仍然小于所需阈值数目(T=3),因此管理员108和110使用的所述计算设备无法组合其相应的共享来重构所述秘密消息S 102。
分割操作104可以使用所述Shamir秘密共享方案(S4)的分割函数来分割所述原始秘密消息S 102。例如,在分割计算设备上运行的分割操作104可以调用s4_split(S,T,N)函数,该函数使用所述Shamir秘密共享算法将秘密消息S 102分割成N个共享,其中所述阈值数目为T。当所述原始秘密消息S 102需要由重构计算设备重构时,组合操作(图1中未示出)可以调用s4_combine({s1,s2,s3,…,sT})函数,以使用所述Shamir秘密共享算法组合共享(s1、s2、s3、……、sT)。这里,(s1、s2、s3、……、sT)为足以重构所述原始秘密消息S 102的共享的示例。一般来说,与所述生成的共享(s1、s2、s3、……、sN)不同的任何T个共享足以重构所述原始秘密消息S 102。在图1的示例中,管理员108和112使用的所述计算设备可以组合其相应的共享(s1、s3、s4),所述重构计算设备上的所述组合操作可以调用所述s4_combine({s1,s3,s4})函数来重构所述秘密消息S 102。有关所述Shamir秘密共享方案的详细信息的说明,请参见Adi Shamir于1979年11月在《ACM通讯》第22卷第11期第612至613页上发表的“如何共享秘密”,其内容以引入的方式并入本文。
运行图1中描述的秘密共享技术的秘密共享操作在计算上可能较为昂贵。特别地,当所述秘密消息S 102的数据量变得较大(例如,表示所述机密信息的未加密字节的数目变得较大)时,对所述秘密消息S 102运行秘密共享操作(例如,将所述秘密消息S 102分割成若干个共享的分割操作)可能会显著地干扰所述计算设备的性能(例如,每秒执行分割操作的次数)。当所述秘密消息S 102的所述数据量较大时,运行组合至少T个共享来重构所述秘密消息S 102的秘密共享操作(例如,共享操作)期间也可能会发生类似的计算机性能(例如,每秒执行组合操作的次数)问题。
与传统秘密共享技术有关的另一技术问题是篡改检测。可能的是,已接收到部分所述秘密消息的参与者的计算设备可能会欺骗和试图欺骗其它共享接收参与者的计算设备。目前,还没有通过访问仅T个共享来检测篡改的技术。可能的是,使用其相对应的计算设备的管理员可以篡改所述管理员接收到的共享。当所述管理员在所述秘密消息重构阶段呈现其相应的共享时,不诚实参与者(即欺骗者)的计算设备可以始终通过呈现所述被篡改的共享来完全导出所述秘密消息。因此,其它诚实的参与者的计算设备只能得到一条虚假秘密消息。在检测是否发生了欺骗行为的传统方法中,篡改检测需要访问超过T个共享。例如,在Harn和Lin的标题为“(t,n)秘密共享中的欺骗者的检测和识别”的论文中,他们呈现了一种用于检测共享篡改的方法。Harn和Lin提议的技术需要超过T个共享来检测欺骗已经发生。因此,即使以T个共享足以重构所述秘密消息的目的对所述秘密消息进行分割,但在所述重构阶段(即消息组合操作),仍需超过T个共享来检测篡改,从而产生效率问题。
相应地,需要改进秘密共享,以提高所述计算设备的性能以及有效地检测可能的共享篡改,而不必在所述秘密重构阶段访问超过必要阈值数目的共享。
为了解决上述技术问题,本发明实施例提供了一种技术方案,该技术方案使用加密密钥将所述秘密消息加密成加密的秘密消息。所述加密密钥可以是随机生成的提供认证的对称加密密钥。所述加密密钥也可以是用于非对称加密的密钥对中的公钥。在非对称加密的情况下,数字签名可以用来提供认证。本发明实施例分割所述加密密钥以生成N个密钥共享而不是分割所述原始秘密消息,其中所述阈值数目为T。所述生成的密钥共享的每个密钥共享和所述加密的秘密消息都包含在相对应的输出消息中以供分布。在所述消息重构方面,接收到至少T条输出消息,组合所述接收到的输出消息中的所述相对应的至少T个密钥共享,以重构所述加密密钥。然后,使用所述重构的加密密钥对所述加密消息进行解密,以生成所述原始秘密消息。这样,便可提高计算机操作的性能。特别地,对于数据量非常大的秘密消息,与传统秘密共享技术相比,所公开方案的运行速度更快(例如,相对于所述传统秘密共享技术,每秒执行分割操作的次数和每秒执行组合操作的次数都有所增加)。此外,只要修改不足T个共享,所述公开的方案只需检查所述阈值数目(T)的接收到的共享,即可检测特定参与者是否已篡改所述参与者的相应的秘密共享。
图2是一些实施例提供的由加密计算设备执行的混合秘密共享技术的示图。所述加密计算设备可以在安全存储器环境中生成对称加密密钥K206。例如,所述加密计算设备可以使用伪随机数生成器(pseudo random number generator,简称PRNG)来生成所述对称加密密钥K 206。接下来,加密操作210使用所述对称加密密钥K 206对所述秘密消息S202进行加密,以生成所述加密的秘密消息C212。秘密消息S202的示例可以包括机密文件、加密密钥、导弹发射代码和银行账户码。
加密操作210可以使用经认证的加密算法和所述对称加密密钥K 206来生成所述加密的秘密消息C 212。所述经认证的加密算法可以是采用伽罗华计数器模式的高级加密标准(Advanced Encryption Standard with a Galois/Counter Mode,简称AES-GCM)加密算法或采用CBC-MAC模式的高级加密标准(Advance Encryption Standard with CBC-MACMode,简称AES-CCM)加密算法。例如,加密操作210可以调用enc_aes_gcm_256(data,key,iv,tagSize)函数来加密所述秘密消息S 202。这里,在所述函数中,“data”是采用纯文本格式的所述秘密消息S 202(例如,所述数据是所述未加密的秘密消息),“key”是256位AES密钥(例如,所述对称加密密钥K 206),“iv”是初始化向量,“tagSize”是所述AES GCM模式的标签大小。所述函数enc_aes_gcm_256(data,key,iv,tagSize)的输出是所述加密的秘密消息C 212。
在一个示例实施例中,与结合图1描述的传统秘密共享技术相比,图2中的混合秘密共享技术不会分割所述秘密消息S 202(或所述加密的秘密消息C 212)。相反,分割操作204将所述对称加密密钥K 206分割成N个密钥共享208(k1、k2、k3、……、kN),其中T为所述阈值数目。这里,N是大于或等于2的正数。T是大于或等于2的正整数,T小于N。
分割操作204可以此类方法分割所述对称加密密钥K 206,使得重构所述对称加密密钥K 206的唯一方式是访问至少所述阈值数目(T)密钥共享208。所述对称加密密钥K 206无法通过访问不足所述阈值数目T的共享数来重构。在一些实施例中,分割操作204可以使用所述Shamir秘密共享方案(S4)的分割函数来分割所述对称加密密钥K 206。例如,分割操作204可以调用s4_split(K,T,N)函数,该函数使用上述Shamir秘密共享算法来将所述对称加密密钥K 206分割成N个密钥共享208,其中所述阈值数目为T。
所述加密计算设备生成N条消息214(M1、M2、M3、……、MN)以供分布。(M1、M2、M3、……、MN)的每条消息包括所述加密的秘密消息C 212和不同于所述N个密钥共享(k1、k2、k3、……、kN)的密钥共享。例如,消息M1包括所述加密的秘密消息C 212和密钥共享k1。消息M2包括所述加密的秘密消息C 212和密钥共享k2。消息MN包括所述加密的秘密消息C 212和密钥共享kN。
一般来说,消息Mi可以包括所述加密的秘密消息C 212和密钥共享ki。在一个实施例中,除了所述加密的秘密消息C 212和所述相应的密钥共享ki之外,每条消息Mi还可以包括上述初始化向量“iv”。为了防止重放攻击,为每个共享生成一个新的“iv”和所述加密密钥。因此,无法重用先前共享。
在图2中,在所述加密计算设备的可信执行环境可访问的安全存储器中提供所述秘密消息S 202,使得所述秘密消息S 202中的数据不会被泄露。所述可信执行环境可以由可信计算平台提供,例如采用英特尔软件保护扩展(Software Guard Extension,简称SGX)的平台、采用AMD安全执行环境的平台或采用TrustZoneTM的平台。此外,由所述安全存储器中的本地函数调用执行所述对称加密密钥K 206、所述密钥共享208、所述加密的秘密消息C212和所述消息214的生成。这样,就不会存在对所述安全存储器中的所述本地函数调用的中间人攻击。
例如,如果分割操作204将对称加密密钥K 206分割成4个密钥共享(k1、k2、k3、k4),其中3为所述阈值数目(N=4,T=3)。需要至少3个不同的密钥共享才能重构所述对称加密密钥K 206。可以向3名管理员108、110和112分布所述消息214(图2中未示出)。可以通过网络(图2中未示出)将所述相应的消息传输至所述3名管理员使用的相对应的计算设备来分布所述消息214。可以通过使用诸如USB拇指驱动器之类的永久性存储设备来分布所述消息214,以向所述3名管理员使用的相对应的计算机传送或分布所述相应的消息。
在结合图2的该示例中,可能已为管理员108、110和112分配不同级别的特权。例如,管理员108使用的所述计算设备可能仅可接收消息M1,管理员110使用的所述计算设备可以接收消息M1和M2,管理员112使用的所述计算设备可以接收消息M3和M4。这里,每名管理员108、110和112使用的所述计算设备没有足够的密钥共享来重构所述对称加密密钥K206,因为管理员108、110和112使用的所述计算设备都不具有所述阈值数目(T=3)的所述密钥共享。但是,管理员108和112使用的所述计算设备可以组合其相应的密钥共享(k1、k3、k4),以重构所述对称加密密钥K 206。同样,管理员110和112使用的所述计算设备可以组合其相应的共享(k1、k2、k3、k4),以重构所述对称加密密钥K 206。然而,由于管理员108和110的不同共享(k1、k2)的总数目仍然小于所需阈值数目(T=3),因此管理员108和110使用的所述计算设备无法组合其相应的密钥共享来重构所述对称加密密钥K 206。
图3是一些实施例提供的由解密计算设备执行的用于重构所述秘密消息S202的混合秘密共享技术的示图。所述解密计算设备可以接收至少阈值数目(T)的消息302。为了便于说明,图3示出了接收消息(M1、M2、M3、……、MT)的所述解密计算设备的非限制性示例。在其它示例中,不同于消息302(M1、M2、M3、……、MN)的任何T(或更多)条消息足以重构所述秘密消息S202。例如,当N=4和T=3时,所述解密计算设备可以分别从管理员108和112接收消息(M1)和消息(M3、M4),以重构所述秘密消息S202。
所述解密计算设备可以通过网络从所述管理员使用的所述计算机接收消息302。所述解密计算设备还可以从诸如承载消息302的USB拇指驱动器之类的永久性存储设备接收消息302。
所述接收到的消息302(M1、M2、M3、……、MT)中的每条消息包括所述加密的秘密消息C 212和不同于所述T个密钥共享306(k1、k2、k3、……、kT)的密钥共享。例如,消息M1包括所述加密的秘密消息C 212和密钥共享k1。消息M1包括所述加密的秘密消息C 212和密钥共享k2。消息MT包括所述加密的秘密消息C 212和密钥共享kT。一般来说,消息Mi可以包括所述加密的秘密消息C 212和密钥共享ki。
如图3所示,根据所述接收到的T条消息302,所述解密计算设备可以从(M1、M2、M3、……、MN)中提取密钥共享306(k1、k2、k3、……、kT)。然后,组合操作308组合密钥共享306(k1、k2、k3、……、kT)以生成所述对称加密密钥K 206。在一个实施例中,组合操作308可以调用s4_combine({k1,k2,k3,…,kT})函数,该函数使用所述Shamir秘密共享算法来生成所述对称加密密钥K 206。
此外,根据消息302的任何一条消息,所述解密计算设备可以提取所述加密的秘密消息C 212。然后,解密操作312可以使用所述生成的对称加密密钥K 206对所述加密的秘密消息C 212进行解密并生成所述秘密消息S 202(例如,所述原始秘密消息)。
在一个实施例中,解密操作312可以使用经认证的解密算法和所述对称加密密钥K206对所述加密的秘密消息C 212进行解密。所述经认证的解密算法可以是AES-GCM解密算法或AES-CCM解密算法。例如,解密操作312可以调用dec_aes_gcm_256(data,key,iv,tagSize)函数对所述加密的秘密消息C 212进行解密。这里,在所述函数中,“data”是所述加密的秘密消息C 212,“key”是256位AES密钥(例如,所述对称加密密钥K 206),“iv”是所述初始化向量,“tagSize”是所述AES GCM模式的标签大小。所述函数dec_aes_gcm_256(data,key,iv,tagSize)的输出是采用明格式的所述原始秘密消息S 202(例如,所述未加密的原始秘密消息S 202)。
上文图2和3中所描述的实施例结合使用对称加密密钥和经认证的加密算法进行混合秘密共享。在这些实施例中,使用相同的对称加密密钥K 206进行所述秘密消息S 202的加密和所述加密的秘密消息C 212的解密。
在其它实施例中,混合秘密共享技术可以利用非对称加密算法对所述秘密消息进行加密和对所述加密后的秘密消息进行解密。在该实施例中,所述加密操作210可以使用生成用于加密和解密的密钥对的非对称加密算法。密钥对可以包括公钥和私钥。所述公钥用于对所述秘密消息进行加密,所述私钥用于对所述加密后的秘密消息进行解密。结合图2,如果所述混合秘密共享技术利用非对称加密算法,则密钥K 206为所述私钥,分割操作204将所述私钥分割成N个密钥共享208(k1、k2、k3、……、kN),分别包含在所述消息214(M1、M2、M3、……、MN)中。然而,所述秘密消息S 202的加密不涉及所述私钥K206。相反,加密操作210使用所述密钥对的相对应的公钥来加密所述秘密消息S 202,以生成所述加密的秘密消息C212。结合图3,组合操作308可以组合密钥共享306(k1、k2、k3、……、kT),以生成所述私钥K206,解密操作312使用所述私钥K 206对所述加密的秘密消息C 212进行解密,以生成采用明文格式的所述秘密消息S202(例如,所述未加密的秘密消息S 202)。
在那些利用非对称加密算法进行混合秘密共享技术的实施例中,可以通过数字签名来实现认证。在一个非限制性实施例中,所述加密计算设备可以生成第二密钥对。所述第二密钥对可以包括第二私钥和第二公钥。对于所述多条消息214中的每一条相应的消息,所述加密计算设备可以使用所述第二密钥对中的所述第二私钥生成数字签名,并将所述生成的数字签名包括在(M1、M2、M3、……、MN)中的所述相应的消息中,以便所述解密计算设备随后对所述相应的消息进行认证。
图4是一些实施例提供的一种用于加密计算设备执行秘密消息的混合秘密共享的方法400的流程图。方法400可以由所述加密计算设备的一个或多个处理器执行的例行程序、子例程或软件模块执行。在考虑到本发明的情况下,用于实施或执行方法400的所述软件的编码完全在本领域普通技术人员的范围内。所述方法可以包括数目上高于或低于所示和所述操作的操作,可以按不同顺序实施或执行。可由所述加密计算设备的一个或多个处理器执行的所述软件的计算机可读代码或指令可以存储在非瞬时性计算机可读介质上,例如所述加密计算设备的存储器。方法400从操作402开始,其中所述加密计算设备可以使用第一加密密钥来加密秘密消息以生成加密的秘密消息。所述秘密消息可以在所述加密计算设备的安全存储器中生成,以防所述秘密消息的信息泄漏。
在操作404,所述加密计算设备可以根据阈值数目将第二加密密钥分割成多个密钥共享。所述阈值数目可以小于或等于所述多个密钥共享的数目。需要不同于所述多个密钥共享的至少所述阈值数目密钥共享才能重构所述第二加密密钥。
在一个实施例中,所述第一加密密钥可以是对称加密密钥,所述第二加密密钥可以与所述第一加密密钥相同。换言之,所述第一加密密钥和所述第二加密密钥可以是对称加密算法中使用的相同的对称加密密钥。在该实施例中,所述计算设备通过使用经认证的加密算法和所述对称加密密钥对所述秘密消息进行加密,以生成所述加密的秘密消息。所述经认证的加密算法可以是采用伽罗华计数器模式的高级加密标准(AdvancedEncryption Standard with a Galois/Counter Mode,简称AES-GCM)加密算法或采用CBC-MAC模式的高级加密标准(Advance Encryption Standard with CBC-MAC Mode,简称AES-CCM)加密算法。
在另一非限制性实施例中,所述第一加密密钥可以是用于非对称加密的密钥对中的公钥,所述第二加密密钥可以是所述密钥对中的私钥。所述加密计算设备可以生成第二密钥对。所述第二密钥对可以包括第二私钥和第二公钥。对于所述多条消息中的每一条相应的消息,所述加密计算设备可以使用所述第二密钥对中的所述第二私钥生成数字签名,并将所述生成的数字签名包括在所述相应的消息中,以便稍后在所述重构方面对所述相应的消息进行认证。
在一些实施例中,所述加密计算设备可以使用Shamir秘密共享方案分割函数将所述第二加密密钥分割成所述多个密钥共享。
在操作406,所述加密计算设备可以传输多条消息。所述多条消息中的每条消息可以包括所述加密的秘密消息和所述多个密钥共享中的一个不同的密钥共享。
图5是一些实施例提供的一种用于解密计算设备执行加密的秘密消息的混合秘密共享的方法500的流程图。方法500可以由所述解密计算设备的一个或多个处理器执行的例行程序、子例程或软件模块执行。在考虑到本发明的情况下,用于实施或执行方法500的所述软件的编码完全在本领域普通技术人员的范围内。所述方法可以包括数目上高于或低于所示和所述操作的操作,可以按不同顺序实施或执行。可由所述加密计算设备的一个或多个处理器执行的所述软件的计算机可读代码或指令可以存储在非瞬时性计算机可读介质上,例如所述解密计算设备的存储器。方法500从操作502传输多条消息开始,其中所述解密计算设备可以接收传输的多条消息。所述接收到的多条消息中的每一条可以包括所述加密的秘密消息和多个密钥共享中的不同密钥共享。
在操作504,所述解密计算设备可以确定至少接收到重构加密密钥所需的所述接收到的多条消息中的阈值数目的不同密钥共享。
如果至少接收到所述阈值数目的不同密钥共享,则在操作506,所述解密计算设备可以组合所述接收到的多条消息中的每条消息中的所述不同密钥共享,以重构所述加密密钥。在一些实施例中,所述解密计算设备可以使用Shamir秘密共享方案组合函数来组合所述多条消息中的每一条中的所述不同密钥共享,以生成所述加密密钥。
接下来,在操作508,所述解密计算设备可以使用所述重构的加密密钥对所述加密的秘密消息进行解密,以生成秘密消息。在一些实施例中,所述解密计算设备可以在对所述加密的秘密消息进行解密之前对所述接收到的多条消息中的每条消息进行认证。在一个实施例中,对于所述接收到的多条消息中的每条消息,所述解密计算设备可以在未对所述接收到的多条消息中的至少一条进行认证时,报告对所述接收到的多条消息的篡改。在另一实施例中,对于所述接收到的多条消息中的每条消息,所述解密计算设备可以在未对所述接收到的多条消息中的至少一条中包含的数字签名进行认证时,报告对所述接收到的多条消息的篡改。
在一些实施例中,所述重构的加密密钥可以是用于使用经认证的加密算法对所述秘密消息进行加密的对称加密密钥。所述解密包括使用所述重构的对称加密密钥和采用伽罗华计数器模式的高级加密标准(Advanced Encryption Standard with a Galois/Counter Mode,简称AES-GCM)解密算法或采用CBC-MAC模式的高级加密标准(AdvanceEncryption Standard with CBC-MAC Mode,简称AES-CCM)加密算法中的一个对所述加密的秘密消息进行解密,以生成所述秘密消息。所述解密计算设备可以基于所述对所述加密的秘密消息进行解密的结果来检测篡改。例如,所述解密计算设备可以调用dec_aes_gcm_256(C,K,iv,256)函数,以使用所述对称加密密钥K对所述加密的消息C进行解密,其中iv是所述初始化向量,所述标签大小为256。如果所述解密操作失败,所述解密计算设备可能会检测到篡改并报告此类篡改。
在一些实施例中,所述重构的加密密钥是用于非对称加密的密钥对中的私钥。所述密钥对包括所述私钥和相对应的公钥。
图6是一些实施例提供的一种用于解密计算设备使用混合秘密共享检测消息篡改的方法600的流程图。方法600可以由所述解密计算设备的一个或多个处理器执行的例行程序、子例程或软件模块执行。在考虑到本发明的情况下,用于实施或执行方法600的所述软件的编码完全在本领域普通技术人员的范围内。所述方法可以包括数目上高于或低于所示和所述操作的操作,可以按不同顺序实施或执行。可由所述加密计算设备的一个或多个处理器执行的所述软件的计算机可读代码或指令可以存储在非瞬时性计算机可读介质上,例如所述解密计算设备的存储器。方法600从操作601开始,其中所述解密计算设备可以接收多条消息。所述接收到的多条消息中的每一条可以包括所述加密的秘密消息和多个密钥共享中的不同密钥共享。
在操作602,所述解密计算设备可以对所述接收到的多条消息中的消息进行认证。在一个实施例中,所述解密计算设备可以确定所述消息是否经认证。在另一实施例中,所述解密计算设备可以确定所述消息中包含的数字签名是否经认证。
如果所述消息未经认证,则在操作604,所述解密计算设备可能会检测到篡改。在一个实施例中,方法600一旦检测到一条消息已被篡改就会报告篡改,然后方法600便可结束(图6中未示出)。
在另一实施例中,所述解密计算设备在报告篡改之前可以一直等待,直到完成对所有所述接收到的消息的认证的检查。在该实施例中,在所述解密计算设备在操作604检测到对接收到的消息的篡改之后,所述解密计算设备可以保存与所述接收到的消息相关的篡改状态信息。然后,方法600可以继续进行操作606。
如果所述接收到的消息经认证,方法600也可以继续进行操作606。在操作606,所述解密计算设备可以检查是否有更多的接收到的消息要进行认证。如果是,则方法600返回操作602,以对下一条所述接收到的消息进行认证。如果没有更多的接收到的消息要进行认证,则在操作608,所述解密计算设备基于操作604中所述保存的篡改信息,检查是否已检测到一条或多条接收到的消息的篡改。如果已经检测到至少一条所述接收到的消息的篡改,所述解密计算设备可以在操作610报告此类篡改。如果在任何所述接收到的消息中未检测到篡改,则在操作612,所述解密计算设备可以继续使用诸如结合图5描述的技术来生成所述解密的秘密消息。
在另一实施例中,所述解密计算设备可以基于所述对所述加密的秘密消息进行解密的结果来检测篡改。例如,如果已根据至少所述阈值数目的密钥共享重构对称加密密钥,则所述解密计算设备可以调用dec_aes_gcm_256(C,K,iv,256)函数,以使用所述对称加密密钥K对所述加密的消息C进行解密,其中iv是所述初始化向量,所述标签大小为256。如果所述解密操作失败,所述解密计算设备可能会检测到篡改并报告所述篡改。
图7是示出本发明的混合秘密共享的一种实现方式实施例的性能与使用Shamir秘密共享方案来分割秘密消息的传统方法的性能之间比较的示图。在图7中,横轴示出了所述秘密消息的数据量。纵轴示出了每秒执行分割操作的次数,所述分割操作的次数与加密计算设备的性能成正比。如图7所示,对于使用所述Shamir秘密共享方案来分割所述秘密消息的所述传统秘密共享方法,所述秘密消息的所述数据量越大,所述加密计算设备每秒可以执行的所述分割操作越少(即所述计算机性能越低)。对于数据量超出256位的秘密消息,本发明的所述混合秘密共享技术优于使用所述Shamir秘密共享方案来分割所述秘密消息的所述传统方法。例如,如果秘密消息的所述数据量为8192位,则所述示例性混合秘密共享技术可以执行的分割操作比使用所述Shamir秘密共享方案来分割所述秘密消息的所述传统方法的高约30倍。
图8是用于执行本文中所描述的方法400、500和600的处理系统800实施例的框图,所述方法400、500和600可以是诸如加密计算设备、解密计算设备和管理员使用的计算设备之类的计算设备的一部分。如图所示,所述处理系统800包括处理器804、存储器806和接口810至814,它们可以(或可以不)如图8所示排列。所述处理器804可以是用于执行计算和/或其它处理相关任务的任何组件或组件的集合,所述存储器806可以是用于存储程序和/或指令以供所述处理器804执行的任何组件或组件的集合。所述存储器806包括非瞬时性计算机可读介质。在一实施例中,所述存储器806包括只能由所述处理系统800的可信执行环境访问的安全存储器808。所述可信执行环境可以包括存储安全数据的安全存储器808。可信应用也可以存储在安全存储器808中,用于访问安全存储器808中的所述安全数据。所述接口810、812和814可以是允许所述处理系统800与其它设备/组件和/或用户通信的任何组件或组件的集合。例如,所述接口810、812和814中的一个或多个可以用于将数据、控制或管理消息从所述处理器804传送到安装在所述主机设备和/或远端设备上的应用。又如,所述接口810、812和814中的一个或多个可以用于允许用户或用户设备(例如,个人计算机(personalcomputer,简称PC)、笔记本电脑、智能手机、平板电脑等)与所述处理系统800进行交互/通信。所述处理系统800可以包括图8中未示出的附加组件,例如,长期存储器(例如,非易失性存储器等)。
在一些实施例中,所述处理系统800包括在接入电信网络或另外作为电信网络的部件的网络设备中。在一个示例中,所述处理系统800处于无线或有线电信网络中的网络侧设备中,例如基站、中继站、调度器、控制器、网关、路由器、应用程序服务器,或电信网络中的任何其它设备。在其它实施例中,所述处理系统800处于接入无线或有线电信网络的用户侧设备中,例如,用于接入电信网络的移动台、用户设备(user equipment,简称UE)、个人计算机(personal computer,简称PC)、平板电脑、可穿戴通信设备(例如,智能手表等)或任何其它设备。
应当理解,此处提供的实施例方法的一个或多个步骤可以由相应的单元或模块执行。例如,信号可以由传输单元或传输模块进行传输。信号可以由接收单元或接收模块进行接收。诸如秘密消息S202、对称加密密钥K206和加密的秘密消息C212之类的信号、消息或密钥可以由处理单元或处理模块进行处理。此外,加密操作210、解密操作312、分割操作204和组合操作308可以由处理单元或处理模块执行。其它步骤可以由识别单元/模块和/或确定单元/模块执行。所述各个单元/模块可以为硬件、软件或其组合。例如,一个或多个单元/模块可以为集成电路,例如,现场可编程门阵列(field programmable gate array,简称FPGA)或专用集成电路(application-specific integrated circuit,简称ASIC)。
如上所述,与所述传统秘密共享方法相比,所公开的混合秘密共享方案具有两大优势。首先,与传统秘密共享方法相比,混合秘密共享技术的执行速度要快得多。因此,本发明的混合秘密共享技术更适用于分布数据量较大的秘密消息。其次,所述混合秘密共享技术只需检查所述阈值数目的共享即可更高效地检测信息篡改。
虽然已参考说明性实施例描述了本发明,但此描述并不意图限制本发明。所属领域的技术人员在参考该描述后,将会明白说明性实施例的各种修改和组合,以及本发明其它实施例。因此,所附权利要求书意图涵盖任何此类修改或实施例。
Claims (19)
1.一种用于加密秘密消息的方法,其特征在于,包括:
通过计算设备,使用第一加密密钥对所述秘密消息进行非对称加密,以生成加密的秘密消息,其中所述第一加密密钥为密钥对中的公钥;
通过所述计算设备,根据阈值数目T将第二加密密钥分割成N个密钥共享,其中,所述第二加密密钥为所述密钥对中的私钥,所述第一加密密钥不同于所述第二加密密钥,所述阈值数目T小于多个所述密钥共享的数目N,至少需要所述阈值数目的多个所述密钥共享来重构所述第二加密密钥以解密所述加密的秘密消息;
通过所述计算设备传输多条消息至所述阈值数目T个不同的管理员,其中所述多条消息中的每条消息包括相同的所述加密的秘密消息和初始化向量,且每条所述消息还包括不同于所述N个密钥共享的多个所述密钥共享中的一个,其中,每个密钥共享还包括新的向量,至少访问阈值数目T个消息中的密钥共享来重构所述第二加密密钥;
通过所述计算设备为不同的管理员分配不同级别的特权,其中不同级别特权的管理员接收不同数量的所述消息,且每个管理员接收的所述消息数量小于所述阈值数目T,至少两个所述管理员接收的所述消息部分相同。
2.根据权利要求1所述的方法,其特征在于,所述第一加密密钥为对称加密密钥,所述第二加密密钥与所述第一加密密钥相同。
3.根据权利要求2所述的方法,其特征在于,所述加密包括:
通过所述计算设备,使用经认证的加密算法和所述第一加密密钥对所述秘密消息进行加密,以生成所述加密的秘密消息。
4.根据权利要求3所述的方法,其特征在于,所述经认证的加密算法是采用伽罗华计数器模式的高级加密标准AES-GCM加密算法或采用CBC-MAC模式的高级加密标准AES-CCM加密算法。
5.根据权利要求1所述的方法,其特征在于,还包括:
通过所述计算设备,生成第二密钥对,所述第二密钥对包括第二私钥和第二公钥;
对于所述多条消息中的每条相应的消息:
通过所述计算设备,使用所述第二密钥对中的所述第二私钥生成数字签名;
通过所述计算设备,在所述相应的消息中包括所述数字签名,用于认证所述相应的消息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述分割包括使用Shamir秘密共享方案分割函数将所述第二加密密钥分割成所述多个所述密钥共享。
7.根据权利要求1所述的方法,其特征在于,在所述计算设备的安全存储器中生成所述秘密消息。
8.一种用于对加密的秘密消息进行解密的方法,其特征在于,包括:
通过计算设备接收多条消息至多个管理员,其中接收到的所述多条消息中的每条消息包括相同的加密的秘密消息和初始化向量,且每条所述消息还包括不同于N个密钥共享的多个密钥共享中的一个,所述N个密钥共享由第二加密密钥根据阈值数目T分割成,所述加密的秘 密消息由第一加密密钥进行非对称加密生成,其中,所述第一加密密钥为密钥对中的公钥,所述第二加密密钥为所述密钥对中的私钥,每个密钥共享还包括新的向量,所述管理员的数量与所述阈值数目T相同,通过所述计算设备为不同的管理员分配不同级别的特权,其中不同级别特权的管理员接收不同数量的所述消息,且每个管理员接收的所述消息数量小于所述阈值数目T,至少两个所述管理员接收的所述消息部分相同;
确定所述多条消息中对应所述N个密钥共享的阈值数目T,所述第一加密密钥不同于所述第二加密密钥,所述阈值数目T小于所述多个密钥共享的数目N,至少需要所述阈值数目T个所述多个密钥共享来重构所述第二加密密钥,以通过重构的所述第二加密密钥解密所述加密的秘密消息:
通过所述计算设备,组合接收到的所述多条消息中的每条消息中的不同的所述密钥共享,通过至少访问阈值数目T的消息中的密钥共享以重构所述第二加密密钥;
通过所述计算设备,使用重构的所述第二加密密钥对所述加密的秘密消息进行解密,以生成秘密消息。
9.根据权利要求8所述的方法,其特征在于,还包括:
在所述解密之前,对接收到的所述多条消息中的每条消息进行认证。
10.根据权利要求9所述的方法,其特征在于,所述认证包括:
对于接收到的所述多条消息中的每条消息,通过所述计算设备,在未对接收到的所述多条消息中的至少一条进行认证时,报告对接收到的所述多条消息的篡改。
11.根据权利要求9所述的方法,其特征在于,所述认证包括:
对于接收到的所述多条消息中的每条消息,通过所述计算设备,在未对接收到的所述多条消息中的至少一条中包含的数字签名进行认证时,报告对接收到的所述多条消息的篡改。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述重构的第二加密密钥是用于使用经认证的加密算法对所述秘密消息进行加密的对称加密密钥。
13.根据权利要求12所述的方法,其特征在于,还包括:
根据所述加密的秘密消息的解密的结果来检测篡改。
14.根据权利要求12所述的方法,其特征在于,所述解密包括使用重构的所述第二加密密钥和采用伽罗华计数器模式的高级加密标准AES-GCM解密算法或采用CBC-MAC模式的高级加密标准AES-CCM解密算法中的一个对所述加密的秘密消息进行解密,以生成所述秘密消息。
15.根据权利要求8所述的方法,其特征在于,所述组合包括使用Shamir秘密共享方案组合函数来组合所述多条消息中的每条消息中的不同的所述密钥共享,以生成所述加密密钥。
16.一种计算设备,其特征在于,包括:
处理器;
存储器,用于存储指令,所述指令在由所述处理器执行时使所述计算设备执行权利要求1至7中任一项所述的方法。
17.一种用于存储程序和指令的计算机可读存储介质,其特征在于,所述指令在由计算设备的处理器执行时使所述计算设备执行权利要求1至7中任一项所述的方法。
18.一种计算设备,其特征在于,包括:
处理器;
存储器,用于存储指令,所述指令在由所述处理器执行时使所述计算设备执行权利要求8至15中任一项所述的方法。
19.一种包括指令的计算机可读存储介质,其特征在于,所述指令在由计算设备的处理器执行时使所述计算设备执行权利要求8至15中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/968,430 US11063754B2 (en) | 2018-05-01 | 2018-05-01 | Systems, devices, and methods for hybrid secret sharing |
US15/968,430 | 2018-05-01 | ||
PCT/CN2019/070689 WO2019210706A1 (en) | 2018-05-01 | 2019-01-07 | Systems, devices, and methods for hybrid secret sharing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111448779A CN111448779A (zh) | 2020-07-24 |
CN111448779B true CN111448779B (zh) | 2022-09-16 |
Family
ID=68384041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980006306.9A Active CN111448779B (zh) | 2018-05-01 | 2019-01-07 | 用于混合秘密共享的系统、设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11063754B2 (zh) |
EP (1) | EP3692682A4 (zh) |
CN (1) | CN111448779B (zh) |
WO (1) | WO2019210706A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210319436A1 (en) * | 2018-04-24 | 2021-10-14 | Duvon Corporation | Autonomous exchange via entrusted ledger wallet administration tool |
US11374750B2 (en) * | 2019-06-10 | 2022-06-28 | Tzero Ip, Llc | Key recovery using encrypted secret shares |
US11233658B2 (en) * | 2019-08-14 | 2022-01-25 | OX Labs Inc. | Digital transaction signing for multiple client devices using secured encrypted private keys |
US11303443B2 (en) * | 2019-11-12 | 2022-04-12 | Gbti Solutions | Electronic system to enable rapid acquisition and delivery of services and to provide strong protection of security and privacy |
EP3860035A1 (en) * | 2020-01-29 | 2021-08-04 | Sebastien Armleder | Storing and determining a data element |
US11947659B2 (en) | 2020-05-28 | 2024-04-02 | Red Hat, Inc. | Data distribution across multiple devices using a trusted execution environment in a mobile device |
US12093371B2 (en) | 2020-05-28 | 2024-09-17 | Red Hat, Inc. | Data distribution using a trusted execution environment in an untrusted device |
US11971980B2 (en) * | 2020-05-28 | 2024-04-30 | Red Hat, Inc. | Using trusted execution environments to perform a communal operation for mutually-untrusted devices |
US11848924B2 (en) | 2020-10-12 | 2023-12-19 | Red Hat, Inc. | Multi-factor system-to-system authentication using secure execution environments |
CN112906020B (zh) * | 2021-02-05 | 2023-07-21 | 中山大学 | 一种基于格的分布式重线性化公钥生成方法 |
US20220271933A1 (en) * | 2021-02-19 | 2022-08-25 | Samsung Electronics Co., Ltd. | System and method for device to device secret backup and recovery |
CN112953712B (zh) * | 2021-02-19 | 2022-10-18 | 昆明理工大学 | 一种基于零知识证明和同态加密的数据跨链共享方法 |
CN113079008B (zh) | 2021-04-26 | 2021-11-16 | 北京玻色量子科技有限公司 | 数据通信方法、装置以及系统 |
US11748272B2 (en) * | 2021-05-05 | 2023-09-05 | Seagate Technology, Llc | Shared keys for no PCBA cartridges |
US20220385484A1 (en) * | 2021-05-06 | 2022-12-01 | University Of South Florida | Lightweight post-quantum authentication |
GB2608106A (en) * | 2021-06-18 | 2022-12-28 | Continental Automotive Gmbh | A method and system for secret key sharing for an in-vehicle network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016130030A1 (en) * | 2015-02-10 | 2016-08-18 | Nord-Systems Sp. Z O.O. | Method of securing data using threshold cryptography |
CN106027234A (zh) * | 2016-05-12 | 2016-10-12 | 山东渔翁信息技术股份有限公司 | 一种密钥保护方法 |
CN106850208A (zh) * | 2017-02-28 | 2017-06-13 | 北京信安世纪科技有限公司 | 一种秘密数据分割的方法及装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907618A (en) * | 1997-01-03 | 1999-05-25 | International Business Machines Corporation | Method and apparatus for verifiably providing key recovery information in a cryptographic system |
US7266699B2 (en) * | 2001-08-30 | 2007-09-04 | Application Security, Inc. | Cryptographic infrastructure for encrypting a database |
ATE424593T1 (de) * | 2001-12-12 | 2009-03-15 | Scytl Secure Electronic Voting | Verfahren zum sicheren elektronischen wählen und kryptographische protokolle und computerprogramme dafür |
US7146009B2 (en) * | 2002-02-05 | 2006-12-05 | Surety, Llc | Secure electronic messaging system requiring key retrieval for deriving decryption keys |
US7571471B2 (en) * | 2006-05-05 | 2009-08-04 | Tricipher, Inc. | Secure login using a multifactor split asymmetric crypto-key with persistent key security |
WO2013041394A1 (en) * | 2011-09-23 | 2013-03-28 | Koninklijke Kpn N.V. | Secure distribution of content |
IL216162A0 (en) * | 2011-11-06 | 2012-02-29 | Nds Ltd | Electronic content distribution based on secret sharing |
US9582671B2 (en) * | 2014-03-06 | 2017-02-28 | Sensity Systems Inc. | Security and data privacy for lighting sensory networks |
WO2015075796A1 (ja) * | 2013-11-21 | 2015-05-28 | 株式会社 東芝 | コンテンツ管理システム、ホスト装置及びコンテンツ鍵アクセス方法 |
US9461821B1 (en) * | 2014-06-30 | 2016-10-04 | Emc Corporation | System and method for key material protection on devices using a secret sharing scheme |
US9667416B1 (en) | 2014-12-18 | 2017-05-30 | EMC IP Holding Company LLC | Protecting master encryption keys in a distributed computing environment |
US10516527B1 (en) * | 2015-04-17 | 2019-12-24 | EMC IP Holding Company LLC | Split-key based cryptography system for data protection and synchronization across multiple computing devices |
US9906505B2 (en) * | 2015-05-08 | 2018-02-27 | Nxp B.V. | RSA decryption using multiplicative secret sharing |
US9673975B1 (en) | 2015-06-26 | 2017-06-06 | EMC IP Holding Company LLC | Cryptographic key splitting for offline and online data protection |
US9954680B1 (en) | 2015-12-18 | 2018-04-24 | EMC IP Holding Company LLC | Secure management of a master encryption key in a split-key based distributed computing environment |
US11563567B2 (en) * | 2017-09-27 | 2023-01-24 | Visa International Service Association | Secure shared key establishment for peer to peer communications |
CN107623569A (zh) | 2017-09-30 | 2018-01-23 | 矩阵元技术(深圳)有限公司 | 基于秘密共享技术的区块链密钥托管和恢复方法、装置 |
-
2018
- 2018-05-01 US US15/968,430 patent/US11063754B2/en active Active
-
2019
- 2019-01-07 CN CN201980006306.9A patent/CN111448779B/zh active Active
- 2019-01-07 WO PCT/CN2019/070689 patent/WO2019210706A1/en unknown
- 2019-01-07 EP EP19797001.5A patent/EP3692682A4/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016130030A1 (en) * | 2015-02-10 | 2016-08-18 | Nord-Systems Sp. Z O.O. | Method of securing data using threshold cryptography |
CN106027234A (zh) * | 2016-05-12 | 2016-10-12 | 山东渔翁信息技术股份有限公司 | 一种密钥保护方法 |
CN106850208A (zh) * | 2017-02-28 | 2017-06-13 | 北京信安世纪科技有限公司 | 一种秘密数据分割的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190342080A1 (en) | 2019-11-07 |
EP3692682A1 (en) | 2020-08-12 |
WO2019210706A1 (en) | 2019-11-07 |
US11063754B2 (en) | 2021-07-13 |
CN111448779A (zh) | 2020-07-24 |
EP3692682A4 (en) | 2020-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111448779B (zh) | 用于混合秘密共享的系统、设备和方法 | |
US10785019B2 (en) | Data transmission method and apparatus | |
CN102024123B (zh) | 一种云计算中虚拟机镜像导入方法及装置 | |
US20130028419A1 (en) | System and a method for use in a symmetric key cryptographic communications | |
US10826694B2 (en) | Method for leakage-resilient distributed function evaluation with CPU-enclaves | |
CN112740615B (zh) | 多方计算的密钥管理 | |
CN102025744A (zh) | 一种云计算中虚拟机镜像导入和导出系统 | |
Agarwal et al. | A survey on cloud computing security issues and cryptographic techniques | |
US20240232441A1 (en) | Executing entity-Specific Cryptographic Code in a Cryptographic | |
CN115348023A (zh) | 一种数据安全处理方法和装置 | |
Kaushik et al. | Secure cloud data using hybrid cryptographic scheme | |
CN111541652B (zh) | 一种用于提高秘密信息保管及传递安全性的系统 | |
Hussien et al. | Scheme for ensuring data security on cloud data storage in a semi-trusted third party auditor | |
US12058257B2 (en) | Data storage method, data read method, electronic device, and program product | |
CN113411347B (zh) | 交易报文的处理方法及处理装置 | |
CN102025743A (zh) | 一种云计算中虚拟机镜像导出方法及装置 | |
US20230068650A1 (en) | Method for testing if a data element belongs to a list of reference data elements | |
Patel | A survey on security techniques used for confidentiality in cloud computing | |
CN111314287A (zh) | 一种公钥加密通信方式和装置 | |
Gupta et al. | An efficient scheme to secure cloud with diversified fortified mechanisms | |
US11743039B2 (en) | System and method for data encryption using key derivation | |
Mary Sheeba et al. | Hybrid Security for Data in Cloud Computing: A Review | |
Dodmane | A new hybrid symmetric-key technique to enhance data security of textual information using random number generator | |
EP4123956A1 (en) | Method for securely transferring data elements values | |
Yue et al. | MBCT: A Monero-Based Covert Transmission Approach with On-chain Dynamic Session Key Negotiation |
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 |