Secure distribution of entropy

CN116941216BActive Publication Date: 2026-10-09ORACLE INT CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180094639.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-02-25
Filing Date
2021-03-24
Publication Date
2026-10-09
Estimated Expiration
2041-03-24

AI Technical Summary

Technical Problem

被篡改的熵质量差会导致密码密钥较弱或受到损害,这容易受到各种冲突和旁道攻击

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116941216B_ABST
    Figure CN116941216B_ABST
Patent Text Reader

Abstract

Techniques for securely distributing entropy in a distributed environment are disclosed. The entropy that is distributed can be quantum entropy generated by a quantum entropy generator or source. Genuine random entropy generated by a trusted entropy generator can be securely transferred between computer systems or hosts using a secure communication channel set up using a portion of the entropy. The distribution techniques enable computer systems and hosts that would otherwise not have access to such entropy generated by a trusted entropy source to access the entropy.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This international patent application claims priority to U.S. Patent Application No. 17 / 185,646, filed on February 25, 2021, entitled "Secure Distribution Of Entropy," the disclosure of which is incorporated herein by reference in its entirety for all purposes. Background Technology

[0003] Entropy (also known as entropy information) is used for a variety of purposes. For example, entropy is essential for cryptographic systems that use it to generate cryptographic keys for various purposes. However, the trust that can be placed in these cryptographic systems and the keys generated by them is limited by the trust that can be placed in the quality of the entropy used by these systems to generate the keys. First, generating truly random entropy or finding a trusted source capable of generating truly random entropy is difficult. Even if such a source is found, transferring entropy from the entropy source to the computer that will use it (e.g., through the cryptographic system used to generate the cryptographic key) while ensuring that the entropy has not been tampered with is not a simple problem. Tampered entropy is of poor quality, resulting in weak or compromised cryptographic keys that are vulnerable to various collision and side-channel attacks. Therefore, most computing devices and applications (e.g., programs, virtual machines) do not have access to truly random, high-quality entropy. Summary of the Invention

[0004] This disclosure generally relates to the secure distribution of entropy. The distributed entropy can be quantum entropy generated by a quantum entropy generator or source. The teachings described herein enable the secure transmission between computer systems or hosts using secure communication channels set up with a portion of the entropy generated by a trusted entropy generator. The distribution technique enables computer systems and hosts that would otherwise be unable to access such entropy generated by a trusted entropy source to access it. Various embodiments are described herein, including methods, systems, non-transitory computer-readable storage media storing programs, code, or instructions executable by one or more processors, and the like.

[0005] In some embodiments, a method includes receiving entropy information from an entropy source by a first host; establishing a communication channel between the first host and a second host using one or more cryptographic keys, wherein all one or more cryptographic keys are generated using at least a portion of the entropy information; and transmitting an additional portion of the entropy information from the first host to the second host using the communication channel established between the first host and the second host.

[0006] In yet another embodiment, the communication channel is a second communication channel, and the method further includes: establishing a first communication channel between a first host and a second host based on a first set of one or more cryptographic keys generated by a first host using a first portion of entropy information and based on a second set of one or more cryptographic keys generated by a second host; and using the first communication channel to transmit a second portion of the entropy information from the first host to the second host.

[0007] In yet another embodiment, the step of establishing a second communication channel includes: a first host using a third portion of entropy information to generate a third set of one or more cryptographic keys; a second host using a first portion of a second portion of entropy information received by the second host from the first host to generate a fourth set of one or more cryptographic keys; and establishing a second communication channel between the first host and the second host based on the third set of one or more cryptographic keys and the fourth set of one or more cryptographic keys.

[0008] In yet another embodiment, the method further includes determining that conditions associated with the second communication channel are met; in response to determining that the conditions are met: a first new set of one or more cryptographic keys is regenerated by the first host using a fifth portion of the entropy information; a second new set of one or more cryptographic keys is regenerated by the second host using a second portion of a second portion of the entropy information received by the second host from the first host; and a new communication channel is established between the first host and the second host based on the first new set of one or more cryptographic keys and the second new set of one or more cryptographic keys.

[0009] In yet another embodiment, the step of determining that the conditions associated with the second communication channel are met includes determining that a specific time period has elapsed.

[0010] In yet another embodiment, the step of determining that the conditions associated with the second communication channel are met includes determining that a certain number of packets have been exchanged between the first host and the second host.

[0011] In yet another embodiment, the second portion of the entropy information includes “N” bits, and the second host generates a fourth set of one or more cryptographic keys based on the “N” bits.

[0012] In yet another embodiment, the step of establishing a first communication channel includes performing a first Diffie-Hellman key exchange using a first set of one or more cryptographic keys and a second set of one or more cryptographic keys, and wherein establishing a second communication channel includes performing a second Diffie-Hellman key exchange using a third set of one or more cryptographic keys and a fourth set of one or more cryptographic keys.

[0013] In yet another embodiment, the first Diffie-Hellman key exchange is a first elliptic curve Diffie-Hellman key exchange, and the second Diffie-Hellman key exchange is a second elliptic curve Diffie-Hellman key exchange.

[0014] In yet another embodiment, the entropy source is a quantum entropy generator, and the entropy information is quantum entropy.

[0015] In yet another embodiment, the first host is hosted by a first host machine and the second host is hosted by a second host machine.

[0016] In yet another embodiment, the step of receiving entropy information includes receiving entropy information as an information stream from an entropy source by a first host.

[0017] Another embodiment relates to a non-transitory computer-readable storage medium storing computer-executable program instructions that, when executed by a processing device of a computing device, cause the computing device to perform the methods described above.

[0018] Another embodiment relates to an apparatus that includes components for performing the steps of the method described above.

[0019] Another embodiment relates to a computer program product including computer instructions that, when executed by a processor, implement the steps of the above-described method.

[0020] The foregoing, as well as other features and embodiments, will become more apparent from the following description, claims, and drawings. Attached Figure Description

[0021] Figure 1 This is a simplified block diagram of a distributed environment according to some embodiments.

[0022] Figure 2 An example of a quantum entropy generator is shown.

[0023] Figure 3 A simplified swimlane diagram depicting a process, according to certain embodiments, for distributing or transmitting entropy information generated by a quantum entropy generator to multiple hosts or computing instances.

[0024] Figure 4 A simplified swimlane diagram depicts another process, according to certain embodiments, of distributing or transmitting entropy information generated by a quantum entropy generator to multiple hosts or computing instances.

[0025] Figure 5A simplified flowchart depicts steps performed by a first host during a process for distributing or transmitting entropy information generated by a quantum entropy generator to multiple hosts or computing instances, according to certain embodiments.

[0026] Figure 6 A simplified flowchart depicts steps performed by a second host during a process for distributing or transmitting entropy information generated by a quantum entropy generator to multiple hosts or computing instances, according to certain embodiments.

[0027] Figure 7 This is a simplified block diagram of a distributed cloud environment based on some embodiments.

[0028] Figure 8 An exemplary computer system that can be used to implement certain embodiments is illustrated. Detailed Implementation

[0029] In the following description, specific details are set forth for illustrative purposes in order to provide a thorough understanding of certain embodiments. However, it will be apparent that various embodiments may be practiced without these specific details. The accompanying drawings and description are not intended to be limiting. The word “exemplary” as used herein means “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.

[0030] This disclosure generally relates to the secure distribution of entropy. The distributed entropy can be quantum entropy generated by a quantum entropy generator or source. The teachings described herein enable the secure transmission between computer systems or hosts using secure communication channels set up with a portion of the entropy generated by a trusted entropy generator. The distribution technique enables computer systems and hosts that would otherwise be unable to access such entropy generated by a trusted entropy source to access it.

[0031] In some embodiments, novel distributed techniques are described for securely transferring entropy from an entropy source to a computer system directly connected to the entropy source, and also for securely transferring entropy from this computer system to other computer systems in a distributed environment that are not directly connected to the entropy source. In some embodiments, the computer system directly connected to the entropy source securely receives entropy information from the entropy source via a direct secure connection. The computer system receiving entropy from the entropy source can then transmit or distribute the received entropy or a portion thereof to one or more other computer systems communicatively coupled to the computer system but possibly not directly connected to the entropy source. Entropy communication from the directly connected computer system to other computer systems that may not be directly connected to the entropy source is performed using a secure communication channel set up with a portion of the entropy generated by the entropy source, and is received by the computer system directly connected to the entropy source. The computer system receiving entropy generated by the entropy source from another computer system can then use the methods described in this disclosure to distribute the entropy or a portion thereof to yet another computer system via a secure communication channel set up with a portion of the received entropy.

[0032] In some embodiments, novel distribution techniques are described for securely transmitting entropy from an entropy source to a host directly connected to the entropy source, and also for securely transmitting entropy from this host to other hosts in a distributed environment, wherein the other hosts are not directly connected to the entropy source. The host may be a virtual machine computing instance or a bare-metal computing instance. In some embodiments, the host directly connected to the entropy source securely receives entropy information from the entropy source via a direct secure connection. The host receiving entropy from the entropy source can then transmit or distribute the received entropy or a portion thereof to one or more other hosts communicatively coupled to the first host but possibly not directly connected to the entropy source. Entropy communication from the directly connected host to other hosts that may not be directly connected to the entropy source is performed via a secure communication channel set up using a portion of the entropy generated by the entropy source and received by the host directly connected to the entropy source. A host receiving entropy generated by an entropy source from another host can then use the methods described in this disclosure to distribute the entropy or a portion thereof to other hosts via a secure communication channel set up using a portion of the received entropy.

[0033] For the purposes of this disclosure, the terms "entropy" and "entropy information" are used synonymously. Various embodiments are described herein, including methods, systems, non-transitory computer-readable storage media storing programs, code, or instructions executable by one or more processors, and the like.

[0034] Figure 1 This is a simplified block diagram of a distributed environment 100 according to some embodiments. The distributed environment 100 may include multiple computer systems communicatively coupled to each other via one or more communication links on one or more communication networks. Figure 1The distributed environment 100 includes computer system A 110, computer system B 120, computer system C 130, computer system D 140, and quantum entropy generator 105.

[0035] Figure 1 The distributed environment depicted herein is merely an example and is not intended to unduly limit the scope of the claimed embodiments. Many variations, substitutions, and modifications are possible. For example, in some implementations, the distributed environment 100 may have more than Figure 1 The computer systems or components shown may include more or fewer computer systems or components, or may have different configurations or arrangements of computer systems and communication lines.

[0036] Figure 1 The computer systems described herein may each include computing (e.g., one or more processors or CPUs), memory (e.g., system memory, non-volatile memory), and networking resources (e.g., network interface cards (NICs)). The computer systems may use these network resources to communicate with one or more other computer systems via one or more communication networks. Communication networks may include, for example, the Internet, intranets, extranets, local area networks (LANs), wide area networks (WANs), and other networks that facilitate communication, and combinations thereof. Communication may be conducted using one or more wired or wireless communication protocols over wired or wireless links.

[0037] Figure 1 The computer system described herein can execute one or more applications that utilize entropy information. For example, the computer system can execute an application that generates one or more cryptographic keys, and entropy information is used to generate these keys. The cryptographic keys can be used for various purposes, such as protecting stored information, enabling communication with other computer systems, and for user authentication / authorization. The entropy information used for these applications may require high-quality, truly random entropy. The computer system may not be able to generate such high-quality entropy information on its own.

[0038] Various types of entropy generators exist capable of producing entropy of varying qualities. Since the generation of quantum entropy involves quantum physical properties, quantum entropy is considered to be high-quality, truly random entropy. Therefore, quantum entropy generators are capable of producing high-quality entropy. Figure 1 The text describes such a quantum entropy generator 105. The quantum entropy generator 105 is... Figure 1 The entropy sources of trust in various computer systems are depicted in the text. A specific implementation of the quantum entropy generator 105 is described in... Figure 2 It is depicted in the middle and described below. Although Figure 5 The document describes a quantum entropy generator, but other entropy generators may be used in alternative embodiments. Therefore, the embodiments allow for the inclusion of any suitable, trustworthy entropy source.

