IP Library › Granted Patent US 9,380,036
Granted Patent B2
US 9,380,036 · App. 13/820,815 · Granted Jun 28, 2016

Methods and devices for securing keys for a nonsecured, distributed environment with applications to virtualization and cloud-computing security and management

Inventors: Gilad Parann-Nissany (Ramat Hasharon, IL); Yaron Sheffer (Tel Aviv, IL)
Assignee: Porticor Ltd.
H04L63/06G06F21/602G06F21/6218G06F21/72H04L9/008H04L9/085H04L9/0822H04L9/0894H04L67/10G06F2221/2111G06F2221/2149H04L2463/062
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 9,380,036
App. No.
13/820,815
Granted
Jun 28, 2016
Kind
B2
Abstract

The present invention discloses methods and devices for securing keys for a non-secure computing-environment. Methods include the steps of: providing a security-key framework which is adapted, upon receiving an encryption request for protecting a secret item, for repetitively encrypting the secret item with each of a set of N location-specific secure-keys, wherein each location-specific secure-key corresponds to a respective encryption location, to create an encrypted item; wherein the locations are regions of memory located in computing resources operationally connected to the computing-environment; and concealing through encryption at least one location-specific secure-key such that the concealing is configured: to prevent at least one location-specific secure-key from ever being known in an unconcealed form on any computing resource in any computing-environment during the encrypting; and to allow mathematical operations, performed as part of the encrypting and concealing, to be performed while at least one location-specific secure-key is in its concealed form.

Claims (56)

1. A method for securing keys for a non-secure computing-environment, the method comprising the steps of:

(a) initially concealing at least one location-specific secure-key of a set of N location-specific secure-keys to undergo a previous initial concealment, wherein N is a positive whole number greater than one, wherein said at least one location-specific secure-key and at least one respective secure-key value were initially transmitted in concealed form, during said previous initial concealment of said at least one location-specific secure-key, from at least one entity selected from the group consisting of: a user device that initially encrypted a clear form of said at least one location-specific secure-key and a clear form of said at least one respective secure-key value during an initialization phase, and a trusted computing resource; and

(b) upon receiving from a client computing device an encryption request for protecting a secret item in the computing-environment, creating an encrypted item by repetitively encrypting said secret item with each of said set of N location-specific secure-keys in order:

(i) to prevent said at least one location-specific secure-key and said at least one respective secure-key value from ever being known in an unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment;

wherein each said location-specific secure-key of said set corresponds to an exclusive, respective encryption location, wherein said locations are regions of memory located in different, physically-distinct computing resources operationally connected to the computing-environment.

2. The method of claim 1 , wherein said previous initial concealment of said at least one location-specific secure-key is performed using at least one technique selected from the group consisting of: blinding encryption, partially-homomorphic encryption, and fully-homomorphic encryption.

3. The method of claim 1 , the method further comprising the step of:

(c) upon receiving from a client computing device a decryption request for said encrypted item, repetitively decrypting said encrypted item with each of said set of N location-specific secure-keys, wherein at least one said location-specific secure-key undergoes previous initial concealment in order:

(i) to prevent said at least one location-specific secure-key and at least one respective secure-key value from ever being known in an unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment.

4. The method of claim 3 , the method further comprising the step of:

(d) prior to said encrypting or subsequent to said step of decrypting, exchanging said secret item with an authorized requester while said secret item remains unknown to the computing-environment, thereby providing a secure, virtualized key-management system.

5. The method of claim 1 , wherein said encrypting and said previous initial concealment of said at least one location-specific secure-key can be performed on any element of a collection of computing resources operationally connected to the computing-environment, and wherein said previous initial concealment is performed differently on each said element, thereby preventing leakage of a concealed key from one said element from compromising any other said element.

6. The method of claim 1 , wherein said at least one location-specific secure-key undergoes said previous initial concealment further in order:

(ii) to allow useful mathematical operations to be performed:

(A) on an unencrypted value of said secret item while said secret item remains encrypted, and said secret item is never known in an unencrypted form on any computing resource in any computing-environment other than during said previous initial concealment; and

(B) on unconcealed values of said location-specific secure-keys while said at least one location-specific secure-key remains in a concealed form, and said at least one location-specific secure-key is never known in an unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment; and

wherein said useful mathematical operations include at least one operation selected from the group consisting of: XOR, addition, subtraction, multiplication, division, modular addition, modular subtraction, modular multiplication, modular division, and combinations thereof.

7. A device for securing keys for a non-secure computing-environment, the device comprising:

(a) a server including:

(i) a CPU for performing computational operations;

(ii) a memory module for storing data; and

(iii) a network connection for communicating across a network; and

(b) a protection module, residing on said server, configured for:

(i) initially concealing at least one location-specific secure-key of a set of N location-specific secure-keys to undergo a previous initial concealment, wherein N is a positive whole number greater than one, wherein said at least one location-specific secure-key and at least one respective secure-key value were initially transmitted in concealed form, during said previous initial concealment of said at least one location-specific secure-key, from at least one entity selected from the group consisting of: a user device that initially encrypted a clear form of said at least one location-specific secure-key and a clear form of said at least one respective secure-key value during an initialization phase, and a trusted computing resource; and

(ii) upon receiving an encryption request for protecting a secret item in the computing-environment, creating an encrypted item by repetitively encrypting said secret item with each of said set of N location-specific secure-keys in order:

(A) to prevent said at least one location-specific secure-key and said at least one respective secure-key value from ever being known in an unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment;

