| CPC H04L 9/085 (2013.01) [H04L 9/008 (2013.01)] | 8 Claims |

|
1. A data holding system including n pieces of share holding servers, a number n being an integer, wherein
the n pieces of the share holding servers hold n pieces of shares, respectively,
the n pieces of shares are generated from original data by additive secret distribution, the n pieces of shares being to be utilized for (m, n) secret distribution based multi-party computation (MPC), where a number m being an integer equal to or smaller than the number n, and (m, n) secret distribution being a secret distribution in which (i) the original data is distributed into n pieces of shares, and (ii) m or more pieces of shares are required to restore the original data
the n pieces of the share holding servers share a timing of updating the n pieces of the shares,
the n pieces of the share holding servers cooperate at the timing of updating to generate n pieces of shares of a new revision by updating the n pieces of shares based on a random number to cancel an influence of the random number at a time of restoration of the original data from the n pieces of shares of the new revision,
the updating the n pieces of shares includes either (i) adding the random number to one of the n pieces of shares while subtracting the random number to another of the n pieces of shares, or (ii) adding the random number to one of the n pieces of shares while adding a certain value to another of the n pieces of shares, a sum of the random number and the certain value being zero under a predetermined modulo operation,
in a case of an access to the share of a first revision occurs in (m−1) pieces of the share holding servers among the share holding servers in an access state in which access to the share held by the share holding servers occurs, a request for access to the share is rejected in other (n−(m−1)) pieces of the share holding servers, a number (m−1) being an integer smaller than the number m by one, a number (n−(m−1)) being an integer smaller than the number n by the number (m−1),
the n pieces of share holding servers includes a first share holding server and (n−1) pieces of second share holding servers other than the first share holding server, a number (n−1) being an integer smaller than the number n by one,
when a request for access to the share held by the first share holding server has occurred, the first share holding server transmits a message to the second share holding servers before permitting the access, the message indicating occurrence of the request for access to the share held by the first share holding server,
for each of the second share holding servers, when receiving the message, the second share holding server transmits, to the first share holding server, a response including information indicating whether or not to be in the access state for the share held by the second share holding server and information on a revision of the share held by the second share holding server, and
the first share holding server counts a number of the share holding servers in the access state for the share of a revision same as the first revision, based on the responses received from the second share holding servers.
|