[0039] Figure 1 In the embodiments depicted, computer systems A 110 and C 130 are directly connected to quantum entropy generator 105 via links 111 and 131. For example, computer system A 110 may be physically located near quantum entropy generator 105 and may be connected to quantum entropy generator 105 via a direct wire. Whether via a direct wired line or another fully trusted communication channel, computer system A 110 can receive entropy from the trusted entropy generator without the entropy being intercepted or leaked. In a similar manner, computer system C 130 may be physically located near quantum entropy generator 105 and may be connected to quantum entropy generator 105 via a direct line, and receive entropy from the trusted entropy generator without the entropy being intercepted or leaked.

[0040] Links 111 and 131 enable the secure and reliable transmission of quantum entropy generated by quantum entropy generator 105 to computer systems A 110 and C 130 via a secure channel. In some embodiments, the secure channel can be implemented using an insulated RS-232 serial cable. This cable can be positioned 90 degrees orthogonal to any other cables present in the connection environment. The cable can also be positioned at a distance from another data cable not less than the product of the square of the electromagnetic permeability of the shielding of each cable and the maximum signal voltage carried by the cable (e.g., between 3 volts and 15 volts). In yet other embodiments, optically shielded fiber optic cables can be used to transmit entropy information from entropy generator 105 to a computer system directly connected to the entropy generator. In other embodiments, other cables that cannot be physically tampered with can be used, and the signals generated by the cables cannot be spied on or tampered with.

[0041] and Figure 1 Compared to computer systems A 110 and C 130, computer systems B 120 and D 140 do not have a direct connection to / or other pre-established secure communication channel to the quantum entropy generator 105. Computer systems B 120 and D 140 can be located far from the quantum entropy generator 105, such as in different geographical locations, for example, in different cities, states, or even countries. Therefore, secure communication links or channels 111 and 131, which can be used to directly transmit entropy information from the quantum entropy generator 105 to computer systems A 110 and C 130, are not available to computer systems B 120 and D 140. Therefore, computer systems B 120 and D 140 cannot receive entropy from the trusted entropy generator without the risk of entropy being intercepted or leaked.

[0042] Figure 1In the embodiments depicted, the various computer systems are communicatively coupled to each other via a lattice network with a graph clustering ratio of 1.0, wherein each computer system is connected to every other computer system. Figure 1 The configurations depicted are not intended to be limiting or restrictive. Other connection configurations between computer systems are possible in alternative embodiments. Figure 1 In this configuration, computer system A 110 is communicatively coupled to computer systems B 120, C 130, and D 140. As described in further detail below, computer system A 110 is capable of using entropy received from quantum entropy generator 105 to establish a secure communication channel with computer systems B 120, C 130, and / or D 140, and using this secure communication channel to transmit at least a portion of the entropy information received by computer system A 110 from quantum entropy generator 105 to these other computer systems.

[0043] Figure 1 In the embodiments depicted herein, computer system C 130 is communicatively coupled to computer systems A 110, B 120, and D 140. According to the technology disclosed in this disclosure, computer system C 120 is capable of establishing a secure communication channel with computer systems A 110, B 120, and / or D 140 using entropy received from quantum entropy generator 105, and using the secure communication channel to transmit at least a portion of the entropy information received by computer system C 130 from quantum entropy generator 105 to these other computer systems.

[0044] exist Figure 1 In the embodiments depicted, computer system B 120 is communicatively coupled to a plurality of computer systems, including computer system D 140. Computer system B 120 can use entropy received from computer system A 110 or C 130 to establish a secure communication channel with computer system D 140, and uses the secure communication channel to transmit at least a portion of the entropy information received by computer system B 120 to computer system D 140. Similarly, in... Figure 1 In this embodiment, computer system D 140 is communicatively coupled to multiple computer systems, including computer system B 120. Computer system D 140 can use entropy received from computer system A 110 or C 130 to establish a secure communication channel with computer system B 120, and transmit at least a portion of the entropy information received by computer system D 140 to computer system B 120.

[0045] Figure 2An example of a quantum entropy generator 205 according to certain embodiments is shown. The quantum entropy generator 205 may include a laser 206, a beam splitter 207, a sensor A 250, a sensor B 260, and a sampler 270. The quantum entropy generator 205 can use... Figure 2 The various components described in the text are used to generate high-quality entropy information.

[0046] In some implementations, laser 206 is a single-photon source, such as a weak laser, capable of generating short bursts of light. Laser 206 can emit photons toward beamsplitter 207, which is configured to split the beam of photons received from laser 206 such that some photons are reflected or transmitted to sensor A 250, while others are reflected or transmitted to sensor B 260. This can be achieved, for example, by using a 50% reflector as beamsplitter 207. The 50% reflector can be placed at a 45-degree angle relative to laser 206 and the path of the photons. The two sensors, A 250 and B 260, are positioned at the precise locations where any photons emitted by laser 206 and split by beamsplitter 207 might be present. Sampler 270 is able to read which sensor (A 250 or B 260) a photon arrives at when it is observed and generates a data stream based on the information received from both sensors. For example, sampler 270 can create a string of 0s and 1s, where photons detected by sensor A 250 are interpreted as 0s and photons detected by sensor B 260 are interpreted as 1s.

[0047] For example, laser 206 can transmit single-photon light toward beam splitter 207. The photon arrives at sensor A 250 or sensor B 260 with a probability corresponding to the reflectivity of the coating on the 50% mirror via relativistic quantum electrodynamic reflection of the 50% mirror splitter 207, at a probability corresponding to 1:1. When either sensor receives the photon, sampler 270 adds a bit to the previously generated entropy stream as follows: (a) when sensor A 250 receives the photon, sampler 270 appends a bit "1" to the entropy stream; and (b) when sensor B 260 receives the photon, sampler 270 appends a bit "0" to the entropy stream. For example, if sensors A and B receive photons generated by laser 206 in the sequence "AABABBABAB", then the entropy stream generated by sampler 270 will be "1101001010". In some embodiments, the entropy generation process is repeated between laser 206 and the sensor / sampler assembly at a maximum Nyquist sampling frequency. This results in the generation of a quantum-level entropy stream by the quantum entropy generator 205. The quantum entropy can then be transmitted by the quantum entropy generator 205 to one or more computer systems that are directly connected to the quantum entropy generator 205 and connected via a secure communication channel.

[0048] For each interaction between a photon and beam splitter 207, the transmission or reflection of that photon is a consequence of quantum mechanics. Therefore, the sequence of photon reflection and transmission is truly random and a result of quantum entropy. Thus, the sequence of photons detected by sensors A 250 and B 260 is a result of quantum entropy, and the data string created by sampler 270 is also a result of quantum entropy. Therefore, the data string created by sampler 270 can be referred to as quantum entropy.

[0049] The various inventive techniques described in this disclosure can be used in distributed cloud environments. In a cloud environment, a cloud service provider (CSP) can offer one or more cloud services to one or more subscribers. The term "cloud service" is generally used to refer to a service provided by a CSP to a user or customer on demand (e.g., via a subscription model) using systems and infrastructure (cloud infrastructure) provided by the CSP. Typically, the servers and systems that constitute the CSP's infrastructure are separate from the customer's own on-premises servers and systems. Therefore, customers can utilize the cloud service provided by the CSP itself without having to purchase separate hardware and software resources for the service. Cloud services are designed to provide subscribers with easy, scalable access to applications and computing resources without requiring customers to invest in the infrastructure used to provide the service. Several cloud service providers offer various types of cloud services. Cloud services come in various different types or models, including Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS), etc.

[0050] In the IaaS model, a CSP provides the infrastructure (called Cloud Service Provider Infrastructure or CSPI) that customers can use to build their own customizable private networks (called Virtual Cloud Networks (VCNs)). Customers can deploy one or more customer resources or workloads, such as compute instances (also called hosts), on these VCNs. Compute instances or hosts are hosted by computer systems called host machines. Hosts can be virtual machine compute instances or bare metal compute instances. Virtual machine (VM) compute instances are independent virtual machines running on physical bare metal computer systems. Virtualization technologies (such as hypervisors) make it possible to run multiple virtual machine compute instances on the same host machine. Bare metal compute instances are hosted by bare metal servers or host machines without hypervisors. When bare metal compute instances are provisioned, a single customer or tenant maintains control over the physical CPU, memory, and network interfaces of the host machine hosting the bare metal instance, and that host machine is not shared with other customers or tenants.

[0051] The entropy distribution technique described in this disclosure can also be used to distribute entropy among computing instances or hosts in a distributed cloud environment. Figure 7 This is a simplified block diagram of a distributed cloud environment 700 according to some embodiments. Figure 7 The environment depicted in Figure 1 The environments depicted are very similar, the difference being... Figure 7 It describes multiple computing instances or hosts instead Figure 1 The computer system depicted above. Figure 1 The description provided by the computer system in the document also applies. Figure 7 The computational examples described in the text. Figure 7 The distributed cloud environment depicted herein is merely an example and is not intended to unduly limit the scope of the claimed embodiments. Many variations, substitutions, and modifications are possible. For example, in some implementations, the distributed environment 700 may have more than Figure 7 The components shown may have more or fewer components, or may have different configurations or arrangements of host and communication lines.

[0052] like Figure 7 The host or computing instance depicted includes host A 710, host B 720, host C 730 and host D 740 that are communicatively coupled to each other via a lattice network with a graph clustering ratio of 1.0, wherein each host is connected to each other host. Figure 7 The configurations described herein are not intended to be restrictive or limiting. Figure 7 The host described can be a virtual machine compute instance or a bare metal compute instance. In the case of a virtual machine compute instance, the compute instances can be hosted by different host machines, or some compute instances can be hosted by the same host machine. Figure 7 The host in the cloud service can belong to one tenant or customer of the cloud service, or to multiple different tenants or customers of the cloud service.

[0053] In some implementations, the ability to receive high-quality entropy information can itself be offered as a service to clients. Clients can subscribe to such a service, and once subscribed, the high-quality entropy generated by the quantum entropy generator 705 becomes available to the hosts of subscribed clients using the various distribution techniques described in this disclosure.

[0054] Hosts A 710 and C 730 are directly connected to the quantum entropy generator 705 via links 711 and 731. (See above reference.) Figure 1 As described, links 711 and 731 are similar to links 111 and 131, and enable the entropy generated by quantum entropy generator 705 to be securely transmitted to hosts A 710 and C730 without the entropy being intercepted or leaked.

[0055] Compared to 710 and C 730, hosts B 720 and D 740 do not have a direct connection to / or other pre-established secure communication channel to the quantum entropy generator 705. Hosts B 720 and D 740 can be located far from the quantum entropy generator 705, such as in different geographical locations, for example, in different cities, states, or even countries. Therefore, secure communication links or channels 711 and 731, which can be used to directly transmit entropy information from the quantum entropy generator 705 to hosts A 710 and C 730, are not available to hosts B 720 and D 740.

[0056] exist Figure 7 In this configuration, host A 710 is communicatively coupled to computer instances B 720, C 730, and D 740. As described in further detail below, host A 710 is capable of using entropy received from quantum entropy generator 705 to establish a secure communication channel with hosts B 720, C 730, and / or D 740, and using this secure communication channel to transmit at least a portion of the entropy information received by host A 710 from quantum entropy generator 705 to these other hosts.

[0057] exist Figure 1 In this embodiment, host C 730 is communicatively coupled to hosts A 710, B 720, and D 740. According to the technology disclosed in this disclosure, host C 720 can use entropy received from quantum entropy generator 705 to establish a secure communication channel with hosts A 710, B 720, and / or D 740, and use this secure communication channel to transmit at least a portion of the entropy information received by host C 730 from quantum entropy generator 705 to these other hosts.

