Data access control method, electronic device, storage medium and program product

By using a secret sharing algorithm in data access control to split and verify secret information, the security and verifiability problems caused by the forgery of digital signatures in distributed access control are solved, and higher security and credibility are achieved .

CN119299207APending Publication Date: 2025-01-10BEIJING TOPSEC NETWORK SECURITY TECH +2
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411568434.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-05
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

When the existing distributed data access control method is forged, it may cause the data accessor to illegally access data and lack security and verifiability.

Method used

By using a secret sharing algorithm to split the preset secret information into multiple third secret information when the data-owned terminal receives data access requests, and sends it to a distributed participating terminal. The data access terminal uses multiple authorization certificates and The first secret information restores the second secret information, comparing it with the preset secret information to determine whether access token information is issued.

Benefits of technology

Improve the security and verifiability of the distributed access control process, prevent the forgery of secret shares, and ensure that only legitimate data access terminals can obtain access tokens, thereby ensuring the security of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299207A_ABST
    Figure CN119299207A_ABST
Patent Text Reader

Abstract

The invention discloses a data access control method, electronic equipment, a storage medium and a program product, and the method comprises the steps that a data owning terminal receives a data access request sent by a data access terminal, and the data access request at least comprises a plurality of authorization certificates and a plurality of pieces of first secret information; determining second secret information corresponding to the data access request according to the plurality of pieces of first secret information; determining access token information corresponding to the data access request according to the second secret information and pre-stored preset secret information; wherein the preset secret information is split into third secret information through a secret sharing algorithm, and the third secret information is sent to the distributed participating terminal; and sending the access token information to the data access terminal, so that the data access terminal accesses the data according to the access token information. In this way, the security and verifiability of the distributed access control process can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network security technology, and in particular to a data access control method, electronic device, storage medium and program product. Background Art

[0002] At present, different data access control methods are used to ensure data security. Common data access control methods include access control list (ACL), discretionary access control (DAC), mandatory access control (MAC), role-based access control (RBAC), attribute-based access control (ABAC), content-based access control (CBAC) and constrained interface access control (CIAC). However, these data access control methods often rely on centralized permission management systems, and data access control decisions are usually made by a single centralized entity. If the centralized entity becomes an attack target, it may lead to single point failures, performance bottlenecks and potential security risks. Therefore, distributed control is particularly important. When accessing data based on distributed access control methods, digital signatures are generally used to ensure the integrity and validity of distributed access rights determination results. However, if the digital signature is forged, the data access party may illegally access the data of the data owner. Therefore, how to improve the security and verifiability of the data access control process is an urgent problem to be solved. Summary of the invention

[0003] The purpose of some embodiments of the present application is to provide a data access control method, electronic device, storage medium and program product. Through the technical solutions of the embodiments of the present application, the security and verifiability of the distributed access control process can be improved.

[0004] In a first aspect, some embodiments of the present application provide a data access control method, which is applied to a data-owning terminal, comprising:

[0005] Receiving a data access request sent by a data access terminal, wherein the data access request at least includes: a plurality of authorization certificates and a plurality of first secret information, and the authorization certificates and the first secret information correspond to each other;

[0006] Determining second secret information corresponding to the data access request based on the plurality of first secret information;

[0007] Determine access token information corresponding to the data access request according to the second secret information and the pre-stored preset secret information; wherein the preset secret information is split into third secret information by a secret sharing algorithm and sent to the distributed participating terminals;

[0008] The access token information is sent to the data access terminal so that the data access terminal accesses the data according to the access token information.

[0009] In some embodiments of the present application, preset secret information is obtained in advance. During the data access process, the data-owning terminal obtains multiple authorization certificates and multiple first secret information in the data access request sent by the data access terminal, and the multiple authorization certificates and multiple first secret information come from multiple participating terminals, and the first secret information is recovered to obtain second secret information, and the second secret information is compared with the preset secret information. According to the comparison result, it is determined whether to issue access token information corresponding to the data access request, and the access token information is sent to the data access terminal. The data access terminal accesses the data according to the access token information. In this way, the security and verifiability of the distributed access control process can be improved.

[0010] Optionally, the third secret information is obtained by using a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial.

[0011] Some embodiments of the present application adopt a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial to split the preset secret information into multiple third secret information and send them to each participating terminal to achieve secret sharing.

[0012] Optionally, when the third secret information is obtained by using a threshold secret sharing algorithm based on a secret polynomial, the method includes:

[0013] The data-owning terminal obtains pre-stored preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal, and the first random number is used for verifiable secret sharing;

[0014] The data-owning terminal obtains a t-order secret polynomial based on the preset secret information and the random coefficient value;

[0015] Determine the third secret information according to the t-order secret polynomial, the random value and the function value corresponding to the random value; wherein t is a threshold value corresponding to the threshold secret sharing algorithm;

[0016] The data possessing terminal transmits the third secret information to the participating terminal corresponding to the identification information.

[0017] When some embodiments of the present application use threshold secret sharing based on a secret polynomial, what is shared is the product of the first identification information of a randomly selected participating terminal and a random number, that is, the preset secret information. It is unpredictable which participating terminal's first identification information and random number will be selected, thereby ensuring that the secret share cannot be forged and improving the security of data access.

[0018] Optionally, when the third secret information is obtained by using an additive secret sharing algorithm, the method includes:

[0019] The data possessing terminal obtains pre-stored preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal;

[0020] The data-owning terminal determines the third secret information according to the additive secret sharing algorithm, and sends the corresponding third secret information to each participating terminal.

