IP Library Granted Patent US 10,482,413
Granted Patent B2
US 10,482,413 · App. 14/975,371 · Granted Nov 19, 2019

Data transfer tool for secure client-side data transfer to a shippable storage device

Inventors: Frank Paterra (Kirkland, WA); Firat Basarir (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06Q10/0832G06F21/44G06F21/606G06F21/6218G06F21/78H04L63/0428H04L63/061H04L63/0823G06F2221/2129G06Q2220/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,482,413
App. No.
14/975,371
Granted
Nov 19, 2019
Kind
B2
Abstract

A client-side data transfer tool may be used to encrypt customer data and store the encrypted data onto a shippable data storage device. The shippable storage device is provided to the client by a remote storage service provider for importing the customer data into the service provider. The data transfer tool receives client-keys from the service provider, separate from the shippable storage device. The data transfer tool generates keys to encrypt the customer data. The data transfer tool then uses the client-keys received from the service provider to encrypt the tool-generated keys. The encrypted data and the encrypted tool-generated keys are transferred onto the shippable storage device. Data transfer techniques may take into account characteristics of the data source and the data destination. For multiple shippable storage devices, data transfer may occur in parallel. The shippable storage device is then shipped back to the service provider, which imports the data.

Claims (72)

1. A system, comprising:

one or more computing devices connected to a network of a client site;

one or more storage devices attached to the network of the client site;

at least one shippable storage device provided by a remote storage provider, wherein the at least one shippable storage device is attached to the network of the client site; and

a data transfer tool implemented on at least one of the one or more computing devices, wherein the data transfer tool is configured to:

obtain, from a remote storage service provider, at least one encryption key;

identify data stored on the one or more storage devices to be imported to a storage service of the remote storage service provider;

obtain the identified data from the one or more storage devices;

generate one or more encryption keys for encrypting the identified data;

encrypt the identified data using the one or more generated encryption keys to generate encrypted data;

encrypt the one or more generated encryption keys using the at least one encryption key provided by the remote storage service provider to generate an encrypted one or more generated encryption keys for sending to the remote storage service provider;

transfer the encrypted data to the at least one shippable storage device; and

in response to completion of the transferring of the encrypted data to the at least one shippable storage device, indicate that the at least one shippable storage device is ready for shipment to the remote storage service provider.

2. The system as recited in claim 1 , wherein the data transfer tool is further configured to:

store the encrypted data and the encrypted one or more generated encryption keys onto the at least one shippable storage device and indicate that the at least one shippable storage device is ready for shipment to the remote storage service provider without the identified data and the one or more generated encryption keys being stored on the shippable storage device in an unencrypted form.

3. The system as recited in claim 1 , wherein:

to obtain the identified data, the data transfer tool is further configured to:

obtain one or more files; and

create a plurality of chunks of data from each of the one or more files;

to generate the one or more encryption keys, the data transfer tool is further configured to generate a separate encryption key for each of the plurality of chunks of data; and

to encrypt the identified data, the data transfer tool is further configured to encrypt each of the plurality of chunks of data using a respective encryption key of the one or more generated encryption keys.

4. The system as recited in claim 1 , wherein to send the encrypted one or more encryption keys to the remote storage service provider, the data transfer tool is further configured to:

transfer the encrypted one or more generated encryption keys to the at least one shippable storage device or transmit the encrypted one or more generated encryption keys to the storage service provider via a communication network, separate from the shippable storage device.

5. A method, comprising:

performing, by a data transfer tool implemented on one or more computing devices of a network of a client site:

obtaining, from a remote storage service provider, at least one encryption key;

identifying data stored on one or more storage devices of the network to be imported to a storage service of the remote storage service provider;

obtaining the identified data from the one or more storage devices;

generating one or more encryption keys for encrypting the identified data;

encrypting the identified data using the one or more generated encryption keys to generate encrypted data;

encrypting the one or more generated encryption keys using the at least one encryption key provided by the remote storage service provider to generate an encrypted one or more generated encryption keys to be communicated to the remote storage service provider;

transfer the encrypted data to the at least one shippable storage device provided by the remote storage provider and attached to the network; and

in response to completion of the transferring of the encrypted data to the at least one shippable storage device, indicating that the at least one shippable storage device is ready for shipment to the remote storage service provider.

6. The method as recited in claim 5 , further comprising storing the encrypted data and the encrypted one or more generated encryption keys onto the at least one shippable storage device and indicating that the at least one shippable storage device is ready for shipment to the remote storage service provider without the identified data and the one or more generated encryption keys being stored on the shippable storage device in an unencrypted form.

7. The method as recited in claim 5 , wherein:

the obtaining of the identified data from the one or more storage devices of the network comprises:

obtaining one or more files; and

creating a plurality of chunks of data from each of the one or more files;

the generating of the one or more encryption keys comprises generating a separate encryption key for each of the plurality of chunks of data; and

the encrypting of the identified data comprises encrypting each of the plurality of chunks of data using a respective encryption key of the one or more generated encryption keys.

8. The method as recited in claim 5 , further comprising:

obtaining, from the remote storage service provider, security information; and

authenticating, based on the security information, the at least one shippable storage device.

9. The method as recited in claim 5 , wherein the obtaining, from the remote storage service provider, the at least one encryption key comprises downloading the at least one encryption key from the remote storage service provider via a communication network separate from the at least one shippable storage device.

10. The method as recited in claim 5 , wherein the communicating of the encrypted one or more generated encryption keys to the remote storage service provider comprises transferring the encrypted one or more generated encryption keys to the at least one shippable storage device.

11. The method as recited in claim 5 , wherein the communicating of the encrypted one or more generated encryption keys to the remote storage service provider comprises transmitting the encrypted one or more encryption keys to the remote storage service provider via a communication network, separate from the at least one shippable storage device.

12. The method as recited in claim 5 , further comprising:

discovering a plurality of the shippable storage devices attached to the network; and

determining a data transfer plan for transferring the encrypted data to the plurality of the shippable storage devices, wherein the transferring of the encrypted data comprises transferring a different portion of the encrypted data to each of the plurality of the shippable storage devices in parallel.

13. The method as recited in claim 12 , wherein the determining of the data transfer plan is based on at least one of:

a characteristic of a data source of the identified data; or

a characteristic of a storage destination of the identified data at the storage service provider.

14. A non-transitory computer-readable storage medium storing program instructions that, when executed by one or more computing devices of a network of a client site, cause the one or more computing devices to implement:

identifying data stored on one or more storage devices of the network to be imported to a storage service of a remote storage service provider;

obtaining the identified data from the one or more storage devices;

generating one or more encryption keys for encrypting the identified data;

encrypting the identified data using the one or more generated encryption keys to generate encrypted data;

encrypting the one or more generated encryption keys using at least one encryption key stored by the remote storage service provider to generate an encrypted one or more generated encryption keys to be communicated to the remote storage service provider;

transferring the encrypted data to at least one shippable storage device provided by the remote storage provider and attached to the network; and

in response to completion of the transferring of the encrypted data to the shippable storage device, indicating that the shippable storage device is ready for shipment to the remote storage service provider.

15. The non-transitory, computer-readable storage medium of claim 14 , wherein the program instructions cause the one or more computing devices to further implement:

storing the encrypted data and the encrypted one or more generated encryption keys onto the at least one shippable storage device and indicating that the at least one shippable storage device is ready for shipment to the remote storage service provider without the identified data and the one or more generated encryption keys being stored on the shippable storage device in an unencrypted form.

16. The non-transitory, computer-readable storage medium of claim 14 , wherein the at least one encryption key is provided by the remote storage service provider to the client separate from the shippable storage device or is provided by the client to the remote storage service provider separate from the shippable storage device.

17. The non-transitory, computer-readable storage medium of claim 14 , wherein the program instructions cause the one or more computing devices to further implement:

obtaining, from the remote storage service provider, security information; and

authenticating, based on the security information, the at least one shippable storage device.

18. The non-transitory, computer-readable storage medium of claim 14 , wherein the program instructions cause the one or more computing devices to further implement:

discovering a plurality of the shippable storage devices attached to the network;

generating a plurality of shards based at least on the identified data and a redundancy encoding technique, wherein the encrypting of the identified data comprises encrypting each of the plurality of shards using the one or more generated encryption keys to generate a plurality of encrypted shards; and

identifying a subset of the plurality of encrypted shards, wherein the transferring of the encrypted data comprises transferring each shard of the subset of the plurality of shards to a respective one of the shippable storage devices.

19. The non-transitory, computer-readable storage medium of claim 18 , wherein the transferring of each of the subset of the plurality of shards to a respective one of the shippable storage devices is performed in parallel.

20. The non-transitory, computer-readable storage medium of claim 18 , wherein when the plurality of the shippable storage devices are shipped to the remote storage service provider, at least one of the generated plurality of shards is retained at the client site.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2016
From: PATERRA, FRANK; BASARIR, FIRAT
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 037835/0231 →
Continuity (1)
Related Publication 20170178069A1 · Jun 22, 2017
Cited By (7)
US 12,198,005 US 12,217,090 US 12,260,191 US 12,367,298 US 12,430,170 US 12,456,079 US 12,572,438