CN114631285A - 在安全通信中使用的密钥生成 - Google Patents

在安全通信中使用的密钥生成 Download PDF

Info

Publication number
CN114631285A
CN114631285A CN202080076575.5A CN202080076575A CN114631285A CN 114631285 A CN114631285 A CN 114631285A CN 202080076575 A CN202080076575 A CN 202080076575A CN 114631285 A CN114631285 A CN 114631285A
Authority
CN
China
Prior art keywords
computing device
privacy
key
private
user computing
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.)
Pending
Application number
CN202080076575.5A
Other languages
English (en)
Inventor
H-K·洛
M·蒙塔尼亚
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.)
University of Toronto
Original Assignee
University of Toronto
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 University of Toronto filed Critical University of Toronto
Publication of CN114631285A publication Critical patent/CN114631285A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/321Cryptographic 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 a third party or a trusted authority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Electromagnetism (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

用于密钥生成以便在第一用户计算设备与第二用户计算设备之间进行安全通信而不需要在密钥生成期间进行直接通信的***和方法。所述方法使用多个隐私提供商以及第一私有表和第二私有表。所述方法包括:由所述第二用户计算设备执行:接收各自与所述第二私有表中的值相关联的索引,每个索引从共享这些值的相应隐私提供商接收,每个索引与匹配由所述相应隐私提供商从所述第一用户计算设备接收的所述第一私有表中的索引值的值相关联;以及通过组合所述第二私有表的所述索引值来生成用于所述安全通信的共用密钥。

Description

在安全通信中使用的密钥生成
技术领域
以下内容涉及数据通信***和此类***中所利用的加密方案;并且更具体地,涉及一种用于安全通信的密钥生成的方法和***。
背景技术
数据通信***用于在设备之间交换信息。要交换的信息包括被组织为数字位串的数据,这些数字位串被格式化以便可被其他设备辨别并允许处理和/或恢复信息。信息的交换可发生在可公开访问的网络(诸如两个设备之间的通信链路)上、组织内的专用网络上,或者可位于同一专用部件内(诸如计算机或销售点设备内)的两个设备之间。已经开发出大量通信协议来实现不同设备之间的数据交换。通信协议允许以通常具有错误校正和错误检测功能的稳健的方式交换数据,并且允许将数据引导到预期的接收者并恢复以供进一步使用。由于数据可能能够被其他设备访问,因此易被拦截和观察或操纵。信息的敏感本质需要采取措施来保护信息并确保其保密性,通常使用各种类型的加密方案。
各种加密方案(诸如高级加密标准(AES))基于计算假定,这些假定可能易被算法和硬件的进步所破解。例如,量子计算机的出现提供了计算能力的实质性飞跃。然而,指望拦截加密通信的对手或闯入者也可能获取量子计算的力量来破解加密并获取应该安全的通信。对于中长期安全而言,这可能提出重大挑战,因为闯入者或窃听者(称为“Eve”的实体)可能保存现在发送的通信,并且等待几年或几十年后能够解码目前加密方案的算法和硬件的普及。
因此,本发明的目的是提供消除或减轻上述缺点并促进达到期望属性的***和方法。
发明内容
在一方面,提供了一种用于密钥生成以便在第一用户计算设备与第二用户计算设备之间进行安全通信而不需要在密钥生成期间在所述第一用户计算设备与所述第二用户计算设备之间进行直接通信的方法,所述用于密钥生成的方法使用各自包括计算设备的多个隐私提供商,所述用于密钥生成的方法使用第一私有表和第二私有表,所述第一私有表包括各自与所述第一用户计算设备和所述隐私提供商中的一个隐私提供商共享的具有相关联索引的值,所述第二私有表包括各自与所述第二用户计算设备和所述隐私提供商中的一个隐私提供商共享的具有相关联索引的值,所述方法包括:由所述第二用户计算设备执行:接收各自与所述第二私有表中的值相关联的索引,每个索引从共享这些值的相应隐私提供商接收,每个索引与匹配由所述相应隐私提供商从所述第一用户计算设备接收的所述第一私有表中的索引值的值相关联;以及通过组合所述第二私有表的所述索引值来生成用于所述安全通信的公用密钥。
在所述方法的特定情况下,生成所述公用密钥包括:对所述第二私有表的所述索引值执行异或(XOR)运算。
在所述方法的另一种情况下,所述方法还包括:使用所述公用密钥使用一次性密码本(OTP)加密方法在所述第一用户计算设备与所述第二用户计算设备之间安全地通信。
在所述方法的又一种情况下,索引值的数量表示要由所述第一用户计算设备传达到所述第二用户计算设备的位的数量。
在所述方法的又一种情况下,所述第一私有表和所述第二私有表的所述值使用量子随机数发生器(QRNG)来生成。
在所述方法的又一种情况下,所述方法还包括:由所述第二用户计算设备将所述第二私有表中的已用于生成所述公用密钥的值标记为已使用。
在所述方法的又一种情况下,所述方法还包括:由所述第二用户计算设备执行所述第二私有表中的已用于生成所述公用密钥的值的擦除。
在所述方法的又一种情况下,所述方法还包括:由所述第二用户计算设备使用认证服务来认证所述公用密钥。
在所述方法的又一种情况下,所述方法还包括:由所述第二用户计算设备执行隐私放大,包括将线性矩阵应用于所述公用密钥。
在所述方法的又一种情况下,接收与所述第二私有表中的所述值相关联的所述索引包括:接收通过由每个相应隐私提供商对所述第一私有表和所述第二私有表中的所述索引值执行异或(XOR)运算而确定的值。
在另一方面,提供了一种用于密钥生成以便与第一用户计算设备进行安全通信而不需要在密钥生成期间与所述第一用户计算设备进行直接通信的***,所述***包括一个或多个处理器和数据存储设备,所述***与各自包括计算设备的一个或多个隐私提供商通信,第一私有表包括各自与所述第一用户计算设备和所述隐私提供商中的一个隐私提供商共享的具有相关联索引的值,所述一个或多个处理器与所述数据存储设备通信并且被配置为执行:表模块,所述表模块用于接收各自与第二私有表中的值相关联的索引,所述第二私有表包括各自与所述隐私提供商中的一个隐私提供商共享的具有相关联索引的值,每个索引从共享这些值的相应隐私提供商接收,每个索引与匹配由所述相应隐私提供商从所述第一用户计算设备接收的所述第一私有表中的索引值的值相关联;以及公用密钥模块,所述公用密钥模块用于通过组合所述第二私有表的所述索引值来生成用于所述安全通信的共用密钥。
在所述***的特定情况下,所述公用密钥模块通过对所述第二私有表的所述索引值执行异或(XOR)运算来生成所述公用密钥。
在所述***的另一种情况下,所述一个或多个处理器被进一步配置为执行通信模块,以使用所述公用密钥使用一次性密码本(OTP)加密方法与所述第一用户计算设备安全地通信。
在所述***的又一种情况下,索引值的数量表示要由所述第一用户计算设备传达的位的数量。
在所述***的又一种情况下,所述第一私有表和所述第二私有表的所述值使用量子随机数发生器(QRNG)来生成。
在所述***的又一种情况下,所述表模块将所述第二私有表中的已用于生成所述公用密钥的值标记为使用。
在所述***的又一种情况下,所述一个或多个处理器被进一步配置为执行擦除模块,以执行所述第二私有表中的已用于生成所述公用密钥的值的擦除。
在所述***的又一种情况下,所述一个或多个处理器被进一步配置为执行认证模块,以使用认证服务来认证所述公用密钥。
在所述***的又一种情况下,所述一个或多个处理器被进一步配置为执行放大模块,以执行隐私放大,包括将线性矩阵应用于所述公用密钥。
在所述***的又一种情况下,接收与所述第二私有表中的所述值相关联的所述索引包括接收通过由每个相应隐私提供商对所述第一私有表和所述第二私有表中的所述索引值执行异或(XOR)运算而确定的值。
本文设想和描述这些和其他方面。前述发明内容陈述***和方法的代表性方面,以帮助技术性读者理解以下具体实施方式。
附图说明
现将通过示例的方式,仅参考附图来描述本发明的实施方案,在附图中:
图1是根据一个实施方案的用于安全通信的密钥生成的计算环境的概念图;
图2是根据一个实施方案的用于安全通信的密钥生成的***的概念图;
图3是根据一个实施方案的用于安全通信的密钥生成的方法的流程图;
图4是示出根据图2的***的私有表的生成和分发的结果的示例性表示的图;
图5A是示出根据图2的***的Alice的密钥重构的示例的图;图5A是示出根据图2的***的Bob的密钥重构的示例的图;
图6示出根据图2的***的由总提供商数归一化的不诚实提供商的最小分数的示例的曲线图;
图7示出根据图2的***的针对五种不同情境的攻击概率的示例的曲线图;
图8示出根据图2的***的展示对于十个隐私提供商的情况,作为隐私提供商发生故障的概率的函数的遭受攻击的概率的曲线图;
图9示出根据图2的***的展示对于五十个隐私提供商的情况,作为隐私提供商发生故障的概率的函数的遭受攻击的概率的曲线图;并且
图10示出根据图2的***的展示对于四个隐私提供商的情况,作为隐私提供商发生故障概率的函数的遭受攻击的概率的曲线图。
具体实施方式
现将参考附图描述实施方案。应了解,为说明简单和清楚起见,在认为适当的情况下,附图标号可在附图中重复以指示对应或类似元件。此外,阐述众多特定细节以便提供对本文所述的实施方案的透彻理解。然而,本领域普通技术人员应理解,可在没有这些特定细节的情况下实践本文所述的实施方案。在其他实例中,未详细描述众所周知的方法、过程和部件以便不使本文所述的实施方案晦涩。另外,描述不应被视为限制本文所述的实施方案的范围。
还应了解,本文例示的执行指令的任何模块、单元、部件、服务器、计算机、计算设备、机构、终端或其他设备可包括或以其他方式访问计算机可读介质,诸如存储介质、计算机存储介质或数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。计算机存储介质可包括以任何方法或技术实施的用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质的示例包括RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可用于存储期望信息并可由应用程序、模块或两者访问的任何其他介质。任何此类计算机存储介质可以是设备的一部分或者可由其访问或可与之连接。本文所述的任何应用程序或模块可使用计算机可读/可执行指令来实现,这些指令可由此类计算机可读介质存储或以其他方式保持并且由一个或多个处理器执行。
以下内容涉及数据通信***和此类***中所利用的加密方案;并且更具体地,涉及一种用于安全通信的密钥生成的方法和***。
许多人认为网络安全是最重要的公共资产之一。许多加密方案普遍用于数字通信,并且通常基于关于假设的窃听者或闯入者的一些计算假定。示例是广泛使用的RSA(李维斯特-萨莫尔-阿德曼)协议,其假定将大整数分解为两个素因子是很困难的。对于拥有这种分解的对手,涉及的各方之间的通信将显得完全透明。1994年,发现了用于分解大整数的高效量子算法;从而破解RSA方案。问题是,恶意窃听者可轻松地存储当前加密通信,并且在未来使用技术进步届时解密信息。
在各种方法中,两个通信计算实体(称为Alice和Bob)必须预共享量子字符串;例如,通过量子密钥分发(QKD)技术。有利地,在一些情况下,本发明实施方案可替代必须通过QKD预共享以及预共享所需的固有风险;因此,不需要在Alice与Bob之间直接共享任何预共享的材料。虽然一些方法使用发证机构(CA)来支持认证并帮助Alice和Bob的密钥生成,但使用CA的此类方法通常依赖计算假定来保证针对潜在敌人的安全,或者它们通常仍然需要在Alice与Bob之间预共享材料以生成密钥。
通常,一次性密码本(OTP)方法提供免受窃听者的信息理论安全。然而,相信任何一方在密钥协商方案中分发通信所需的密钥将是幼稚的。本公开的实施方案尤其解决了这个实质性挑战。通过使用与Eve的时间和计算资源无关的协议,本文提供的数据安全化协议可大幅降低数据泄露或拒绝服务(DoS)攻击的概率。此外,本文提供的数据安全化协议可被认为是针对大多数计算攻击(包括量子计算攻击)是安全的。
一次性密码本(OTP)方法通常提供信息理论安全。对于一次性密码本方法,两个通信方共享仅为他们两个所知的随机密钥;因此,他们可通过使用密钥加密消息来安全地通信。听取他们谈话的任何窃听者通常将绝对无法将所拦截消息与随机噪声区分开来。因此,通信是信息理论安全的。然而,实质性技术挑战是在任何两方之间分发秘密密钥;称为密钥分发问题。在特定方法中,密钥提供商实体可通过将秘密密钥分发给需要密钥的任何两方来实现此服务。然而,这种协议将需要对密钥提供商实体的完全信任,因为该实体可轻松地使用所提供密钥来访问两方之间的所有通信。此外,这种配置会引入单点故障,这在大多数实际情况下特别危险。
近来,一次性密码本加密由于硬盘驱动器和计算机存储器的成本呈指数下降而变得越来越便宜。然而,可扩展性通常是各种OTP方法的问题。本发明实施方案可通过为OTP提供密钥管理层来使OTP加密广泛传播;因此解决了可扩展性问题。
本公开的实施方案提供一种用于密钥分发的协议,同时有利地不需要对协议中涉及的任何特定代理或实体的完全信任。本发明实施方案提供一种表示可用于对等加密通信的信息理论上安全的移动通信协议的协议。
本公开的实施方案使用特定数量的实体或方,称为隐私提供商。为了解密使用此协议进行通信的任何两方之间的数据交换,或访问存储在服务器上的私人数据,必需强迫或协调大部分隐私提供商。在一个示例中,通过将不同的隐私提供商定位在不同国家可实质上使这种可能性最小化;例如,隐私提供商定位在瑞士、巴拿马、塞浦路斯、加拿大、美国和德国。这样,任何政府都无法单独有效地合法强制执行数据披露。在另外的情况下,在披露的情况下,可对隐私提供商处于巨额罚款。有利地,本公开的协议定义其中网络安全不依赖于计算假定的通信协议;因此,针对由于技术进步(诸如通过量子计算机)造成的未来潜在攻击可认为是安全的。
在本公开的协议中,给定想要通信的第一方(称为A或Alice)和第二方(称为B或Bob),隐私提供商可共同地用于生成两方使用例如OTP加密进行通信所必需的公用密钥。
在一些情况下,协议的密钥协商阶段可能需要隐私提供商的至少一个子集在线;然而,当不需要隐私提供商在线时,A方与B方之间的实际通信可发生在密钥协商阶段之后。在一些情况下,可发起本文描述的协议以在可能彼此从未见面的各方之间建立私有共享密钥的网络,并且这些密钥可在未来某刻用于通信,即使隐私提供商离线也是如此。有利地,每一方仅需要与有限数量的隐私提供商通信,但仍然可与使用该方案的任何其他方进行密钥分发;从而有效地获得与双边密钥交换相同的结果。
有利地,本发明实施方案的协议可在没有计算假定的情况下实现信息理论安全通信。同样有利地,本发明实施方案的协议仅需要隐私提供商中的至少一个不腐败且不妥协。同样有利地,本发明实施方案的协议可永不过时,使得如果加密数据今天被盗,可能被认为针对未来攻击是安全的。这样,即使考虑到未来技术进步,本发明实施方案的协议也可被认为是量子安全的。
在一个示例性实施方案中,图1示出可包括第一用户计算设备10(称为‘A’、‘Alice’或第一通讯设备),其通过通信链路的网络20互连到第二用户计算设备12(称为‘B’、‘Bob’或第二通讯设备)的计算环境的图。示例性环境还包括与网络20通信的一个或多个隐私提供商15。网络可以是任何合适的通信架构;例如,互联网、广域网、局域网、移动通信结构等。通信链路可以是任何合适的通信方法;例如,固定电话线、无线连接、近场通信连接或其他形式的通信。设备10、12和隐私提供商15可在任何合适类型的计算设备上执行;例如,台式计算机、膝上型计算机、平板电脑、智能手机、可穿戴设备、物联网(IOT)设备、服务器、分布式计算***、专用硬件等。
转到图2,示出了根据一个实施方案的用于安全通信的密钥生成的***150的图。在此实施方案中,***150在单个计算设备10、12上运行。在另外的实施方案中,***150的功能可在多个设备10、12和/或隐私提供商15上运行。在其他实施方案中,***150的部件可分布在可本地或远程分布的两个或更多个计算机***之中;例如,使用云计算资源。
图2示出***150的实施方案的各种物理和逻辑部件。如图所示,***150具有多个物理和逻辑部件,包括中央处理单元(“CPU”)152(包括一个或多个处理器)、随机存取存储器(“RAM”)154、用户接口156、网络接口160、非易失性存储装置162和使CPU 152能够与其他部件通信的本地总线164。CPU 152执行操作***和各种模块,如下面更详细描述。RAM 154向CPU 152提供相对响应迅速的易失性存储。用户接口156使管理员或用户能够通过输入设备(例如,鼠标或触摸屏)提供输入。用户接口156还将信息输出到输出设备;例如,显示器。网络接口160允许与网络20或远离***150的其他计算设备和服务器进行通信。非易失性存储装置162存储操作***和程序,包括用于实现操作***和模块的计算机可执行指令,以及由这些服务使用的任何数据。另外的存储数据可存储在数据库166中。在***150的操作期间,操作***、模块和相关数据可从非易失性存储装置162中检索并放置在RAM 154中以促进执行。
在一个实施方案中,***150还包括要在一个或多个处理器152上执行的多个概念模块,包括表模块172、公用密钥模块174、认证模块176、放大模块178、通信模块180和擦除模块182。
有利地,在一些情况下,包括关键密码信息(例如预安装的密钥和任何另外生成的密钥)的硬件可与执行本文所述协议的步骤的硬件物理上分离。例如,硬件安全模块(HSM)可用于存储密钥材料和/或执行安全密码操作。这样,网络安全的物理层可保证对加密数据的访问限于最终用户10、12。
在本公开的实施方案中,一个或多个密钥50可由用户‘A’存储并且一个或多个密钥52可由用户‘B’存储。在一些情况下,这些密钥可安装在计算设备10、12本身或与相应通讯设备并置的单独设备上,从而为从每个设备往返每个设备发生的任何通信启用一次性密码本(OTP)加密方案。在一些情况下,大量密钥可在被相应设备的用户接收之前用设备存储。
***150可使用随机数发生器(RNG)来生成多个随机数。在一些情况下,RNG可以是基于自然输入(例如,光)的量子随机数发生器(QRNG)。一些窃听者试图找到伪RNG的缺陷来破解加密。因此,使用QRNG可创建针对此类攻击类别的防御。在一个示例中,已经确定可能使用智能手机的相机实现QRNG,并且它可产生大于1Mbp的随机位速率。
在一个实施方案中,协议包括两个阶段:1)密钥分发阶段,以及2)密钥协商阶段。在协议结束时,两个设备(Alice 10和Bob 12)共享公用密钥,所述公用密钥然后可用于例如通过一次性密码本(OTP)进行安全通信。密钥的生成和密钥从隐私提供商到用户的物理分发称为协议的第一阶段:密钥分发阶段。
对于密钥分发阶段,考虑连接到通信网络20的两个设备,Alice 10和Bob 12。还考虑n个隐私提供商15的集合P1、P2、......、Pn。Alice的设备配备有n个密钥表K1、K2、......、Kn,其中Ki={0,1}l并且l非常大。在一些情况下,这些密钥表可在Alice获取访问权限之前先前地安装在Alice的设备上。表Ki在构造时间处由第i个隐私提供商Pi提供;这样,Alice和Pi是仅有的拥有Ki的设备。这种严格的双重拥有适用于每个密钥表。在大多数情况下,每个密钥表都与相应用户和隐私提供商中的仅一个共享。对于Bob类似,他也与n个隐私提供商共享n个密钥表。我们称H1、H2、......、Hn是仅为Pi和B所知的密钥表,其中Hi={0,1}l并且l非常大。特别地,表Hi由第i个隐私提供商Pi在构造时间提供给Bob;这样,Bob和Pi是仅有的拥有Hi的设备。让我们用K(i,j)表示Ki的第j位(并且类似地,用H(i,j)表示Hi的第j位)。如本文所述,索引与密钥表中的一个值相关联。例如,对于Bob,索引(3;28)将分配给对应值H3,28,这是Bob与P3唯一地共享的表H3中第28个值。值H3,28可以是0或1。虽然本公开一般将指代单个位的每个索引称为关联值,但是应当理解,所述值可以是任何合适的面值;例如,位、字节、数或数系列、字母数字数位或数位系列等。
允许Alice持有的密钥表K1、K2,......、Kn与Bob持有的密钥表H1、H2,......、Hn不同。这在具有许多用户(例如10或1百万用户)的网络设置中是有利的,在所述网络设置中每个用户与所有其他用户共享一些密钥表可能是不可行的。通过允许密钥表不同,本发明实施方案的方法在网络设置中具有高度可扩展性。
在协议的第二阶段,即密钥协商阶段,Alice和Bob希望在彼此之间共享公用密钥kAB,在一些情况下,没有任何单个数据提供商可访问kAB的值。在一个实施方案中,协议的此第二阶段可包括四个部分:“认证”、“密钥分发”、“密钥真实性控制”和“隐私放大”。
作为第二阶段的结果,两方Alice 10和Bob 12然后共享秘密的公用密钥,他们可使用所述公用密钥即时或在未来时间点进行通信。有利地,在第二阶段完成之后,隐私提供商不需要在线或可访问来使Alice和Bob在未来进行通信。在一些情况下,Alice与Bob之间的未来通信可包括将OTP方法与共享密钥一起使用。在一些情况下,在通信之后,Alice和Bob可从他们与隐私提供商共享的表中擦除协议先前阶段中使用的信息。这可称为密钥擦除阶段。
图3是根据一个实施方案的用于安全通信的密钥生成的方法300的流程图。
在框302处,例如作为密钥分发阶段的一部分,第一用户设备(Alice)和第二用户设备(Bob)两者上的表模块172接收相应私有密钥表。每个私有表是从隐私提供商中的相应者接收的,并且对于每一对用户和隐私提供商是唯一的。这些私有表以安全方式分发。在一些情况下,每个提供商需要维护至少等于用户数量(或其子集)的表数量,并且每个用户需要维护等于隐私提供商数量(或其子集)的表数量。在一些情况下,当私有表中的密钥已全部被使用时,需要从对应隐私提供商接收新私有表。因此,Alice从隐私提供商P1接收表K1,从隐私提供商P2接收表K2,依此类推。为说明清楚起见,这些表可组织成矩阵K,其中尺寸为n×lA(其中n是隐私提供商数量,并且lA是表示每个表的大小的非常大的数字),并且元素呈{0;1}。矩阵H是Bob与隐私提供商之间共享的矩阵;即,第一行H1(长度为lS,其不一定等于l)在Bob与P1之间共享,第二行H2在Bob与P2之间共享,依此类推。在一个实施方案中,表Ki将具有长度lA,i并且表Hj将具有长度lS,j。为解释简单起见,对于每个i和j并且对于一些l>0,lA,i=lS,j=l。
图4示出私有表的生成和分发的结果的示例的表示。在此示例中,Alice和Bob与隐私提供商中的每一个共享有序位表,并且每个提供商仅知晓用户表K和H的他们的相应部分。
在一些情况下,私有表可在存储器中以矩阵的方式组织。在一个示例中,表的第一行中的信息仅在相应用户与隐私提供商中的一个之间共享。在大多数情况下,不同用户与同一隐私提供商共享不同的二进制数系列。这样,每个用户具有与其他用户实质上不同的私有表;巧合地类似条目除外。在一些情况下,二进制数系列可通过整数索引,并且这些索引可在密钥协商阶段用于构造公用密钥,如本文所述。这样,公用密钥将仅为相应用户所知。在一个实施方案中,每个隐私提供商向每个用户的私有表中的每一个提供私有表中所包括的二进制数的子组。在一些情况下,二进制数可由QRNG生成。例如,私有表的第一行可由第一隐私提供商提供,私有表的第二行可由第二隐私提供商提供,依此类推。在一些情况下,私有表可由伪RNG、物理RNG或QRNG生成,并且存储在物理设备上并由信任代理分发给用户。在一些情况下,私有表可存储在硬件安全模块(HSM)中。
在一些情况下,Alice和Bob可彼此认证和/或对隐私提供商进行认证。可使用任何合适的认证协议;例如,Kerberos网络认证服务。在一些情况下,可假定认证协议通过安全连接进行通信。有利地,一旦密钥协商阶段完成,Alice 10和Bob 12就可在未来任何时间进行通信,并且他们的通信将保持安全;即使可找到未来协议来破坏他们的先前认证协议也是如此。
对于密钥协商阶段,在框304处,第一用户设备(Alice)和第二用户设备(Bob)两者上的公用密钥模块174,经由通过网络接口160与隐私提供商的通信,生成公用密钥。这样,之前可能从未进行通信并且可能不共享任何初始信息的Alice和Bob使用隐私提供商的支持来构造公用密钥k,而无需直接传达任何密钥参数来生成公用密钥。这个公用密钥在Alice与Bob之间私有地共享,并且在使用多于一个隐私提供商的情况下对隐私提供商中的任一个单独来说都是未知的。在大多数情况下,可假定认证和密钥协商可通过经认证的通道执行。在一个实施方案中,公用密钥的生成可包括:
·Alice生成n个随机索引组
Figure BDA0003623957850000141
每个组
Figure BDA0003623957850000142
是大小m<l一系列整数。
·Alice(例如,在公共通信通道上)将每个索引组
Figure BDA0003623957850000151
发送到相应隐私提供商Pi。窃听者可听取这些通信,因为它们仅包含定位存储在表中的值所必要的系列索引号,并且不存在可获得的关于值本身的信息。这是因为在索引同与其相关联的二进制值之间不存在相关性。
·Alice记录与她生成的随机索引相关的位。这样,她构建矩阵YA,其条目
Figure BDA0003623957850000152
表示Ki中的位、在该密钥表内的位置
Figure BDA0003623957850000153
此外,Alice将
Figure BDA0003623957850000154
标记为已使用。
·Alice通过对YA的行进行XOR来创建公用密钥kA。此密钥具有长度m。
·每个隐私提供商Pi从Alice接收相应集合
Figure BDA0003623957850000155
并将Ki中的索引(其位置以
Figure BDA0003623957850000156
指定)标记为已使用。
·每个隐私提供商Pi将Alice发送的索引所指定的位匹配到Hi中的等效位中。通过这样做,每个隐私提供商Pi创建隐私提供商通过例如公共通道发送到Bob的随机索引的集合
Figure BDA0003623957850000157
因此,每个隐私提供商所创建的索引具有以下属性
Figure BDA0003623957850000158
·Bob接收相应集合
Figure BDA0003623957850000159
并构建矩阵YB,其中
Figure BDA00036239578500001510
Figure BDA00036239578500001513
此外,Bob将Hi中的所有位与
Figure BDA00036239578500001512
中出现的索引标记为已使用。
·Bob通过对YB的行进行XOR来创建公用密钥kB。此密钥具有长度m并且等于Alice的公用密钥kA
在另一个实施方案中,公用密钥的生成可包括:
·Alice决定她想要与Bob共享的一定数量的位,称为m位。
·Alice确定她的私有表的她想要使用的密钥值。在一些情况下,Alice可能按照从左到右的顺序使用她的私有表的每一行。她跟踪第一个未使用位的位置r(即,第r位是她的列表中的第一个未使用位)。
·在大多数情况下,Alice通过经认证通道将r、m的值和Bob的身份广播给所有隐私提供商。
·每个隐私提供商Pi将r、m的值和Alice的身份中继给Bob。
·Bob确定他的私有表的他想要使用的密钥值。在一些情况下,Bob可能从左到右使用他的私有表的每一行。他跟踪第一个未使用位的位置s。
·Bob将s的值广播给所有隐私提供商。
·每个隐私提供商Pi向第一用户Alice广播对于j=0、1、2,......、m-1的L(i,r+j,s+j)=K(i,r+j)XOR H(i,s+j)的值以及Alice和Bob的身份。
·Alice向每个隐私提供商Pi角认接收到上述通信。
·使用K(i,r+j)的值和L(i,r+j,s+j)的所接收值,Alice私有地确定对于每个j=0、1、2、......、m-1的奇偶校验位N(l,r+j,s+j)=L(i,r+j,s+j)XORK(i,r+j)。假定Pi在执行协议时是诚实的,那么N(l,r+j,s+j)=L(i,r+j,s+j)XOR K(i,r+j)=K(i,r+j)XOR H(i,s+j)XOR K(i,r+j)=H(i,s+j)。因此,Alice和Bob现在彼此共享部件密钥H(i,s+j)。请注意,仅第i个隐私提供商Pi、Alice和Bob知晓H(i,s+j)
·在一些情况下,Alice和Bob可如本文所述使用密钥认证来验证他们彼此共享相同的部件密钥H(i,s+j)
·Alice和Bob中的每一者对部件密钥进行XOR以生成公用密钥,称为KAB或K公用,其第j位
Figure BDA0003623957850000161
·在一些情况下,如本文所述,Alice和Bob可对字符串K执行隐私放大PA以提取安全密钥K公用=PA(K);窃听者对此没有任何信息。在一些情况下,PA可通过应用线性矩阵来执行;例如,托普利兹矩阵T。
·在一些情况下,一旦Alice和Bob已彼此确认他们已成功地生成公用密钥K公用,他们就可引导每个隐私提供商Pi擦除已使用的密钥材料K(i,r+j)和H(i,s+j)(其中j=0、1、2、......、m-1)。在一些情况下,他们还可引导删除Alice在与Bob共享密钥的事实。这可确保闯入隐私提供商Pi的未来窃听者无法再找到已使用的密钥材料。
·在一些情况下,Alice可擦除她已使用的密钥材料K(i,r+j)(其中j=0、1、2,......、m-1)。类似地,Bob可擦除他已使用的密钥材料H(i,s+j)(其中j=0、1、2、......、m-1)。
·Alice将她的密钥表中第一个未使用位的位置更新为r+m。类似地,Bob将他的第一个未使用位的位置更新为s+m。
请注意,在密钥协商阶段结束时,Alice和Bob共享可立即或在未来应用程序中使用的共用安全密钥K公用。例如,它可用于实现通过一次性密码本方法在通用通信通道中进行的通信的信息理论安全;诸如光纤、手机或互联网。
尽管上述实施方案描述了某些通信和确定,但可使用其他合适的变体。在上述实施方案中,Alice从左到右使用她的私有密钥表中的位。在另一个实施方案中,Alice可在选择要使用的每个位之前应用随机排列。更具体地,请注意,如果Alice想要向Bob发送m个位,则她需要长度为m的密钥;即长度为m的纯随机二进制数系列。为了构建这个密钥,Alice可决定她可通过在她的表中查找它们的值来重新映射为二进制数的n个索引系列,每个数据提供商一个索引系列。
在一个示例中,Alice可为第一个隐私提供商挑选数字34、45和104。然后她可观察表的第一行(在一个示例中,仅与第一个隐私提供商共享的行)并查看位置34、45和104中的值。假设她找到1,1,0。她不与任何人共享二进制值,而是她与第一个隐私提供商共享值34、45和104。第一个隐私提供商接收数字34、45和104,并且他可重构与Alice相同的系列(1,1,0)。Alice可与多个隐私提供商重复这些步骤。这样她将具有n个二进制数系列(第一个为1,1,0);其中每个系列与仅一个隐私提供商共享。任何人都可听取Alice与提供商之间的对话,而无需得到有关二进制值本身的任何信息。例如,听取34、45、104的任何人都没有关于系列(1,1,0)的任何信息,因为表上的信息仅对Alice和相应隐私提供商可用。Alice可对长度为m的所有的n个系列进行XOR(在这里的示例中,m等于3),并且她可获得仅她知晓的长度为m的另一个系列。要重建这个系列,闯入者将需要在XOR运算中输入所有系列。因此,隐私提供商将需要全部协作以便重建该系列;这是极不可能的。XOR运算的所得系列是Bob和Alice可用于通信的秘密公用密钥;例如,使用OTP。
在上述示例中,为了让Bob得到公用密钥,每个隐私提供商都可将相关联系列传达给Bob。在此示例中,第一个隐私提供商将系列1,1,0(即,由Alice用于重建秘密密钥的第一个二进制数系列)传达给Bob。为了将系列(1,1,0)传达给Bob,第一个隐私提供商可从与Bob共享的表中挑选重新映射到(1,1,0)中的三个索引,在一些情况下,索引可随机选择,只要它们重新映射到(1,1,0)即可。例如,假设在Bob的表的第一行(在此示例中,位置78、98、132处与第一个隐私提供商共享的二进制数系列)中,分别存在二进制数1,1,0。第一隐私提供商将78、98、132传达给Bob。听取此对话的窃听者将无法重建任何另外的信息。然而,Bob一旦接收到来自隐私提供商的有序索引集合(即78,98,132),就可通过在他的私有表的相应行中查找二进制数;从而在第一行中查找由第一个隐私提供商指定的位置来重建系列1,1,0。所有隐私提供商都重复上述步骤。因此,Bob得到矩阵n x m,其中n是隐私提供商数量,并且m是秘密k的长度。Bob可对所有长度为m的n个系列进行XOR以得到公用密钥K公用
在另一个示例中,Alice可具有表,所述表具有n行(在此示例中,n也是隐私提供商数量)和大量列。出于此说明性示例的目的,为简单起见,列数量等于10。第一行可以是:(1001101001)。这个二进制数系列仅为Alice和第一个隐私提供商所知。相比之下,Bob的表的第一行可以是:(0 0 0 1 1 0 1 1 0 1)。这个二进制数系列仅为Bob和第一个隐私提供商所知。Alice可将系列(2,5,1)发送到第一个隐私提供商;其中所述系列通过Alice将系列所指示的位置(作为表的索引)转换为二进制数来确定:(2,5,1)->(0,1,1)。第一隐私提供商也可执行这种转换,使得仅Alice和第一隐私提供商知晓二进制系列。然后,第一个隐私提供商可将相同的系列(0,1,1)传达给Bob。为此,第一个隐私提供商可在与Bob共享的系列中挑选重新映射到(0,1,1)中的随机索引。在此示例中,(3,4,5)、(9,10,8)或(6,10,8)中的任一者或重新映射到(0,1,1)中的任何其他索引系列都可传达给Bob。例如,如果第一个隐私提供商向Bob发送(9,10,8),那么Bob可在他的私有表中查找这些索引,以得到与Alice相同的二进制序列(0,1,1)。Alice和Bob可对所有n个隐私提供商执行上述步骤,使得他们各自将具有n个二进制数系列。如果他们各自对这些数字系列应用XOR运算,那么他们可构造只有他们可重新构建的秘密公用密钥。这些步骤可反之执行用于从Bob到Alice的通信。假设恶意入侵者Eve想要重建秘密密钥。即使在Eve听取Alice和Bob与隐私提供商之间的所有对话的情况下,她也不可能重建秘密密钥,因为她无法将每个索引转变为重新映射的二进制数位(在上述示例中,Eve不能将(2,5,1)映射到(0,1,1)中),因为二进制数是随机生成的。假设现在隐私提供商想要重建秘密密钥。由于每个隐私提供商仅知晓他的Alice和Bob在XOR运算符中使用的系列的部分,因此不可能预测XOR的最终结果,因此密钥可保密。
图5A和图5B分别示出Alice和Bob的密钥生成的另一个说明性示例。Alice发起与三个隐私提供商P1、P2、P3的交换。从Alice到三个隐私提供商的公共消息分别是[3,5,6]、[1,2,6]和[3,4,5]。在此示例中,对于n=3,
Figure BDA0003623957850000201
并且
Figure BDA0003623957850000202
这些序列号集合在各自的表中与密钥值[1,1,0]、[0,1,1]、[1,0,1]相关联。然后,隐私提供商为Bob生成序列号,使得序列号是在Bob的表中重现相同的密钥值的索引的集合。在许多可能性之中,图中隐私提供商所发送的可能性是[2,3,4]、[4,5,6]和[1,4,5]。在此示例中,对于n=3,
Figure BDA0003623957850000203
并且
Figure BDA0003623957850000204
在此阶段结束时,通信中所采用的所有位都被标记为已使用,使得这些位将不被再次使用。
有利地,本发明实施方案的方法独立于通信类型;因此,它可用于视频通话、语音通话、电子邮件、消息以及Alice希望发送给Bob的任何种类的数据。同样有利地,Alice不必事先知晓要传输到Bob的位的量,因为这个量可在运行时期间进行调整。
在另一个实施方案中,通过让每个隐私提供商Pi选择要用于加密的密钥,可能不需要用户级别的RNG。这样,当Alice开始与Bob通信时,两方立即接收到可在本地映射到同一二进制字符串的索引的集合;对于同一数据隐私提供商,Alice和Bob的索引是不同的。不同隐私提供商所获得的不同的字符串如本文所述组合成对Alice和Bob将相等的公用密钥。在此实施方案中,公用密钥的生成可包括:
·Alice决定她想要传达给Bob的一定数量的位。如果Alice需要发送m个位,那么Alice将此信息(位的数量m和接收者Bob)发送到每个隐私提供商Pi
·每个隐私提供商Pi例如使用QRNG生成长度为m的随机二进制字符串si∈{0;1}m。每个隐私提供商匹配表Ki(与Alice共享)中的m个索引,所述索引(i)从未被使用过,并且(ii)精确地重新映射到si。这个索引的集合可称为ki。同样,每个隐私提供商可为Bob生成索引的集合hi。每个隐私提供商将用于此通信轮次的索引标记为已使用。
·每个隐私提供商通过公共通道将ki传达给Alice并且将hi传达给Bob。有利地,由于这些索引包含用于重构密钥的序列号,它们没有关于真实密钥的信息;因此,窃听者可在没有获得有用信息的情况下听取这种交换。
·Alice通过将每个隐私提供商发送的索引与共享表匹配来创建矩阵YA。YA是具有n行和m列的矩阵,其中元素
Figure BDA0003623957850000211
等于
Figure BDA0003623957850000214
·Alice通过对YA的行进行XOR来生成公用密钥kA;其中密钥具有长度m。
·Alice将此通信轮次中所使用的索引标记为已使用。
·Bob通过将每个隐私提供商发送的索引与共享表匹配来创建矩阵YB。YB是具有n行和m列的矩阵,其中元素
Figure BDA0003623957850000212
等于
Figure BDA0003623957850000213
·Bob通过对YB的行进行XOR来生成公用密钥kB;其中密钥具有长度m。
·Bob将此通信轮次中所使用的索引标记为已使用。
在另一个实施方案中,通过让每个隐私提供商Pi选择要用于加密的密钥,可能不需要用户级别的RNG。这样,当Alice需要重建与Bob共享的秘密密钥时,Bob立即从每个隐私提供商接收可用于生成秘密密钥的值的集合。在此实施方案中,公用密钥的生成可包括:
·Alice决定她想要传达给Bob的一定数量的位。如果Alice需要发送m个位,那么Alice将此信息(位的数量m和接收者Bob)发送到每个隐私提供商Pi
·对于她的表Ki(与隐私提供商Pi共享)中的每一个,Alice考虑前m个未使用位。假设表Ki中最后使用的位在索引j处,那么Alice考虑以下位系列:(YA i=Kij+1,Kij+2,...,Kij+m)。Alice将这些位标记为已使用。Alice构建矩阵YA,其中第i行是YA i
·每个隐私提供商Pi计算位系列Ni=(Kij+1 xor Hi,s+1,Kij+2 xor Hi,s+2,…,Kij+mxor Hi,s+m),其中j是表Ki中最后使用的位,并且s是表Hi中最后使用的位。每个隐私提供商Pi将用于构造Ni的位标记为已使用。
·每个隐私提供商通过公共通道将Ni传达给Bob。有利地,由于这些索引包含随机位系列上的异或运算符,它们没有关于真实密钥的信息;因此,窃听者可在没有获得有用信息的情况下听取这种交换。
·Bob创建矩阵YB,其中第i行是系列:YB i=(Ni,1 xor Hi,s+1,Ni,2 xor Hi,s+2,...,Ni,m xor Hi,s+m)=YA i。Bob将用于构建YB的所有位标记为已使用。
·Alice通过对YA的行进行XOR来生成公用密钥kA;其中密钥具有长度m。
·Bob通过对YB的行进行XOR来生成公用密钥kB;其中密钥具有长度m。
用于生成公用密钥的上述实施方案对于用户设备来说计算和/或资源密集性要少得多,因为它不需要用户级别的随机数生成(尤其是QRNG);并且它涉及通过网络交换相同数量的位。
Alice和Bob两者都具有可用于彼此进行加密通信的密钥,分别为kA和kB。在一些情况下,在框306处,在使用公用密钥进行通信之前,第一用户设备(Alice)和第二用户设备(Bob)两者上的认证模块176可验证密钥的真实性;即,验证kA=kB。可使用用于密钥验证的任何合适的方法。在示例性方法中,Alice和Bob可认证最终密钥kA和kB。在此示例性方法中:
·Alice使用哈希函数H来计算sA=H((kA);其中sA是长度为L的二进制字符串。哈希函数的选择可能是应用特定的,因为此函数的成本和安全性方面的要求可能取决于使用境况而显著不同。示例可以是使用SHS-256哈希函数。另一个示例可以是一组双通用哈希函数,诸如托普利兹矩阵T。
·Alice广播一定数量的对(j;sA;j),其中j∈1,2,...,L。
·Bob使用同一哈希函数H来计算sB=H((kB);其中sB是长度为L的二进制字符串。
·Bob收集A所广播的对(j;sA;j),并且确定对于Alice传达的所有对,是否sA;j=sB;j
在用于密钥验证的另一个示例性方法中,可对密钥部件
Figure BDA0003623957850000231
Figure BDA0003623957850000232
中的每一者执行密钥验证,其中i=1,2,...,m。虽然这种方法通常涉及在Alice与Bob之间交换更多位,因此通信成本更高,但它允许用户识别和排除可能执行拒绝服务攻击的隐私提供商。在此示例性方法中:
·Alice使用哈希函数H来计算
Figure BDA0003623957850000233
其中si,A是长度为L的二进制字符串,并且
Figure BDA0003623957850000234
表示Ki中的位、在密钥组中的位置
Figure BDA0003623957850000235
·Alice将对{i;si,A}发送给Bob。
·Bob使用同一哈希函数H来计算
Figure BDA0003623957850000236
其中si,B是长度为L的二进制字符串,并且
Figure BDA0003623957850000237
等于
Figure BDA0003623957850000238
·Bob收集Alice所广播的对{i;si,A},并确定是否si,A=si,B。Bob将此结果传达给Alice。
·对每个i重复上述步骤。最后,Alice和Bob具有通过是否si,A=si,B的测试的在{1,2,...,m}中的共享的索引列表。
·Alice和Bob使用公用索引集合通过分别对行上的通过测试的YA和YB执行XOR运算来重建他们的密钥kA和kB
在上述密钥验证方法中,可能公开一些关于密钥k的信息。在第一种方法中,在具有大L(其中公开越来越多的信息但密钥的真实性变得更加可靠)与具有小L(其中公开更少的信息但密钥的真实性不太确定)之间存在权衡。在第二种方法中,实质性优点是Alice和Bob能够识别运行DoS攻击的隐私提供商。在另一种方法中,Alice和Bob可随机地检查kA和kB的位中的一些,直到kA≠kB的概率小于可接受阈值为止。
在一些情况下,在框308处,第一用户设备(Alice)和第二用户设备(Bob)两者上的放大模块178可执行隐私放大。在密钥验证期间,Aliec和Bob能可需要发布Eve为了尝试重建密钥可能已经积累的关于密钥的一些信息。在一组两个通用哈希函数之中,为了任意地减少Eve所拥有的信息量,Alice和Bob可公开地选择函数g:{0,1}m→{0,1}r,其中r<m,并且构建新修订密钥k=g(k)。给定Eve拥有的所有信息,所得修订k通常可均匀地分发;并且因此可安全地使用。新修订密钥的大小r以及函数g的选择可取决于Eve在密钥验证期间原本可获得的信息量;这进而取决于用于他们的密钥验证测试的哈希函数。由于Hash函数是应用特定的,因此H和g两者的选择可取决于具体用途。
在框310处,第一用户设备(Alice)和第二用户设备(Bob)两者上的通信模块180可通过每个相应网络接口160使用共享密钥k=kA=kB进行通信。在一些情况下,通信可使用OTP方法:
·Alice在一次性密码本方案中使用k来加密她的初始消息msg:ctx=OTP(msg;k);其中ctx表示经加密消息,msg表示原始消息,并且OTP表示与密钥k一起使用的一次性密码本方案。
·Alice通过公共通信通道将消息发送给Bob。
·Bob解密消息:msg=OTP-1(ctx;k)。
上述OTP方法反之也适用于Bob发送到Alice的加密消息。
在一些情况下,在框312处,第一用户设备(Alice)和第二用户设备(Bob)两者上的擦除模块182可执行密钥擦除以即使在任一用户的任何表被盗的情况下也确保安全。在一个示例中,两方可以0.5的概率翻转所有已使用的位;即,对于已标记为已使用的每个位,评估出相应位x是否将被翻转为1-x的概率为0.5。这种评估确保即使设备丢失,先前通信也不能被解密。这样,即使设备被盗,也仍然无法重建原始数据,即使此类数据存储在云计算环境中也是如此。在一些情况下,隐私提供商也可擦除他们的密钥。在这些情况下,绝对无法恢复传输的信息。在另一种情况下,考虑Alice是想要将信息存储在一个或多个服务器上并在稍后阶段访问它的用户的情况;甚至授予Bob访问权限。信息可以是密钥,并且也可以是数据本身;此信息可以本文所述的方式存储在提供商内。隐私提供商通过保持信息完好无损来允许Alice或与隐私提供商共享密钥表的任何其他授权用户在未来时间重建数据。
在加密电话通话的示例中,对于所发送消息的每m个位,必须发送另外的nm个位(其中n是隐私提供商数量),外加用于认证的一定(可忽略的)数量的位(例如,Alice可将f个位发送到方Pi,作为Ki中前f个未使用位,以进行认证)。因此,为了发起2分钟通话(在VOiP协议上为大致1.2MB),事先要在Alice与隐私提供商之间交换的数据量为大致3.6MB(假定n=3);这需要(假定QRNG始终用新的随机数更新小寄存器)约0.04秒从存储器中读取数据,外加将数据发送到提供商所需的时间。隐私提供商需要匹配密钥并将相同量的数据发送给Bob。假定Bob在从他的寄存器读取数据时具有相同速度(90MBs),则发起2分钟的通话将大约0.3秒的时延时间。考虑到加密的附加值,这种时延在商业上是合理的。
在方法300的一些情况下,可假定随机性来自位于用户设备上的RNG(例如,QRNG)。在其他情况下,大量随机数(例如,量子随机数)可预先安装在用户的设备上。在这些情况下,例如,无论何时密钥已完全使用;诸如通过订阅服务,都可更换用户设备。在其他情况下,量子随机数可预先安装并存储在与用户设备通信的单独存储器存储设备上;由此存储设备可在预先安装数已完全使用时更换。
通常,隐私提供商以及各设备之间的通信***可能是协议的最薄弱部分。在一些情况下,可使用法律强制执行来确保隐私提供商的合规性,包括让隐私提供商签署合同。此合同可合法地迫使他们在数据(密钥)泄露他们有责任的情况下补偿最终用户。尽管即使具有法律合同,隐私提供商仍可能参与非期望活动,但所有隐私提供商都参与这些活动的概率可被认为是可忽略的。特别地,在隐私提供商多样化的情况下;例如,兴趣、背景、地理位置等多样化,所有合作的概率都非常低。在一些情况下,可将隐私提供商的角色至少部分地提供给国家当局。在一些情况下,可使用另外的密码层;例如,可使用至少AES-128。这个另外的安全层可在用户设备上实现。
在一些情况下,对于足够大的组织,假定设备仅用于在同一组织内彼此通信,组织本身也可充当隐私提供商并管理密钥的生产和分发。
在一些情况下,可对隐私提供商进行认证,使得可立即识别出任何隐私提供商的DoS攻击。然后可将隐私提供商驱逐并从他们的角色中移除。在一些情况下,隐私提供商可因其角色而接收补偿,DoS攻击将作为永久性收入损失而受到抑制。
有利地,每个单独隐私提供商在不与所有其他隐私提供商协作的情况下不可能重构加密密钥。这暗指,只要至少有一个隐私提供商是诚实的,密钥就无法重构:密钥重构(KR)攻击是不可能的。在一些情况下,单个不诚实隐私提供商可通过在协议的交换阶段向Alice和/或Bob提供错误数据来执行拒绝服务(DoS)攻击。根据另一个实施方案,以下内容提供在框304处的公用密钥生成。在此实施方案中,提供部件以避免潜在DoS攻击。
在此实施方案中,为了使用例如OTP生成Alice和Bob进行通信所需的密钥,Alice在笛卡尔平面上生成她使用Alice与n个隐私提供商P1、P2、...、Pn之间的共享密钥分发到所述隐私提供商的n个随机点。Alice生成的n个点位于g次多项式上,其中1≤g≤n-1。多项式与笛卡尔平面的y轴的交点唯一地识别Alice与Bob之间通信将使用的密钥。隐私提供商使用与Bob共享的表将n个点递送给他,这些点可用于重建多项式,以及因而公用密钥。
多项式的次数g影响协议的安全性;使得:
·当g过度小时,例如g=1,少量隐私提供商可能容易聚集并执行KR攻击,因为很少的点足以重建多项式。同时,当g如此小时,很难进行DoS攻击,因为许多隐私提供商具有一群人来阻止Bob重构密钥。
·当g过度大时,可能需要大量腐败提供商来进行KR攻击,但较少数量的隐私提供商足以进行DoS攻击。例如,当g=n-1时,应该使用用于执行框304的先前所述方法。
鉴于上述权衡,确定g的值取决于提供商数量n、他们不诚实的概率、KR攻击的成本(例如,对于移动通信和数据存储应用而言较高)对DoS攻击的成本(例如,对于数据存储而言较高)以及具有大量隐私提供商的成本。
在此实施方案中,存在两个用户Alice和Bob,以及与Alice和Bob共享私有密钥的集合的n个提供商P1、P2、…、Pn的集合。特别地,Ki是Alice与Pi之间私有共享的长度为l的位的集合,使得位Kij∈{0;1}表示Alice与Pi之间共享的集合中第j个位的值。同样,Hi是Bob与Pi之间共享的密钥的集合。考虑Alice想要例如使用OTP加密构造与Bob共享的密钥的情况,所述密钥可用于需要密钥的通信或任何其他应用。Alice可使用秘密共享协议(例如,Shamir的秘密共享协议)来构建这种密钥并将其与Bob共享。出于说明目的,可将密钥视为数字k;
其中在其他情况下,密钥可以二进制位来描述。在此实施方案中,将特定秘密共享协议用作示例,然而,可使用任何合适的秘密共享协议。在此实施方案中,公用密钥生成的示例性方法可包括:
·Alice生成g次多项式,所述多项式与笛卡尔平面上的y轴相交在k中,其中g是整数,并且g∈[1;n-1]。其中fA是多项式,使得fA(0)等于公用密钥kA
·Alice在所生成的多项式上精确地选择n个随机点。随机点是a1={x1;fA{x1)}、a2={x2;fA(x2)}、......、an其中
Figure BDA0003623957850000283
·对于每个点ai,Alice准备在Alice与Pi之间的通信中之前从未使用的索引系列[ki,1,ki2,…,ki,t],并且使得
Figure BDA0003623957850000281
在笛卡尔平面上唯一地识别笛卡尔平面上的ai。在一些情况下,长度ki可以是识别笛卡尔平面上的一个点(即两个坐标)所需的位的量。
·Alice通过公共通道将第i个系列[ki,1,ki,2,,...,ki,t]发送到提供商Pi
·Alice将来自每个表Ki的已使用索引表示为‘已使用’。
·Alice将数字g发送给Bob。
·每个隐私提供商Pi准备Bob与Pi之间的通信中之前从未使用的索引系列[hi,1、hi,2、......、hi,t],并且使得
Figure BDA0003623957850000282
唯一地识别笛卡尔平面上的ai
·Pi通过公共通道将系列[hi,1,hi,2,...,hi,t]发送给Bob。
·Bob从隐私提供商接收系列,并且生成点a1={x1;fA(x1)}、a2={x2;fA(x2)}、......、an。Bob测量曲线与y轴的交点,所述交点形成公用密钥kB
请注意,当g=1时,上述方法在信息理论上等同于先前所述方法。
为了确定近似最优g,可考虑以下内容:
·给定n个隐私提供商和g次多项式,要进行密钥重构攻击,需要至少g+1个不诚实隐私提供商。提供商不遵循协议的概率可被认为等于q,并且概率可被认为不相关。则KR攻击的最终概率是:
Figure BDA0003623957850000291
·给定n个隐私提供商和g次多项式,需要至少n-g个不诚实隐私提供商来进行拒绝服务攻击。提供商不遵循协议的概率可被认为等于q,并且概率可被认为不相关。则DoS攻击的最终概率是:
Figure BDA0003623957850000292
在最坏情况下,不诚实隐私提供商试图同时参与KR攻击和DoS攻击两者。图6示出作为由提供商总数n归一化的g的函数的不诚实提供商的最小分数的示例的曲线图。在竖轴上,存在作为多项式次数g的函数的必须不诚实以进行攻击的提供商的最小分数;其中两个量都除以n。对于每个点g,取两条曲线中最小值给出不诚实参加者进行两次攻击中的至少一次所需的最小分数。从曲线图中清楚,g的值等于n/2提供更安全配置,尽管不同攻击可能对于最终用户具有不同成本,因此最优g可更多地向左或向右移动。例如,对于移动通信而言,KR攻击可能比DoS攻击成本更高,因此最佳g将更接近n。
作为g的函数的遭受攻击的实际概率可通过调用提供商腐败的概率q并且通过假定这些概率之间没有相关性来确定。遭受攻击的总概率等于:
Figure BDA0003623957850000301
考虑n=10并且使用了不同的q值;特别地,q1=0.01,q2=0.02,q3=0.03,q4=0.05,q5=0.1的示例。图7示出五个不同情境q1至q5的攻击概率的示例的曲线图。在竖轴上,存在对于n=10的情况作为g的函数的遭受攻击的概率。在最佳情况g=4下,以下攻击概率是:p1=10-10(针对情境q1),p2=10-8,p3=10-7,p4=10-6并且p5=10-4。特别地,即使在具有腐败提供商的概率近似0.2的不利情境下,攻击概率的最终增益也达到三个数量级(从0.1到0.0001)。因此,这种风险完全在将被认为实际商业上合理的范围内。
同样在n=10的示例性情况下,针对每个值,考虑遭受攻击的概率;考虑最佳次数g等于n/2的示例。图8示出展示结果的示例的曲线图。在竖轴上,存在对于n=10的情况针对最佳g=n/2计算的作为的函数的遭受攻击的概率;其中直线为y=x。如图所示,对于低于0.55的q值,遭受攻击的总概率有所改进。对于小于0.2的q,改进达到若干数量级。图9示出曲线图,其在竖轴上展示对于n=50的情况针对最佳g=n/2计算的作为q的函数的遭受攻击的概率;其中直线为y=x。图10示出曲线图,其在竖轴上展示对于n=4的情况针对最佳g=n/2计算的作为q的函数的遭受攻击的概率;其中直线为y=x。
对于本文所述的实施方案的安全性,通常做出两个假定。第一,隐私提供商中的至少一个诚实可靠;即他们不与其他隐私提供商协作,也不向本不应访问任何密钥的任何人透露任何密钥。第二,正确地准备密钥;即,其他各方(闯入者、隐私提供商和/或设备的制造商)都不知晓任何设备上或发送到任何设备的所有密钥集合。
有利地,本发明实施方案实现可扩展性。在网络中,用户数量n可能非常大。在大量用户的情况下,如果一个用户想要要求每个用户与另一个用户共享密钥,这将需要n(n-1)/2(即,大约n2)个密钥数;这可能极其大。相比之下,如在本发明实施方案中那样使用隐私提供商可减少总密钥数,诸如仅需要大约n个密钥。这是因为每个用户仅需要与隐私提供商共享密钥,而不与其他用户共享密钥。在多个(例如,m个)隐私提供商的情况下,相同的n阶密钥数量扩展也将适用。
有利地,本发明实施方案可通过修改例如IPSec和VPN的各种机制来实现。
有利地,本发明实施方案允许使用多个隐私提供商以获得更高的安全性和可靠性。例如,在具有仅一个隐私提供商的方法中,通常存在单个故障节点;因此,发生数据泄露的概率是该隐私提供商发生数据泄露的概率(称为p)。在具有多个隐私提供商的本发明实施方案中,数据泄露的概率有效地是任意小的,即使每个单个隐私提供商发生数据泄露的概率仍然等于p也是如此。因此,在具有p的实际值(例如,p小于20%)的情况下,例如十个隐私提供商发生数据泄露的概率比单个隐私提供商发生数据泄露的概率p小若干数量级。在一个示例中,对于p等于每年0.05(即,平均每20年一次数据泄露),在十个隐私提供商的情况下,发生数据泄露的概率为大约0.0001%(即,平均每1,000,000年一次数据泄露)。
如在本发明实施方案中所述的隐私提供商的使用至少提供以下优点:
·与OTP加密结合时的信息理论安全性。
·使用当前技术(诸如使用虚拟专用网络(VPN))实现轻松。
·在加密数据的通信期间(在密钥生成过程之后),隐私提供商可离线;这可减轻延迟或拒绝服务攻击。
·在用户数量方面具有高度可扩展性;由此如果新用户加入,旧用户不受影响,因为隐私提供商向新用户提供新密钥表。
·在隐私提供商数量方面具有高度可扩展性;由此如果用户增加了k,则用于确保安全性的隐私提供商数量与每个用户的密钥表数量仅以k线性地扩展。
·所得通信的时间延迟最小,这归因于在密钥生成之后不需要隐私提供商通信。在使用两个隐私提供商的VPN的示例性实验中,通信的ping时间为90毫秒;这是优于其他方法的重大改进。
·秘密共享降低故障概率。
·通过对其自己的隐私提供商强制执行法律要求将密钥表交给法律部分,政府强制执行成为可能。
·可实施国际合作;例如,每个国家拥有隐私提供商,那么除非所有国家合作,否则通信对于任何单个国家都是安全的。
·隐私提供商的分级设计可实施成使得例如每个国家/主要组织具有其主要隐私提供商,并且在次级隐私提供商集合之间分发信任。
此外,多个隐私提供商的使用提供至少以下优点:
·用户无需信任单个中心化实体。由于隐私提供商独立地操作,单个隐私提供商实际上不能解密Alice和Bob的通信。这样,用户不必与隐私提供商共享他们的数据。
·通过使用众多隐私提供商;补充提供针对DDOS攻击的保护,降低来自单个节点或单点故障的黑客攻击或数据泄露的概率。
·允许用户动态地选择哪些隐私提供商以便通信。
·不需要Alice到Bob的消息通过隐私提供商;因此不需要一个或多个隐私提供商始终在线以进行通信。Alice和Bob可指示隐私提供商现在提供一定量的密钥,以期待稍后发生通信。当通信稍后发生时,隐私提供商不必在线。
ο在本发明实施方案的示例中,Alice可简单地向隐私提供商发送(i)Bob的地址和(i)她单独地发送给Bob的消息的长度。然后,集线器准备密钥指令(与消息一样长)并将其发送给Bob。相比之下,在其他方法中,中心化实体从Alice接收消息并将消息重新传输给Bob;因此实体必须不利地管理双倍流量。
尽管已经参考某些特定实施方案描述了本发明,但是在不背离所附权利要求中概述的本发明的精神和范围的情况下,本发明的各种其他方面、优点和修改对于本领域技术人员来说将显而易见。以上引用的所有参考的全部公开内容以引用方式并入本文。

Claims (20)

1.一种用于密钥生成以便在第一用户计算设备与第二用户计算设备之间进行安全通信而不需要在密钥生成期间在所述第一用户计算设备与所述第二用户计算设备之间进行直接通信的方法,所述用于密钥生成的方法使用各自包括计算设备的多个隐私提供商,所述用于密钥生成的方法使用第一私有表和第二私有表,所述第一私有表包括各自与所述第一用户计算设备和所述隐私提供商中的一个隐私提供商共享的具有相关联索引的值,所述第二私有表包括各自与所述第二用户计算设备和所述隐私提供商中的一个隐私提供商共享的具有相关联索引的值,所述方法包括:
由所述第二用户计算设备执行:
接收各自与所述第二私有表中的值相关联的索引,每个索引从共享这些值的相应隐私提供商接收,每个索引与匹配由所述相应隐私提供商从所述第一用户计算设备接收的所述第一私有表中的索引值的值相关联;以及
通过组合所述第二私有表的所述索引值来生成用于所述安全通信的公用密钥。
2.如权利要求1所述的方法,其中生成所述公用密钥包括:对所述第二私有表的所述索引值执行异或(XOR)运算。
3.如权利要求2所述的方法,其还包括使用所述公用密钥使用一次性密码本(OTP)加密方法在所述第一用户计算设备与所述第二用户计算设备之间安全地通信。
4.如权利要求3所述的方法,其中索引值的数量表示要由所述第一用户计算设备传达到所述第二用户计算设备的位的数量。
5.如权利要求1所述的方法,其中所述第一私有表和所述第二私有表的所述值使用量子随机数发生器(QRNG)来生成。
6.如权利要求1所述的方法,其还包括:由所述第二用户计算设备将所述第二私有表中的已用于生成所述公用密钥的值标记为已使用。
7.如权利要求1所述的方法,其还包括:由所述第二用户计算设备执行所述第二私有表中的已用于生成所述公用密钥的值的擦除。
8.如权利要求1所述的方法,其还包括:由所述第二用户计算设备使用认证服务来认证所述公用密钥。
9.如权利要求1所述的方法,其还包括:由所述第二用户计算设备执行隐私放大,包括将线性矩阵应用于所述公用密钥。
10.如权利要求1所述的方法,其中接收与所述第二私有表中的所述值相关联的所述索引包括:接收通过由每个相应隐私提供商对所述第一私有表和所述第二私有表中的所述索引值执行异或(XOR)运算而确定的值。
11.一种用于密钥生成以便用于与第一用户计算设备进行安全通信而不需要在密钥生成期间与所述第一用户计算设备进行直接通信的***,所述***包括一个或多个处理器和数据存储设备,所述***与各自包括计算设备的一个或多个隐私提供商通信,第一私有表包括各自与所述第一用户计算设备和所述隐私提供商中的一个隐私提供商共享的具有相关联索引的值,所述一个或多个处理器与所述数据存储设备通信并且被配置为执行:
表模块,所述表模块用于接收各自与第二私有表中的值相关联的索引,所述第二私有表包括各自与所述隐私提供商中的一个隐私提供商共享的具有相关联索引的值,每个索引从共享这些值的相应隐私提供商接收,每个索引与匹配由所述相应隐私提供商从所述第一用户计算设备接收的所述第一私有表中的索引值的值相关联;以及
公用密钥模块,所述公用密钥模块用于通过组合所述第二私有表的所述索引值来生成用于所述安全通信的共用密钥。
12.如权利要求11所述的***,其中所述公用密钥模块通过对所述第二私有表的所述索引值执行异或(XOR)运算来生成所述公用密钥。
13.如权利要求12所述的***,其中所述一个或多个处理器被进一步配置为执行通信模块,以使用所述公用密钥使用一次性密码本(OTP)加密方法与所述第一用户计算设备安全地通信。
14.如权利要求13所述的***,其中索引值的数量表示要由所述第一用户计算设备传达的位的数量。
15.如权利要求11所述的***,其中所述第一私有表和所述第二私有表的所述值使用量子随机数发生器(QRNG)来生成。
16.如权利要求11所述的***,其中所述表模块将所述第二私有表中的已用于生成所述公用密钥的值标记为已使用。
17.如权利要求11所述的***,其中所述一个或多个处理器被进一步配置为执行擦除模块,以执行所述第二私有表中的已用于生成所述公用密钥的值的擦除。
18.如权利要求11所述的***,其中所述一个或多个处理器被进一步配置为执行认证模块,以使用认证服务来认证所述公用密钥。
19.如权利要求11所述的***,其中所述一个或多个处理器被进一步配置为执行放大模块,以执行隐私放大,包括将线性矩阵应用于所述公用密钥。
20.如权利要求11所述的***,其中接收与所述第二私有表中的所述值相关联的所述索引包括:接收通过由每个相应的隐私提供商对所述第一私有表和所述第二私有表中的所述索引值执行异或(XOR)运算而确定的值。
CN202080076575.5A 2019-09-30 2020-09-30 在安全通信中使用的密钥生成 Pending CN114631285A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962907997P 2019-09-30 2019-09-30
US62/907,997 2019-09-30
GB1917748.4A GB2587438A (en) 2019-09-30 2019-12-05 Key generation for use in secured communication
GB1917748.4 2019-12-05
PCT/CA2020/051307 WO2021062537A1 (en) 2019-09-30 2020-09-30 Key generation for use in secured communication

Publications (1)

Publication Number Publication Date
CN114631285A true CN114631285A (zh) 2022-06-14

Family

ID=69171971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080076575.5A Pending CN114631285A (zh) 2019-09-30 2020-09-30 在安全通信中使用的密钥生成

Country Status (11)

Country Link
US (1) US11177950B2 (zh)
EP (1) EP4029188A4 (zh)
JP (1) JP2022550774A (zh)
KR (1) KR102656403B1 (zh)
CN (1) CN114631285A (zh)
AU (1) AU2020358142A1 (zh)
CA (1) CA3107237C (zh)
GB (2) GB2587438A (zh)
IL (1) IL291804A (zh)
MX (1) MX2022003790A (zh)
WO (1) WO2021062537A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496892B2 (en) * 2021-01-22 2022-11-08 Dell Products L.P. Secure infrastructure onboarding system
CN113098872B (zh) * 2021-04-02 2021-12-03 山东量子科学技术研究院有限公司 基于量子网络的加密通信***、方法及融合网关
CN117785499A (zh) * 2022-09-22 2024-03-29 华为技术有限公司 聚合通信中的数据传输方法以及***
US11991269B1 (en) 2022-11-15 2024-05-21 Quantum Bridge Technologies Inc. System and method for distribution of key generation data in a secure network

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725730B2 (en) * 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
WO2006084183A1 (en) * 2005-02-04 2006-08-10 Qualcomm Incorporated Secure bootstrapping for wireless communications
US9002018B2 (en) * 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
US7720995B2 (en) * 2007-06-08 2010-05-18 Cisco Technology, Inc. Conditional BGP advertising for dynamic group VPN (DGVPN) clients
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
US8578473B2 (en) * 2009-03-25 2013-11-05 Lsi Corporation Systems and methods for information security using one-time pad
JP2012147341A (ja) * 2011-01-14 2012-08-02 Seiko Epson Corp 共通鍵交換方法、共通鍵生成方法、共通鍵交換システム、共通鍵交換装置、及びそのプログラム
WO2013151852A1 (en) * 2012-04-01 2013-10-10 Authentify, Inc. Secure authentication in a multi-party system
CN104412538B (zh) * 2012-05-23 2019-04-09 利兹大学 安全通信
US9590951B2 (en) * 2013-05-07 2017-03-07 Robert John Tomkow One-time pad communications network
US10296499B2 (en) * 2013-11-15 2019-05-21 Sap Se Dynamic database mapping
US10860735B2 (en) * 2016-08-05 2020-12-08 Sensoriant, Inc. Database system for protecting and securing stored data using a privacy switch
CN107959566A (zh) * 2016-10-14 2018-04-24 阿里巴巴集团控股有限公司 量子数据密钥协商***及量子数据密钥协商方法
US10432400B2 (en) * 2016-10-25 2019-10-01 Southern Methodist University Method and system for privacy preserving disclosure of a shared, identity linked secret
US11140141B2 (en) * 2017-09-18 2021-10-05 Fiske Software Llc Multiparty key exchange
WO2019069103A1 (en) * 2017-10-06 2019-04-11 Novus Paradigm Technologies Corporation SYSTEM AND METHOD FOR QUANTIALLY SECURING AUTHENTICATION, ENCRYPTION, AND INFORMATION DECLIFFING
EP3474484A1 (en) * 2017-10-17 2019-04-24 Koninklijke Philips N.V. Cryptographic device with updatable shared matrix
ES2717548B2 (es) * 2017-11-08 2020-11-26 Univ Vigo Acuerdo seguro de clave con dispositivos no confiables
US20210232702A1 (en) * 2018-05-14 2021-07-29 Roy Moshe Gelbard Method and system for data privacy protection in relational databases
US11593528B2 (en) * 2019-04-08 2023-02-28 The Regents Of The University Of California Compact key with reusable common key for encryption

Also Published As

Publication number Publication date
US11177950B2 (en) 2021-11-16
IL291804A (en) 2022-06-01
GB2587438A (en) 2021-03-31
EP4029188A1 (en) 2022-07-20
GB2593293A (en) 2021-09-22
KR102656403B1 (ko) 2024-04-11
MX2022003790A (es) 2022-05-24
CA3107237C (en) 2022-01-25
JP2022550774A (ja) 2022-12-05
GB202102574D0 (en) 2021-04-07
EP4029188A4 (en) 2023-11-22
GB201917748D0 (en) 2020-01-22
KR20220074899A (ko) 2022-06-03
US20210099296A1 (en) 2021-04-01
AU2020358142A1 (en) 2022-04-21
WO2021062537A1 (en) 2021-04-08
CA3107237A1 (en) 2021-03-30

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
CN106104562B (zh) 机密数据安全储存和恢复***及方法
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
US11177950B2 (en) Key generation for use in secured communication
JP2022501971A (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
JP2023500570A (ja) コールドウォレットを用いたデジタルシグニチャ生成
KR100668446B1 (ko) 안전한 인증정보 이동방법
Bhandari et al. A framework for data security and storage in Cloud Computing
Liu et al. Efficient decentralized access control for secure data sharing in cloud computing
CN112003690B (zh) 密码服务***、方法及装置
Havanje et al. Secure and reliable data access control mechanism in multi-cloud environment with inter-server communication security
CN115412236A (zh) 一种密钥管理和密码计算的方法、加密方法及装置
Shin et al. A secure public cloud storage system
Jenefa et al. A cloud storage system with data confidentiality and data forwarding
US20220103355A1 (en) Method and system for key generation
Lo et al. Distributed Symmetric Key Exchange: A scalable, quantum-proof key distribution system
Hörandner et al. Horcruxes for everyone-a framework for key-loss recovery by splitting trust
Gagged et al. Improved secure dynamic bit standard technique for a private cloud platform to address security challenges
CN113315749B (zh) 用户数据上链、用户数据使用方法、匿名***和存储介质
US20240214187A1 (en) System and Method of Creating Symmetric Keys Using Elliptic Curve Cryptography
Hussain et al. Blockchain basic architecture components and considerations
Hussain et al. Blockchain Architecture, Components and Considerations
Kaur et al. Pre-requisite Concepts for Security and Privacy
Kumar et al. An improved attribute based encryption model with linked hashing technique for cloud data security
Baskaran et al. Secure Data Transmission With Multiple Key Management In Cloud Environment

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40076666

Country of ref document: HK