[0021] In some embodiments of the present application, when the data owning terminal uses additive secret sharing, since the data owning terminal is a participating terminal of the additive secret sharing, unless the data owning terminal participates in cheating, other participating terminals cannot jointly recover the secret data, thereby ensuring the verifiability of distributed access control.

[0022] Optionally, before receiving the data access request sent by the data access terminal, the method further includes:

[0023] The data access terminal sends a distributed access request to each participating terminal, so that each participating terminal verifies the access request;

[0024] When the authority verification is passed, the data access terminal receives the authorization certificate and the first secret information of each participating terminal sent by each participating terminal.

[0025] In some embodiments of the present application, the data access terminal initiates a distributed access request to each participating terminal, and each participating terminal performs access permission verification according to the global access control rules to determine whether the data access terminal has the right to access the data. If the verification passes, an authorization certificate signed by the participating terminal is generated, and the corresponding first secret information is sent to the data access terminal.

[0026] Optionally, the data access terminal sends a distributed access request to each participating terminal, so that each participating terminal performs authority verification on the access request, including:

[0027] The data access terminal sends a distributed access request to each participating terminal corresponding to the terminal identifier cached locally, so that the participating terminal verifies the access request according to the pre-stored access policy;

[0028] In the case of passing the verification, the data access terminal receives the authorization certificate and the fourth secret information sent by each participating terminal;

[0029] The participating terminal sends a distributed access request to each neighbor participating terminal corresponding to the terminal identifier cached locally, so that the neighbor participating terminal verifies the access request according to the pre-stored access policy; the participating terminal and the neighbor participating terminal are different terminals;

[0030] In the case of passing the verification, the data access terminal receives the authorization certificate and the fifth secret information sent by each neighbor participating terminal;

[0031] The data access terminal determines the fourth secret information and the fifth secret information as the first secret information.

[0032] In some embodiments of the present application, the data access terminal can send a distributed access request to each participating terminal corresponding to the locally cached ULID. If the authority verification is passed, these participating terminals will send the authorization certificate and the first secret information they hold to the data access terminal, and then each participating terminal will forward the access request to each participating terminal corresponding to the ULID locally cached by these participating terminals. In this way, a sufficient number of authorization certificates and first secret information sent by multiple participating terminals can be obtained.

[0033] Optionally, determining the second secret information corresponding to the data access request according to the plurality of first secret information includes:

[0034] When the amount of the first secret information is greater than a preset value, a secret reconstruction algorithm is used to restore the first secret information to obtain the second secret information.

[0035] In some embodiments of the present application, when the amount of first secret information is greater than a preset value, the data-owning terminal uses a secret reconstruction algorithm to recover the first secret information to obtain second secret information, which is then compared with the preset secret information, thereby improving the security and verifiability of data access.

[0036] In a second aspect, some embodiments of the present application provide a data access control device, applied to a data-owning terminal, including:

[0037] A receiving module, configured to receive a data access request sent by a data access terminal, wherein the data access request at least includes: a plurality of authorization certificates and a plurality of first secret information, and the authorization certificates and the first secret information correspond to each other;

[0038] A recovery module, configured to determine second secret information corresponding to the data access request based on the plurality of first secret information;

[0039] A judgment module, used to determine whether to issue access token information corresponding to the data access request according to the second secret information and the pre-stored preset secret information; wherein the preset secret information is split into third secret information by a secret sharing algorithm and sent to the distributed participating terminals;

[0040] The acquisition module is used to send access token information to the data access terminal so that the data access terminal can access the data according to the access token information.

[0041] In some embodiments of the present application, by pre-acquiring preset secret information, during the data access process, the data owning terminal obtains multiple authorization certificates and multiple first secret information in the data access request sent by the data access terminal, and the multiple authorization certificates and multiple first secret information come from multiple participating terminals, and the first secret information is recovered to obtain second secret information, the second secret information and the preset secret information are compared, and it is determined whether to issue access token information corresponding to the data access request based on the comparison result, and the access token information is sent to the data access terminal. The data access terminal accesses the data based on the access token information. In this way, the security and verifiability of the distributed access control process can be improved.

[0042] Optionally, the third secret information is obtained by using a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial.

[0043] In some embodiments of the present application, a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial is adopted to split the preset secret information into multiple third secret information and send them to each participating terminal to achieve secret sharing.

[0044] Optionally, the device further comprises a secret sharing module, and the secret sharing module is used to:

[0045] The data-owning terminal obtains pre-stored preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal, and the first random number is used for verifiable secret sharing;

[0046] The data-owning terminal obtains a t-order secret polynomial based on the preset secret information and the random coefficient value;

[0047] Determine the third secret information according to the t-order secret polynomial, the random value and the function value corresponding to the random value; wherein t is a threshold value corresponding to the threshold secret sharing algorithm;

[0048] The data possessing terminal transmits the third secret information to the participating terminal corresponding to the identification information.

[0049] In some embodiments of the present application, when using threshold secret sharing based on a secret polynomial, what is shared is the product of the first identification information of a randomly selected participating terminal and a random number, that is, the preset secret information, and it is unpredictable which participating terminal's first identification information and random number will be selected, thereby ensuring that the secret share cannot be forged, thereby improving the security of data access.

[0050] Optionally, the secret sharing module is used to:

[0051] The data-owning terminal obtains preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal;

[0052] The data-owning terminal sends corresponding third secret information to each participating terminal.

[0053] In some embodiments of the present application, when the data owning terminal uses additive secret sharing, since the data owning terminal is a participating terminal of the additive secret sharing, unless the data owning terminal participates in cheating, other participating terminals cannot jointly recover the secret data, thereby ensuring the verifiability of distributed access control.

