IP Library Granted Patent US 11,106,810
Granted Patent B2
US 11,106,810 · App. 16/048,980 · Granted Aug 31, 2021

Multi-tenant deduplication with non-trusted storage system

Inventors: Assaf Natanzon (Tel Aviv, IL); Udi Shemer (Kfar Saba, IL); Zvi Schneider (Tel Aviv, IL); Amitai Alkalay (Kadima, IL)
Assignee: EMC IP Holding Company LLC
G06F21/6218G06F3/067G06F3/0608G06F3/0641H04L9/083H04L9/302H04L63/0442
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 11,106,810
App. No.
16/048,980
Granted
Aug 31, 2021
Kind
B2
Abstract

An apparatus, in one example, comprises a storage system configured to perform one or more deduplication operations on encrypted datasets received for a plurality of tenants and store at least a portion of the encrypted datasets, the datasets having been encrypted for respective ones of the plurality of tenants using a common encryption key. The apparatus further comprises a cryptographic module associated with the storage system, the cryptographic module configured to, in response to a request to access an encrypted dataset stored by the storage system corresponding to a given one of the plurality of tenants, further encrypt the encrypted dataset using a tenant encryption key associated with the given one of the plurality of tenants. The storage system is further configured to send the further encrypted dataset to the given one of the plurality of tenants that requested access.

Claims (49)

1. An apparatus comprising:

a storage system comprising deduplication control logic configured to perform one or more deduplication operations on encrypted datasets received from a plurality of tenants and store at least a portion of the encrypted datasets, the datasets having been encrypted for respective ones of the plurality of tenants using a common encryption key shared amongst the respective ones of the plurality of tenants;

a cryptographic module associated with the storage system, the cryptographic module configured to, in response to a request to access an encrypted dataset stored by the storage system corresponding to a given one of the plurality of tenants, further encrypt the encrypted dataset by performing an additional encryption operation on the encrypted data set using a tenant encryption key associated with the given one of the plurality of tenants;

wherein the storage system is further configured to send the further encrypted dataset to the given one of the plurality of tenants that requested access;

wherein the encrypted datasets are encrypted utilizing a first encryption scheme that utilizes a public key of a cryptographic key pair, the public key comprising the common encryption key shared amongst the plurality of tenants;

wherein the further encrypted dataset is encrypted utilizing a second encryption scheme that utilizes a first portion of a private key of the cryptographic key pair, the first portion of the private key of the cryptographic key pair comprising the tenant encryption key associated with the given one of the plurality of tenants;

wherein the further encrypted dataset is decryptable utilizing a second portion of the private key of the cryptographic key pair, the second portion of the private key of the cryptographic key pair comprising a tenant decryption key associated with the given one of the plurality of tenants;

wherein the storage system is non-trusted and is not in possession of the tenant decryption key associated with the given one of the plurality of tenants;

wherein the storage system is configured to obtain a tenant encryption key for each of the plurality of tenants, wherein each tenant encryption key is dedicated to the tenant to which it corresponds; and

wherein the cryptographic module is implemented utilizing at least one processing device comprising a processor coupled to a memory.

2. The apparatus of claim 1 , wherein the tenant encryption keys are obtained from a trusted key management entity.

3. The apparatus of claim 1 , wherein each tenant encryption key has a corresponding tenant decryption key that serves to decrypt the dataset.

4. The apparatus of claim 1 , wherein the common encryption key, each tenant encryption key, and each corresponding tenant decryption key are formed using a Rivest-Shamir-Adleman (RSA) based cryptographic algorithm.

5. The apparatus of claim 1 , wherein the plurality of tenants are associated with one or more host devices configured to communicate over a network with the storage system.

6. The apparatus of claim 1 , wherein the dataset comprises a set of one or more logical storage volumes of the storage system.

7. The apparatus of claim 1 , wherein the public key of the cryptographic key pair is A, wherein the first portion of the private key of the cryptographic key pair for the given tenant is B i , wherein the second portion of the private key of the cryptographic key pair for the given tenant is C i , and wherein A*B i * C i =1 modulo n.

8. The apparatus of claim 7 wherein n is a multiple of two prime numbers.

9. The apparatus of claim 7 , wherein the second encryption scheme comprises returning Y=X B i modulo n, where X is the encrypted data set and Y is the further encrypted dataset.