[0058] exist Figure 1 In the embodiment depicted, host B 720 is communicatively coupled to a plurality of hosts, including host D 740. Host B 720 may use entropy received from host A 710 or C 730 to establish a secure communication channel with host D 740, and use the secure communication channel to transmit at least a portion of the entropy information received by host B 720 to host D 740. Similarly, in Figure 7 In this configuration, host D 740 is communicatively coupled to multiple hosts, including host B 720. Host D 740 can use entropy received from host A 710 or C 730 to establish a secure communication channel with host B 720, and transmit at least a portion of the entropy information received by host D 740 to host B 720.

[0059] Figure 3-8 Various swimlane diagrams and flowcharts depicting different methods for distributed entropy according to certain embodiments are described. Figure 3-8The swimlane diagrams and flowcharts, along with the associated descriptions, depict the distribution of entropy among hosts, where hosts may be hosted by one or different host machines. Figure 3-8 The teachings and accompanying descriptions also apply to the secure distribution of entropy across various host machines or computer systems, such as in Figure 1 Between the various computer systems depicted in the text. Furthermore, although... Figure 3-8 The accompanying description describes the distribution of quantum entropy, but this is not intended to be restrictive. The teachings described herein can also be used to distribute other types of entropy information generated from other trusted sources, such as radioactive decay, thermal noise, human-computer interface hardware interactions, and / or airflow detection.

[0060] Figure 3 A simplified swimlane diagram 300 depicts a process, according to certain embodiments, for distributing or transmitting entropy information generated by a quantum entropy generator 705 to multiple hosts or computing instances. Figure 3 The processing described herein can be implemented using hardware or a combination thereof as software (e.g., code, instructions, programs) executed by one or more processing units (e.g., processors, cores) of a corresponding system. The software can be stored on a non-transitory storage medium (e.g., on a memory device). Figure 3 The methods presented and described below are intended to be illustrative rather than restrictive. Although Figure 3 Various processing steps that occur in a specific order or sequence are described, but this is not intended to be limiting. In some alternative embodiments, the processing may be performed in a different order or some steps may be performed in parallel.

[0061] Figure 3 It is described and the accompanying description describes Figure 7 The entropy distribution among the various components is described in the text. More specifically, Figure 3 The accompanying description describes the distribution of quantum entropy from quantum entropy generator 705 to host A 710 directly connected to quantum entropy generator 705, and then from host A 710 to host A 710 communicatively coupled to quantum entropy generator 705. Figure 3 The teachings in [the original text] apply to the entropy distribution from an entropy source to a computer system directly connected to the entropy source, and to the entropy distribution from a computer system to another computer system that is communicatively coupled to the first computer system. For example, in [the original text]... Figure 1 In this method, host A 710 can transmit the entropy received from quantum entropy generator 705 to any of computer systems B 720, C 730 or D 740 that are communicatively coupled to host A 710.

[0062] like Figure 3As shown, at S310, a quantum entropy generator 705 (or another suitable trusted entropy source) can generate quantum entropy. In some embodiments, the quantum entropy generator 705 can generate a quantum entropy stream, which can then be used to distribute to one or more connected computer systems.

[0063] At step S312, the quantum entropy generator 705 can transmit the quantum entropy generated at step S310 to a host A 710 directly connected to the quantum entropy generator 705. In some embodiments, the host machine hosting host A 710 can be directly connected to the quantum entropy generator 705. Any suitable amount of quantum entropy generated by the quantum entropy generator 705 can be transmitted. For example, 128 bits, 256 bits, 512 bits, 1024 bits, 2048 bits, or any other suitable amount of quantum entropy can be transmitted to host A 710. In some embodiments, the quantum entropy can be transmitted in the form of a quantum entropy stream.

[0064] In S312, entropy information is transmitted from quantum entropy generator 705 to host A 710 via a trusted connection. For example, the entropy information can be transmitted via a direct local wired connection between quantum entropy generator 705 and host A 710 (or between quantum entropy generator 705 and the host machine hosting host A 710), which is not connected to the Internet and / or other networks. The cable used for the wired connection can also be shielded to prevent external interference, tampering, or eavesdropping. Additionally or alternatively, quantum entropy can be transmitted in encrypted form. For example, quantum entropy generator 705 can encrypt the quantum entropy generated in S310 and then transmit the encrypted quantum entropy to host A 710 in S312. Host B 720 can then decrypt the encrypted quantum entropy upon receipt.

[0065] At S314, at least a portion of the quantum entropy received by host A 710 from quantum entropy generator 705 is distributed or transmitted from host A 710 to host B 720 through a secure communication channel established between host A 710 and host B 720, wherein a portion of the quantum entropy received by host A 710 from quantum entropy generator 705 is used to set up the secure channel itself.

[0066] In some implementations, a cryptographic key is used to establish a secure communication channel. This cryptographic key is generated using a portion of the quantum entropy received by host A 710 from quantum entropy generator 705. For example, host A 710 can use the first portion of the quantum entropy received in step S312 to generate one or more cryptographic keys to establish a secure communication channel with host B 720. Host A 710 can then use the secure communication channel to transmit the second portion of the quantum entropy received in step S312 to host B 720. Therefore, host B 720 can receive quantum entropy from quantum entropy generator 705 even when there is no direct connection or pre-existing secure communication channel between quantum entropy generator 705 and host B 720. Host B 720 can then use the second portion of the quantum entropy to refresh and / or further protect the communication channel between host B 720 and host A 710. In some embodiments, host B 720 can use the second portion of the quantum entropy for application operations, for establishing one or more additional communication channels with other computer systems, or for any other suitable purpose.

[0067] According to some embodiments, Figure 3 An example of the processing performed in step S314 is in Figure 4 It is depicted in the middle and described below. Figure 4 A simplified swimlane diagram 400 depicts another process, according to certain embodiments, of distributing or transmitting entropy information generated by a quantum entropy generator 705 to multiple hosts or computing instances. Figure 4 The processing described herein can be implemented using software (e.g., code, instructions, programs) executed by one or more processing units (e.g., processors, cores) of a corresponding system, using hardware or a combination thereof. The software can be stored on a non-transitory storage medium (e.g., on a memory device). Figure 4 The methods presented and described below are intended to be illustrative rather than restrictive. Although Figure 4 Various processing steps that occur in a specific order or sequence are described, but this is not intended to be limiting. In some alternative embodiments, the processes may be performed in a different order, or some steps may be performed in parallel. In some embodiments, such as in Figure 1 In the embodiments depicted, Figure 4 The processing described herein can be performed by quantum entropy generator 705, host A 710 and / or host B 720.

[0068] like Figure 4 As shown, at S410, a quantum entropy generator 705 (or another suitable trusted entropy source) can generate quantum entropy. In some embodiments, the quantum entropy generator 705 can generate a quantum entropy stream, which can then be used to distribute to one or more connected computer systems.

[0069] At S412, the quantum entropy generator 705 can transmit the quantum entropy generated at S410 to a host A 710 directly connected to the quantum entropy generator 705. In some embodiments, the host machine hosting host A 710 can be directly connected to the quantum entropy generator 705. Any suitable amount of quantum entropy generated by the quantum entropy generator 705 can be transmitted. For example, 128 bits, 256 bits, 512 bits, 1024 bits, 2048 bits, or any other suitable amount of quantum entropy can be transmitted to host A 710. In some embodiments, the quantum entropy can be transmitted in the form of a quantum entropy stream.

[0070] In S412, entropy information is transmitted from quantum entropy generator 705 to host A 710 via a trusted connection. For example, the entropy information can be transmitted via a direct local wired connection between quantum entropy generator 705 and host A 710 (or between quantum entropy generator 705 and the host machine hosting host A 710), which is not connected to the Internet and / or other networks. The cable used for the wired connection can also be shielded to prevent external interference, tampering, or eavesdropping. Additionally or alternatively, quantum entropy can be transmitted in encrypted form. For example, quantum entropy generator 705 can encrypt the quantum entropy generated in S310 and then transmit the encrypted quantum entropy to host A 710 in S412. Host B 720 can then decrypt the encrypted quantum entropy upon receipt.

[0071] The processes in S414, S416, S418, S420, S422, S424, S426, and S428 are executed to establish a secure communication channel between host A 710 and host B 720. This secure channel is then used to distribute or transmit a portion of the quantum entropy received by host A 710 from quantum entropy generator 705 to host B 720. The communication channel established between host A 710 and host B 720 prevents the entropy transmitted using this channel from being spied on, tampered with, or intercepted. The quantum entropy itself can be used as secret information, for example, during the generation of the key used to set up the communication channel between host A 710 and host B 720.

[0072] The processes in S414, S416, and S418 are executed to establish an initial communication channel between host A 710 and host B 720. At S414, host A 710 can use a first portion of the quantum entropy received by host A 710 from quantum entropy generator 705 to generate a first set of one or more cryptographic keys. For example, host A 710 can generate a first public key used in the initial key exchange with host B 720 to set up the initial communication channel. The first portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0073] At S416, host B 720 can generate a second set of one or more cryptographic keys for setting up the initial communication channel with host A 710. For example, host B 720 can generate a second public key for exchanging the initial key with host A 710. Since host B 720 has not yet accessed the quantum entropy generated by quantum entropy generator 705, host B 720 can use some other entropy information in S416 for the key generation process, such as a data string generated by a software-based pseudo-random number generator or other potentially untrusted entropy sources. This entropy generated by these sources may not be as secure or reliable as the quantum entropy generated by quantum entropy generator 705.

[0074] At S418, an initial communication channel is established between host A 710 and host B 720 using a first set of cryptographic keys generated by host A 710 in S414 and a second set of cryptographic keys generated by host B 720 in S416. As part of the process in S418, host A 710 and host B 720 may perform an initial key exchange to create an initial shared key (e.g., a symmetric key). This may involve exchanging information based on the first set of cryptographic keys generated by host A 710 in S414 and information based on the second set of cryptographic keys generated by host B 720 in S416. In some embodiments, the information exchange may include an elliptic curve Diffie-Hellman key negotiation protocol.

[0075] As described above, an initial communication channel is established using a first set of cryptographic keys generated by host A 710 using a portion of the quantum entropy received by host A 710 from quantum entropy generator 705, and a second set of cryptographic keys generated by host B 720 using entropy that is not received from quantum entropy generator 705 and is therefore not as reliable as entropy information from quantum entropy generator 705. Therefore, the initial communication channel is a connection with cryptographic strength derived from asymmetric entropy. This initial communication channel can be fully trusted to transmit at least some secret information to host B 720 without the secret information being intercepted or leaked. Thus, the initial communication channel is used to transmit a portion of the quantum entropy received by host A 710 from quantum entropy generator 705 to host B 720, as described below for S420.

[0076] At S420, host A 710 transmits a portion (the second portion) of the quantum entropy received from quantum entropy generator 705 to host B 720 via the initial communication channel. In some embodiments, since the initial communication channel is a connection with cryptographic strength derived from asymmetric entropy, where only one set of cryptographic keys for setting up the communication channel is generated using the entropy information generated by quantum entropy generator 705, host A 710 can take precautions to transmit the entropy information in S420. For example, the entropy information can be transmitted from host A 710 to host B 720 in encrypted form via the initial communication channel. Host A 710 can first encrypt the portion of quantum entropy (the second portion) to be transmitted to host B 720, and then transmit the encrypted entropy information to host B 720. In some embodiments, the entropy information can be encrypted using the initial symmetric key created in step S416. Host B 720 can decrypt the second portion of the quantum entropy using the initial symmetric key upon receipt. The second part of the quantum entropy can have any suitable size, such as 256-bit or 512-bit quantum entropy.