[0054] Optionally, the device further comprises a verification module, and the verification module is used to:

[0055] The data access terminal sends a distributed access request to each participating terminal, so that each participating terminal verifies the access request;

[0056] When the authority verification is passed, the data access terminal receives the authorization certificate and the first secret information of each participating terminal sent by each participating terminal.

[0057] In some embodiments of the present application, the data access terminal initiates a distributed access request to each participating terminal, and each participating terminal performs access permission verification based on the global access control rules to determine whether the user has the right to access the data. If the verification is successful, an authorization certificate signed by the participating terminal is generated, and the corresponding first secret information is sent to the data access terminal.

[0058] Optionally, the data access terminal sends a distributed access request to each participating terminal, so that each participating terminal performs authority verification on the access request, including:

[0059] The data access terminal sends a distributed access request to each participating terminal corresponding to the terminal identifier cached locally, so that the participating terminal verifies the access request according to the pre-stored access policy;

[0060] In the case of passing the verification, the data access terminal receives the authorization certificate and the fourth secret information sent by each participating terminal;

[0061] The participating terminal sends a distributed access request to each neighbor participating terminal corresponding to the terminal identifier cached locally, so that the neighbor participating terminal verifies the access request according to the pre-stored access policy; the participating terminal and the neighbor participating terminal are different terminals;

[0062] In the case of passing the verification, the data access terminal receives the authorization certificate and the fifth secret information sent by each neighbor participating terminal;

[0063] The data access terminal determines the fourth secret information and the fifth secret information as the first secret information.

[0064] In some embodiments of the present application, the data access terminal can send a distributed access request to each participating terminal corresponding to the locally cached ULID. If the authority verification is passed, these participating terminals will send the authorization certificate and the first secret information they hold to the data access terminal, and then each participating terminal will forward the access request to each participating terminal corresponding to the ULID locally cached by these participating terminals. In this way, a sufficient number of authorization certificates and first secret information can be obtained.

[0065] Optionally, a recovery module is used to:

[0066] When the amount of the first secret information is greater than a preset value, a secret reconstruction algorithm is used to restore the first secret information to obtain the second secret information.

[0067] In some embodiments of the present application, when the amount of first secret information is greater than a preset value, the data-owning terminal uses a secret reconstruction algorithm to recover the first secret information to obtain second secret information, which is then compared with the preset secret information, thereby improving the security of data access control.

[0068] In a third aspect, some embodiments of the present application provide an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the program, can implement a data access control method as described in any embodiment of the first aspect.

[0069] In a fourth aspect, some embodiments of the present application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement the data access control method as described in any embodiment of the first aspect.

[0070] In a fifth aspect, some embodiments of the present application provide a computer program product, comprising a computer program, wherein the computer program, when executed by a processor, can implement the data access control method as described in any embodiment of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0071] In order to more clearly illustrate the technical solutions of some embodiments of the present application, the drawings required for use in some embodiments of the present application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0072] Figure 1 A flowchart of a data access control method provided in an embodiment of the present application;

[0073] Figure 2 A schematic diagram of a data access verification process provided by an embodiment of the present application;

[0074] Figure 3 A schematic diagram of the structure of a data access control device provided in an embodiment of the present application;

[0075] Figure 4 A schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0076] The technical solutions in some embodiments of the present application will be described below in conjunction with the drawings in some embodiments of the present application.

[0077] It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of this application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0078] At present, when accessing data based on distributed access control methods, digital signatures are generally used to ensure the integrity and validity of the distributed access rights determination results. However, if the digital signature is forged, the data access party may illegally access the data of the data owner. Therefore, how to improve the security and verifiability of the data access control process is an urgent problem to be solved.

[0079] In view of this, some embodiments of the present application provide a data access control method, the method comprising:

[0080] The data-owning terminal receives a data access request sent by a data access terminal, wherein the data access request at least includes: multiple authorization certificates and multiple first secret information, and the authorization certificates correspond to the first secret information; according to the multiple first secret information, determine the second secret information corresponding to the data access request; according to the second secret information and the pre-stored preset secret information, determine whether to issue the access token information corresponding to the data access request; wherein the preset secret information is split into the third secret information by the secret sharing algorithm, and sent to the distributed participating terminals; send the access token information to the data access terminal so that the data access terminal accesses the data according to the access token information. In the embodiment of the present application, by pre-acquiring the preset secret information, in the process of data access, the data-owning terminal obtains the multiple authorization certificates and multiple first secret information in the data access request sent by the data access terminal, and the multiple authorization certificates and multiple first secret information come from multiple participating terminals, and restores the first secret information to obtain the second secret information, compares the second secret information with the preset secret information, determines whether to issue the access token information corresponding to the data access request according to the comparison result, sends the access token information to the data access terminal, and the data access terminal accesses the data according to the access token information. In this way, the security and verifiability of the distributed access control process can be improved.

[0081] like Figure 1 As shown, an embodiment of the present application provides a data access control method, which is applied to a data-owning terminal, and the method includes:

[0082] S101, receiving a data access request sent by a data access terminal, wherein the data access request at least includes: a plurality of authorization certificates and a plurality of first secret information, and the authorization certificates and the first secret information correspond to each other;

[0083] Specifically, the distributed access control system includes a data access terminal, a data owning terminal and a plurality of participating terminals. The data access terminal sends a distributed access request to the plurality of participating terminals, and then receives a plurality of authorization certificates and first secret information returned by the participating terminals, and the authorization certificates and the first secret information correspond to each other.

