IP Library › Granted Patent US 12,463,803
Granted Patent B2
US 12,463,803 · App. 18/237,972 · Granted Nov 4, 2025

Data holding system

Inventor: Masashi Kawaguchi (Tokyo, JP)
Assignee: Nomura Research Institute, Ltd.
H04L9/085H04L9/008
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 12,463,803
App. No.
18/237,972
Granted
Nov 4, 2025
Kind
B2
Abstract

A data holding system holds n pieces of shares to be utilized for (m, n) secret distribution based multi-party computation (MPC) in n pieces of share holding servers in a distributed manner, and makes a new revision by updating each share based on a random number cooperatively in each of the share holding servers, to cancel an influence of the random number at a time of restoration of original data. In a case of an access state in which access to the share of the same revision occurs or is likely to occur in (m−1) pieces of the share holding servers, access to the held share is locked in other (n−(m−1)) pieces of the share holding servers.

Claims (33)

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.

2 . The data holding system according to claim 1 , wherein the first share holding server

receives the responses from the second share holding servers, for a predetermined time after transmitting the message, and

rejects the request for access to the share held by the first share holding server when a number (m−m′) is equal to or less than a number (n−n′) after a lapse of the predetermined time, based on a number n′ of the second share holding servers each having received the response and based on a number m′ of the share holding servers in the access state, the number m′ being counted based on the received responses,

the number (m−m′) being a difference between the number m and the number m′

the number m being a minimum number of the shares required to restore the original data, and

the number (n−n′) being a number of the second share holding servers from which the responses have not been received.

3 . The data holding system according to claim 2 , wherein in a case where the number (m−m′) is equal to or less than the number (n−n′), instead of rejecting the request for access to the share held by the first share holding server, the first share holding server waits for update of a revision of the share, and transmits the message again to each of other (n−1) pieces of the second share holding servers after update of the revision of the share.

4 . The data holding system according to claim 1 , wherein

for each of the second share holding servers,

in a case where a request for access to the share held by the second share holding servers occurs, when the second share holding server receives the message transmitted from the first share holding server, the second share holding server transmits, to the first share holding server, the response indicating being in the access state for the share held by the second share holding server, even before determining whether or not to permit access to the share held by the second share holding server.

5 . The data holding system according to claim 1 , wherein for each of the second share holding servers,

when the second share holding server transmits the response indicating being not in the access state for the share held by the second share holding server in response to the message received from the first share holding server, the second share holding server continuously transmits, to the first share holding server, the response including information indicating whether or not to be in the access state for the share held by the second share holding server, for every second period during a first period thereafter, the second period being shorter than the first period.

6 . The data holding system according to claim 5 , wherein

when the request for access to the share held by the first share holding server occurs, the first share holding server

receives the responses from the second share holding servers, during a period from when the first share holding server transmits the message to the second share holding servers to when the first period elapses before permitting the access, and

counts the number of the share holding servers in the access state for the share of the revision same as the first revision after elapse of the first period, based on the response indicating a latest revision among the responses received from the second share holding servers.

7 . The data holding system according to claim 6 , wherein

in a case where the first period has elapsed after the first share holding server transmits the message to the second share holding servers during a period from when the revision of the share held by the first share holding server is updated to the first revision to when the third period has elapsed, the first share holding server

receives the responses from the second share holding servers, until the third period further elapses after the first period has elapsed, and

counts the number of the share holding servers in the access state for the share of the revision same as the first revision after the third period further elapses after the first period has elapsed, based on the response indicating a latest revision among the responses received from the second share holding servers.

8 . The data holding system according to claim 1 , wherein for each of the second share holding servers,

regardless of whether or not the message is received from the first share holding server, the second share holding server continuously transmits the response including information on whether or not to be the access state for the share held by the second share holding server, to other (n−1) pieces of the share holding servers every second period.

Priority Claims (1)
JP 2022-174915 · Oct 31, 2022 · national
Continuity (1)
Related Publication 20240146515A1 · May 2, 2024
References Cited (12)
US 8483386B2 · Obana · 2013 [cited by examiner]
US 9230075B1 · Robinson · 2016 [cited by examiner]
US 20150288662A1 · Bilogrevic · 2015 [cited by examiner]
US 20150349958A1 · Lindell · 2015 [cited by examiner]
US 20200044863A1 · Yadlin · 2020 [cited by examiner]
US 20200228325A1 · Fan · 2020 [cited by examiner]
US 20200389304A1 · Gryb · 2020 [cited by examiner]
US 20210258149A1 · Kawaguchi · 2021 [cited by examiner]
US 20230120202A1 · Yanai · 2023 [cited by examiner]
US 20230177496A1 · Le Van Gong · 2023 [cited by examiner]
US 20230325252A1 · Ming Chang · 2023 [cited by examiner]
JP 2021128261A · 2021 [cited by applicant]