# US 10,372,419 B2 · Trusted random number generation by a cloud server

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,419 B2
- Document ID: US10372419B2
- Status: Granted
- Kind: B2
- Application number: 15/489,815
- Filed: 2017-04-18
- Published: 2018-10-18
- Granted: 2019-08-06
- Earliest claimed: 2017-04-18
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Kenneth A. Goldman; Ashish Kundu; Dimitrios Pendarakis
- Web page: https://patentgrep.com/patent/US10372419B2

## CPC

- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 7/58: Random or pseudo-random number generators
- G06F 7/588: {Random number generators, i.e. based on natural stochastic processes}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method generates a random number in a cloud-based random number server. The cloud-based random number server identifies multiple entropy sources. The cloud-based random number server identifies multiple disjointed entropy sources from the multiple entropy sources, which are logically and functionally independent of one another. The cloud-based random number server randomly selects multiple disparate entropy sources from the multiple disjointed entropy sources, and then receives multiple entropic values from the multiple disparate entropy sources, where each of the multiple disparate entropy sources supplies an entropic value that describes a type of entropic event not found in other entropy sources from the multiple disparate entropy sources. The cloud-based random number server mixes the multiple entropic values to create a combined entropic value, which is input into a random number generator to generate a random number for use by a client computer.

## Claims

### Claim 1

A computer-implemented method comprising:
identifying, by a cloud-based random number server, multiple entropy sources, wherein each of the multiple entropy sources is capable of providing entropic signals that are derived from an exclusive random event;
identifying, by the cloud-based random number server, multiple disjointed entropy sources from the multiple entropy sources, wherein the multiple disjointed entropy sources are logically and functionally independent of one another;
randomly selecting, by the cloud-based random number server, multiple disparate entropy sources from the multiple disjointed entropy sources;
receiving, by the cloud-based random number server, multiple entropic values from the multiple disparate entropy sources, wherein each of the multiple disparate entropy sources supplies an entropic value that describes a type of entropic event not found in other entropy sources from the multiple disparate entropy sources;
mixing, by the cloud-based random number server, the multiple entropic values to create a combined entropic value;
inputting, by the cloud-based random number server, the combined entropic value into a random number generator on the cloud-based random number server to generate a random number;
transmitting the random number from the cloud-based random number server to a client computer, wherein the client computer uses the random number as an input to a client operation performed by the client computer;
determining which of the multiple disparate entropy sources are authorized entropy sources that are authorized to be used by the cloud-based random number server;
storing the authorized entropy sources in a library; and
selecting, by the cloud-based random number server, one or more of the authorized entropy sources from the library to supply the multiple entropic values.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the multiple disparate entropy sources comprise multiple mobile telecommunication devices, multiple cloud-based devices, and the client computer, and wherein the computer-implemented method further comprises:
randomly selecting, by the cloud-based random number server, one of the multiple mobile telecommunication devices to provide a first type of entropic value to the cloud-based random number server; and
randomly selecting, by the cloud-based random number server, one of the multiple cloud-based devices to provide a second type of entropic value to the cloud-based random number server.

### Claim 3 (depends on 2)

The computer implemented method of claim 2, wherein the first type of entropic value from the multiple mobile telecommunication devices is derived from telecommunication signals used by the multiple mobile telecommunication devices.

### Claim 4 (depends on 2)

The computer implemented method of claim 2, wherein the second type of entropic value from the multiple cloud-based devices is derived from random signals generated by software in the multiple cloud-based devices.

### Claim 5 (depends on 2)

The computer implemented method of claim 2, wherein an entropic value from the client computer is derived from noise generated by a hardware device on the client computer.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the multiple disjointed entropy sources outnumber the multiple disparate entropy sources.

### Claim 7