[0084] The data access terminal sends a data access request to the data owning terminal, wherein the data access request at least includes a plurality of authorization certificates and a plurality of first secret information.

[0085] S102, determining second secret information corresponding to the data access request according to the plurality of first secret information;

[0086] Specifically, the data possessing terminal processes the plurality of first secret information and the authorization certificate, wherein recovery processing is performed based on the plurality of first secret information to obtain the second secret information.

[0087] The first secret information is secret information received by the data-owning terminal from multiple distributed participating terminals; the second secret information is data obtained by the data-owning terminal using a secret recovery algorithm based on the received first secret information.

[0088] S103, determining whether to issue access token information corresponding to the data access request according to the second secret information and pre-stored preset secret information; wherein the preset secret information is split into third secret information by a secret sharing algorithm and sent to the distributed participating terminals;

[0089] Specifically, the data owning terminal pre-stores preset secret information determined according to the first identification information and the first random number of each participating terminal. After obtaining the second secret information, the second secret information and the preset secret information are compared. Based on the comparison result, it is determined whether to issue access token information to the data access terminal. In the actual process, if the second secret information and the preset secret information match, the access token information is sent to the data access terminal.

[0090] S104: Send access token information to the data access terminal, so that the data access terminal accesses data according to the access token information.

[0091] After the data access terminal obtains the access token information, it uses the token to access the data of the data owner terminal, that is, the data access terminal uses the obtained data access token to perform corresponding operations on the data. When the data access terminal wants to access multiple data, or there are multiple data access terminals, the above access control process can be carried out in parallel.

[0092] In an embodiment of the present application, a verifiable distributed access control method based on secret sharing is proposed. The secret sharing technology combined with random numbers is used to split secret data into multiple data shares, and these shares are stored in a dispersed manner on multiple nodes. Random numbers are used to ensure that the secret shares are difficult to forge, and only users who have obtained a sufficient number of authorization certificates can ultimately obtain data access tokens, thereby ensuring the verifiability of the distributed access control process.

[0093] In some embodiments of the present application, by pre-acquiring preset secret information, during the data access process, the data owning terminal obtains multiple authorization certificates and multiple first secret information in the data access request sent by the data access terminal, and the multiple authorization certificates and multiple first secret information come from multiple participating terminals, and the first secret information is recovered to obtain second secret information, the second secret information and the preset secret information are compared, and it is determined whether to issue access token information corresponding to the data access request based on the comparison result, and the access token information is sent to the data access terminal. The data access terminal accesses the data based on the access token information. In this way, the security of the distributed access control process can be improved.

[0094] Another embodiment of the present application further supplements the data access control method provided in the above embodiment.

[0095] Optionally, the third secret information is obtained by using a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial.

[0096] In some embodiments of the present application, a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial is adopted to split the preset secret information into multiple third secret information respectively, and send them to each participating terminal to realize secret sharing.

[0097] Optionally, when the third secret information is obtained by using a threshold secret sharing algorithm based on a secret polynomial, the method includes:

[0098] The data-owning terminal obtains preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal, and the first random number is used for verifiable secret sharing;

[0099] Specifically, the data-owning terminal allocates a ULID (Universally UniqueLexicographically Sortable Identifier) ​​to each participating terminal, which is the identification information of the participating terminal. The advantage of ULID is that it has a compact structure, can be sorted according to the timestamp when it is generated, can support range queries and fast indexing, and is suitable for scenarios such as identifying data entities and events in distributed systems.

[0100] The data-owning terminal obtains a t-order secret polynomial based on the preset secret information and the random coefficient value;

[0101] Determine the third secret information according to the t-order secret polynomial, the random value and the function value corresponding to the random value; wherein t is a threshold value corresponding to the threshold secret sharing algorithm;

[0102] The data possessing terminal transmits the third secret information to the participating terminal corresponding to the identification information.

[0103] Specifically, in order to facilitate the data-owning terminal to implement the distributed access control strategy on the data access terminal, the data-owning terminal uses a secret sharing scheme. Assuming that the distributed system has N access control participating terminals, the data-owning terminal P i (i∈[N]) randomly selects a random number p is a large prime number, and the random number is used to achieve verifiable secret sharing, [N] = {1, 2, …, N}.

[0104] Then, the data has terminal Pi Randomly select a ULID from the locally stored ULID set and record it as ULID m , m∈[N], and calculate the secret information uidr i =ULID m ·r i ,r i is a random number, and uses a threshold secret sharing algorithm based on a secret polynomial (such as the Shamir secret sharing scheme) to convert uidr i (i∈[N]) is divided into multiple sub-secrets. Assume that the (t,N)-threshold secret sharing scheme is adopted, where t is the threshold value, that is, the secret value can be recovered using no less than t+1 shares out of N shares. The specific sharing method is:

[0105] 1) For data uidr i (i∈[N]), the data owner terminal randomly selects a secret polynomial of order t, f i (x) = a ti x t +a (t-1)i x t-1 +…+a 2i x 2 +a 1i x+uidr i , satisfying f j (0) = uidr i ;

[0106] 2) Data owning terminal P i Randomly select N values Calculate y j =f i (α ji )(j∈[N]), and (α ji ,y j ) is sent to the participating terminal P accordingly j (j∈[N]).

[0107] When some embodiments of the present application use threshold secret sharing based on a secret polynomial, what is shared is the product of the first identification information of a randomly selected participating terminal and a random number, that is, the preset secret information. It is unpredictable which participating terminal's first identification information and random number will be selected, thereby ensuring that the third secret information cannot be forged, thereby improving the security of data access.