wherein each said location-specific secure-key of said set corresponds to an exclusive, respective encryption location, wherein said locations are regions of memory located in different, physically-distinct computing resources operationally connected to the computing-environment.

8. The device of claim 7 , wherein said previous initial concealment of said at least one location-specific secure-key is performed using at least one technique selected from the group consisting of: blinding encryption, partially-homomorphic encryption, and fully-homomorphic encryption.

9. The device of claim 7 , wherein said protection module is further configured for:

(iii) upon receiving from a client computing device a decryption request for said encrypted item, repetitively decrypting said encrypted item with each of said set of N location-specific secure-keys, wherein at least one said location-specific secure-key undergoes previous initial concealment in order:

(A) to prevent said at least one location-specific secure-key and at least one respective secure-key value from ever being known in an unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment.

10. The device of claim 9 , wherein said protection module is further configured for:

(iv) prior to said encrypting or subsequent to said decrypting, exchanging said secret item with an authorized requester while said secret item remains unknown to the computing-environment, thereby providing a secure, virtualized key-management system.

11. The device of claim 7 , wherein said encrypting and said previous initial concealment of said at least one location-specific secure-key can be performed on any element of a collection of computing resources operationally connected to the computing-environment, and wherein said previous initial concealment is performed differently on each said element, thereby preventing leakage of a concealed key from one said element from compromising any other said element.

12. The device of claim 7 , wherein said at least one location-specific secure-key undergoes said previous initial concealment further in order:

(B) to allow useful mathematical operations to be performed:

(I) on an unencrypted value of said secret item while said secret item remains encrypted, and said secret item is never known in an unencrypted form on any computing resource in any computing-environment other than during said previous initial concealment; and

(II) on unconcealed values of said location-specific secure-keys while said at least one location-specific secure-key remains in a concealed form, and said at least one location-specific secure-key is never known in an unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment; and

wherein said useful mathematical operations include at least one operation selected from the group consisting of: XOR, addition, subtraction, multiplication, division, modular addition, modular subtraction, modular multiplication, modular division, and combinations thereof.

13. A non-transitory computer-readable medium, having computer-readable code embodied on the non-transitory computer-readable medium, the computer-readable code comprising:

(a) program code for initially concealing at least one location-specific secure-key of a set of N location-specific secure-keys to undergo a previous initial concealment, wherein N is a positive whole number greater than one, wherein said at least one location-specific secure-key and at least one respective secure-key value were initially transmitted in concealed form, during said previous initial concealment of said at least one location-specific secure-key, from at least one entity selected from the group consisting of: a user device that initially encrypted a clear form of said at least one location-specific secure-key and a clear form of said at least one respective secure-key value during an initialization phase, and a trusted computing resource; and

(b) program code for, upon receiving from a client computing device an encryption request for protecting a secret item in a computing-environment, creating an encrypted item by repetitively encrypting said secret item with each of said set of N location-specific secure-keys in order:

(i) to prevent said at least one location-specific secure-key and said at least one respective secure-key value from ever being known in an unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment;

wherein each said location-specific secure-key of said set corresponds to an exclusive, respective encryption location, wherein said locations are regions of memory located in different, physically-distinct computing resources operationally connected to the computing-environment.

14. The non-transitory computer-readable medium of claim 13 , wherein said previous initial concealment includes at least one technique selected from the group consisting of: blinding encryption, partially-homomorphic encryption, and fully-homomorphic encryption.

15. The non-transitory computer-readable medium of claim 13 , the computer-readable code further comprising:

(c) program code for, upon receiving a decryption request for said encrypted item, for repetitively decrypting said encrypted item with each of said set of N location-specific secure-keys, wherein at least one said location-specific secure-key undergoes previous initial concealment in order:

(i) to prevent said at least one location-specific secure-key and at least one respective secure-key value from ever being known in unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment.

16. The non-transitory computer-readable medium of claim 15 , the computer-readable code further comprising:

(d) program code for, prior to said encrypting or subsequent to said decrypting, exchanging said secret item with an authorized requester while said secret item remains unknown to said computing-environment, thereby providing a secure, virtualized key-management system.

17. The non-transitory computer-readable medium of claim 13 , wherein said encrypting and said previous initial concealment of said at least one location-specific secure-key can be performed on any element of a collection of computing resources operationally connected to said computing-environment, wherein said previous initial concealment is configured to be performed differently on each said element, thereby preventing leakage of a concealed key from one said element from compromising any other said element.

18. The non-transitory computer-readable medium of claim 13 , wherein said at least one location-specific secure-key undergoes said previous initial concealment further in order:

(ii) to allow useful mathematical operations to be performed:

(A) on an unencrypted value of said secret item while said secret item remains encrypted, and said secret item is never known in an unencrypted form on any computing resource in any computing-environment other than during said previous initial concealment; and

(B) on unconcealed values of said location-specific secure-keys while said at least one location-specific secure-key remains in a concealed form, and said at least one location-specific secure-key is never known in an unconcealed form on any computing resource in any computing-environment other than during said previous initial concealment; and

wherein said useful mathematical operations include at least one operation selected from the group consisting of: XOR, addition, subtraction, multiplication, division, modular addition, modular subtraction, modular multiplication, modular division, and combinations thereof.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2013
From: PARANN-NISSANY, GILAD; SHEFFER, YARON
To: PORTICOR LTD.
Reel/Frame 029924/0091 →
Continuity (3)
Provisional Application 61563893 · Nov 28, 2011
Provisional Application 61603383 · Feb 27, 2012
Related Publication 20150143111A1 · May 21, 2015