[0077] Following S420, both host A 710 and host B 720 can access the entropy information generated by the quantum entropy generator 705. Host A 710 previously received this information in S412, while host B 720 received the entropy information in S420. Since both parties possess the trusted entropy information generated by the quantum entropy generator 705, a connection with symmetric entropy-derived cryptographic strength can now be established between host A 710 and host B 720. This is described below with respect to steps S422, S424, and S426.

[0078] At S422, host A 710 can use a portion (the third portion) of the quantum entropy received by host A 710 from quantum entropy generator 705 in S412 to generate a third set of one or more cryptographic keys. For example, host A 710 can generate a third public key used in a second key exchange with host B 720 to establish a secure channel. The third portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0079] At S424, which can occur simultaneously with step S422, host B 720 can use a portion of the quantum entropy generated by quantum entropy generator 705 and received by host B 720 in S420 to generate a fourth set of one or more cryptographic keys. For example, host B 720 can generate a fourth public key used in the second key exchange with host A 710 to establish a secure communication channel. When generating the fourth set of cryptographic keys, host B 720 can utilize some or all of the quantum entropy received by host B 720 in S420. For example, if the portion of quantum entropy received by host B 720 in S420 has a size of 512 bits, then host B 720 can use the entire 512 bits or a smaller size of entropy information to generate a fourth set of one or more public keys.

[0080] At S426, a secure communication channel is established between host A 710 and host B 720 using a third set of cryptographic keys generated by host A 710 in S422 and a fourth set of cryptographic keys generated by host B 720 in S424. In some embodiments, the amount of entropy information generated by the quantum entropy generator transmitted from host A 710 to host B 720 via the initial semi-secure channel in S420 is just sufficient to facilitate the establishment of a secure communication channel between host A 710 and host B 720. For example, the amount of entropy information transmitted in S420 may be just sufficient to enable host B 720 to generate the fourth set of cryptographic keys used when establishing the secure communication channel in S426. As part of the process in S426, host A 710 and host B 720 may perform a second key exchange to create a second shared key (e.g., a symmetric key). This may involve exchanging the third set of cryptographic keys generated in S422 with the fourth set of cryptographic keys generated in S424. In some embodiments, this may include the elliptic curve Diffie-Hellman exchange.

[0081] The communication channel established in S426 is a connection with encryption strength derived from symmetric entropy, because the two sets of cryptographic keys used to set the communication channel are generated using entropy information generated by the quantum entropy generator 705. Therefore, the communication channel established in S426 is considered completely secure. Host A 710 then uses this secure communication channel to transmit an additional portion of the quantum entropy information received by host A 710 from the quantum entropy generator 705 to host B 720. This communication channel can also be used for other purposes, such as exchanging one or more messages between host A 710 and host B 720.

[0082] At S428, host A 710 can transmit an additional portion (e.g., a fourth portion) of the quantum entropy generated by the quantum entropy generator to host B 720 via the secure communication channel established in S426. In some embodiments, the entropy information can be transmitted as an information stream. The fourth portion of the quantum entropy can have any suitable size, such as 256-bit or 512-bit quantum entropy.

[0083] At S430, host B 720 can utilize the fourth portion of the quantum entropy received from host A 710 via a secure communication channel in S428. For example, host B 720 can use the fourth portion of the quantum entropy to perform operations for one or more applications.

[0084] In some implementations, to maintain the security of the communication channel established in S426, the cryptographic material (e.g., the cryptographic key) associated with the connection is itself regenerated to maintain the secure communication channel. For example, as Figure 4 As shown, at S432, after certain conditions are met, hosts A 710 and B 720 can generate a new cryptographic key. This new key is used to update the secure communication channel and / or establish a new secure communication channel. The generation of the new key also utilizes a portion of the quantum entropy information accessible to hosts A 710 and B 720. This process can be repeated each time a regeneration condition is met or occurs. This is sometimes referred to as cryptographic key rotation. Because the cryptographic key is only valid for a specific period of time before it must be regenerated, it is sometimes called a temporary cryptographic key.

[0085] In one embodiment, both host A 710 and host B 720 can use the quantum entropy available to the host to generate a new set of one or more cryptographic keys. For host A 710, entropy information for generating temporary cryptographic keys is received from quantum entropy generator 705 via a connection between host A 710 and quantum entropy generator 705. In some embodiments, quantum entropy generator 705 may be configured to continuously stream quantum entropy information to host A 710. For host B 720, the quantum entropy for generating temporary cryptographic keys can be received by host B 720 from host A 710 via a secure communication channel established in S426.

[0086] Various conditions can trigger the regeneration of cryptographic materials (e.g., cryptographic keys) in S432. In some implementations, the triggering condition can be time-based. For example, a pre-configured time period can be configured for the connection, after which the cryptographic key needs to be regenerated to maintain the channel. This pre-configured time period can be, for example, a certain number of seconds, minutes, hours, etc. For example, after 30 seconds, 1 minute, 5 minutes, 10 minutes, 30 minutes, etc.

[0087] In some other embodiments, the triggering condition can be based on a pre-configured number of packets or messages exchanged between hosts A 710 and B720. For example, the regeneration of the cryptographic key can be triggered after 1 packet, 2 packets, 5 packets, 10 packets, 20 packets, or generally after “N” packets. Here, “N” varies with the risk tolerance level of the entropy client. A higher N value corresponds to fewer temporary keys and a higher risk of exposure to potential entropy tampering. For the lowest possible risk tolerance, the value of N can be set to 1. This makes the cryptographic key very short-lived. The cryptographic key rotation rate can be set based on the risk tolerance level expected by the entropy client. Figure 1 or Figure 7 The clustered graph network shown represents the highest possible entropy consumption rate required to maintain strong ephemeral keys between all connections across all hosts in the network, because the key rotation rate, multiplied by the graph clustering coefficients of the network, determines the rate at which entropy itself is consumed in the process of distributing entropy to hosts. Due to the rapid key rotation, the trust level of a connection increases logarithmically as the connection duration between hosts in the network is multiplied by the inverse of “N”. This connection duration is expressed by N above, or the number of packets exchanged between the two hosts before they regenerate their ephemeral keys.

[0088] As indicated above, Figure 4 The specific order or sequence of steps depicted is not intended to be limiting. In some alternative embodiments, these steps may be performed in a different order, or some steps may be performed in parallel. For example, although steps S420, S422, and S424 are shown as... Figure 4 The processes in lane diagram 400 occur in a specific order, but this is not intended to be limiting. In alternative embodiments, these can occur in any order. In still other embodiments, the processes in S420, S422, and S424 can overlap or can be performed in parallel.

[0089] exist Figure 4In the embodiments depicted and described, the quantum entropy information generated by the quantum entropy generator 705 is transmitted to the host A 710 in S412. In some embodiments, this transmission of entropy information from the entropy source to the host directly connected to the entropy source can occur as a one-time event. In other embodiments, the transmission of quantum entropy information from the entropy source to the host directly connected to the entropy source can occur periodically, wherein after each period, new entropy information generated by the entropy source is transmitted to the connected host. In still other embodiments, the transmission of quantum entropy information from the entropy source to the host directly connected to the entropy source can occur continuously as a stream of entropy information generated by the entropy source and transmitted to the connected host. In some other embodiments, entropy information can be transmitted from the entropy source to the host when the host requests information. For example, the host can send a request for entropy information to the entropy source, and the entropy source can then respond to the request by sending the requested entropy information generated by the entropy source to the requesting host. Other transmission mechanisms may be used in other embodiments.

[0090] The transmission of entropy information from one host to another (e.g., from host A 710 to host B 720) can also occur according to various different modes. In one embodiment, the first host can transmit entropy information to the second host as a one-time event via a secure communication channel established between the two hosts. In other embodiments, the transmission of quantum entropy information from the first host to the second host can occur periodically via a secure communication channel, wherein after each period, new entropy information is transmitted from the first host to the second host, and the new entropy information may be a portion of entropy information received by the first host from an entropy source or from another host. In still other embodiments, the transmission of quantum entropy information from the first host to the second host can occur continuously as an entropy information stream over a secure communication channel established between the hosts. In some other embodiments, entropy information can be transmitted from the first host to the second host when the second host requests information. For example, the second host can send a request for entropy information to the first host, and the first host can then respond to the request by sending the requested entropy information to the second host that issued the request. Other transmission mechanisms may be used in other embodiments.

[0091] Figure 4The process illustrated demonstrates how entropy generated by an entropy source can be received by a host (e.g., host A 710) directly connected to the entropy source (e.g., quantum entropy generator 705), and how the host receiving the entropy information can distribute a portion of the entropy to one or more other hosts communicatively coupled to the first host. These other hosts may or may not be connected to the entropy source. The host receiving the entropy information can also distribute a portion of the received entropy information to other hosts communicatively coupled to it. In this way, entropy information generated by the entropy source can be securely distributed to multiple hosts in a distributed networked environment. Entropy can be forwarded to hosts located at a certain degree of isolation from the entropy source (e.g., quantum entropy generator 705). For example, host B 720 can receive quantum entropy from host A 710, then host B 720 can forward a portion of the received quantum entropy to host D 740, and host D 740 can forward it to other connected hosts, and so on.

[0092] In this manner, even if a host is not directly connected to an entropy source, hosts in a network (e.g., in a lattice network) can access entropy information, such as quantum entropy, generated by a trusted entropy generation source. Because the quantum entropy information received by the host is of high quality and trustworthy, it can be used for various operations requiring high trust. For example, a host can use quantum entropy to generate trusted cryptographic keys. These cryptographic keys can be used for various applications, such as establishing trusted communication channels between hosts. This disclosure describes a method for distributing quantum entropy generated by a quantum entropy source to a group of hosts (e.g., virtual machine computing instances and / or bare metal computing instances) via a temporary key lattice cryptographic network, wherein the hosts receiving the quantum entropy may not be connected to an entropy source or may not have a local source of trusted entropy information.

[0093] Figure 5 A simplified flowchart 500 depicts steps performed by a first host during a process for distributing or transmitting entropy information generated by a quantum entropy generator 705 to multiple hosts or computing instances, according to certain embodiments. Figure 5 The processing described herein can be implemented using software (e.g., code, instructions, programs) executed by one or more processing units (e.g., processors, cores) of a corresponding system, using hardware or a combination thereof. The software can be stored on a non-transitory storage medium (e.g., on a memory device).

[0094] Figure 5 The methods presented and described below are intended to be illustrative rather than restrictive. Although Figure 5 Various processing steps that occur in a specific order or sequence are described, but this is not intended to be limiting. In some alternative embodiments, the processes may be performed in a different order, or some steps may be performed in parallel. In some embodiments, such as in Figure 1In the embodiments depicted, Figure 5 The processing described herein can be performed by host A 710. In some embodiments, the following refers to... Figure 5 The first host described can represent host A 710, and the following about Figure 5 The second host described can represent host B720.

[0095] A quantum entropy generator 705 (or another suitable trusted entropy source) can generate quantum entropy. In some embodiments, the quantum entropy generator 705 can generate a quantum entropy stream, which can then be used to distribute to one or more connected computer systems.

[0096] At S502, the first host receives quantum entropy from the quantum entropy generator 705. The first host can be directly connected to the quantum entropy generator 705. In some embodiments, the host machine hosting the first host can be directly connected to the quantum entropy generator 705. Any suitable amount of quantum entropy generated by the quantum entropy generator 705 can be received. For example, 128 bits, 256 bits, 512 bits, 1024 bits, 2048 bits, or any other suitable amount of quantum entropy can be transmitted by the quantum entropy generator 705 and received by the first host. In some embodiments, quantum entropy can be transmitted in the form of a quantum entropy stream.

[0097] In S502, entropy information is transmitted from the quantum entropy generator 705 to the first host via a trusted connection. For example, the entropy information can be transmitted via a direct local wired connection between the quantum entropy generator 705 and the first host (or between the quantum entropy generator 705 and the host machine hosting the first host), which is not connected to the Internet and / or other networks. The cable used for the wired connection can also be shielded to prevent external interference, tampering, or eavesdropping. Additionally or alternatively, the quantum entropy can be transmitted in encrypted form.

