Data access control system and method thereof
AssigneeIndustrial Technology Research Institute
InventorsMin-Jea Gau, Yen-Sha Chen, Wen Tsuei, Wen-Hsin Yang, Jen-Chieh Cheng
Life of this patent
Estimating the term…
Abstract
A data access control system and a method thereof is disclosed. First, the master key is divided into n subkeys to be kept by n holders, by way of secret sharing. The master key reconstruction procedure utilizes the shared secret with the subkey holders to obtain m subkeys (1<m<n) and then reconstructs the master key, using the (m,n)-threshold scheme. The system then uses the master key to access the data. Thus, m subkeys are required to reconstruct the master key in order to amend or read the data in the system.
Claims23
A method for data access control, wherein a master key is used to control data access in a data storage device when the data storage device is requested to be accessed, the method comprising:
- dividing the master key into n initial subkeys which are kept separately, wherein a (m,n)-threshold scheme is used, and m is a natural number larger than 1 but smaller than n an initial subkey i of the n initial subkeys is kept by a subkey holder i and i =1, . . . , n;
- using a master key reconstruction procedure to reconstruct the master key according to m packaged subkeys when the m packaged subkeys are received from m of the n subkey holders, comprising the steps of:
- sending a code based on a polynomial g(x) and a random number k from the master key reconstruction procedure to the n subkey holders, wherein the polynomial g(x) is a pre-shared secret of the n subkey holders and the master key reconstruction procedure, and the random number k is generated when the data storage device is requested to be accessed;
- and
- receiving the m packaged subkeys from m of the n subkey holders, wherein m is smaller than n, and each of the m packaged subkeys is based on a sum of a first polynomial and a second polynomial, where the first polynomial is based on the respective initial subkey kept by the subkey holder and the second polynomial is based on the code, the random number, and a shared secret d which is a shared secret between the n subkey holders and the master key reconstruction procedure;
- and
- using the master key to encrypt and decrypt data of the data storage device while said data is desired to be accessed.
A method for secure data access control, wherein a master key is used to control data access in an information system having data, the method comprising:
- dividing the master key into n first subkeys that are kept separately by corresponding n subkey holders;
- using a master key reconstruction procedure and dynamic data log-in to obtain m second subkeys in order to reconstruct the master key, wherein m is a natural number larger than 1 but smaller than n, comprising the steps of:
- sending a code based on a polynomial g(x) and a random number kt from the master key reconstruction procedure to the n subkey holders when the information system is requested to be accessed, wherein the polynomial g(x) is a pre-shared secret of the n subkey holders and the master key reconstruction procedure, and the random number kt is generated when the dynamic data log-in is performed;
- and
- receiving the m packaged subkeys from m of the n subkey holders, wherein m is smaller than n, and each of the m packaged subkeys is based on a sum of a first polynomial and a second polynomial, where the first polynomial is based on the respective first subkey kept by the subkey holder and the second polynomial is based on the code, the random number kt, and a shared secret d which is a shared secret between the n subkey holders and the master key reconstruction procedure;
- and
- using the master key to encrypt and decrypt said data while said data is desired to be accessed.
A data access control system for controlling data access with a master key, wherein the master key is divided into n initial subkeys by using a (m,n)-threshold scheme, the n initial subkeys are kept by n subkey holders, m is a natural number larger than 1 but smaller than n, the system comprising:
- a data storage unit for saving data which are encrypted and decrypted with the master key;
- a master key reconstruction module, which receives m packaged subkeys to reconstruct the master key;
- and
- a data control module, which uses the master key reconstructed by the master key reconstruction module to control accessing the data from the data storage unit:
- wherein when the data storage unit is requested to be accessed:
- the master key reconstruction module sends a code based on a polynomial g(x) and a random number k from the master key reconstruction module to the n subkey holders, wherein the polynomial g(x) is a pre-shared secret of the n subkey holders and the master key reconstruction module, and the random number k is generated when the data storage unit is requested to be accessed;
- and
- the master key reconstruction module receives the m packaged subkeys from m of the n subkey holders, wherein each of the m packaged subkeys is based on a sum of a first polynomial and a second polynomial, where the first polynomial is based on the respective initial subkey kept by the subkey holder and the second polynomial is based on the code, the random number k, and a shared secret d which is a shared secret between the n subkey holders and the master key reconstruction module.
A method for controlling data access in a data storage device with a master key, wherein the master key is kept secret, n initial subkeys are generated based on the master key by using a (m,n)-threshold scheme and given to n subkey holders respectively, and m is a natural number larger than 1 but smaller than n, the method comprising the steps of:
- requiring agreement of the m subkey holders when a request for accessing the data storage device is made, comprising the step of:
- sending a code based on a polynomial g(x) and a random number k to the n subkey holders, wherein the polynomial g(x) is kept secret over the n subkey holders and the random number k is generated dynamically and corresponds to the request for accessing the data storage device;
- receiving m packaged subkeys from m of the n subkey holders, wherein m is smaller than n, and each of the m packaged subkeys is based on a sum of a first polynomial and a second polynomial, wherein the first polynomial is based on the respective m initial subkeys kept by the m of the n subkey holders, the second polynomial is based on the code and a shared secret d between the n subkey holders;
- reconstructing the master key according to the m packaged subkeys;
- and
- using the master key reconstructed according to the m packaged subkeys to encrypt and decrypt data of the data storage device when the data is desired to be accessed.
Dependencies are inferred from the claim text.