[0108] Optionally, when the third secret information is obtained by using an additive secret sharing algorithm, the method includes:

[0109] The data-owning terminal obtains preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal;

[0110] The data-owning terminal determines the third secret information according to the additive secret sharing algorithm, and sends the corresponding third secret information to each participating terminal.

[0111] In a scenario where the network connection is reliable and all participating terminals are continuously online, threshold secret sharing algorithms based on secret polynomials such as Shamir's secret sharing can be replaced with additive secret sharing algorithms, thereby greatly improving the execution efficiency of secret distribution and recovery.

[0112] The specific method is as follows:

[0113] The data owner terminal generates an additive secret share: Then share (third secret information) uidr ij Correspondingly sent to the participating terminal P j Here, since the data possession terminal also holds a third secret information, the data access terminal cannot pass the verification by forging the third secret information.

[0114] In some embodiments of the present application, when the data owning terminal uses additive secret sharing, since the data owning terminal is a participating terminal of the additive secret sharing, unless the data owning terminal participates in cheating, other participating terminals cannot jointly recover the secret data, thereby ensuring the security of distributed access control.

[0115] Optionally, before receiving the data access request sent by the data access terminal, the method further includes:

[0116] The data access terminal sends a distributed access request to each participating terminal, so that each participating terminal verifies the access request;

[0117] When the authority verification is passed, the data access terminal receives the authorization certificate and the first secret information of each participating terminal sent by each participating terminal.

[0118] In some embodiments of the present application, the data access terminal initiates a distributed data access request to each participating terminal, and each participating terminal performs access permission verification based on the global access control rules to determine whether the user has the right to access the data. If the verification is successful, an authorization certificate signed by the participating terminal is generated, and the corresponding first secret information is sent to the data access terminal.

[0119] Optionally, the data access terminal sends a distributed access request to each participating terminal, so that each participating terminal performs authority verification on the access request, including:

[0120] The data access terminal sends a distributed access request to each participating terminal corresponding to the terminal identifier cached locally, so that the participating terminal verifies the access request according to the pre-stored access policy;

[0121] In the case of passing the verification, the data access terminal receives the authorization certificate and the fourth secret information sent by each participating terminal;

[0122] The participating terminal sends a distributed access request to each neighbor participating terminal corresponding to the terminal identifier cached locally, so that the neighbor participating terminal verifies the access request according to the pre-stored access policy; the participating terminal and the neighbor participating terminal are different terminals;

[0123] In the case of passing the verification, the data access terminal receives the authorization certificate and the fifth secret information sent by each neighbor participating terminal;

[0124] The data access terminal determines the fourth secret information and the fifth secret information as the first secret information.

[0125] The data-owning terminal formulates global access control rules based on the specific access control model adopted and distributes them to each participating terminal so that each participating terminal can make distributed access control decisions. As an optional method, access control rules can be configured through smart contracts in the blockchain network. Smart contracts record information such as the storage location of the data, access control rules (such as which participating terminals or node combinations can reconstruct secrets, etc.) and required user permissions. If the information of the data access terminal or the accessed data resource changes, the system can automatically update its access rights.

[0126] The data access terminal sends the access request to each participating terminal corresponding to the ULID cached locally, and these participating terminals make access rights determination according to the global access control rules. If the permission verification is successful, these participating terminals send the authorization certificate and the first secret information they hold to the data access terminal, and then each participating terminal forwards the access request to each participating terminal corresponding to its locally cached ULID. If a participating terminal is repeated with the previous step, the participating terminal is directly skipped, and these participating terminals that are not repeated with the previous ones make access rights determination according to the global access control rules. If the permission verification is successful, these participating terminals send the authorization certificate and the first secret information they hold to the data access terminal, and then each participating terminal forwards the access request to each participating terminal corresponding to its locally cached ULID that is not repeated with the previous one for access rights determination. This process is performed in sequence until the data access terminal obtains a sufficient number of authorization certificates.

[0127] If the data access terminal has stored the ULIDs of all participating terminals locally, it can initiate access requests at the same time. Each participating terminal determines the access rights for the data access request. If the authority verification is successful, the authorization certificate and the first secret information it holds are sent to the data access terminal.

[0128] In some embodiments of the present application, the data access terminal can send a distributed access request to the participating terminals corresponding to the locally cached ULID. If the authority verification is passed, these participating terminals will send the authorization certificate and the first secret information they hold to the data access terminal, and then each participating terminal will forward the access request to each participating terminal corresponding to the ULID locally cached by the participating terminal. In this way, the first secret information of a sufficient number of participating terminals can be obtained.

[0129] Optionally, determining the second secret information corresponding to the data access request according to the plurality of first secret information includes:

[0130] When the amount of the first secret information is greater than a preset value t, a secret reconstruction algorithm is used to restore the first secret information to obtain the second secret information.

[0131] Only when a sufficient number of participating terminals or nodes provide their first secret information can the secret value be restored through the secret reconstruction algorithm. After the data access terminal collects a sufficient amount of first secret information, it uses the first secret information and the corresponding number of signed authorization certificates to initiate a data access request to the data owner terminal.

[0132] The data-owning terminal can also perform security verification as follows:

[0133] (1) When a threshold secret sharing algorithm based on a secret polynomial (such as Shamir secret sharing) is used, the data owner terminal uses at least t+1 shares (first secret information) received (α ji ,y j ), recover the secret value in Data owning terminal check uidr i ′=uidr i Is it true?