[0098] At step S503, the first host transmits a portion of the quantum entropy received in step S502 to the second host using a secure communication channel, wherein the secure communication channel is established using some of the quantum entropy. For example, the first host can use a first portion of the quantum entropy received in step S502 to establish a secure communication channel with the second host. Then, using this secure communication channel, the first host can transmit a second portion of the quantum entropy received in step S502 (or quantum entropy received at a later time) to the second host. The communication channel established between the first and second hosts ensures that the entropy transmitted using this channel cannot be spied on, tampered with, or intercepted. The quantum entropy itself can be used as secret information, for example, during the generation of a cryptographic key for setting up the communication channel between the first and second hosts.

[0099] The process of S503 may include performing the following sub-steps S504-S514.

[0100] The processes in S504 and S506 are executed to establish an initial communication channel between the first host and the second host. At S504, the first host can use a first portion of the quantum entropy received by the first host from the quantum entropy generator 705 to generate a first set of one or more cryptographic keys. For example, the first host can generate a first public key to be used in the initial key exchange with the second host to set up the initial communication channel. The first portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0101] Furthermore, simultaneously or at a similar time, the second host can generate a second set of one or more cryptographic keys to set up the initial communication channel with the first host. For example, the second host can generate a second public key for initial key exchange with the first host. Since the second host cannot yet access the quantum entropy generated by the quantum entropy generator 705, it can use other entropy information for the key generation process, such as data strings generated by a software-based pseudo-random number generator or another type of potentially untrusted entropy source. This entropy generated by these sources may not be as secure or reliable as the quantum entropy generated by the quantum entropy generator 705.

[0102] At S506, the first host can establish an initial communication channel with the second host using a first set of one or more cryptographic keys generated by the first host in S504 and a second set of cryptographic keys generated by the second host. As part of the process in S506, the first and second hosts can perform an initial key exchange to create an initial shared key (e.g., a symmetric key). This may involve exchanging information based on the first set of cryptographic keys generated by the first host in S504 and information based on the second set of cryptographic keys generated by the second host. In some embodiments, the information exchange may include an elliptic curve Diffie-Hellman key negotiation protocol.

[0103] As described above, an initial communication channel is established using a first set of cryptographic keys generated by the first host using a portion of the quantum entropy received by the first host from the quantum entropy generator 705, and a second set of cryptographic keys generated by the second host using entropy that is not received from the quantum entropy generator 705 and is therefore not as reliable as entropy information from the quantum entropy generator 705. Therefore, the initial communication channel is a connection with cryptographic strength derived from asymmetric entropy. This initial communication channel can be fully trusted to transmit at least some secret information to the second host without the secret information being intercepted or leaked. Thus, the initial communication channel is used to transmit a portion of the quantum entropy received by the first host from the quantum entropy generator 705 to the second host, as described below with respect to S508.

[0104] At S508, the first host transmits a portion (e.g., a second portion) of the quantum entropy received by the first host from the quantum entropy generator 705 to the second host via the initial communication channel. In some embodiments, since the initial communication channel is a connection with cryptographic strength derived from asymmetric entropy, where only one set of cryptographic keys for setting up the communication channel is generated using the entropy information generated by the quantum entropy generator 705, precautions can be taken when the first host transmits the entropy information in S508. For example, the entropy information can be transmitted from the first host to the second host in encrypted form via the initial communication channel. The first host can first encrypt the portion of the quantum entropy (the second portion) to be transmitted to the second host, and then transmit the encrypted entropy information to the second host. In some embodiments, the entropy information can be encrypted using the initial symmetric key created in step S506. The second host can decrypt the second portion of the quantum entropy using the initial symmetric key upon receipt.

[0105] The second portion of the quantum entropy can have any suitable size, such as 256-bit or 512-bit quantum entropy. In some embodiments, the second portion of the quantum entropy can be a portion of the quantum entropy received at step S502. In other embodiments, the second portion of the quantum entropy can be received from the quantum entropy generator immediately before performing step S508.

[0106] After S508, both the first host and the second host can access the entropy information generated by the quantum entropy generator 705. The first host previously received this information in S502 (and can now receive additional entropy information), while the second host receives the entropy information in S508. Since both parties have reliable entropy information generated by the quantum entropy generator 705, a connection with symmetric entropy-derived cryptographic strength can now be established between the first and second hosts. This is described below with respect to steps S510 and S512.

[0107] At S510, the first host can use a portion (e.g., a third portion) of the quantum entropy received by the first host from the quantum entropy generator 705 to generate a third set of one or more cryptographic keys. For example, the first host can generate a third public key used in a second key exchange with the second host to establish a secure channel. The third portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0108] Furthermore, simultaneously or at a similar time, the second host can use a portion of the quantum entropy generated by the quantum entropy generator 705 and received by the second host to generate a fourth set of one or more cryptographic keys. For example, the second host can generate a fourth public key used in a second key exchange with the first host to establish a secure communication channel. When generating the fourth set of cryptographic keys, the second host can utilize some or all of the quantum entropy received by the second host. For example, if the portion of the quantum entropy received by the second host has a size of 512 bits, then the second host can utilize the entire 512 bits or a smaller size of entropy information to generate a fourth set of one or more public keys.

[0109] At S512, the first host can establish a secure communication channel between itself and the second host using a third set of one or more cryptographic keys generated by the first host in step S510 and a fourth set of one or more cryptographic keys generated by the second host. In some embodiments, the amount of entropy information generated by the quantum entropy generator transmitted from the first host to the second host through the initial semi-secure channel in S508 is just sufficient to facilitate the establishment of a secure communication channel between the first and second hosts. For example, the amount of entropy information transmitted in S508 may be just sufficient to enable the second host to generate the fourth set of cryptographic keys used when establishing the secure communication channel in S512. As part of the process in S512, the first and second hosts can perform a second key exchange to create a second shared key (e.g., a symmetric key). This may involve exchanging the third set of cryptographic keys generated in S510 with the fourth set of cryptographic keys generated by the second host. In some embodiments, this may include an elliptic curve Diffie-Hellman exchange.

[0110] The communication channel established in S512 is a connection with encryption strength derived from symmetric entropy, because the two sets of cryptographic keys used to set the communication channel are generated using entropy information generated by the quantum entropy generator 705. Therefore, the communication channel established in S512 is considered completely secure. The first host then uses this secure communication channel to transmit an additional portion of the quantum entropy information received by the first host from the quantum entropy generator 705 to the second host. The communication channel can also be used for other purposes, such as exchanging one or more messages between the first and second hosts.

[0111] At step S514, the first host can transmit an additional portion (e.g., a fourth portion) of the quantum entropy generated by the quantum entropy generator to the second host via the secure communication channel established in step S512. For example, the first host can encrypt the fourth portion of the quantum entropy using the second symmetric key created in step S512, transmit the encrypted fourth portion of the quantum entropy to the second host, and the second host can decrypt the fourth portion of the quantum entropy using the second symmetric key. In some embodiments, the entropy information can be transmitted as an information stream. The fourth portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0112] The second host can utilize the fourth portion of the quantum entropy received from the first host via a secure communication channel in S514. For example, the second host can use the fourth portion of the quantum entropy to perform operations on one or more applications.

[0113] In some implementations, to maintain the security of the communication channel established in S512, the cryptographic material (e.g., the cryptographic key) associated with the connection is itself regenerated to maintain the secure communication channel. For example, as... Figure 5 As shown, at S516, after certain conditions are met, the first and second hosts can generate a new key, which is used to update the secure communication channel and / or establish a new secure communication channel. This new key is generated using a portion of the quantum entropy information accessible to both the first and second hosts. This process can be repeated each time a regeneration condition is met or occurs. This is sometimes referred to as cryptographic key rotation. Because the cryptographic key is only valid for a specific period of time before it must be regenerated, it is sometimes called a temporary cryptographic key. As mentioned above, the first and second hosts can exchange keys via a Diffie-Hellman exchange (e.g., an elliptic curve Diffie-Hellman exchange) to generate a shared key (e.g., a symmetric key). Since the exchange process can be repeated to produce temporary cryptographic keys, this exchange can be called a temporary Diffie-Hellman exchange or a temporary elliptic curve Diffie-Hellman exchange.

[0114] In one embodiment, both the first host and the second host can use the quantum entropy available to the host to generate a new set of one or more cryptographic keys. For the first host, entropy information for generating temporary cryptographic keys is received from the quantum entropy generator 705 via a connection between the first host and the quantum entropy generator 705. In some embodiments, the quantum entropy generator 705 can be configured to continuously stream quantum entropy information to the first host. For the second host, the quantum entropy for generating temporary cryptographic keys can be received by the second host from the first host via a secure communication channel established in S514.

[0115] Various conditions can trigger the regeneration of cryptographic materials (e.g., cryptographic keys) in S516. In some implementations, the triggering condition can be time-based. For example, a pre-configured time period can be set for the connection, after which the cryptographic key needs to be regenerated to maintain the channel. This pre-configured time period can be, for example, a certain number of seconds, minutes, hours, etc. For example, after 30 seconds, 1 minute, 5 minutes, 10 minutes, 30 minutes, etc.

[0116] In some other embodiments, the triggering condition can be based on a pre-configured number of packets or messages exchanged between the first and second hosts. For example, the regeneration of the cryptographic key can be triggered after 1, 2, 5, 10, 20 packets, or generally after “N” packets. Here, “N” varies with the risk tolerance level of the entropy client. A higher N value corresponds to fewer temporary keys and a higher risk of exposure to potential entropy tampering. For the lowest possible risk tolerance, the value of N can be set to 1. This makes the cryptographic key very short-lived. The cryptographic key rotation rate can be set based on the risk tolerance level expected by the entropy client. Figure 1 or Figure 7 The clustered graph network shown represents the highest possible entropy consumption rate required to maintain strong ephemeral keys between all connections across all hosts in the network, because the key rotation rate, multiplied by the graph clustering coefficients of the network, determines the rate at which entropy itself is consumed in the process of distributing entropy to hosts. Due to the rapid key rotation, the trust level of a connection increases logarithmically as the connection duration between hosts in the network is multiplied by the inverse of “N”. This connection duration is expressed by N above, or the number of packets exchanged between the two hosts before they regenerate their ephemeral keys.

[0117] As indicated above, Figure 5 The specific order or sequence of steps described herein is not intended to be limiting. In some alternative embodiments, these steps may be performed in a different order, or some steps may be performed in parallel.

[0118] exist Figure 5 In the embodiments depicted and described, in S502, quantum entropy information generated by the quantum entropy generator 705 is transmitted to a first host. In some embodiments, this transmission of entropy information from the entropy source to a host directly connected to the entropy source can occur as a one-time event. In other embodiments, the transmission of quantum entropy information from the entropy source to a host directly connected to the entropy source can occur periodically, wherein after each period, new entropy information generated by the entropy source is transmitted to the connected host. In still other embodiments, the transmission of quantum entropy information from the entropy source to a host directly connected to the entropy source can occur continuously as a stream of entropy information generated by the entropy source and transmitted to the connected host. In some other embodiments, when a host requests information, entropy information can be transmitted from the entropy source to the host. For example, the host can send a request for entropy information to the entropy source, and the entropy source can then respond to the request by sending the requested entropy information generated by the entropy source to the requesting host. Other transmission mechanisms may be used in other embodiments.

