Proactive secret sharing is an underlying technique in Proactive Security Protocols.
It is a method to update distributed
keys
Key or The Key may refer to:
Common meanings
* Key (cryptography), a piece of information that controls the operation of a cryptography algorithm
* Key (lock), device used to control access to places or facilities restricted by a lock
* Key (ma ...
(
shares
In financial markets, a share is a unit of equity ownership in the capital stock of a corporation, and can refer to units of mutual funds, limited partnerships, and real estate investment trusts. Share capital refers to all of the shares of an ...
) in a
secret sharing
Secret sharing (also called secret splitting) refers to methods for distributing a secret among a group, in such a way that no individual holds any intelligible information about the secret, but when a sufficient number of individuals combine th ...
scheme periodically such that an attacker has less time to compromise shares and as long as the attacker visits less than a threshold or a quorum group, the system remains secure. This contrasts to a non-proactive scheme where if the threshold number of shares are compromised during the lifetime of the secret, the
secret
Secrecy is the practice of hiding information from certain individuals or groups who do not have the "need to know", perhaps while sharing it with other individuals. That which is kept hidden is known as the secret.
Secrecy is often controvers ...
is compromised. The model which takes time constraints into account was originally suggested as an extension of the notion of
Byzantine fault tolerance
A Byzantine fault (also Byzantine generals problem, interactive consistency, source congruency, error avalanche, Byzantine agreement problem, and Byzantine failure) is a condition of a computer system, particularly distributed computing systems, ...
where redundancy of sharing allows robustness into the time domain (periods) and was proposed by
Rafail Ostrovsky
Rafail Ostrovsky is a distinguished professor of computer science and mathematics at UCLA and a well-known researcher in algorithms and cryptography.
Biography
Rafail Ostrovsky received his Ph.D. from MIT in 1992.
He is a member of the editor ...
and
Moti Yung
Mordechai M. "Moti" Yung is a cryptographer and computer scientist known for his work on cryptovirology and kleptography.
Career
Yung earned his PhD from Columbia University in 1988 under the supervision of Zvi Galil. In the past, he worked at t ...
in 1991. The method has been used in the areas of cryptographic protocols in
secure multi-party computation
Secure multi-party computation (also known as secure computation, multi-party computation (MPC) or privacy-preserving computation) is a subfield of cryptography with the goal of creating methods for parties to jointly compute a function over their ...
and in
threshold cryptosystem A threshold cryptosystem, the basis for the field of threshold cryptography, is a cryptosystem that protects information by encrypting it and distributing it among a cluster of fault-tolerant computers. The message is encrypted using a public key, ...
s.
Motivation
If the players (holders of the shared secret) store their shares on insecure computer servers, an
attacker
In some team sports, an attacker is a specific type of player, usually involved in aggressive play. Heavy attackers are, usually, placed up front: their goal is to score the most possible points for the team. In association football
Assoc ...
could crack in and steal/learn the shares. Since it is not often practical to change the secret, the un-compromised (honest) (
Shamir-style)
shares
In financial markets, a share is a unit of equity ownership in the capital stock of a corporation, and can refer to units of mutual funds, limited partnerships, and real estate investment trusts. Share capital refers to all of the shares of an ...
should be updated in a way that they generate the same secret, yet the old shares are invalidated. There is also a need to recover shares of previously corrupted servers, and the community of honest server is needed to perform the recovery. This assures the longevity of the secure and recoverable sharing, or secure and correct secure computation protocols.
If one needs to maintain sharing while changing the number of servers or the threshold, then proactive method with share recovery enables this, as was originally shown by Frankel and others. The ability of distributing the secret (codeword) and then recovering the distributed shares as the proactive secret sharing method does, was recognized as much needed in storage systems around 2010, and in reaction, coding theorists renamed the method, further refined it, and formalized is as `regenerating codes' and `locally recoverable codes.'
Mathematics
This follows somewhat the work in.
In order to update the shares, the dealers (i.e., the persons who gives out the shares; and in a distributed system it is all participants one at a time) generates a new random polynomial with constant term zero and calculates for each remaining player a new ordered pair, where the x-coordinates of the old and new pairs are the same. Each player then adds the old and new y-coordinates to each other and keeps the result as the new y-coordinate of the secret.
* The dealer constructs a random polynomial over a field of degree
where
is the threshold
* Each player gets the share
where
,
is the number of players, and
is the share for player
at time interval
* The secret can be reconstructed via interpolation of
shares
* To update the shares, all parties need to construct a random polynomial of the form
* Each player
sends all other players
* Each player updates their share by
where
is the time interval in which the shares are valid
All of the non-updated shares the attacker accumulated become useless. An attacker can only recover the secret if he can find enough other non-updated shares to reach the threshold. This situation should not happen because the players deleted their old shares. Additionally, an attacker cannot recover any information about the original secret from the update process because it only contains random information.
The dealer can change the threshold number while distributing updates, but must always remain vigilant of players keeping expired shares as in.
However this is a somewhat limited view since the original methods gives the community of server the ability to be the re-sharing dealer and the regenerator of lost shares.
Example
The following example has 2 shares and a threshold of 2 with 2 players and 1 dealer. Since shares and polynomials are only valid for a certain time period, the time period they are valid is denoted with a superscript.
* All parties agree on a finite field:
* The dealer establishes a secret:
* The dealer constructs a random polynomial over
of degree 2 - 1 (threshold of 2)
**
** note
* Player 1 gets share
and player 2 gets share
* To reconstruct the secret, use
and
** Since
is a line, we can use point slope form to interpolate
**
**
**
**
* To update the shares, all parties need to construct random polynomials of degree 1 such that the
free coefficient is zero
** Player 1 constructs
** Player 2 constructs
* Each player evaluates their polynomial and shares some information with other players
** Player 1 computes
and
in
** Player 1 sends Player 2
** Player 2 computes
and
in
** Player 2 sends Player 1
* Each player updates their share by
** Player 1 computes
** Player 2 computes
* Confirm updated shares generate same original secret
** Use
and
to reconstruct the polynomial
** Since
is a line, we can use point slope
**
**
**
**
See also
*
Key (cryptography)
A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm, can encode or decode cryptographic data. Based on the used method, the key ...
*
Key generation
Key generation is the process of generating keys in cryptography. A key is used to encrypt and decrypt whatever data is being encrypted/decrypted.
A device or program used to generate keys is called a key generator or keygen.
Generation in crypt ...
*
Key distribution In symmetric key cryptography, both parties must possess a secret key which they must exchange prior to using any encryption. Distribution of secret keys has been problematic until recently, because it involved face-to-face meeting, use of a trust ...
*
Key management
Key management refers to management of cryptographic keys in a cryptosystem. This includes dealing with the generation, exchange, storage, use, crypto-shredding (destruction) and replacement of keys. It includes cryptographic protocol design, ...
*
Shamir's Secret Sharing
Shamir's Secret Sharing (SSS) is an efficient secret sharing algorithm for distributing private information (the "secret") in such a way that no individual holds intelligible information about the secret. To achieve this, the secret is converted ...
References
{{crypto navbox
Secret sharing