IP Library Granted Patent US 8,718,283
Granted Patent B2
US 8,718,283 · App. 10/474,980 · Granted May 6, 2014

System and method for processing a shared secret

Inventor: William Whyte (Somerville, MA)
Assignee: Verizon Ireland Limited
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 8,718,283
App. No.
10/474,980
Granted
May 6, 2014
Kind
B2
Abstract

A method of constructing shares in a secret is disclosed. The method operates in a network comprising a number of computing devices, each arranged to securely store at least one share in the secret k for which n shares are required to reconstruct the secret and to which access to a number m of the shares can be reliably provided at any given time. The method comprises the steps of: determining n shares for an n-of-n secret sharing scheme, each share comprising a value y; storing at least some of the shares in the computing devices such that at least m of the n shares are reliably accessible; determining the shared secret k according to the shares y; determining a further (n-m) shares consistent with the shared secret k and the shares y; and storing the additional shares in a reliably accessible location.

Claims (56)

1. In a network comprising a number of computing devices, each arranged to securely store at least one share in a secret k for which n shares are required to reconstruct the secret and to which access to a number m of said shares can be reliably provided at any given time, a method of constructing shares in a secret comprising:

determining n shares for an n-of-n secret sharing scheme, each share comprising a value y;

storing at least some of said shares in said computing devices such that at least m of said n shares are reliably accessible, wherein m is less than n; and

determining the shared secret k including:

determining that (n-m) shares of said n shares will be unreliably accessible;

generating (n-m) public shares consistent with the shared secret k and the shares value y, wherein each of the (n-m) public shares represents one of the unreliably accessible shares;

storing the (n-m) public shares in a reliably accessible location; and

combining any set of m of said n shares with said (n-m) public shares to regenerate the secret k.

2. In a network comprising a number of computing devices, each arranged to securely store at least one share in a secret k for which n shares are required to reconstruct the secret and to which access to a number m of said shares can be reliably provided at any given time, a method of reconstructing said secret comprising:

securely obtaining m shares from one or more secret share holders including at least one of said computing devices, wherein m is less than n;

obtaining (n-m) public shares that are consistent with the secret k and the shares value y from a reliably accessible location, wherein each of the (n-m) public shares represents an unreliably accessible share; and

constructing the shared secret k according to said m shares and said (n-m) public shares.

3. In a network comprising a number of computing devices, each arranged to securely store at least one share in a secret k for which n shares are held by n number of secret share holders and required to reconstruct the secret and to which access to a number m of said shares can be reliably provided at any given time, a method of updating said secret comprising:

reconstructing said secret k according to the steps of:

securely obtaining m shares from one or more secret share holders including at least one of said computing devices, wherein m is less than n;

obtaining (n-m) public shares that are consistent with the secret k and the shares value y from a reliably accessible location, wherein each of the (n-m) public shares represents an unreliably accessible share and wherein the (n-m) public shares are not included in the n shares held by the n number of secret share holders; and

constructing the shared secret k according to said m shares and said (n-m) public shares;

deducing from the obtained shares the values of the shares for the unobtained n-m shares of the secret, each of the unobtained n-m shares being associated with one of the unreliably accessible shares;

determining for each location from which a share was securely obtained a new share value y′;

determining a new shared secret k′ according the new share values y′ and the unobtained share values;

storing at least some of said new shares in said computing devices such that at least m of said new shares and said unobtained shares are reliably accessible;

generating additional (n-m) public shares which are consistent with the new share values and the unobtained share values; and

storing the additional (n-m) public shares in a reliably accessible location.

4. A method according to claim 3 wherein said step of determining for each location from which a share was securely obtained a new share value y′ comprises:

generating said new shares value y′ and transmitting at least one new share value y′ securely to one of the computing devices; and

requesting confirmation that they have been received.

5. A method according to claim 3 wherein said step of determining for each location from which a share was securely obtained a new share value y′ comprises:

requesting each location from which a share was securely obtained to generate and securely return a new share value y′.

6. Apparatus for constructing shares in a secret and operable within a network comprising a number of computing devices, each arranged to securely store at least one share in a secret k for which n shares are required to reconstruct the secret and to which access to a number m of said shares can be reliably provided at any given time, comprising:

a client device configured to:

determine n shares for an n-of-n secret sharing scheme, each share comprising a value y;

cause at least some of said shares to be stored in said computing devices such that at least m of said n shares are reliably accessible, wherein m is less than n; and

determine the shared secret k including:

determining that (n-m) shares of said n shares will be unreliably accessible;

generating (n-m) public shares consistent with the shared secret k and the shares value y, wherein each of the (n-m) public shares represents an unreliably accessible share;

causing the (n-m) public shares to be stored in a reliably accessible location; and

combining any set of m of said n shares with said (n-m) public shares to regenerate the secret k.

7. Apparatus for reconstructing a secret and operable in a network comprising a number of computing devices, each arranged to securely store at least one share in a secret k for which n shares are required to reconstruct the secret and to which access to a number m of said shares can be reliably provided at any given time, comprising:

a client device configured to:

securely obtain m shares from one or more secret share holders including at least one of said computing devices, wherein m is less than n;

obtain (n-m) public shares that are consistent with the secret k from a reliably accessible location, wherein each of the (n-m) public shares represents an unreliably accessible share; and

construct the shared secret k according to said m shares and said (n-m) public shares.

8. A non-transitory computer readable medium that includes computer readable instructions that can cause a computer to construct a secret by:

determining n shares for an n-of-n secret sharing scheme, each share comprising a value y;

storing at least some of said shares in said computing devices such that at least m of said n shares are reliably accessible, wherein m is less than n;

determining the shared secret k including:

determining that (n-m) shares of said n shares will be unreliably accessible;

generating (n-m) public shares consistent with the shared secret k and the shares value y, wherein each of the (n-m) public shares represents the unreliably accessible share;

storing the further shares in a reliably accessible location; and

combining any set of m of said n shares with said (n-m) public shares to regenerate the secret k.

9. A non-transitory computer readable medium that includes computer readable instructions that can cause a computer to re-construct a secret by:

securely obtaining m shares from one or more secret share holders including at least one of said computing devices, wherein m is less than n;

obtaining (n-m) public shares that are consistent with the secret k and the shares value y from a reliably accessible location, wherein each of the (n-m) public shares represents an unreliably accessible share; and

constructing the shared secret k according to said m shares and said (n-m) public shares.

10. A method as claimed in claim 1 wherein the step of determining n shares comprises:

determining n arbitrary numbers w, said values y being calculated from said numbers w.

Assignments (4)
AGREEMENT Recorded Mar 20, 2014
From: CYBERTRUST IRELAND LIMITED
To: VERIZON IRELAND LIMITED
Reel/Frame 032485/0838 →
CHANGE OF NAME Recorded Sep 19, 2007
From: BETRUSTED IRELAND LIMITED
To: CYBERTRUST IRELAND LIMITED
Reel/Frame 019845/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2004
From: BALTIMORE TECHNOLOGIES LIMITED
To: BETRUSTED IRELAND LIMITED
Reel/Frame 015808/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2003
From: WHYTE, WILLIAM
To: BALTIMORE TECHNOLOGIES LIMITED
Reel/Frame 015006/0857 →
Priority Claims (1)
IE S2001/0423 · Apr 27, 2001 · national
Continuity (1)
Related Publication 20040117649A1 · Jun 17, 2004