[0134] (2) When using additive secret sharing, the data owner uses N-1 shares and its own shares to verify the uidr i =uidr ii +∑ j≠i uidr ijIf it is established, the data owner terminal further checks the validity of these authorization certificates according to the global access control rules. After the check is passed, the data owner terminal issues the final data access token to the data access terminal.

[0135] In some embodiments of the present application, when the amount of first secret information received by the data possessing terminal is greater than a preset value, a secret reconstruction algorithm is used to recover the first secret information to obtain second secret information, which is then compared with the preset secret information, thereby improving the security of data access.

[0136] This application can be used to control and manage network resources and implement distributed access control. Currently, more and more systems are running on the network, and many network resources are distributed in different geographical locations or network domains. Distributed access control can ensure that users can access these network resources normally only when all aspects of the user and their system meet the preset policy requirements. Here, taking the ABAC access control model as an example, the specific implementation methods provided by this application are as follows:

[0137] 1. Initialization

[0138] (1) The system / administrator assigns a ULID to each participating terminal.

[0139] (2) Taking the ABAC access control model as an example, the system administrator first defines the request subject (data access terminal), request object (accessed data resource), request context, and operation attributes as follows:

[0140] 1) The attributes of the request subject may include identity (unique identifier of the subject, such as user ID, device ID, etc.), role (such as administrator, ordinary user, etc.), location (such as IP address, geographic location, etc.), etc.

[0141] 2) The attributes of the requested object may include resource identifier (unique identifier of the object, such as resource number, file ID, device ID, etc.), object type (such as file, data, service, etc.), location (such as file path, URL, etc.), content (such as data size, file summary, etc.), etc.

[0142] 3) The attributes of the request context may include the time when the request occurred, the geographical location, the environmental conditions when the request occurred (such as system status, network status, etc.), and other contextual information related to the request (such as the organization's security policy, the user's normal behavior patterns, etc.).

[0143] 4) The attributes of the operation may include the type of operation requested, such as read, write, edit, delete, etc. Then, global access control rules are formulated based on these attribute information, such as when certain environmental conditions are met and the request subject at a certain location assumes a certain role, a certain type of request object at a certain location can be accessed, etc., and the global access control rules are distributed to each participating terminal to facilitate distributed access control decisions.

[0144] 2. The data owner terminal splits the secret data and distributes the secret shares

[0145] In order to facilitate the data-owning terminal to implement the distributed access control strategy on the data access terminal, the data-owning terminal uses a secret sharing scheme. Assume that the distributed system has N access control participating terminals, and the data-owning terminal P i (i∈[N]) randomly selects a random number, p is a large prime number, and this random number is used to achieve verifiable secret sharing. Then, the data has terminal P i Randomly select a ULID from the locally stored ULID set and record it as ULID m , m∈[N], and calculate uidr i =ULID m ·r i , and use Shamir's secret sharing to convert uidr i (i∈[N]) is divided into multiple sub-secrets, assuming that the (t,N)-threshold secret sharing scheme is adopted. The specific sharing method is:

[0146] 1) For data uidr i (i∈[N]), the data owner terminal randomly selects a secret polynomial of order t, f i (x) = a ti x t +a (t-1)i x t-1 +…+a 2i x 2 +a 1i x+uidr i , satisfying f i (0) = uidr i ;

[0147] 2) Data owning terminal P i Randomly select N values Calculate y j =f i (α ji )(j∈[N]), and (α ji ,y j ) is sent to the participating terminal P accordingly j (j∈[N]).

[0148] The purpose of the data-owning terminal splitting the secret data and distributing the secret shares is to verify whether the multiple authorization certificates provided by the data access terminal are indeed provided by the distributed participating terminals.

[0149] 3. The data access terminal initiates a distributed access request

[0150] The data access terminal initiates a distributed data access request to each participating terminal. The main content of the request includes the attribute information and signature information of the data access terminal, as well as which data the data access terminal wants to access and which data of the terminal. The process of verifiable distributed access control is as follows: Figure 2 shown.

[0151] The main technical effects of the present invention are as follows:

[0152] (1) Each participating terminal only holds a partial share of the secret data. Even if a certain number of participating terminals collude, it is impossible to determine the meaning of the recovered data and whether it is correct, and it is impossible to forge the secret shares of other participating terminals, thereby solving the collusion problem existing in the traditional distributed access control mechanism. In addition, since the distributed access control method is adopted in this scheme, cross-domain access control can be realized.

[0153] (2) Due to the use of a decentralized permission verification method, the access control policy management process is dispersed to multiple participating terminals. Multiple access control participating terminals have equal rights, and the entire process does not need to rely on third-party organizations, platforms or nodes with special permissions. The operation process is simple and easy, which solves the problem of centralized control in the data access control process.

[0154] (3) The data access terminal must be verified by the data owner terminal before it can finally access the data resources. The data owner terminal can implement the final access control based on the access permission determination conclusions of multiple participating terminals. In this process, even if the signature of the distributed access control verifier is forged, since the secret share cannot be forged, a verifiable distributed access control process can be implemented, solving the problem of lack of transparency and verification capability of access control.

[0155] It should be noted that each implementable method in this embodiment can be implemented separately or in any combination without conflict, and this application does not limit this.

[0156] Another embodiment of the present application provides a data access device for executing the data access control method provided in the above embodiment.

[0157] like Figure 3, which is a schematic diagram of the structure of a data access device provided in an embodiment of the present application. The data access device includes a receiving module 301, a recovery module 302, a judgment module 303 and an acquisition module 304, wherein:

