IP Library Granted Patent US 11,664,988
Granted Patent B2
US 11,664,988 · App. 17/107,786 · Granted May 30, 2023

Method and system for encrypting and decrypting secrets using escrow agents

Inventors: Seth Jacob Rothschild (Littleton, MA); Radia Joy Perlman (Redmond, WA); Alex Robbins (Mansfield, MA)
Assignee: EMC IP HOLDING COMPANY LLC
H04L9/0894G06F21/30H04L9/0643H04L9/0869H04L9/3013
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,664,988
App. No.
17/107,786
Granted
May 30, 2023
Kind
B2
Abstract

A method for securing a secret of a client using an escrow agent operatively connected to the client includes initiating enrollment of the client with the escrow agent, wherein the enrollment results the escrow agent generating a key pair comprising a public key and a private key, obtaining the public key from the escrow agent, wherein the private key is not shared with the client, encrypting the secret with the public key to obtain an encrypted secret, and storing the encrypted secret on the client.

Claims (69)

1. A method for securing a secret of a client using an escrow agent operatively connected to the client, the method comprising:

initiating enrollment of the client with the escrow agent, wherein the enrollment results the escrow agent generating a key pair comprising a public key and a private key;

obtaining the public key from the escrow agent, wherein the private key is not shared with the client;

encrypting the secret with the public key to obtain an encrypted secret, wherein encrypting the secret with the public key to obtain the encrypted secret comprises:

dividing the secret into N portions, wherein N is greater than or equal to 2;

encrypting a first portion of the N portions with the public key to obtain a first encrypted portion,

encrypting a second portion of the N portions with a second public key associated with a second escrow agent to obtain a second encrypted portion;

storing the first encrypted portion and the second encrypted portion on the client; and

storing the encrypted secret on the client.

2. The method of claim 1 , further comprising:

after the storing:

authenticating the client, upon successful authentication, sending the encrypted secret to the escrow agent for decryption, wherein the escrow agent is configured to decrypt the encrypted secret using the private key to obtain the secret; and

receiving in response to the sending, the secret.

3. The method of claim 1 , further comprising:

after the storing:

performing a blinding operation on the encrypted secret to obtain a blinded encrypted secret;

sending the blinded encrypted secret to the escrow agent for decryption, wherein the escrow agent is configured to decrypt the blinded encrypted secret using the private key to obtain the blinded secret;

receiving in response to the sending, the blinded secret; and

performing an unblinding operation on the blinded secret to obtain the blinded secret, wherein the escrow agent does not have access to the secret.

4. The method of claim 3 , wherein performing the blinding operation comprises using a blinding value, wherein the blinding value is only known to the client.

5. The method of claim 4 , wherein performing the unblinding operation comprises using the blinding value.

6. The method of claim 1 , further comprising:

sending at least K encrypted portions to K escrow agents, wherein the escrow agent is one of the at least K escrow agents, wherein K is less than N;

obtaining K portions from the K escrow agents; and

generating the secret using the K portions.

7. A method for securing a secret of a client using an escrow agent operatively connected to the client, the method comprising:

initiating enrollment of the client with the escrow agent, wherein the enrollment results the escrow agent and the client establishing a base value (g) and prime modulus value (p), and wherein the escrow agent generates a private number (B_C) that is associated with the client but is not accessible to the client;

obtaining a public key from the escrow agent, wherein the public key is derived from g, p, and B_C;

generating an encryption key using the public key and a private random number A, wherein A is not accessible to the escrow agent;

encrypting the secret using the encryption key to obtain an encrypted secret; and

storing the encrypted secret and an additional key in the client, wherein the additional key is a function of p, g, and A.

8. The method of claim 7 , wherein A is deleted after the encryption key is generated.

9. The method of claim 7 , further comprising:

performing a blinding operation on the additional key to obtain a blinded additional key;

sending the blinded additional key to the escrow agent, wherein the escrow agent is configured to generate a blinded encryption key using the blinded additional key and B_C; and

receiving in response to the sending, the blinded encryption key; and

performing an unblinding operation on the blinded encryption key to obtain the encryption key; and

decrypting the encrypted secret using the encryption key to obtain the secret.

10. The method of claim 9 , wherein performing the blinding operation comprises:

obtaining a number z, wherein z is only known to the client; and

generating the blinded additional key using z and the additional key.

11. The method of claim 10 , wherein performing the unblinding operation comprises:

determining a number z′, wherein g zz ′, =1 mod p;

obtaining the decryption key using z′ and the blinded decryption key.

12. The method of claim 7 , wherein generating the encryption secret further comprises using a hash function.

13. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for securing a secret of a client using an escrow agent operatively connected to the client, the method comprising:

initiating enrollment of the client with the escrow agent, wherein the enrollment results the escrow agent generating a key pair comprising a public key and a private key;

obtaining the public key from the escrow agent, wherein the private key is not shared with the client;

encrypting the secret with the public key to obtain an encrypted secret; and storing the encrypted secret on the client, wherein encrypting the secret with the public key to obtain the encrypted secret comprises:

dividing the secret into N portions, wherein N is greater than or equal to 2;

encrypting a first portion of the N portions with the public key to obtain a first encrypted portion,

encrypting a second portion of the N portions with a second public key associated with a second escrow agent to obtain a second encrypted portion; and

storing the first encrypted portion and the second encrypted portion on the client.

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

after the storing:

authenticating the client, upon successful authentication, sending the encrypted secret to the escrow agent for decryption, wherein the escrow agent is configured to decrypt the encrypted secret using the private key to obtain the secret; and

receiving in response to the sending, the secret.

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

after the storing:

performing a blinding operation on the encrypted secret to obtain a blinded encrypted secret;

sending the blinded encrypted secret to the escrow agent for decryption, wherein the escrow agent is configured to decrypt the blinded encrypted secret using the private key to obtain the blinded secret;

receiving in response to the sending, the blinded secret; and

performing an unblinding operation on the blinded secret to obtain the blinded secret, wherein the escrow agent does not have access to the secret.

16. The non-transitory computer readable medium of claim 13 , wherein performing the blinding operation comprises using a blinding value, wherein the blinding value is only known to the client.

17. The non-transitory computer readable medium of claim 16 , wherein performing the unblinding operation comprises using the blinding value.

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

sending at least K encrypted portions to K escrow agents, wherein the escrow agent is one of the at least K escrow agents, wherein K is less than N;

obtaining K portions from the K escrow agents; and

generating the secret using the K portions.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: ROTHSCHILD, SETH JACOB; PERLMAN, RADIA JOY; ROBBINS, ALEX
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054757/0595 →