A computer program product for generating a random number in a cloud-based random number server, the computer program product comprising a computer readable storage device having program instructions embodied therewith, the program instructions readable and executable by a computer to perform a method comprising:
identifying, by a cloud-based random number server, multiple entropy sources, wherein each of the multiple entropy sources is capable of providing entropic signals that are derived from an exclusive random event;
identifying, by the cloud-based random number server, multiple disjointed entropy sources from the multiple entropy sources, wherein the multiple disjointed entropy sources are logically and functionally independent of one another;
randomly selecting, by the cloud-based random number server, multiple disparate entropy sources from the multiple disjointed entropy sources;
receiving, by the cloud-based random number server, multiple entropic values from the multiple disparate entropy sources, wherein each of the multiple disparate entropy sources supplies an entropic value that describes a type of entropic event not found in other entropy sources from the multiple disparate entropy sources;
mixing, by the cloud-based random number server, the multiple entropic values to create a combined entropic value;
inputting, by the cloud-based random number server, the combined entropic value into a random number generator on the cloud-based random number server to generate a random number;
transmitting the random number from the cloud-based random number server to a client computer, wherein the client computer uses the random number as an input to a client operation performed by the client computer;
determining which of the multiple disparate entropy sources are authorized entropy sources that are authorized to be used by the cloud-based random number server;
storing the authorized entropy sources in a library; and
selecting, by the cloud-based random number server, one or more of the authorized entropy sources from the library to supply the multiple entropic values.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the multiple disparate entropy sources comprise multiple mobile telecommunication devices, multiple cloud-based devices, and the client computer, and wherein the method further comprises:
randomly selecting, by the cloud-based random number server, one of the multiple mobile telecommunication devices to provide a first type of entropic value to the cloud-based random number server; and
randomly selecting, by the cloud-based random number server, one of the multiple cloud-based devices to provide a second type of entropic value to the cloud-based random number server.

### Claim 9 (depends on 8)

The computer program product of claim 8, wherein the first type of entropic value from the multiple mobile telecommunication devices is derived from telecommunication signals used by the multiple mobile telecommunication devices.

### Claim 10 (depends on 8)

The computer program product of claim 8, wherein the second type of entropic value from the multiple cloud-based devices are derived from random signals generated by software in the multiple cloud-based devices.

### Claim 11 (depends on 8)

The computer program product of claim 8, wherein an entropic value from the client computer is derived from noise generated by a hardware device on the client computer.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, wherein the multiple disjointed entropy sources each have a different owner.

### Claim 13 (depends on 7)

The computer program product of claim 7, wherein the program instructions are provided as a service in a cloud environment.

### Claim 14

A computer system comprising one or more processors, one or more computer readable memories, and one or more computer readable storage mediums, and program instructions stored on at least one of the one or more computer readable storage mediums for execution by at least one of the one or more processors via at least one of the one or more computer readable memories, the stored program instructions comprising:
program instructions to identify multiple entropy sources, wherein each of the multiple entropy sources is capable of providing entropic signals that are derived from an exclusive random event;
program instructions to identify multiple disjointed entropy sources from the multiple entropy sources, wherein the multiple disjointed entropy sources are logically and functionally independent of one another;
program instructions to randomly select multiple disparate entropy sources from the multiple disjointed entropy sources;
program instructions to receive multiple entropic values from the multiple disparate entropy sources, wherein each of the multiple disparate entropy sources supplies an entropic value that describes a type of entropic event not found in other entropy sources from the multiple disparate entropy sources;
program instructions to mix the multiple entropic values to create a combined entropic value;
program instructions to input the combined entropic value into a random number generator on a cloud-based random number server to generate a random number;
program instructions to transmit, from the random number to a client computer, the random number, wherein the client computer uses the random number as an input to a client operation performed by the client computer;
program instructions to determine which of the multiple disparate entropy sources are authorized entropy sources that are authorized to be used by the cloud-based random number server;
program instructions to store the authorized entropy sources in a library; and
program instructions to select one or more of the authorized entropy sources from the library to supply the multiple entropic values.

### Claim 15 (depends on 14)

The computer system of claim 14, wherein the multiple disparate entropy sources comprise multiple mobile telecommunication devices, multiple cloud-based devices, and the client computer, and wherein the computer system further comprises:
program instructions to randomly select one of the multiple mobile telecommunication devices to provide a first type of entropic value to the cloud-based random number server; and
program instructions to randomly select one of the multiple cloud-based devices to provide a second type of entropic value to the cloud-based random number server.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1, wherein the multiple disjointed entropy sources are not in communication with one another.

### Claim 17 (depends on 1)

The computer-implemented method of claim 1, wherein the at least one of the multiple entropy sources is a telephone that receives a random telephone call from a telephone number, and wherein numerals in the telephone number are the entropic signals.

### Claim 18 (depends on 15)

The computer system of claim 15, wherein an entropic value from the client computer is derived from noise generated by a hardware device on the client computer.

### Claim 19 (depends on 14)

The computer system of claim 14, wherein the stored program instructions are provided as a service in a cloud environment.