[0158] The receiving module 301 is used to receive a data access request sent by a data access terminal, wherein the data access request at least includes: a plurality of authorization certificates and a plurality of first secret information, and the authorization certificates and the first secret information correspond to each other;

[0159] The recovery module 302 is used to determine the second secret information corresponding to the data access request according to the plurality of first secret information;

[0160] The judgment module 303 is used to determine whether to issue access token information corresponding to the data access request according to the second secret information and the pre-stored preset secret information; wherein the preset secret information is determined according to the first identification information and the first random number of each participating terminal;

[0161] The acquisition module 304 is used to send access token information to the data access terminal, so that the data access terminal accesses data according to the access token information.

[0162] Regarding the device in this embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0163] In some embodiments of the present application, by pre-acquiring preset secret information, during the data access process, the data owning terminal obtains multiple authorization certificates and multiple first secret information in the data access request sent by the data access terminal, and the multiple authorization certificates and multiple first secret information come from multiple participating terminals, and the first secret information is recovered to obtain second secret information, the second secret information and the preset secret information are compared, and it is determined whether to issue access token information corresponding to the data access request based on the comparison result, and the access token information is sent to the data access terminal. The data access terminal accesses the data based on the access token information. In this way, the security and verifiability of the distributed access control process can be improved.

[0164] Another embodiment of the present application further supplements the data access device provided in the above embodiment.

[0165] Optionally, the third secret information is obtained by using a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial.

[0166] In some embodiments of the present application, a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial is adopted to split the preset secret information into multiple third secret information respectively, and send them to each participating terminal to realize secret sharing.

[0167] Optionally, the device further comprises a secret sharing module, and the secret sharing module is used to:

[0168] The data-owning terminal obtains preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal, and the first random number is used for verifiable secret sharing;

[0169] The data-owning terminal obtains a t-order secret polynomial based on the preset secret information and the random coefficient value;

[0170] Determine the third secret information according to the t-order secret polynomial, the random value and the function value corresponding to the random value; wherein t is a threshold value corresponding to the threshold secret sharing algorithm;

[0171] The data possessing terminal transmits the third secret information to the participating terminal corresponding to the identification information.

[0172] When some embodiments of the present application use threshold secret sharing based on a secret polynomial, what is shared is the product of the first identification information of a randomly selected participating terminal and a random number, that is, the preset secret information. It is unpredictable which participating terminal's first identification information and random number will be selected, thereby ensuring that the third secret information cannot be forged, thereby improving the security of data access.

[0173] Optionally, the secret sharing module is used to:

[0174] The data possessing terminal obtains third secret information, where the third secret information is determined based on the first identification information and the first random number of each participating terminal;

[0175] The data-owning terminal determines the third secret information according to the additive secret sharing algorithm, and sends the corresponding third secret information to each participating terminal.

[0176] In some embodiments of the present application, when the data owning terminal uses additive secret sharing, since the data owning terminal is a participating terminal of the additive secret sharing, unless the data owning terminal participates in cheating, other participating terminals cannot jointly recover the secret data, thereby ensuring the security of distributed access control.

[0177] Optionally, the device further comprises a verification module, and the verification module is used to:

[0178] The data access terminal sends a distributed access request to each participating terminal, so that each participating terminal verifies the access request;

[0179] When the authority verification is passed, the data access terminal receives the authorization certificate and the first secret information of each participating terminal sent by each participating terminal.

[0180] In some embodiments of the present application, the data access terminal initiates a distributed data access request to each participating terminal, and each participating terminal performs access permission verification based on the global access control rules to determine whether the user has the right to access the data. If the verification is successful, an authorization certificate signed by the participating terminal is generated, and the corresponding first secret information is sent to the data access terminal.

[0181] Optionally, the data access terminal sends a distributed access request to each participating terminal, so that each participating terminal performs authority verification on the access request, including:

[0182] The data access terminal sends a distributed access request to each participating terminal corresponding to the terminal identifier cached locally, so that the participating terminal verifies the access request according to the pre-stored access policy;

[0183] In the case of passing the verification, the data access terminal receives the authorization certificate and the fourth secret information sent by each participating terminal;

[0184] The participating terminal sends a distributed access request to each neighbor participating terminal corresponding to the terminal identifier cached locally, so that the neighbor participating terminal verifies the access request according to the pre-stored access policy; the participating terminal and the neighbor participating terminal are different terminals;

[0185] In the case of passing the verification, the data access terminal receives the authorization certificate and the fifth secret information sent by each neighbor participating terminal;

[0186] The data access terminal determines the fourth secret information and the fifth secret information as the first secret information.

[0187] In some embodiments of the present application, the data access terminal can send a distributed access request to the participating terminals corresponding to the locally cached ULID. If the authority verification is passed, these participating terminals will send the authorization certificate and the first secret information they hold to the data access terminal, and then each participating terminal will forward the access request to each participating terminal corresponding to the ULID locally cached by the participating terminal. In this way, the first secret information of a sufficient number of participating terminals can be obtained.

[0188] Optionally, a recovery module is used to:

[0189] When the amount of the first secret information is greater than a preset value, a secret reconstruction algorithm is used to restore the first secret information to obtain the second secret information.

[0190] In some embodiments of the present application, when the amount of first secret information is greater than a preset value, the data-owning terminal uses a secret reconstruction algorithm to recover the first secret information to obtain second secret information, which is then compared with the preset secret information, thereby improving the security of data access.

[0191] Regarding the device in this embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated again here.

[0192] It should be noted that each implementable method in this embodiment can be implemented separately or in any combination without conflict, and this application does not limit this.