[0119] The transmission of entropy information from one host to another (e.g., from a first host to a second host) can occur in various different modes. In one embodiment, the first host can transmit entropy information to the second host as a one-time event via a secure communication channel established between the two hosts. In other embodiments, the transmission of quantum entropy information from the first host to the second host can occur periodically via a secure communication channel, wherein after each period, new entropy information is transmitted from the first host to the second host, and this new entropy information may be a portion of entropy information received by the first host from an entropy source or from another host. In still other embodiments, the transmission of quantum entropy information from the first host to the second host can occur continuously as an entropy information stream over a secure communication channel established between the hosts. In some other embodiments, entropy information can be transmitted from the first host to the second host when the second host requests information. For example, the second host can send a request for entropy information to the first host, and the first host can then respond to the request by sending the requested entropy information to the second host that issued the request. Other transmission mechanisms may be used in other embodiments.

[0120] Figure 5The process illustrated demonstrates how entropy generated by an entropy source can be received by a host (e.g., a first host) directly connected to the entropy source (e.g., quantum entropy generator 705), and how the host receiving the entropy information can distribute a portion of the entropy to one or more other hosts communicatively coupled to the first host. These other hosts may or may not be connected to the entropy source. The host receiving the entropy information can also distribute a portion of the received entropy information to other hosts communicatively coupled to it. In this way, entropy information generated by the entropy source can be securely distributed to multiple hosts in a distributed networked environment. Entropy can be forwarded to hosts located at a certain degree of isolation from the entropy source (e.g., quantum entropy generator 705). For example, a second host can receive quantum entropy from the first host, and then the second host can forward a portion of the received quantum entropy to a third host, which can then forward it to other connected hosts, and so on.

[0121] In this manner, even if a host is not directly connected to an entropy source, hosts in a network (e.g., in a lattice network) can access entropy information, such as quantum entropy, generated by a trusted entropy generation source. Because the quantum entropy information received by the host is of high quality and trustworthy, it can be used for various operations requiring high trust. For example, a host can use quantum entropy to generate trusted cryptographic keys. These cryptographic keys can be used for various applications, such as establishing trusted communication channels between hosts. This disclosure describes a method for distributing quantum entropy generated by a quantum entropy source to a group of hosts (e.g., virtual machine computing instances and / or bare metal computing instances) via a temporary key lattice cryptographic network, wherein the hosts receiving the quantum entropy may not be connected to an entropy source or may not have a local source of trusted entropy information.

[0122] Figure 6 A simplified flowchart 600 depicts steps performed by a second host during a process for distributing or transmitting entropy information generated by a quantum entropy generator 705 to multiple hosts or computing instances, according to certain embodiments. Figure 6 The processing described herein can be implemented using software (e.g., code, instructions, programs) executed by one or more processing units (e.g., processors, cores) of a corresponding system, using hardware or a combination thereof. The software can be stored on a non-transitory storage medium (e.g., on a memory device).

[0123] Figure 6 The methods presented and described below are intended to be illustrative rather than restrictive. Although Figure 6 Various processing steps that occur in a specific order or sequence are described, but this is not intended to be limiting. In some alternative embodiments, the processes may be performed in a different order, or some steps may be performed in parallel. In some embodiments, such as in Figure 1 In the embodiments depicted, Figure 6 The processing described herein can be performed by host B 720. In some embodiments, the following refers to... Figure 6 The second host described can represent host B 720, and the following is about Figure 6 The first host described can be host A710.

[0124] A quantum entropy generator 705 (or another suitable trusted entropy source) can generate quantum entropy. In some embodiments, the quantum entropy generator 705 can generate a quantum entropy stream, which can then be used to distribute to one or more connected computer systems.

[0125] The first host receives quantum entropy from the quantum entropy generator 705. The first host can be directly connected to the quantum entropy generator 705. In some embodiments, the host machine hosting the first host can be directly connected to the quantum entropy generator 705. Any suitable amount of quantum entropy generated by the quantum entropy generator 705 can be received. For example, 128 bits, 256 bits, 512 bits, 1024 bits, 2048 bits, or any other suitable amount of quantum entropy can be transmitted by the quantum entropy generator 705 and received by the first host. In some embodiments, quantum entropy can be transmitted in the form of a quantum entropy stream.

[0126] Entropy information is transmitted from the quantum entropy generator 705 to the first host via a trusted connection. For example, entropy information can be transmitted via a direct local wired connection between the quantum entropy generator 705 and the first host (or between the quantum entropy generator 705 and the host machine hosting the first host), which is not connected to the Internet and / or other networks. The cable used for the wired connection can also be shielded to prevent external interference, tampering, or eavesdropping. Additionally or alternatively, quantum entropy can be transmitted in encrypted form.

[0127] The first host can use a first portion of the quantum entropy received by the first host from the quantum entropy generator 705 to generate a first set of one or more cryptographic keys. For example, the first host can generate a first public key used in the initial key exchange with the second host to establish an initial communication channel. The first portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0128] like Figure 6As shown, at S602, the second host generates a second set of one or more cryptographic keys for use in establishing the initial communication channel with the first host. For example, the second host may generate a second public key for use in the initial key exchange with the first host. Since the second host cannot yet access the quantum entropy generated by the quantum entropy generator 705, it can use some other entropy information for the key generation process, such as a data string generated by a software-based pseudo-random number generator or another type of potentially untrusted entropy source. This entropy generated by these sources may not be as secure or reliable as the quantum entropy generated by the quantum entropy generator 705.

[0129] At S604, the second host can establish an initial communication channel with the first host using a first set of one or more cryptographic keys generated by the first host and a second set of cryptographic keys generated in step S602. As part of the process in S604, the second host and the first host can perform an initial key exchange to create an initial shared key (e.g., a symmetric key). This may involve exchanging information based on the first set of cryptographic keys generated by the first host and information based on the second set of cryptographic keys generated by the second host in S602. In some embodiments, the information exchange may include an elliptic curve Diffie-Hellman key negotiation protocol.

[0130] As described above, an initial communication channel is established using a first set of cryptographic keys generated by the first host using a portion of the quantum entropy received by the first host from the quantum entropy generator 705, and a second set of cryptographic keys generated by the second host using entropy that is not from the quantum entropy generator 705 and is therefore less reliable than the entropy information from the quantum entropy generator 705. Therefore, the initial communication channel is a connection with cryptographic strength derived from asymmetric entropy. This initial communication channel can be fully trusted for transmitting at least some secret information to the second host without the secret information being intercepted or leaked. Thus, the initial communication channel is used to transmit a portion of the quantum entropy received by the first host from the quantum entropy generator 705 to the second host, as described below with respect to S508.

[0131] At S606, the second host receives from the first host a portion (e.g., the second portion) of the quantum entropy received by the first host from the quantum entropy generator 705 via the initial communication channel. In some embodiments, since the initial communication channel is a connection with cryptographic strength derived from asymmetric entropy, where only the entropy information generated by the quantum entropy generator 705 is used to generate the set of cryptographic keys for setting up the communication channel, the first host can take precautions when transmitting the entropy information in S606. For example, the entropy information can be transmitted from the first host to the second host in encrypted form via the initial communication channel. The first host can first encrypt the portion of the quantum entropy to be transmitted to the second host (the second portion) and then transmit the encrypted entropy information to the second host. In some embodiments, the entropy information can be encrypted using the initial symmetric key created in step S604. The second host can decrypt the second portion of the quantum entropy using the initial symmetric key upon receipt. The second portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0132] After S606, both the first host and the second host can access the entropy information generated by the quantum entropy generator 705. The first host previously received this information (and can now receive additional entropy information), while the second host receives the entropy information in S606. Since both parties have reliable entropy information generated by the quantum entropy generator 705, a connection with symmetric entropy-derived cryptographic strength can now be established between the first host and the second host. This is described below with reference to steps S608 and S610.

[0133] The first host can use a portion (e.g., a third portion) of the quantum entropy received by the first host from the quantum entropy generator 705 to generate a third set of one or more cryptographic keys. For example, the first host can generate a third public key used in a second key exchange with a second host to establish a secure channel. The third portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0134] At S608, the second host can use a portion of the quantum entropy generated by the quantum entropy generator 705 and received by the second host to generate a fourth set of one or more cryptographic keys. For example, the second host can generate a fourth public key used in a second key exchange with the first host to establish a secure communication channel. When generating the fourth set of cryptographic keys, the second host can utilize some or all of the quantum entropy received by the second host. For example, if the portion of the quantum entropy received by the second host has a size of 512 bits, then the second host can utilize the entire 512 bits or a smaller size (e.g., 256 bits) of entropy information to generate the fourth set of one or more public keys.

[0135] At S610, the second host can use a fourth set of one or more cryptographic keys generated by the second host in step S608 and a third set of one or more cryptographic keys generated by the first host to establish a secure communication channel between the first and second hosts. In some embodiments, the amount of entropy information generated by the quantum entropy generator received by the second host through the initial semi-secure channel in S606 is just sufficient to facilitate the establishment of a secure communication channel between the first and second hosts. For example, the amount of entropy information transmitted in S606 may be just sufficient to enable the second host to generate the fourth set of cryptographic keys used when establishing the secure communication channel in S610. As part of the process in S606, the first and second hosts may perform a second key exchange to create a second shared key (e.g., a symmetric key). This may involve exchanging the fourth set of cryptographic keys generated in S608 with the third set of cryptographic keys generated by the first host. In some embodiments, this may include an elliptic curve Diffie-Hellman exchange.

[0136] The communication channel established in S610 is a connection with encryption strength derived from symmetric entropy, because the two sets of cryptographic keys used to set the communication channel are generated using entropy information generated by the quantum entropy generator 705. Therefore, the communication channel established in S610 is considered completely secure. The second host then uses this secure communication channel to receive an additional portion of the quantum entropy information received by the first host from the quantum entropy generator 705. The communication channel can also be used for other purposes, such as exchanging one or more messages between the second host and the first host.

[0137] At step S612, the second host can receive an additional portion (e.g., a fourth portion) of the quantum entropy generated by the quantum entropy generator from the first host via the secure communication channel established in step S610. For example, the first host can encrypt the fourth portion of the quantum entropy using the second symmetric key created in step S610, transmit the encrypted fourth portion of the quantum entropy to the second host, and the second host can decrypt the fourth portion of the quantum entropy using the second symmetric key. In some embodiments, the entropy information can be transmitted as an information stream. The fourth portion of the quantum entropy can have any suitable size, such as 256 bits or 512 bits of quantum entropy.

[0138] In S612, the second host can utilize a fourth portion of the quantum entropy received from the first host via a secure communication channel. For example, the second host can use the fourth portion of the quantum entropy to perform operations on one or more applications.

[0139] In some implementations, to maintain the security of the communication channel established in S610, the cryptographic material (e.g., the cryptographic key) associated with the connection is itself regenerated to maintain the secure communication channel. For example, as Figure 6 As shown, at S614, after certain conditions are met, the first host and the second host can generate a new key. This new key is used to update the secure communication channel and / or establish a new secure communication channel, where a portion of the quantum entropy information accessible to the first and second hosts is also used to generate the new key. This process can be repeated each time a regeneration condition is met or occurs. This is sometimes referred to as cryptographic key rotation. Because cryptographic keys are only valid for a specific period of time before they must be regenerated, they are sometimes called temporary cryptographic keys.

[0140] In one embodiment, both the second host and the first host can use the quantum entropy available to the host to generate a new set of one or more cryptographic keys. For the first host, entropy information for generating temporary cryptographic keys is received from the quantum entropy generator 705 via a connection between the first host and the quantum entropy generator 705. In some embodiments, the quantum entropy generator 705 can be configured to continuously stream quantum entropy information to the first host. For the second host, the quantum entropy for generating temporary cryptographic keys can be received by the second host from the first host via a secure communication channel established in S610.

[0141] Various conditions can trigger the regeneration of cryptographic materials (e.g., cryptographic keys) in S610. In some implementations, the triggering condition can be time-based. For example, a pre-configured time period can be set for the connection, after which the cryptographic key needs to be regenerated to maintain the channel. This pre-configured time period can be, for example, a certain number of seconds, minutes, hours, etc. For example, after 30 seconds, 1 minute, 5 minutes, 10 minutes, 30 minutes, etc.

