# US 10,873,631 B2 · Method for storing data in a cloud and network for carrying out the method

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

- Number: US 10,873,631 B2
- Document ID: US10873631B2
- Status: Granted
- Kind: B2
- Application number: 16/579,897
- Filed: 2019-09-24
- Published: 2020-01-16
- Granted: 2020-12-22
- Earliest claimed: 2019-09-24
- Assignees: NEC Corporation
- Applicants: NEC Corporation
- Inventors: Jens-Matthias Bohli; Ghassan Karame; Frederik Armknecht
- Web page: https://patentgrep.com/patent/US10873631B2

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/065: {Replication mechanisms}
- G06F 11/2056: {by mirroring}
- H04L 9/3271: {using challenge-response}
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 9/008: {involving homomorphic encryption}
- 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 method for storing data in a cloud includes receiving at least one data file to be stored together with a predefined number t of replicas of the at least one data file within the cloud, at least one authentication tag corresponding to the at least one data file and t functions that are configurable to take at least a predefined time to compute; storing the at least one data file within the cloud; computing t solutions of the t functions within the cloud; generating the t replicas of the at least one data file based on the t solutions of the t functions and the at least one data file within the cloud, wherein each of the t functions is used for at least one of the t replicas of the at least one data file; and storing the t replicas within the cloud.

## Claims

### Claim 1

A method for storing data in a cloud, the method comprising:
receiving at least one data file to be stored together with a predefined number t of replicas of the at least one data file within the cloud, at least one authentication tag corresponding to the at least one data file and t functions that are configurable to take at least a predefined time to compute;
storing the at least one data file within the cloud;
computing t solutions of the t functions within the cloud;
generating the t replicas of the at least one data file based on the t solutions of the t functions and the at least one data file within the cloud, wherein each of the t functions is used for at least one of the t replicas of the at least one data file; and
storing the t replicas within the cloud.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the t functions each are not parallelizable and/or comprise an exponent E and/or comprise a one-way function.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the t functions are time-lock puzzles.

### Claim 4 (depends on 3)

The method according to claim 3, wherein at least one or each of the time-lock puzzles is based on exponentiation modulo a composite number.

### Claim 5 (depends on 3)

The method according to claim 3, wherein at least one or each of the time-lock puzzles exhibits a trapdoor based on an Euler totient function.

### Claim 6 (depends on 3)

The method according to claim 3, wherein at least one or each of the time-lock puzzles is based on finding a pre-image of a one-way function.

### Claim 7 (depends on 1)

The method according to claim 1, wherein each of the t solutions is efficiently verifiable.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the receiving includes receiving a processed file comprising the at least one data file and the at least one authentication tag.

### Claim 9 (depends on 1)

The method according to claim 1, further including receiving a challenge issued for blocks contained across all of the t replicas.

### Claim 10 (depends on 9)

The method according to claim 9, further including computing a response to the challenge under consideration of the at least one authentication tag and the at least one data file and the t replicas stored.

### Claim 11

A method for storing data to a cloud, the method comprising:
providing at least one data file to be stored together with a predefined number t of replicas of the at least one data file within the cloud, at least one authentication tag corresponding to the at least one data file and t functions that are configurable to take at least a predefined time to compute; and
transmitting the at least one data file, the at least one authentication tag and the t functions to a cloud storage service, to enable the cloud storage service to:
store the at least one data file within the cloud;
compute t solutions of the t functions within the cloud;
generate the t replicas of the at least one data file based on the t solutions of the t functions and the at least one data file within the cloud, wherein each of the t functions is used for at least one of the t replicas of the at least one data file; and
store the t replicas within the cloud.

### Claim 12 (depends on 11)

The method according to claim 11, wherein the t functions each are not parallelizable and/or comprise an exponent E and/or comprise a one-way function.

### Claim 13 (depends on 11)

The method according to claim 11, wherein the t functions are time-lock puzzles.

### Claim 14 (depends on 13)

The method according to claim 13, wherein at least one or each of the time-lock puzzles is based on exponentiation modulo a composite number.

### Claim 15 (depends on 13)

The method according to claim 13, wherein at least one or each of the time-lock puzzles exhibits a trapdoor based on an Euler totient function.

### Claim 16 (depends on 13)

The method according to claim 13, wherein at least one or each of the time-lock puzzles is based on finding a pre-image of a one-way function.

### Claim 17 (depends on 11)

The method according to claim 11, wherein each of the t solutions is efficiently verifiable.

### Claim 18 (depends on 11)

The method according to claim 11, wherein the transmitting includes transmitting a processed file comprising the at least one data file and the at least one authentication tag.

### Claim 19 (depends on 11)

The method according to claim 11, further including issuing a challenge for blocks contained across all of the t replicas.

### Claim 20 (depends on 19)

The method according to claim 19, further including receiving a response to the challenge, computed under consideration of the at least one authentication tag and the at least one data file and the t replicas stored.