[0193] The embodiments of the present application also provide a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the operation of the method corresponding to any embodiment of the data access control method provided in the above embodiments can be implemented.

[0194] An embodiment of the present application further provides a computer program product, which includes a computer program, wherein when the computer program is executed by a processor, it can implement the operations of the method corresponding to any embodiment of the data access control method provided in the above embodiments.

[0195] like Figure 4 As shown, some embodiments of the present application provide an electronic device 400, which includes: a memory 410, a processor 420, and a computer program stored in the memory 410 and executable on the processor 420, wherein the processor 420 can implement a method of any embodiment included in the above-mentioned data access control method when reading the program from the memory 410 through a bus 430 and executing the program.

[0196] Processor 420 can process digital signals and can include various computing structures, such as complex instruction set computer structure, reduced instruction set computer structure, or a structure that implements a combination of multiple instruction sets. In some examples, processor 420 can be a microprocessor.

[0197] The memory 410 may be used to store instructions executed by the processor 420 or data related to the execution of instructions. These instructions and / or data may include codes for implementing some or all functions of one or more modules described in the embodiments of the present application. The processor 420 of the disclosed embodiment may be used to execute instructions in the memory 410 to implement the method shown above. The memory 410 includes a dynamic random access memory, a static random access memory, a flash memory, an optical memory, or other memory known to those skilled in the art.

[0198] The above are only embodiments of the present application and are not intended to limit the scope of protection of the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the scope of protection of the present application. It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings.

[0199] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0200] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

Claims

1. A data access control method, characterized in that: Applied to a data-owning terminal, the method comprises: Receiving a data access request sent by a data access terminal, wherein the data access request at least includes: a plurality of authorization certificates and a plurality of first secret information, and the authorization certificates correspond to the first secret information; Determining second secret information corresponding to the data access request according to the plurality of first secret information; Determine whether to issue access token information corresponding to the data access request according to the second secret information and pre-stored preset secret information; wherein the preset secret information is split into third secret information by a secret sharing algorithm and sent to the distributed participating terminals; The access token information is sent to the data access terminal, so that the data access terminal accesses data according to the access token information.

2. The data access control method according to claim 1, characterized in that: The third secret information is obtained by using a threshold secret sharing algorithm or an additive secret sharing algorithm based on a secret polynomial.

3. The data access control method according to claim 2, characterized in that: In the case where the third secret information is obtained by using a threshold secret sharing algorithm based on a secret polynomial, the method includes: The data-owning terminal obtains pre-stored preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal, where the first random number is used for verifiable secret sharing; The data possessing terminal obtains a t-order secret polynomial according to the preset secret information and the random coefficient value; Determine the third secret information according to the t-order secret polynomial, the random value and the function value corresponding to the random value; wherein t is a threshold value corresponding to the threshold secret sharing algorithm; The data possessing terminal transmits the third secret information to the participating terminal corresponding to the identification information.

4. The data access control method according to claim 2, characterized in that: In the case where the third secret information is obtained by using an additive secret sharing algorithm, the method includes: The data possessing terminal obtains pre-stored preset secret information, where the preset secret information is determined based on the first identification information and the first random number of each participating terminal; The data-owning terminal determines the third secret information according to the additive secret sharing algorithm, and sends the corresponding third secret information to each participating terminal respectively.

5. The data access control method according to claim 1, characterized in that: Before receiving the data access request sent by the data access terminal, the method further includes: The data access terminal sends a distributed access request to each participating terminal, so that each participating terminal performs authority verification on the access request; In the case of passing the authority verification, the data access terminal receives the authorization certificate and the first secret information of each participating terminal sent by each participating terminal.

6. The data access control method according to claim 5, characterized in that: The data access terminal sends a distributed access request to each participating terminal so that each participating terminal performs authority verification on the access request, including: The data access terminal sends the distributed access request to each participating terminal corresponding to the terminal identifier cached locally, so that the participating terminal verifies the access request according to the pre-stored access policy; In the case of passing the verification, the data access terminal receives the authorization certificate and the fourth secret information sent by each participating terminal; The participating terminal sends the distributed access request to each neighbor participating terminal corresponding to the terminal identifier cached locally, so that the neighbor participating terminal verifies the access request according to the pre-stored access policy; the participating terminal and the neighbor participating terminal are different terminals; In the case of passing the verification, the data access terminal receives the authorization certificate and the fifth secret information sent by each of the neighbor participating terminals; The data access terminal determines the fourth secret information and the fifth secret information as the first secret information.

7. The data access control method according to claim 1, characterized in that: The determining, according to the plurality of first secret information, second secret information corresponding to the data access request comprises: When the amount of the first secret information is greater than a preset value, a secret reconstruction algorithm is used to restore the first secret information to obtain the second secret information.

8. An electronic device, characterized in that: The invention comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor can implement the data access control method described in any one of claims 1 to 7 when executing the program.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the program, when executed by a processor, can implement the data access control method described in any one of claims 1 to 7.

10. A computer program product, comprising a computer program, wherein: When the computer program is executed by a processor, the data access control method described in any one of claims 1 to 7 can be implemented.

Citation Information

Patent Citations

  • Resource access method, device and equipment in multi-party authorization scene, and storage medium

    CN111131336A

  • Access control method and device, terminal equipment and storage medium

    CN113158198A

  • Quantum key distribution and reconstruction method for encryption among multiple nodes

    CN114362928A

  • Data transmission method and device based on multilayer secret sharing and storage medium

    CN118631436A

  • Data Access System by Secret Sharing Scheme in Hadoop

    KR101580302B1