[0142] In some other embodiments, the triggering condition can be based on a pre-configured number of packets or messages exchanged between the first and second hosts. For example, the regeneration of the cryptographic key can be triggered after 1, 2, 5, 10, 20 packets, or generally after “N” packets. Here, “N” varies with the risk tolerance level of the entropy client. A higher N value corresponds to fewer temporary keys and a higher risk of exposure to potential entropy tampering. For the lowest possible risk tolerance, the value of N can be set to 1. This makes the cryptographic key very short-lived. The cryptographic key rotation rate can be set based on the risk tolerance level expected by the entropy client. Figure 1 or Figure 7The clustered graph network shown represents the highest possible entropy consumption rate required to maintain strong ephemeral keys between all connections across all hosts in the network, because the key rotation rate, multiplied by the graph clustering coefficients of the network, determines the rate at which entropy itself is consumed in the process of distributing entropy to hosts. Due to the rapid key rotation, the trust level of a connection increases logarithmically as the connection duration between hosts in the network is multiplied by the inverse of “N”. This connection duration is expressed by N above, or the number of packets exchanged between the two hosts before they regenerate their ephemeral keys.

[0143] As indicated above, Figure 6 The specific order or sequence of steps described herein is not intended to be limiting. In some alternative embodiments, these steps may be performed in a different order, or some steps may be performed in parallel.

[0144] exist Figure 6 In the embodiments depicted and described, quantum entropy information generated by the quantum entropy generator 705 is transmitted to a first host. In some embodiments, this transmission of entropy information from the entropy source to the host directly connected to the entropy source can occur as a one-time event. In other embodiments, the transmission of quantum entropy information from the entropy source to the host directly connected to the entropy source can occur periodically, wherein after each period, new entropy information generated by the entropy source is transmitted to the connected host. In still other embodiments, the transmission of quantum entropy information from the entropy source to the host directly connected to the entropy source can occur continuously as a stream of entropy information generated by the entropy source and transmitted to the connected host. In some other embodiments, entropy information can be transmitted from the entropy source to the host when the host requests information. For example, the host can send a request for entropy information to the entropy source, and the entropy source can then respond to the request by sending the requested entropy information generated by the entropy source to the requesting host. Other transmission mechanisms may be used in other embodiments.

[0145] The transmission of entropy information from one host to another (e.g., from a first host to a second host) can occur in various different modes. In one embodiment, the first host can transmit entropy information to the second host as a one-time event via a secure communication channel established between the two hosts. In other embodiments, the transmission of quantum entropy information from the first host to the second host can occur periodically via a secure communication channel, wherein after each period, new entropy information is transmitted from the first host to the second host, and this new entropy information may be a portion of entropy information received by the first host from an entropy source or from another host. In still other embodiments, the transmission of quantum entropy information from the first host to the second host can occur continuously as an entropy information stream over a secure communication channel established between the hosts. In some other embodiments, entropy information can be transmitted from the first host to the second host when the second host requests information. For example, the second host can send a request for entropy information to the first host, and the first host can then respond to the request by sending the requested entropy information to the second host that issued the request. Other transmission mechanisms may be used in other embodiments.

[0146] Figure 6 The process illustrated demonstrates how a host (e.g., a second host) receives entropy generated by an entropy source from another host (e.g., a first host) that is communicatively coupled to the second host, where the first host initially receives entropy from the entropy source (e.g., quantum entropy generator 705). The second host may or may not be connected to the entropy source. The second host, receiving the entropy information, can also distribute portions of the received entropy information to other hosts that are also communicatively coupled to the second host. In this way, entropy information generated by the entropy source can be securely distributed to multiple hosts in a distributed networked environment. Entropy can be forwarded to hosts that are separated from the entropy source (e.g., from the quantum entropy generator 705) by a certain degree of isolation. For example, the second host can receive quantum entropy from the first host, and then the second host can forward a portion of the received quantum entropy to a third host, which can then forward it to other connected hosts, and so on.

[0147] In this manner, even if a host is not directly connected to an entropy source, hosts in a network (e.g., in a lattice network) can access entropy information, such as quantum entropy, generated by a trusted entropy generation source. Because the quantum entropy information received by the host is of high quality and trustworthy, it can be used for various operations requiring high trust. For example, a host can use quantum entropy to generate trusted cryptographic keys. These cryptographic keys can be used for various applications, such as establishing trusted communication channels between hosts. This disclosure describes a method for distributing quantum entropy generated by a quantum entropy source to a group of hosts (e.g., virtual machine computing instances and / or bare metal computing instances) via a temporary key lattice cryptographic network, wherein the hosts receiving the quantum entropy may not be connected to an entropy source or may not have a local source of trusted entropy information.

[0148] Figure 8 An exemplary computer system 800 that can be used to implement certain embodiments is illustrated. For example, in some embodiments, the computer system 800 can be used to implement... Figure 1 and / or Figure 7 This includes any host or computer system shown, as well as the various servers and computer systems described above. Figure 8 As shown, the computer system 800 includes various subsystems, including a processing subsystem 804 that communicates with multiple other subsystems via a bus subsystem 802. These other subsystems may include a processing acceleration unit 806, an I / O subsystem 808, a storage subsystem 818, and a communication subsystem 824. The storage subsystem 818 may include a non-transitory computer-readable storage medium, which includes storage medium 822 and system memory 810.

[0149] Bus subsystem 802 provides a mechanism for enabling various components and subsystems of computer system 800 to communicate with each other as desired. While bus subsystem 802 is schematically shown as a single bus, alternative embodiments of the bus subsystem may utilize multiple buses. Bus subsystem 802 can be any of several types of bus architectures, including memory buses or memory controllers, peripheral buses, local buses using any of the various bus architectures, etc. For example, such architectures may include Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses, which may be implemented as mezzanine buses manufactured according to the IEEE P1386.1 standard, etc.

[0150] Processing subsystem 804 controls the operation of computer system 800 and may include one or more processors, application-specific integrated circuits (ASICs), or field-programmable gate arrays (FPGAs). Processors may include single-core or multi-core processors. The processing resources of computer system 800 may be organized into one or more processing units 832, 834, etc. A processing unit may include one or more processors, one or more cores from the same or different processors, a combination of cores and processors, or other combinations of cores and processors. In some embodiments, processing subsystem 804 may include one or more dedicated coprocessors, such as graphics processors, digital signal processors (DSPs), etc. In some embodiments, some or all of the processing units of processing subsystem 804 may be implemented using custom circuitry, such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs).

[0151] In some embodiments, the processing units in the processing subsystem 804 can execute instructions stored in system memory 810 or on computer-readable storage medium 822. In various embodiments, the processing units can execute various program or code instructions and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can reside in system memory 810 and / or on computer-readable storage medium 822, including possibly on one or more storage devices. With appropriate programming, the processing subsystem 804 can provide the various functions described above. When the computer system 800 is executing one or more virtual machines, one or more processing units can be assigned to each virtual machine.

[0152] In some embodiments, a processing acceleration unit 806 may optionally be provided for performing custom processing or for offloading some processing performed by the processing subsystem 804, thereby accelerating the overall processing performed by the computer system 800.

[0153] I / O subsystem 808 may include devices and mechanisms for inputting information to and / or outputting information from or via computer system 800. Generally, the term "input device" is used to include all possible types of devices and mechanisms for inputting information to computer system 800. User interface input devices may include, for example, keyboards, pointing devices such as mice or trackballs, touchpads or touchscreens incorporated into a display, scroll wheels, click wheels, dials, buttons, switches, numeric keypads, audio input devices with voice command recognition systems, microphones, and other types of input devices. User interface input devices may also include features such as Microsoft's [unclear - possibly related to software or technology] that enable users to control and interact with the input device. Motion sensors for motion sensing and / or posture recognition devices, Microsoft The 360 ​​game controller provides an interface for receiving input using gestures and spoken commands. The user interface input device may also include eye gesture recognition devices, such as detecting eye activity from the user (e.g., "blinking" when taking a picture and / or making menu selections) and translating the eye gesture into the input device (e.g., Google). Google input Blink detector. Additionally, user interface input devices may include those enabling users to interact with a voice recognition system (e.g., ...) via voice commands. Voice recognition sensing devices for interaction with navigators.

[0154] Other examples of user interface input devices include, but are not limited to, 3D mice, joysticks or pointers, gamepads and graphics tablets, and audio / video devices such as speakers, digital cameras, digital camcorders, portable media players, webcams, image scanners, fingerprint scanners, barcode readers, 3D scanners, 3D printers, laser rangefinders, and eye-tracking devices. Furthermore, user interface input devices may include, for example, medical imaging input devices such as computed tomography, magnetic resonance imaging, positional emission computed tomography, and medical ultrasound examination equipment. User interface input devices may also include, for example, audio input devices such as MIDI keyboards, digital musical instruments, etc.

[0155] Generally, the term "output device" is used to encompass all possible types of devices and mechanisms for outputting information from a computer system 800 to a user or other computer. User interface output devices may include display subsystems, indicator lights, or non-visual displays such as audio output devices. Display subsystems may be cathode ray tubes (CRTs), flat panel devices such as those utilizing liquid crystal displays (LCDs) or plasma displays, projection devices, touchscreens, etc. For example, user interface output devices may include, but are not limited to, various display devices that visually convey text, graphics, and audio / video information, such as monitors, printers, speakers, headphones, car navigation systems, plotters, voice output devices, and modems.

[0156] Storage subsystem 818 provides a repository or data storage facility for storing information and data used by computer system 800. Storage subsystem 818 provides a tangible, non-transitory, computer-readable storage medium for storing basic programming and data constructs that provide functionality in some embodiments. Storage subsystem 818 may store software (e.g., programs, code modules, instructions) that provides the aforementioned functionality when executed by processing subsystem 804. The software may be executed by one or more processing units of processing subsystem 804. Storage subsystem 818 may also provide a repository for storing data used in accordance with the teachings of this disclosure.

[0157] The storage subsystem 818 may include one or more non-transitory memory devices, including volatile and non-volatile memory devices. For example... Figure 8As shown, the storage subsystem 818 includes system memory 810 and computer-readable storage medium 822. System memory 810 may include multiple memories, including volatile main random access memory (RAM) for storing instructions and data during program execution, and non-volatile read-only memory (ROM) or flash memory where fixed instructions are stored. In some embodiments, the basic input / output system (BIOS) may typically be stored in ROM, containing basic routines that facilitate the transfer of information between elements within the computer system 800, for example, during startup. RAM typically contains data and / or program modules currently operated and executed by the processing subsystem 804. In some embodiments, system memory 810 may include various different types of memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), etc.

[0158] As an example, not a limitation, such as Figure 8 As shown, system memory 810 can load an application 812, program data 814, and operating system 816 that are being executed, which may include various applications (such as web browsers, middleware applications, relational database management systems (RDBMS), etc.). As an example, operating system 816 may include various versions of Microsoft... Apple and / or Linux operating system, various commercial Or a UNIX-like operating system (including but not limited to various GNU / Linux operating systems, Google...) OS (and / or mobile operating systems, such as iOS) and / or mobile operating systems Phone OS OS OS operating system, and other operating systems.