10. The apparatus of claim 9 , wherein the further encrypted dataset is decrypted according to M=Y C i modulo n, where M is the decrypted dataset.

11. A method comprising:

performing, in a storage system, one or more deduplication operations on encrypted datasets received from a plurality of tenants in communication with the storage system, the datasets having been encrypted for respective ones of the plurality of tenants using a common encryption key shared amongst the respective ones of the plurality of tenants;

storing at least a portion of the encrypted datasets;

in response to a request to access an encrypted dataset stored by the storage system corresponding to a given one of the plurality of tenants, further encrypting the encrypted dataset by performing an additional encryption operation on the encrypted data set using a tenant encryption key associated with the given one of the plurality of tenants;

sending the further encrypted dataset from the storage system to the given one of the plurality of tenants that requested access; and

obtaining a tenant encryption key for each of the plurality of tenants, wherein each tenant encryption key is dedicated to the tenant to which it corresponds, from a trusted key management entity;

wherein the encrypted datasets are encrypted utilizing a first encryption scheme that utilizes a public key of a cryptographic key pair, the public key comprising the common encryption key shared amongst the plurality of tenants;

wherein the further encrypted dataset is encrypted utilizing a second encryption scheme that utilizes a first portion of a private key of the cryptographic key pair, the first portion of the private key of the cryptographic key pair comprising the tenant encryption key associated with the given one of the plurality of tenants;

wherein the further encrypted dataset is decryptable utilizing a second portion of the private key of the cryptographic key pair, the second portion of the private key of the cryptographic key pair comprising a tenant decryption key associated with the given one of the plurality of tenants;

wherein the storage system is non-trusted and is not in possession of the tenant decryption key associated with the given one of the plurality of tenants; and

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

12. The method of claim 11 , wherein the further encrypting step is performed by a cryptographic module associated with the storage system.

13. The method of claim 11 , wherein each tenant encryption key has a corresponding tenant decryption key that serves to decrypt the dataset.

14. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by the processing device causes the processing device to perform the steps of claim 11 .

15. The method of claim 11 , wherein the public key of the cryptographic key pair is A, wherein the first portion of the private key of the cryptographic key pair for the given tenant is B i , wherein the second portion of the private key of the cryptographic key pair for the given tenant is C i , and wherein A*B i *C i =1 modulo n.

16. The method of claim 15 , wherein n is a multiple of two prime numbers.

17. A method comprising:

encrypting a dataset associated with a given tenant of a plurality of tenants using an encryption key common to the plurality of tenants;

sending the encrypted dataset to a storage system configured to perform one or more deduplication operations on encrypted datasets received for the plurality of tenants and store at least a portion of the encrypted datasets;

sending a request to access the encrypted dataset stored by the storage system corresponding to the given tenant; and

receiving a further encrypted dataset from the storage system, the further encrypted dataset having been further encrypted by the storage system by performing an additional encryption operation on the encrypted data set using a tenant encryption key dedicated to the given tenant;

wherein the encrypted dataset is encrypted utilizing a first encryption scheme that utilizes a public key of a cryptographic key pair, the public key comprising the common encryption key shared amongst the plurality of tenants;

wherein the further encrypted dataset is encrypted utilizing a second encryption scheme that utilizes a first portion of a private key of the cryptographic key pair, the first portion of the private key of the cryptographic key pair comprising the tenant encryption key associated with the given tenant

wherein the further encrypted dataset is decryptable utilizing a second portion of the private key of the cryptographic key pair, the second portion of the private key of the cryptographic key pair comprising a tenant decryption key associated with the given tenant;

wherein the storage system is non-trusted and is not in possession of the tenant decryption key associated with the given one of the plurality of tenants; and

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

18. The method of claim 17 , further comprising:

decrypting the further encrypted dataset using the tenant decryption key associated with the given tenant to obtain the dataset.

19. The method of claim 17 , wherein the plurality of tenants is associated with one or more host devices configured to communicate over a network with the storage system.

20. The method of claim 17 , wherein the public key of the cryptographic key pair is A, wherein the first portion of the private key of the cryptographic key pair for the given tenant is B i , wherein the second portion of the private key of the cryptographic key pair for the given tenant is C i , and wherein A*B i *C i =1 modulo n.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2018
From: NATANZON, ASSAF; SHEMER, UDI; SCHNEIDER, ZVI; ALKALAY, AMITAI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046659/0676 →