[0159] Computer-readable storage medium 822 can store programming and data structures that provide functionality for some embodiments. Computer-readable storage medium 822 can provide storage for computer-readable instructions, data structures, program modules, and other data for computer system 800. When executed by processing subsystem 804, software (programs, code modules, instructions) providing the above-described functionality can be stored in storage subsystem 818. As an example, computer-readable storage medium 822 may include non-volatile memory, such as hard disk drives, disk drives, such as CD-ROMs, DVDs, etc. Optical disc drives for (Blu-ray) discs or other optical media. Computer-readable storage media 822 may include, but are not limited to, Drives, flash memory cards, Universal Serial Bus (USB) flash drives, Secure Digital (SD) cards, DVD discs, digital video tapes, etc. Computer-readable storage media 822 may also include solid-state drives (SSDs) based on non-volatile memory (such as flash memory-based SSDs, enterprise flash drives, solid-state ROMs, etc.), volatile memory-based SSDs (such as solid-state RAM, dynamic RAM, static RAM, DRAM-based SSDs, magnetoresistive RAM (MRAM) SSDs), and hybrid SSDs using a combination of DRAM-based and flash memory-based SSDs.

[0160] In some embodiments, the storage subsystem 818 may further include a computer-readable storage medium reader 820, which may also be connected to a computer-readable storage medium 822. The reader 820 may receive and be configured to read data from a storage device such as a disk, flash drive, etc.

[0161] In some embodiments, computer system 800 may support virtualization technologies, including but not limited to the virtualization of processing and memory resources. For example, computer system 800 may provide support for executing one or more virtual machines. In some embodiments, computer system 800 may execute programs such as hypervisors that facilitate the configuration and management of virtual machines. Memory, computing (e.g., processor, cores), I / O, and networking resources may be allocated to each virtual machine. Each virtual machine typically runs independently of other virtual machines. Virtual machines typically run their own operating systems, which may be the same as or different from the operating systems executed by other virtual machines executed by computer system 800. Therefore, computer system 800 may potentially run multiple operating systems simultaneously.

[0162] The communication subsystem 824 provides an interface to other computer systems and networks. The communication subsystem 824 serves as an interface for receiving data from the computer system 800 and transmitting data to other systems. For example, the communication subsystem 824 can enable the computer system 800 to establish a communication channel to one or more client devices via the Internet for receiving and sending information to client devices. For example, the communication subsystem can be used to establish communication channels and / or transmit quantum entropy to other computers.

[0163] The communication subsystem 824 may support both wired and / or wireless communication protocols. For example, in some embodiments, the communication subsystem 824 may include radio frequency (RF) transceiver components, global positioning system (GPS) receiver components, and / or other components for accessing wireless voice and / or data networks, such as cellular telephone technology, advanced data network technologies (e.g., 3G, 4G, or EDGE (Global Evolution Enhanced Data Rate), WiFi (IEEE 802.XX family of standards), or other mobile communication technologies, or any combination thereof). In some embodiments, as an addition to or alternative to the wireless interface, the communication subsystem 824 may provide a wired network connection (e.g., Ethernet).

[0164] The communication subsystem 824 can receive and transmit data in various forms. For example, in some embodiments, among other forms, the communication subsystem 824 can also receive input communications in the form of structured and / or unstructured data feeds 826, event streams 828, event updates 830, etc. For example, the communication subsystem 824 can be configured to receive data in real time from users of social media networks and / or such... feed, Updates, web feeds such as Rich Site Summary (RSS) feeds, other communication services receive (or send) data feeds 826, and / or real-time updates from one or more third-party information sources.

[0165] In some embodiments, the communication subsystem 824 may be configured to receive data that may be inherently continuous or unbounded without a definite end, in the form of a continuous data stream, wherein the continuous data stream may include an event stream 828 of real-time events and / or event updates 830. Examples of applications that generate continuous data may include, for example, sensor data applications, financial quote machines, network performance measurement tools (e.g., network monitoring and traffic management applications), clickstream analysis tools, vehicle traffic monitoring, etc.

[0166] The communication subsystem 824 can also be configured to transmit data from computer system 800 to other computer systems or networks. Data can be transmitted to one or more databases in various forms, such as structured and / or unstructured data feeds 826, event streams 828, event updates 830, etc., and these one or more databases can communicate with one or more streaming data sources coupled to computer system 800.

[0167] The computer system 800 can be of a variety of types, including handheld portable devices (e.g., Cellular phone Computing tablets, PDAs), and wearable devices (e.g., Google). Head-mounted displays, personal computers, workstations, mainframes, information stations, server racks, or any other data processing systems. Due to the constantly evolving nature of computers and networks, [the following is relevant:] Figure 8 The description of the computer system 800 shown in the figure is intended only as a concrete example. It has more than Figure 8 Many other configurations of the system, with more or fewer components, are possible, as illustrated in the figure.

[0168] While specific embodiments have been described, various modifications, alterations, alternative constructions, and equivalents are possible. The embodiments are not limited to operation within certain specific data processing environments but can operate freely within multiple data processing environments. Furthermore, although some embodiments have been described using a specific series of transactions and steps, this is not intended to be limiting. While some flowcharts describe operations as sequential processes, many operations can be performed in parallel or simultaneously. Moreover, the order of operations can be rearranged. Processes may have additional steps not included in the figures. Various features and aspects of the above embodiments can be used individually or in combination.

[0169] Furthermore, while certain embodiments have been described using specific combinations of hardware and software, it should be recognized that other combinations of hardware and software are also possible. Some embodiments may be implemented using only hardware, only software, or a combination thereof. The various processes described herein can be implemented in any combination on the same or different processors.

[0170] When a device, system, component, or module is described as being configured to perform certain operations or functions, such configuration can be achieved, for example, by designing electronic circuits to perform the operations, by programming programmable electronic circuits (such as microprocessors), such as by executing computer instructions or code, or by programming a processor or core to execute code or instructions stored on a non-transitory storage medium, or any combination thereof. Processes can communicate using various technologies, including but not limited to conventional technologies for inter-process communication, and different pairs of processes can use different technologies, or the same pair of processes can use different technologies at different times.

[0171] Specific details are set forth in this disclosure to provide a thorough understanding of the embodiments. However, the embodiments may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail to avoid obscuring the embodiments. This description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of other embodiments. Rather, the preceding description of the embodiments provides an enabling description for implementing various embodiments. Various changes can be made to the function and arrangement of the elements.

[0172] Therefore, the specification and drawings should be considered illustrative rather than restrictive. However, it will be apparent that additions, omissions, deletions, and other modifications and changes may be made therein without departing from the broader spirit and scope set forth in the claims. Thus, while specific embodiments have been described, these embodiments are not intended to be limiting. Various modifications and equivalents are within the scope of the appended claims.

Claims

1. A method for distributing entropy information, comprising: The first host receives entropy information from the entropy source; A first communication channel is established between the first host and the second host based on a first set of one or more cryptographic keys generated by the first host using a first portion of entropy information and a second set of one or more cryptographic keys generated by the second host. The second part of the entropy information is transmitted from the first host to the second host using the first communication channel; A third set of one or more cryptographic keys is generated by the first host using the third part of the entropy information; The second host uses the first part of the second part of the entropy information received by the second host from the first host to generate a fourth set of one or more cryptographic keys; A second communication channel is established between the first host and the second host based on a third set of one or more cryptographic keys and a fourth set of one or more cryptographic keys. as well as The fourth part of the entropy information is transmitted from the first host to the second host using a second communication channel established between the first host and the second host.

2. The method of claim 1, wherein the entropy source is a quantum entropy generator, and the entropy information is quantum entropy.

3. The method of claim 1, wherein the first host is hosted by a first host machine, and the second host is hosted by a second host machine.

4. The method of claim 1, wherein establishing a first communication channel includes performing a first temporary Diffie-Hellman key exchange using a first set of the one or more cryptographic keys and a second set of the one or more cryptographic keys, and wherein establishing a second communication channel includes performing a second temporary Diffie-Hellman key exchange using a third set of the one or more cryptographic keys and a fourth set of the one or more cryptographic keys.

5. The method of claim 4, wherein the first temporary Diffie-Hellman key exchange is a first temporary elliptic curve Diffie-Hellman key exchange, and wherein the second temporary Diffie-Hellman key exchange is a second temporary elliptic curve Diffie-Hellman key exchange.

6. The method of claim 1, wherein the second portion of the entropy information comprises "N" bits, and wherein the second host generates a fourth set of the one or more cryptographic keys based on the "N" bits.

7. The method of claim 1, further comprising: Determine if the conditions associated with the second communication channel are met; In response to determining that the condition is met: The first host uses the fifth part of the entropy information to regenerate a first new set of one or more cryptographic keys; The second host uses a second portion of the second part of the entropy information received by the second host from the first host to regenerate a second new set of one or more cryptographic keys; as well as The second communication channel is updated between the first host and the second host based on a first new set of one or more cryptographic keys and a second new set of one or more cryptographic keys.

8. The method of claim 7, wherein determining that the conditions associated with the second communication channel are met includes determining that a specific time period has elapsed.

9. The method of claim 7, wherein determining that the conditions associated with the second communication channel are met includes determining that a certain number of packets have been exchanged between the first host and the second host.

10. The method of any one of claims 1-9, wherein both the first host and the second host are hosted by the first host machine.

11. A non-transitory computer-readable storage medium storing computer-executable instructions, which, when executed, cause one or more processors of a computer system at a first host to perform a method comprising: Receive entropy information from the entropy source; A first communication channel is established between the first host and the second host based on a first set of one or more cryptographic keys generated by the first host using a first portion of entropy information and a second set of one or more cryptographic keys generated by the second host. The second part of the entropy information is transmitted from the first host to the second host using the first communication channel; A third set of one or more cryptographic keys is generated by the first host using the third part of the entropy information; The second host uses the first part of the second part of the entropy information received by the second host from the first host to generate a fourth set of one or more cryptographic keys; A second communication channel is established between the first host and the second host based on a third set of one or more cryptographic keys and a fourth set of one or more cryptographic keys. as well as The fourth part uses a second communication channel established between the first and second hosts to transmit entropy information to the second host.

12. The non-transitory computer-readable storage medium of claim 11, wherein the method further comprises: Determine if the conditions associated with the second communication channel are met; In response to determining that the condition is met: The fifth part of the entropy information is used to regenerate a first new set of one or more cryptographic keys, wherein the second host uses the second part of the second part of the entropy information received from the first host to regenerate a second new set of one or more cryptographic keys; as well as A new communication channel is established between a first host and a second host based on a first new set of one or more cryptographic keys and a second new set of one or more cryptographic keys.

13. A first computer system, comprising: processor; as well as The memory is configured to store a plurality of instructions executable by a processor, which, when executed by the processor, cause processing to be performed, including: Receive entropy information from the entropy source; A first communication channel is established between the first computer system and the second computer system based on a first set of one or more cryptographic keys generated by the first computer system using a first portion of entropy information and a second set of one or more cryptographic keys generated by the second computer system. The second part of the entropy information is transmitted from the first computer system to the second computer system using the first communication channel; A third set of one or more cryptographic keys is generated by the first computer system using a third portion of the entropy information; A fourth set of one or more cryptographic keys is generated by the second computer system using the first part of the second part of the entropy information received by the second computer system from the first computer system; A second communication channel is established between the first computer system and the second computer system based on a third set of one or more cryptographic keys and a fourth set of one or more cryptographic keys; and The fourth part of the entropy information is transmitted to the second computer system using a second communication channel established between the first and second computer systems.

14. The first computer system of claim 13, wherein the instructions further include: Determine if the conditions associated with the second communication channel are met; In response to determining that the condition is met: The fifth part of the entropy information is used to regenerate a first new set of one or more cryptographic keys, wherein the second computer system uses the second part of the second part of the entropy information received from the first computer system to regenerate a second new set of one or more cryptographic keys. as well as The second communication channel between the first computer system and the second computer system is updated based on a first new set of the one or more cryptographic keys and a second new set of the one or more cryptographic keys.

15. An apparatus for distributing entropy information, comprising components for performing the steps of the method according to any one of claims 1-10.

16. A computer program product comprising computer instructions that, when executed by a processor, implement the steps of the method according to any one of claims 1-10.

Citation Information

Patent Citations

  • Quantum entropy distributed via software defined perimeter connections

    US20200403787A1