A permission management system, method, device and electronic equipment
By setting up a distributed access control system on the privacy computing participant side, and utilizing encryption and token binding, the problem of insufficient security in access control in existing technologies is solved, and higher security access control is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-30
- Publication Date
- 2026-03-17
AI Technical Summary
In the process of privacy computing, existing permission management methods rely on third-party devices, resulting in insufficient security.
This invention provides a permission management system that achieves distributed permission management by setting up a first management platform and a second management platform on the participating side. The system includes permission application, authorization and authentication processes, and enhances security by using encryption and token binding.
It improves the security of permission management during privacy computing, avoids dependence on third-party devices, and enhances the security and scalability of the system.
Smart Images

Figure CN116305313B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of privacy computing technology, and in particular to a permission management system, method, apparatus and electronic device. Background Technology
[0002] In the process of implementing privacy-preserving computation, multiple parties can often be involved. Related technologies employ robust protection mechanisms for both the computation process and intermediate data during privacy-preserving computation. Regarding access control, both blockchain and centralized methods are commonly used, with access control typically encompassing both authorization and authentication.
[0003] Since both blockchain and centralized methods require the use of third-party devices for access control, there are security concerns regarding access control in privacy computing processes. Summary of the Invention
[0004] The purpose of this application is to provide a permission management system, method, apparatus, and electronic device to improve the security of permission management during privacy computing. The specific technical solution is as follows:
[0005] In a first aspect, embodiments of this application provide a permission management system, including: a first management platform located on the side of a first participating party and a second management platform located on the side of a second participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing;
[0006] The first management platform is used to send an application request for any permission to the second management platform when it receives an application instruction for any permission; wherein, the permission information of any permission at least indicates that any user is performing target access to any stored data of the second participant;
[0007] The second management platform is used to, upon receiving the application request, grant permissions to the permission if it obtains an authorization instruction for the permission requested; wherein, granting permissions includes at least storing the permission information represented by the permission;
[0008] The first management platform is further configured to send an authentication request for a target permission to the second management platform when it detects that a task to be executed has been generated; wherein the target permission is the permission required to execute the task to be executed.
[0009] The second management platform is also used to, upon receiving the authentication request, perform authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtain an analysis result to indicate whether the authentication is successful.
[0010] The first management platform is also used to trigger the execution of the task to be executed when the analysis result characterization authentication is passed.
[0011] Secondly, embodiments of this application provide a permission management method, applied to a first management platform located on the side of a first participating party in a permission management system; the permission management system further includes a second management platform located on the side of a second participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing; the method includes:
[0012] When an instruction to request any permission is received, an application request for that permission is sent to the second management platform. Upon receiving the application request, if the second management platform receives an authorization instruction for the permission requested, it will grant the permission. The permission information for any permission at least indicates that any user is performing target access to any stored data of the second participant, and the authorization for the permission includes at least saving the permission information represented by the permission.
[0013] When a task to be executed is detected, an authentication request for the target permission is sent to the second management platform. Upon receiving the authentication request, the second management platform performs authentication analysis on the target permission based on the currently stored permission information, and obtains an analysis result indicating whether the authentication is successful. The target permission is the permission required to execute the task to be executed.
[0014] When the analysis results indicate that the authentication is successful, the execution of the task to be executed is triggered.
[0015] Thirdly, embodiments of this application provide a permission management method, applied to a second management platform located on the side of a second participating party in a permission management system; the permission management system further includes a first management platform located on the side of a first participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing; the method includes:
[0016] Upon receiving an application request from the first management platform, if an authorization instruction for the permission requested is obtained, then authorization for that permission is performed; wherein, the application request is a request for that permission generated by the first management platform when it obtains an application instruction for any permission, and the authorization for that permission includes at least saving the permission information represented by that permission;
[0017] Upon receiving an authentication request from the first management platform, the system performs authentication analysis on the target permission of the authentication request based on the currently stored permission information, obtaining an analysis result indicating whether authentication is successful. This allows the first management platform to trigger the execution of the task to be executed when the analysis result indicates successful authentication. The authentication request is sent by the first management platform to the second management platform when it detects the creation of a task to be executed. The target permission is the permission required to execute the task.
[0018] Fourthly, embodiments of this application provide a permission management device applied to a first management platform located on the side of a first participating party in a permission management system; the permission management system further includes a second management platform located on the side of a second participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing; the device includes:
[0019] The first sending module is used to send an application request for any permission to the second management platform when an application instruction for any permission is received, so that the second management platform, upon receiving the application request, if it obtains an authorization instruction for the permission requested, will grant the permission; wherein, the permission information of any permission at least represents that any user is performing target access to any stored data of the second participant, and the authorization of the permission at least includes saving the permission information represented by the permission;
[0020] The second sending module is used to send an authentication request for a target permission to the second management platform when a task to be executed is detected, so that after receiving the authentication request, the second management platform performs authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtains an analysis result to indicate whether the authentication is successful; wherein, the target permission is the permission required to execute the task to be executed.
[0021] The execution module is used to trigger the execution of the task to be executed when the authentication of the analysis result characterization passes.
[0022] Fifthly, embodiments of this application provide a permission management device applied to a second management platform located on the side of a second participating party in a permission management system; the permission management system further includes a first management platform located on the side of a first participating party; the first and second participating parties are any two of a plurality of participating parties used to implement privacy computing; the device includes:
[0023] The authorization module is used to, upon receiving an application request sent by the first management platform, if it obtains an authorization instruction for the permission requested, then to grant the permission for that permission; wherein, the application request is a request for that permission that occurs when the first management platform obtains an application instruction for any permission, and the authorization for that permission includes at least saving the permission information represented by that permission;
[0024] The authentication analysis module is used to, upon receiving an authentication request from the first management platform, perform authentication analysis on the target permission targeted by the authentication request based on the currently stored permission information, and obtain an analysis result indicating whether authentication is successful. This allows the first management platform to trigger the execution of the task to be executed when the analysis result indicates successful authentication. The authentication request is sent by the first management platform to the second management platform when it detects the creation of a task to be executed. The target permission is the permission required to execute the task to be executed.
[0025] Sixthly, embodiments of this application provide an electronic device, including:
[0026] Memory, used to store computer programs;
[0027] When a processor executes a program stored in memory, it implements any of the above-mentioned permission management methods and steps.
[0028] In a seventh aspect, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any of the above-described permission management method steps.
[0029] Beneficial effects of the embodiments in this application:
[0030] The permission management system provided in this application includes: a first management platform located on the side of a first participating party and a second management platform located on the side of a second participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing; when the first management platform receives an application instruction for any permission, it sends an application request for that permission to the second management platform; after receiving the application request, if the second management platform receives an authorization instruction for the permission requested, it grants the permission and saves the permission information represented by the permission; when the first management platform detects that a task to be executed has been generated, it sends an authentication request for the target permission to the second management platform; after receiving the authentication request, the second management platform performs authentication analysis on the target permission requested based on the currently saved permission information, and obtains an analysis result indicating whether the authentication is successful; when the analysis result indicates that the authentication is successful, the first management platform triggers the execution of the task to be executed.
[0031] In summary, the system provided in this application embodiment allows for distributed permission management among multiple participants in privacy computing. Compared with existing technologies, this system does not rely on third-party devices and allows multiple participants to directly manage permissions, thus improving the security of permission management during privacy computing.
[0032] Of course, implementing any product or method of this application does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description
[0033] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.
[0034] Figure 1 This is a schematic diagram of the structure of a permission management system provided in an embodiment of this application;
[0035] Figure 2 This is a schematic diagram of another permission management system provided in an embodiment of this application;
[0036] Figure 3 A flowchart illustrating a permission management method provided in an embodiment of this application;
[0037] Figure 4 A schematic diagram of a key distribution process provided in an embodiment of this application;
[0038] Figure 5A flowchart illustrating an authorization method provided in an embodiment of this application;
[0039] Figure 6 This is a flowchart illustrating an authentication method provided in an embodiment of this application.
[0040] Figure 7 A flowchart illustrating a permission management method provided in an embodiment of this application;
[0041] Figure 8 A flowchart illustrating another permission management method provided in an embodiment of this application;
[0042] Figure 9 This is a schematic diagram of the structure of a permission management device provided in an embodiment of this application;
[0043] Figure 10 This is a schematic diagram of another permission management device provided in an embodiment of this application;
[0044] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0045] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.
[0046] The following is a brief explanation of the terms used in the embodiments of this application.
[0047] Privacy-preserving computing: technologies that enable data analysis and computation while protecting the data itself from being leaked to the outside world;
[0048] Access control: Based on the security rules or policies set by the system, users can access and only access the resources they are authorized to access. This mainly includes two parts: authentication and authorization.
[0049] Distributed: Data is stored across multiple independent devices;
[0050] Digital signature: A string of numbers that can only be generated by the sender of the information and cannot be forged by others.
[0051] To improve the security of access control during privacy computing, embodiments of this application provide an access control system, method, apparatus, and electronic device.
[0052] This application provides a permission management system, which includes: a first management platform located on the side of a first participating party and a second management platform located on the side of a second participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing;
[0053] The first management platform is used to send an application request for any permission to the second management platform when it receives an application instruction for any permission; wherein, the permission information of any permission at least indicates that any user is performing target access to any stored data of the second participant;
[0054] The second management platform is used to, upon receiving the application request, if it obtains an authorization instruction for the permission requested, to grant the permission and save the permission information represented by the permission.
[0055] The first management platform is further configured to send an authentication request for a target permission to the second management platform when it detects that a task to be executed has been generated; wherein the target permission is the permission required to execute the task to be executed.
[0056] The second management platform is also used to, upon receiving the authentication request, perform authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtain an analysis result to indicate whether the authentication is successful.
[0057] The first management platform is also used to trigger the execution of the task to be executed when the analysis result characterization authentication is passed.
[0058] It should be noted that all participants are involved in privacy-preserving computation, and their specific forms can be various institutions or devices capable of deploying management platforms, such as banks, supermarkets, or servers deploying management platforms. It is understood that the participants in privacy-preserving computation can be of the same or different types. For example, Bank A and Bank B can be two participants in privacy-preserving computation; Bank A and Supermarket C can also be two participants in privacy-preserving computation. It is understood that this application does not specifically limit the specific form of the participants or whether the participants required for privacy-preserving computation should have the same form.
[0059] Furthermore, the management platform can be viewed as a software platform deployed on the participating parties. For example, when the participating party is a terminal device, the management platform can be a client running on the terminal device for permission management; when the participating party is a server, the management platform can be a computer program running on the server, which can be used for permission management. This application does not specifically limit the specific form of the management platform.
[0060] Furthermore, the "first" in "first management platform" and the "second" in "second management platform" are merely used to distinguish the management platforms of different participating parties and do not have any limiting meaning.
[0061] In summary, the system provided in this application embodiment allows for distributed permission management among multiple participants in privacy computing. Compared with existing technologies, this system does not rely on third-party devices and allows multiple participants to directly manage permissions, thus improving the security of permission management during privacy computing.
[0062] The following describes a permission management system provided by an embodiment of this application, with reference to the accompanying drawings.
[0063] Figure 1 This is a schematic diagram of the structure of a permission management system provided in an embodiment of this application. Figure 1 As shown in the embodiment of this application, a permission management system includes: a first management platform 110 located on the side of a first participating party and a second management platform 120 located on the side of a second participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing;
[0064] The first management platform 110 is used to send an application request for any permission to the second management platform 120 when it receives an application instruction for any permission; wherein, the permission information of any permission at least indicates that any user is performing target access to any stored data of the second participant.
[0065] In practical applications, the first participant can be called the requester, and the second participant can be called the service provider; correspondingly, the first management platform 110 can be called the requester platform, and the second management platform 120 can be called the service provider platform.
[0066] Understandably, if any user logged into the first management platform 110 needs to access any stored data of the second participating party, i.e., the user desires a certain permission, then the user can issue a request instruction for that permission to the first management platform 110. Correspondingly, the first management platform 110 can send a request for that permission to the second management platform 120. For example, if user 1 logged into management platform a on the supermarket A side needs to access account information of a specific type of user in supermarket B, then user 1 can issue a request instruction to management platform a for access to the account information of the specific type of user in supermarket B, i.e., issue a request instruction for a certain permission. Correspondingly, management platform a must send the request for that permission to management platform b on the supermarket B side.
[0067] Additionally, it should be noted that the timing of issuing a request for any permission may include: when the permission is requested for the first time, or when the permission is found to have expired by checking the permission, etc.
[0068] Optionally, in one implementation, to enhance the security of access control, any permission may have an expiration date. In this case, the permission information for any permission can at least indicate that any user can access any stored data of the second participant within a target time period. The target time period can be limited according to actual circumstances, such as one day, one week, one month, etc., and this application does not impose such a limitation. Furthermore, the aforementioned target access can include read access, write access, or both read and write access, all of which are reasonable.
[0069] The second management platform 120 is used to, upon receiving the application request, grant permissions to the permission if it obtains an authorization instruction for the permission requested; wherein, the authorization of the permission includes at least storing the permission information represented by the permission;
[0070] Understandably, after receiving a permission request, the second management platform 120 can display a prompt message for the permission request. Therefore, the relevant administrators of the second management platform 120 can decide whether to grant the permission requested, i.e., whether to grant the permission. If granted, the administrators can issue an authorization instruction based on the prompt message. Correspondingly, upon receiving the authorization instruction for the permission requested, the second management platform 120 grants the permission. Granting the permission includes at least saving the permission information represented by the permission. It should be noted that granting the permission by the second management platform 120 may also include notifying the first management platform 110 that the permission request was successful. Of course, granting the permission by the second management platform 120 may also include other content, such as generating a summary of the permission information for the permission requested.
[0071] The first management platform 110 is further configured to send an authentication request for a target permission to the second management platform 120 when a task to be executed is detected; wherein the target permission is the permission required to execute the task to be executed.
[0072] It is understandable that the task to be executed is the task required during the privacy computation process, and the target permission is the permission required for the task to be executed. For example, for a user, a task requiring privacy computation using stored data t from a second participant can be considered a task to be executed. In this case, the target permission represents the user's read access permission to the stored data t from the second participant. It is also understandable that authentication is part of permission management, typically verifying whether a user has the right to access the system; furthermore, the target permission information at least indicates that the target user has the specified access to the specified stored data from the second participant.
[0073] The second management platform 120 is also used to, upon receiving the authentication request, perform authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtain an analysis result to indicate whether the authentication is successful.
[0074] It is understandable that authentication analysis is based on currently stored permission information, analyzing the target permission of the authentication request to obtain the analysis result. It should be noted that authentication analysis can be understood as analyzing whether the target permission has exceeded its expiration date or scope. This application does not limit the specific process of performing authentication analysis on the target permission based on stored permission information. For example, after receiving an authentication request, management platform b analyzes whether the target permission exceeds its scope based on the currently stored permission information, and obtains the analysis result.
[0075] The first management platform 110 is also used to trigger the execution of the task to be executed when the analysis result characterization authentication is passed.
[0076] Understandably, after the analysis result characterization authentication is passed, the first management platform 110 can directly execute the task to be executed. For example, when the analysis result characterization authentication is passed, management platform a directly accesses the stored data of the second participant.
[0077] It is understood that in this embodiment, when the first management platform 110 and the second management platform 120 interact with each other, the data transmitted can be encrypted, thereby further ensuring the accessibility of the access control.
[0078] In summary, the system provided in this application allows for distributed permission management among multiple participants in privacy computing. Compared to existing technologies, this system does not rely on third-party devices and allows multiple participants to directly manage permissions, thus improving the security of permission management during privacy computing. Furthermore, this application fills the gap in distributed permissions for privacy computing, its architecture is compatible with privacy computing, it is not limited by the number of participants, it is easily expandable, and it has high versatility. Through encryption, it can restrict the task request process, preventing external interception and packet capture from disrupting it.
[0079] Optionally, in another embodiment of this application, the first management platform 110 is further configured to:
[0080] Before sending an authentication request for the target permission to the second management platform 120, a task initiation request is sent to the second management platform 120; wherein, the task initiation request carries the task identifier of the task to be executed and the user identifier of the target user involved in the target permission.
[0081] It is understandable that the identifier in the task initiation request is used to identify the task to be performed and the target user.
[0082] Therefore, before sending an authentication request to the second management platform 120, in order to further enhance the security of permission management, the first management platform 110 may not directly send an authentication request to the second management platform 120, but instead send a task initiation request to the second management platform 120 carrying the task identifier of the task to be executed and the user identifier of the target user involved in the target permission, so that the second management platform 120 can respond to the task initiation request before responding to the authentication request.
[0083] For example, before sending an authentication request to management platform b, management platform a sends a task initiation request to management platform b, carrying the task identifier of the task to be executed and the user identifier of user c involved in the target permissions.
[0084] The second management platform 120 is further configured to generate a token corresponding to the user identifier and the task identifier after receiving the task initiation request, and send the token as a feedback result of the task initiation request to the first management platform 110;
[0085] Understandably, a token can represent both a user identifier and a task identifier. The feedback result of a task initiation request can be a token. It should be noted that the token is used to uniquely identify both the user identifier and the task identifier, that is, to uniquely identify this task session. This application does not impose any restrictions on the method of token generation.
[0086] For example, after receiving a task initiation request, management platform b generates a token containing user identifier and task identifier for user c, and sends the token as a feedback result of the task initiation request to management platform a.
[0087] Accordingly, based on the above token generation process, the first management platform 110 sends an authentication request for the target permission to the second management platform 120, including step A1:
[0088] Step A1: Generate and send an authentication request to the second management platform 120, carrying the token and specified access information regarding the target permissions;
[0089] The specified access information refers to the information within the target permission's permission information regarding specified access to specified storage data of the second participant. Since the token is used to represent both the user identifier and the task identifier, the authentication request can carry the token and the specified access information to indicate authentication for the target permission without explicitly displaying the user identifier, thus further enhancing the security of permission management. It should be noted that specified access to specified storage data of the second participant can be understood as the specific content of the permissions required to execute the task.
[0090] Accordingly, the second management platform 120, based on the currently stored permission information, performs authentication analysis on the target permission of the authentication request to obtain an analysis result indicating whether the authentication is successful, including step B1:
[0091] Step B1: Based on the currently saved permission information, as well as the token and specified access information in the authentication request, perform authentication analysis on the authentication request to obtain an analysis result that indicates whether authentication is successful.
[0092] It should be noted that the authentication request carries a token and specified access information. Since the token is generated for the task identifier and the user identifier, the user identifier can be identified through the token, that is, the user who needs to be authenticated can be identified. The specified access information can determine the data and access type of the permission that needs to be authenticated. Therefore, the second management platform 120 can perform authentication analysis on the authentication request based on the currently stored permission information, as well as the token and specified access information in the authentication request, and thus obtain the analysis result used to characterize whether the authentication is successful.
[0093] Optionally, based on the above embodiments, in one implementation, the second management platform 120 is further used for:
[0094] After generating a token corresponding to the user identifier and the task identifier, the token and the task identifier are bound to the target permission information in the currently saved permission information.
[0095] The target permission information refers to permission information concerning the target user with the user identifier.
[0096] It is understandable that the above process establishes a binding relationship between the token and the target permission information in the permission information, thereby enabling the target permission information to represent the permission information regarding the target user with the user identifier. For example, after generating a token x1 corresponding to the user identifier and task identifier task1, the management platform b binds the token x1 to the target permission information in the currently stored permission information p.
[0097] Accordingly, based on the above process, the second management platform 120 performs authentication analysis on the authentication request based on the currently stored permission information, as well as the token and specified access information in the authentication request, to obtain an analysis result indicating whether authentication is successful, including steps C1-C2:
[0098] Step C1: Obtain the target permission information bound to the token and the task identifier from the currently saved permission information, as the permission information to be used;
[0099] It is understandable that, since the binding relationship between the token, the task identifier, and the target permission information in the currently saved permission information has been established in advance, after obtaining the token, the target permission information bound to the token and the task identifier can be selected from the currently saved permission information as the permission information to be used for authentication analysis. For example, management platform b obtains the target permission information bound to token x1 and task identifier task1 from the currently saved permission information as the permission information to be used.
[0100] Step C2: Based on whether the stored data and target access represented by the permission information to be utilized match the specified access information, determine the analysis result used to represent whether the authentication is successful.
[0101] Specifically, determining whether the stored data and target access represented by the information to be utilized match the specified access information can be understood as whether the data range of the specified stored data in the specified access information does not exceed the data range of the stored data represented by the permission information to be utilized, and whether the specified access in the specified access information does not exceed the access range of the target access in the permission information to be utilized. Of course, when time-related information is included in the permission information for any permission, the authentication analysis can also analyze whether the permission information to be utilized has expired.
[0102] It is understood that in this embodiment, when the first management platform 110 and the second management platform 120 interact with each other, the data transmitted can be encrypted, thereby further ensuring the accessibility of the access control.
[0103] The authentication part of the permission management system provided in this application binds the token to the target permission information in the permission information. The target permission information is the permission information about the target user with the user identifier. In this way, the token can directly represent the part about the user information, thereby effectively protecting the user's information from being leaked in subsequent authentication operations, and thus improving the security of the entire permission management system.
[0104] Optionally, in another embodiment of this application, the authorization of the permission by the second management platform 120 may further include feeding back the summary information corresponding to the permission to the first management platform 110;
[0105] The summary information corresponding to this permission is generated based on the permission information represented by this permission;
[0106] It is understandable that the second management platform 120 feeds back the summary information generated based on the permission information represented by the permission to the first management platform 110. It can also be understood that the summary information is a reduction of the permission information represented by the permission in characters or fields.
[0107] The first management platform 110 is also used for:
[0108] Save the summary information corresponding to this permission returned by the second management platform 120.
[0109] Understandably, the first management platform 110 needs to save the summary information fed back by the second management platform 120 to facilitate subsequent permission verification.
[0110] Provided that the second management platform 120 sends summary information back to the first management platform 110, the first management platform 110 is also used for:
[0111] Upon detecting a query command for any permission, a query request is sent to the second management platform 120;
[0112] The query request contains the data identifier of the stored data involved in the permission and the user's user identifier;
[0113] Understandably, the above steps involve sending a query command for viewing permissions. When the first management platform 110 detects a query command for any permission, it sends a query request to the second management platform 120, carrying the data identifier of the stored data involved in that permission and the user's user identifier. Specifically, when any request for viewing permissions exists, the user with that request can send a query command for any permission to the first management platform 110, thereby triggering the first management platform 110 to send a query request to the second management platform 120.
[0114] The second management platform 120 is also configured to, upon receiving the query request, generate summary information corresponding to the permission represented by the specified permission information if the specified permission information exists in the currently stored permission information, and feed back the generated summary information to the first management platform 110;
[0115] The specified permission information is: permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request.
[0116] Among them, the currently saved permission information contains specified permission information, specifically referring to the existence of specified permission information that has not expired.
[0117] It is understandable that the summary information generated based on the specified permission information is simply a reduced version of the fields in the specified permission information. It is important to emphasize that the types of data used in the generation process are the same for both the summary information generated during the permission request process and the summary information generated during the permission viewing process. For example, for any given permission, the types of data used include: the user identifier of the user for whom the permission applies, the data identifier of the stored data, the access type of the target access, and the time information.
[0118] For example, after receiving a query request, management platform b reduces the fields of the permission information based on the permission information for user c with user identifier and the permission information for stored data with data identifier in the currently stored permission information, thereby generating summary information, and then sends the summary information to management platform a.
[0119] The first management platform 110 is also used for:
[0120] Upon receiving the summary information corresponding to the query request, the system identifies whether the summary information corresponding to the permission stored locally matches the received summary information. If they match, the system outputs a first prompt message indicating that the user has the permission; otherwise, it outputs a second prompt message indicating that the user does not have the permission.
[0121] It is understood that the above steps can be regarded as the first management platform 110 performing a self-check on the digest information, checking whether the digest information corresponding to the permission stored locally matches the received digest information; wherein, the digest information can be calculated based on a predetermined digest algorithm, such as MD (Message Digest), SHA (Secure Hash Algorithm), and MAC (Message Authentication Code), etc., and this application embodiment does not specifically limit it.
[0122] The first prompt information indicates that the summary information corresponding to the permission in local storage matches the received summary information, while the second prompt information indicates that the summary information corresponding to the permission in local storage does not match the received summary information.
[0123] For example, if the summary information corresponding to the permission representing local storage matches the received summary information, management platform a outputs a first prompt message indicating that the user has permission p1; if the summary information corresponding to the permission representing local storage does not match the received summary information, management platform a outputs a second prompt message indicating that the user does not have permission p1.
[0124] It is understood that in this embodiment, when the first management platform and the second management platform interact, the transmitted data can be encrypted, thereby further ensuring the accessibility of the access control. In the access control system provided in this application embodiment, by sending digest information back to the first management platform after granting permissions, the first management platform can query whether it possesses any given permission based on the stored digest information. Thus, this embodiment not only improves the security of access control during privacy computing but also provides a access control query function based on the digest information, thereby enhancing the user experience while ensuring the security of access control.
[0125] Optionally, in another embodiment of this application, the permission request carries: the content obtained by encrypting the digital signature corresponding to the permission using the first public key of the first management platform 110; wherein, the digital signature corresponding to the permission is: the content obtained by encrypting the permission information of the permission using the second public key of the second management platform 120;
[0126] It is understood that in this embodiment of the application, the permission request carries the content obtained by encrypting the digital signature corresponding to the permission with the first public key of the first management platform 110. Since the digital signature corresponding to the permission is itself encrypted, the permission request has two layers of encryption, both of which are encrypted with the public key.
[0127] The second management platform 120 is further configured to: use the second private key of the second management platform 120 corresponding to the second public key, and the first private key of the first management platform 110 corresponding to the first public key, to decrypt the content in the received application request and obtain the permission requested by the application request.
[0128] Understandably, the second management platform 120 can use its second private key and the first private key of the first management platform 110 to decrypt the received permission request. It first uses the first private key to decrypt the digital signature and then uses the second private key to decrypt the permission information.
[0129] Optionally, in one implementation, the authentication request for the target permission carries: the content obtained by encrypting the digital signature corresponding to the target permission using the first public key of the first management platform 110;
[0130] The digital signature corresponding to the target permission is the content obtained by encrypting the permission information of the target permission using the second public key of the second management platform 120;
[0131] It is understandable that the authentication request for the target permission carries the content obtained by encrypting the digital signature corresponding to the permission with the first public key of the first management platform 110. Since the digital signature corresponding to the permission is itself encrypted, the permission request has two layers of encryption, both of which are encrypted with the public key.
[0132] The second management platform 120 is further configured to: use the second private key of the second management platform 120 corresponding to the second public key, and the first private key of the first management platform 110 corresponding to the first public key, to decrypt the content carried in the received authentication request, and obtain the target permissions targeted by the authentication request.
[0133] Understandably, the second management platform 120 can use its second private key and the first private key of the first management platform 110 to decrypt the content carried in the received authentication request. It first uses the first private key to decrypt the digital signature, and then uses the second private key to decrypt it, thereby obtaining the target permissions targeted by the authentication request.
[0134] After introducing the key decryption process, the key distribution process between the first management platform 110 and the second management platform 120 will be described below:
[0135] The first management platform 110 is also used to generate an initial public key and an initial private key, and send the initial public key to the second management platform 120;
[0136] Understandably, the initial public key and initial private key are the first pair of public and private keys generated by the first management platform 110, and their main function is to distribute keys.
[0137] For example, management platform a generates an initial public key and an initial private key, and sends the initial public key to management platform b.
[0138] The second management platform 120 is also used to generate a second public key and a second private key. After receiving the initial public key, it uses the initial public key to encrypt the second public key and feeds back the encrypted second public key to the first management platform 110.
[0139] Understandably, the second management platform 120 can encrypt the pre-generated second public key with the received initial public key, and then send the encrypted second public key back to the first management platform 110.
[0140] For example, management platform b can encrypt the pre-generated second public key with the received initial public key, and then send the encrypted second public key back to management platform a.
[0141] The first management platform 110 is further configured to, upon receiving the encrypted second public key, decrypt the encrypted second public key using the initial private key to obtain the second public key; generate the first public key and the first private key; encrypt the first private key using the second public key; and send the encrypted first private key to the second management platform 120.
[0142] Understandably, the first management platform 110 obtains the second public key through exchange, uses the second public key to encrypt the newly generated first private key, and then sends the first private key to the second management platform 120.
[0143] For example, after receiving the encrypted second public key, management platform A uses the initial private key to decrypt the encrypted second public key to obtain the second public key; and generates a first public key and a first private key, uses the second public key to encrypt the first private key, and sends the encrypted first private key to management platform B.
[0144] The second management platform 120 is also used to decrypt the encrypted first private key using the second private key after receiving the first private key, so as to obtain the first private key.
[0145] Understandably, the second management platform 120 obtains the first private key after exchanging keys with the first management platform 110.
[0146] In this embodiment, the first management platform 110 uses an initial public key and an initial private key to complete the key distribution between the first management platform 110 and the second management platform 120. This ensures that the public key of the second management platform 120 obtained by the first management platform 110 is secure during transmission, and the private key of the first management platform 110 obtained by the second management platform 120 is also secure during transmission. Compared to simply having the second management platform 120 directly use the initial public key as the key for subsequent encryption, the distribution method of this application greatly improves the security of the distributed key.
[0147] In this embodiment, encryption is performed using a pre-distributed key during the data interaction between the first management platform and the second management platform, which can further enhance the security of access control. Furthermore, the key distribution method of this embodiment ensures that each platform receives a key with high security, thereby further enhancing the security of subsequent access control.
[0148] To facilitate understanding of this solution, the following will be combined with... Figure 2 and Figure 3 The permission management system provided in this application embodiment will be described. Both the management platform on the side of participant A and the management platform on the side of participant B may include: a key module, a permission management module, an operation authentication module, and a data communication module; wherein, the key module may include a first key management module and a second key management module, the permission management module may include: a permission caching module and a permission storage module; the operation authentication module may include a task initiation module and a service authentication module. It should be noted that when participant A is the requester, the management platform on the side of participant A can be referred to as the first management platform, and the management platform on the side of participant B can be referred to as the second management platform. Furthermore, during the permission management process, the first key management module, permission caching module, task initiation module, and data communication module in the first management platform operate, while the second key management module, permission storage module, service authentication module, and data communication module in the second management platform operate.
[0149] like Figure 2 As shown, when participant A is the requester and participant B is the service provider, the modules used in the first management platform during the permission management process include: a first key management module, a permission caching module, a task initiation module, and a data communication module; while the modules used in the second management platform include: a second key management module, a permission storage module, a service authentication module, and a data communication module.
[0150] Among them, key generation and key distribution can be achieved through the interaction between the first key management module and the second key management module;
[0151] The interaction between the permission caching module in the first management platform and the permission caching module in the second management platform can at least achieve: permission granting application, permission viewing process, and permission information storage;
[0152] The interaction between the task initiation module in the first management platform and the service authentication module in the second management platform can at least achieve the following: the authorization process.
[0153] The data communication modules located on the first and second management platforms are used to realize data transmission between the two platforms and to ensure that the results of internal cluster communication are not leaked during data exchange between participants. Specifically, the data communication modules in the first and second management platforms are respectively the external access modules for the first and second management platforms. The first management platform receives and sends data externally through its own data communication module, while the second management platform does the same. In other words, the data communication modules are responsible for preventing the external access to the addresses and port information of various modules within the cluster during data transmission interactions between multiple participants, thus ensuring that the cluster network structure is not leaked. Because there are data interactions between participants, such as key distribution and permission operations, it is necessary to protect the security of data transmission during the process. Therefore, the HTTPS protocol is used for request forwarding to shield the internal service details of the participants.
[0154] like Figure 3 As shown, the permission management process of the permission management system provided in this application embodiment includes:
[0155] S301, Public and private key preparation;
[0156] It is understandable that the first cryptographic management module in the first management platform and the second key management module in the second management platform are responsible for preparing the public and private keys: public and private key generation and public and private key distribution.
[0157] S302, Permission verification;
[0158] S303, local cache;
[0159] S304, Access Control;
[0160] It is understandable that the permission caching module in the first management platform and the permission storage module in the second management platform interact with each other to achieve: permission comparison, local caching, and permission management; wherein, permission comparison includes: permission comparison based on summary information that occurs during the permission viewing process; local caching includes caching of summary information and caching of permission information; permission management includes the application for any permission.
[0161] S305, Task Initiation;
[0162] S306, Operation Authentication.
[0163] It is understandable that the task initiation module in the first management module can execute the task initiation process, while the service authentication module in the second management platform can execute the operation authentication process; the task initiation process can be considered as the authentication process, while the operation authentication process can be considered as the process of verifying whether permissions exist.
[0164] In summary, the main processes of an access control system for access management include the following:
[0165] (1) Both parties exchange public and private keys through asymmetric encryption to ensure that both parties have a private key that can be used to make digital signatures.
[0166] (2) Compare permission information through digital digests. If the digital digests are the same, the permission information can be viewed through the local cache.
[0167] (3) Each time permissions are modified, relevant information will be sent to the target participant, i.e. the service provider. The actual content of the permissions will be reviewed and stored by the target participant, and a digital digest will be returned as the basis for successful authorization.
[0168] (4) Authentication is based on a single task, with each participant generating a token for one user per task.
[0169] (5) The actual server, i.e. the service provider, will bind the token and the permission information targeted by the initiated request operation, and store them as a cache in the task session.
[0170] (6) On the actual server side, when performing operations, the user's permissions are verified by reading the permissions in the task session before proceeding with subsequent operations.
[0171] In summary, the system provided in this application embodiment allows for distributed permission management among multiple participants in privacy computing. Compared with existing technologies, this system does not rely on third-party devices and allows multiple participants to directly manage permissions, thus improving the security of permission management during privacy computing.
[0172] To better understand key distribution, the following will be combined with the appendix. Figure 4The key distribution process is explained below. It is understood that the key distribution process described above is completed by the key module in the management platform. The key module is responsible for generating and distributing keys among the participants to ensure that subsequent authorization and authentication operations can proceed normally. The purpose of distributing the public key is for data encryption; while distributing the private key is for digital signatures, ensuring the uniqueness of the sender. Furthermore, the private key C in the following process is sent by the participating party, meaning that the requesting party guarantees that its public-private key pair was uniquely generated by itself, and guarantees that only the service provider possesses the private key at that time. The secure storage of the key is guaranteed by the service provider during authorized interactions.
[0173] like Figure 4 As shown, the key distribution process is a key distribution process between participant A and participant B, specifically a key distribution process between the first management platform on the side of participant A and the second management platform on the side of participant B.
[0174] like Figure 4 As shown, the key distribution process may include:
[0175] S401, Public and private keys aA are generated;
[0176] In this context, the public key a in public-private key aA is the initial public key mentioned in the above embodiments, and the private key A is the initial private key mentioned in the above embodiments.
[0177] S402, Public and private key bB generation;
[0178] In this context, the public key b in public-private key bB is the second public key mentioned in the above embodiments, and the private key B is the second private key mentioned in the above embodiments.
[0179] S403, Send public key a;
[0180] In this process, participant A sends the initial public key 'a' to participant B.
[0181] S404, public key b is encrypted as b';
[0182] In this scenario, after receiving the initial public key a, participant B can use public key a to encrypt public key b to obtain b'; where b' represents the encrypted second public key.
[0183] S405, Send the encrypted public key b';
[0184] Understandably, participant B sends the encrypted public key b' to participant A.
[0185] S406, Private key A is decrypted to b;
[0186] It is understandable that after receiving the encrypted second public key b, i.e. b', participant A uses the initial private key, i.e. private key A, to decrypt the encrypted second public key b, thereby obtaining the second public key b.
[0187] S407, Public and private key cC generation;
[0188] Wherein, the private key C in the public-private key cC is the first private key in the above embodiment, and the public key c is the second public key in the above embodiment;
[0189] S408, Send the encrypted private key C';
[0190] Here, C' represents the first private key encrypted using public key b. It should be noted that participant A uses the second public key to encrypt the first private key C, and then sends the encrypted first private key C' to participant B.
[0191] S409, private key C' is decrypted to C;
[0192] Understandably, participant B uses the second private key b to decrypt the encrypted first private key C' to obtain the first private key C.
[0193] In this way, when the first management platform on the side of participant A sends any data to the second management platform on the side of participant B, it can encrypt the data using the second public key b. The second management platform on the side of participant B can then decrypt the data sent by participant A using the second private key corresponding to the second public key. Similarly, when the second management platform on the side of participant B sends any data to the first management platform on the side of participant A, it can encrypt the data using the first private key C. The second management platform on the side of participant A can then decrypt the data sent by participant B using the first public key corresponding to the first private key.
[0194] By using the key distribution method described above, the keys distributed by the first management platform and the second management platform can be guaranteed to have high security, thereby further ensuring the security of access control.
[0195] To better understand the authorization process, we will continue to use the interaction between participant A and participant B as an example to illustrate the authorization process. It is understandable that this authorization process is implemented by the permission management module in the management platform. The permission management module provides specific functions for viewing, granting, and refreshing permissions. Through this module, both parties achieve distributed storage of participant-user-table name-permission type-expiration time. The requesting party has complete user information, and the service provider has complete operation and permission information.
[0196] like Figure 5 As shown, the empowerment process includes:
[0197] S501, request to retrieve table and user data u1-t1;
[0198] When it is necessary to check whether a user has any particular permission, a query command for that permission can be obtained. It can be understood that in the so-called request table and user data u1-t1, u1 represents the user identifier of the user involved in the permission, and t1 represents the data identifier of the stored data involved in the permission; the so-called request to retrieve the table and user data u1-t1 specifically refers to querying whether one has permissions regarding u1-t1.
[0199] S502, using public key b to encrypt as (u1-t1)';
[0200] It is understandable that after obtaining the query instruction, the public key b, i.e. the second public key mentioned above, can be used to encrypt the query request. Specifically, u1-t1 in the query request is encrypted to obtain (u1-t1)', and the encrypted query request is sent to the second management platform on the B side of the participant.
[0201] S503 uses private key B to decrypt into u1-t1, and internally checks whether the permissions have expired;
[0202] Understandably, after receiving a query request carrying (u1-t1)', the second management platform on the B side uses the private key B corresponding to the public key b to decrypt it into u1-t1, and checks whether the currently stored permission information contains the specified permission information of u1-t1 and whether it has expired.
[0203] S504, Send encrypted digest MD1';
[0204] It is understandable that, when the digest exists and has not expired, participant B can use the specified permission information to generate the digest, and use participant A's private key C to generate the encrypted digest MD1', and send the encrypted digest MD1' to participant A's first management platform.
[0205] S505, Digest Decryption, compares the received digest with its own cache;
[0206] Understandably, the first management platform on the A side uses public key c to decrypt the received digest MD1', and compares the decrypted digest with the digest corresponding to the permission in the local cache. If they match, it indicates that the permission is granted, and a first prompt message indicating that the permission is granted can be output; if they do not match, it indicates that the permission is not granted, and a second prompt message indicating that the permission is not granted can be output.
[0207] S506, Modify user permissions u1-t1;
[0208] Understandably, if the received digest is inconsistent with its own cache, participant A can modify the user's permissions, i.e., u1-t1, which means re-requesting the permission.
[0209] S507, send encrypted digital signature ((u1-t1-p1-deadline)b'-timestamp)c';
[0210] Understandably, the first management platform on participant A's side can generate a digital signature corresponding to the permission to be applied for, and then encrypt the digital signature using the public key c of the first management platform to form ((u1-t1-p1-deadline)b'-timestamp)c'; where u1-t1-p1-deadline represents the permission information of the permission to be applied for, (u1-t1-p1-deadline)b' is the digital signature corresponding to the permission, and ((u1-t1-p1-deadline)b'-timestamp)c' is the content obtained after encrypting the digital signature corresponding to the permission.
[0211] S508, decrypt to obtain the timestamp and permissions u1-t1-p1-deadline;
[0212] It is understandable that the second management platform on participant B's side can decrypt and obtain the timestamp and the permission information u1-t1-p1-deadline for that permission;
[0213] S509, using private key C, send encrypted digest MD2';
[0214] Understandably, after receiving the authorization instructions from the relevant administrators for this permission, the second management platform on participant B's side can save the permission information for this permission, generate the digest MD2 corresponding to this permission, encrypt the digest MD2 corresponding to this permission using the private key C, obtain the encrypted digest MD2', and send it back to participant A.
[0215] S510, digest decryption, self-stored digest MD2;
[0216] Understandably, the first management platform on the A side can use the public key c to obtain the decrypted MD2 from the encrypted digest MD2', and then cache it.
[0217] Through the above authorization process, caching ensures the efficiency of the requester's permission viewing, the transmission process ensures the data and the sender's identity information during the authorization process, and the digest ensures the feedback of information after authorization is completed and prevents its content from being cracked by external parties.
[0218] Through the above process, participant A can view and apply for permissions.
[0219] To better understand the authentication process, we will continue to use the interaction between participant A and participant B as an example to illustrate the authentication process. It can be understood that the authentication process is completed by the operation authentication module in the management platform. This module is used for permission period authentication during the privacy computation process between multiple parties. Furthermore, in a single privacy computation task, a one-time token is added to the requesting user, and a temporary permission list is bound to the token. During actual operation, the requesting party uses the token to perform access operations, and the service provider determines permissions based on the temporary permissions. The participating parties do not perform actual operations as users, protecting the requesting party's user information from being obtained by lower-level operation components.
[0220] like Figure 6 As shown, the authentication process includes:
[0221] S601, Generate a cryptographic digital signature to send a task initiation request ((task1-u1)b'-timestamp)c');
[0222] Understandably, when a task to be executed is detected, the first management platform on the participant's side can send a task initiation request to the second management platform on the participant's side. This task initiation request carries the following: the content encrypted using the public key c, and the encrypted signature information ((task1-u1)b'-timestamp)c'; where...
[0223] `task1` represents the task identifier of the task to be executed, `u1` represents the user identifier of the target user for which the target permissions required by the task to be executed are applied, `b` represents the second public key, `c` represents the first public key, and `timestamp` represents the timestamp. Here, `((task1-u1)b'` is the digital signature corresponding to the task initiation request, which is obtained by encrypting the task identifier of the task to be executed and the user identifier of the target user involved in the target permissions using the public key `b` of the second management platform. `((task1-u1)b'-timestamp)c'` is the content obtained by encrypting the digital signature corresponding to the task initiation request using the first public key of the first management platform. It is understood that the timestamp is data generated using digital signature technology, and the signed object includes information such as the original file information, signature parameters, and signature time. It should be noted that this embodiment uses public key encryption and private key decryption for encryption.
[0224] S602, use private key C to decrypt the received encrypted digital signature, generate token x1, and generate and cache task1-x1-u1;
[0225] Understandably, participant B uses private key C to decrypt the aforementioned encrypted digital signature, obtaining task identifier task1 and user identifier u1; generates token X1 corresponding to task identifier task1 and user identifier u1, and generates cache task1-x1-u1; furthermore, it can establish a binding relationship between the token and the task identifier task1 and the target permission information in the currently stored permission information, where the target permission information is the permission information for the target user with the user identifier u1. The binding relationship can be task1-x1-u1-t1-p3.
[0226] S603, encrypt token b using private key C and send it to participant A;
[0227] S604, Determine the permission information u1-t1-p3 of the target permissions required for the task to be executed;
[0228] It is understandable that after receiving the token, participant A can use the public key c to decrypt and obtain the token; for the task to be executed, the permission information of the target permission can be determined as: x1-t1-p3, where t1 represents the identifier of the data table and p3 represents the specified access.
[0229] S605, generate and send the encrypted digital signature ((x1-t1-p3)b'-timestamp)c');
[0230] It is understandable that the encrypted digital signature ((x1-t1-p3)b'-timestamp)c') is generated and sent using public key c and public key b; the encrypted digital signature ((x1-t1-p3)b'-timestamp)c') is the content carried in the authentication request.
[0231] S606, using private key C and private key B to decrypt x1-t1-p3, internally authenticates the target's permissions, that is, checks whether the target's permissions exist and whether they have expired;
[0232] After decrypting x1-t1-p3, the target permission information bound to the token and the task identifier can be obtained from the currently saved permission information as the permission information to be used; then, based on whether the stored data and target access represented by the permission information to be used match the specified access information, the analysis result used to represent whether the authentication is successful is determined; wherein, the specified access information is the access information represented by t1-p3.
[0233] It is understandable that participant B calls the previously cached task1-x1-u1 and adds t1-p3 into the cache, thus obtaining task1-x1-u1-t1-p3.
[0234] S607, Is the sending permission approved (status-reason)C';
[0235] Understandably, participant B will eventually send feedback on whether the authentication passed or failed to participant A. Here, (status-reason)C' represents the authentication result encrypted with private key C. Thus, if authentication passes, the task will be executed.
[0236] Continue with the operation.
[0237] The above process can enhance the security of access control during the authentication process.
[0238] Based on the above embodiments, the access control system provided in this application has at least the following beneficial effects:
[0239] (1) It can ensure that the authentication and authorization process is secure and reliable;
[0240] (2) It fills the gap in distributed permissions for privacy computing, and its architecture is compatible with privacy computing.
[0241] (3) It is not limited by the number of participants in privacy computing, and can be easily expanded and has high versatility;
[0242] (4) The task request process is restricted, and even if the external system intercepts and captures packets, it cannot be disrupted.
[0243] Based on the above embodiments, such as Figure 7 As shown, this application provides a permission management method applied to a first management platform located on the side of a first participating party in a permission management system; the permission management system further includes a second management platform located on the side of a second participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing; the method includes:
[0244] S701, when an application instruction for any permission is obtained, an application request for that permission is sent to the second management platform, so that after receiving the application request, if the second management platform obtains an authorization instruction for the permission requested, it will grant the permission.
[0245] Wherein, the permission information of any permission at least represents that any user is performing target access to any stored data of the second participant, and the granting of the permission includes at least saving the permission information represented by the permission;
[0246] Optionally, in one implementation, the second management platform's authorization of this permission also includes:
[0247] The first management platform is fed back the summary information corresponding to the permission; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission.
[0248] The method further includes:
[0249] Save the summary information corresponding to this permission returned by the second management platform.
[0250] The method further includes:
[0251] Upon detecting a query command for any permission, a query request is sent to the second management platform. Upon receiving the query request, if the second management platform has the specified permission information in its currently stored permission information, it generates summary information corresponding to the permission represented by the specified permission information and feeds back the generated summary information to the first management platform. The query request carries a data identifier of the stored data involved in the permission and a user identifier of the user. The specified permission information is permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request.
[0252] After receiving the summary information corresponding to the query request, identify whether the summary information corresponding to the permission stored locally matches the received summary information;
[0253] If a match is found, output a first message indicating that the user has the permission; otherwise, output a second message indicating that the user does not have the permission.
[0254] Optionally, in another implementation, the permission request carries: the content obtained by encrypting the digital signature corresponding to the permission using the first public key of the first management platform; wherein, the digital signature corresponding to the permission is: the content obtained by encrypting the permission information of the permission using the second public key of the second management platform;
[0255] The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content of the received application request and obtain the permission requested by the application request.
[0256] S702, when a task to be executed is detected, an authentication request for the target permission is sent to the second management platform, so that after receiving the authentication request, the second management platform performs authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtains an analysis result to indicate whether the authentication is successful.
[0257] The target permissions are those required to execute the task to be executed.
[0258] Optionally, in one implementation, before sending an authentication request for the target permissions to the second management platform upon detecting the generation of a task to be executed, the method further includes:
[0259] A task initiation request is sent to the second management platform. The task initiation request carries the task identifier of the task to be executed and the user identifier of the target user involved in the target permission. After receiving the task initiation request, the second management platform generates a token corresponding to the user identifier and the task identifier, and sends the token as a feedback result of the task initiation request to the first management platform.
[0260] Sending an authentication request for the target permissions to the second management platform includes:
[0261] Generate and send an authentication request to the second management platform, carrying the token and specified access information about the target permission; wherein, the specified access information is the permission information of the target permission, which is the information about specified access to specified storage data of the second participant;
[0262] The second management platform, based on the currently stored permission information, performs authentication analysis on the target permission of the authentication request to obtain an analysis result indicating whether authentication is successful, including:
[0263] Based on the currently stored permission information, as well as the token and specified access information in the authentication request, an authentication analysis is performed on the authentication request to obtain an analysis result that indicates whether the authentication is successful.
[0264] Optionally, in another implementation, the authentication request for the target permission carries: content obtained by encrypting the digital signature corresponding to the target permission using the first public key of the first management platform; wherein, the digital signature corresponding to the target permission is content obtained by encrypting the permission information of the target permission using the second public key of the second management platform;
[0265] The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content carried in the received authentication request, and obtain the target permissions targeted by the authentication request.
[0266] Optionally, in one implementation, the method further includes:
[0267] Generate an initial public key and an initial private key, send the initial public key to the second management platform so that the second management platform generates a second public key and a second private key, and after receiving the initial public key, encrypt the second public key using the initial public key and send the encrypted second public key back to the first management platform;
[0268] After receiving the encrypted second public key, the encrypted second public key is decrypted using the initial private key to obtain the second public key;
[0269] Generate a first public key and a first private key, encrypt the first private key using the second public key, and send the encrypted first private key to the second management platform. Upon receiving the encrypted first private key, the second management platform decrypts the encrypted first private key using the second private key to obtain the first private key.
[0270] S703, when the analysis result indicates that the authentication has passed, the execution of the task to be executed is triggered.
[0271] It should be noted that the above-mentioned permission management method has been introduced in the above system embodiments, so it will not be elaborated on here.
[0272] In summary, the system provided in this application allows for distributed permission management among multiple participants in privacy computing. Compared to existing technologies, this system does not rely on third-party devices and allows multiple participants to directly manage permissions, thus improving the security of permission management during privacy computing. Furthermore, this application fills the gap in distributed permissions for privacy computing, its architecture is compatible with privacy computing, it is not limited by the number of participants, it is easily expandable, and it has high versatility. Through encryption, it can restrict the task request process, preventing external interception and packet capture from disrupting it.
[0273] like Figure 8As shown, this application embodiment provides another permission management method, applied to a second management platform located on the side of the second participant in a permission management system; the permission management system further includes a first management platform located on the side of the first participant; the first participant and the second participant are any two of a plurality of participants used to implement privacy computing; the method includes:
[0274] S801, after receiving the application request sent by the first management platform, if the authorization instruction for the permission application is obtained, then the authorization for that permission is performed.
[0275] The application request is a request for a permission made by the first management platform when it receives an application instruction for any permission. Granting the permission includes at least saving the permission information represented by the permission.
[0276] Optionally, in one implementation, the granting of the permission further includes:
[0277] The first management platform is fed back the summary information corresponding to the permission; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission.
[0278] The first management platform is also used to: save the summary information corresponding to the permission fed back by the second management platform.
[0279] The method further includes:
[0280] Upon receiving a query request from the first management platform, if the specified permission information exists in the currently stored permission information, a summary information corresponding to the permission represented by the specified permission information is generated, and the generated summary information is fed back to the first management platform. This allows the first management platform to identify whether the locally stored summary information corresponding to the permission matches the received summary information after receiving the summary information corresponding to the query request. If they match, a first prompt message indicating that the permission is granted is output; otherwise, a second prompt message indicating that the permission is not granted is output.
[0281] The query request is sent by the first management platform when it detects a query instruction for any permission; the specified permission information is permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request; wherein the query request carries the data identifier of the stored data involved in the permission and the user identifier of the user.
[0282] Optionally, in another implementation, the permission request carries: the content obtained by encrypting the digital signature corresponding to the permission using the first public key of the first management platform; wherein, the digital signature corresponding to the permission is: the content obtained by encrypting the permission information of the permission using the second public key of the second management platform;
[0283] The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content of the received application request and obtain the permission requested by the application request.
[0284] The method further includes:
[0285] A second public key and a second private key are generated. After receiving the initial public key sent by the first management platform, the second public key is encrypted using the initial public key. The encrypted second public key is then sent back to the first management platform, so that the first management platform, upon receiving the encrypted second public key, decrypts the encrypted second public key using the initial private key to obtain the second public key. The first public key and a first private key are then generated. The first private key is encrypted using the second public key, and the encrypted first private key is sent to the second management platform.
[0286] After receiving the encrypted first private key, the second private key is used to decrypt the encrypted first private key to obtain the first private key.
[0287] S802, after receiving the authentication request sent by the first management platform, based on the currently stored permission information, performs authentication analysis on the target permission of the authentication request to obtain an analysis result that indicates whether the authentication is successful, so that the first management platform triggers the execution of the task to be executed when the analysis result indicates that the authentication is successful.
[0288] The authentication request is sent by the first management platform to the second management platform when it detects the generation of a task to be executed; the target permission is the permission required to execute the task to be executed.
[0289] Optionally, in one implementation, the method further includes:
[0290] Receive a task initiation request sent by the first management platform; wherein the task initiation request is sent by the first management platform before sending an authentication request for the target permission to the second management platform; wherein the task initiation request carries the task identifier of the task to be executed and the user identifier of the target user involved in the target permission;
[0291] Generate a token corresponding to the user identifier and the task identifier, and send the token as a feedback result of the task initiation request to the first management platform;
[0292] The method by which the first management platform sends an authentication request for the target permissions to the second management platform includes:
[0293] Generate and send an authentication request to the second management platform, carrying the token and specified access information about the target permission; wherein, the specified access information is the permission information of the target permission, which is the information about specified access to specified storage data of the second participant;
[0294] The step of performing authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtaining an analysis result to indicate whether the authentication is successful, includes:
[0295] Based on the currently stored permission information, as well as the token and specified access information in the authentication request, an authentication analysis is performed on the authentication request to obtain an analysis result that indicates whether the authentication is successful.
[0296] The method further includes:
[0297] After generating a token corresponding to the user identifier and the task identifier, the token and the task identifier are bound to the target permission information in the currently saved permission information; wherein, the target permission information is permission information about the target user with the user identifier.
[0298] The authentication analysis, based on the currently stored permission information and the token and specified access information in the authentication request, is performed to obtain an analysis result indicating whether authentication is successful, including:
[0299] From the currently saved permission information, obtain the target permission information that is bound to the token and the task identifier, as the permission information to be used;
[0300] Based on the stored data represented by the permission information to be utilized and the target access, determine whether it matches the specified access information to determine the analysis result used to represent whether the authentication is successful.
[0301] Optionally, in another implementation, the authentication request for the target permission carries: content obtained by encrypting the digital signature corresponding to the target permission using the first public key of the first management platform; wherein, the digital signature corresponding to the target permission is content obtained by encrypting the permission information of the target permission using the second public key of the second management platform;
[0302] The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content carried in the received authentication request, and obtain the target permissions targeted by the authentication request.
[0303] It should be noted that the above-mentioned permission management method has been introduced in the above system embodiments, so it will not be elaborated on here.
[0304] In summary, the system provided in this application allows for distributed permission management among multiple participants in privacy computing. Compared to existing technologies, this system does not rely on third-party devices and allows multiple participants to directly manage permissions, thus improving the security of permission management during privacy computing. Furthermore, this application fills the gap in distributed permissions for privacy computing, its architecture is compatible with privacy computing, it is not limited by the number of participants, it is easily expandable, and it has high versatility. Through encryption, it can restrict the task request process, preventing external interception and packet capture from disrupting it.
[0305] Based on the above method embodiments, such as Figure 9 As shown, this application embodiment provides a permission management device applied to a first management platform located on the side of a first participating party in a permission management system; the permission management system further includes a second management platform located on the side of a second participating party; the first participating party and the second participating party are any two of a plurality of participating parties used to implement privacy computing; the device includes:
[0306] The first sending module 910 is used to send an application request for any permission to the second management platform when an application instruction for any permission is obtained, so that the second management platform, upon receiving the application request, if it obtains an authorization instruction for the permission requested, will grant the permission; wherein, the permission information of any permission at least represents that any user is performing target access to any stored data of the second participant, and the authorization of the permission at least includes saving the permission information represented by the permission;
[0307] The second sending module 920 is used to send an authentication request for a target permission to the second management platform when a task to be executed is detected, so that after receiving the authentication request, the second management platform performs authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtains an analysis result to indicate whether the authentication is successful; wherein, the target permission is the permission required to execute the task to be executed.
[0308] The execution module 930 is used to trigger the execution of the task to be executed when the analysis result characterization authentication is passed.
[0309] Optionally, the device further includes:
[0310] The third sending module is used to send a task initiation request to the second management platform before sending an authentication request for the target permission to the second management platform when a task to be executed is detected. The task initiation request carries the task identifier of the task to be executed and the user identifier of the target user involved in the target permission, so that after receiving the task initiation request, the second management platform generates a token corresponding to the user identifier and the task identifier, and sends the token as a feedback result of the task initiation request to the first management platform.
[0311] The second transmitting module includes:
[0312] The sending submodule is used to generate and send an authentication request to the second management platform, carrying the token and specified access information about the target permission; wherein, the specified access information is the information about specified access to specified storage data of the second participant in the permission information of the target permission;
[0313] The second management platform, based on the currently stored permission information, performs authentication analysis on the target permission of the authentication request to obtain an analysis result indicating whether authentication is successful, including:
[0314] Based on the currently stored permission information, as well as the token and specified access information in the authentication request, an authentication analysis is performed on the authentication request to obtain an analysis result that indicates whether the authentication is successful.
[0315] Optionally, the second management platform may further grant the following permissions:
[0316] The first management platform is fed back the summary information corresponding to the permission; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission.
[0317] The device further includes:
[0318] The storage module is used to store the summary information corresponding to the permission returned by the second management platform.
[0319] Optionally, the device further includes:
[0320] The fourth sending module is used to send a query request to the second management platform when a query instruction for any permission is detected. Upon receiving the query request, if the second management platform has specified permission information in its currently stored permission information, it generates summary information corresponding to the permission represented by the specified permission information and feeds back the generated summary information to the first management platform. The query request carries a data identifier of the stored data involved in the permission and a user identifier of the user. The specified permission information is permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request.
[0321] The identification module is used to identify whether the locally stored summary information corresponding to the permission matches the received summary information after receiving the summary information corresponding to the query request.
[0322] The output module is used to output a first prompt message indicating that the user has the permission if a match is found, and a second prompt message indicating that the user does not have the permission otherwise.
[0323] Optionally, the permission request carries: the content obtained by encrypting the digital signature corresponding to the permission using the first public key of the first management platform; wherein, the digital signature corresponding to the permission is: the content obtained by encrypting the permission information of the permission using the second public key of the second management platform;
[0324] The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content of the received application request and obtain the permission requested by the application request.
[0325] Optionally, the authentication request for the target permission carries: content obtained by encrypting the digital signature corresponding to the target permission using the first public key of the first management platform; wherein, the digital signature corresponding to the target permission is content obtained by encrypting the permission information of the target permission using the second public key of the second management platform;
[0326] The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content carried in the received authentication request, and obtain the target permissions targeted by the authentication request.
[0327] Optionally, the device further includes:
[0328] The fifth sending module is used to generate an initial public key and an initial private key, send the initial public key to the second management platform so that the second management platform generates a second public key and a second private key, and after receiving the initial public key, encrypt the second public key using the initial public key and send the encrypted second public key back to the first management platform.
[0329] The decryption module is used to decrypt the encrypted second public key using the initial private key after receiving the encrypted second public key, so as to obtain the second public key;
[0330] The sixth sending module is used to generate the first public key and the first private key, encrypt the first private key using the second public key, and send the encrypted first private key to the second management platform, so that the second management platform can decrypt the encrypted first private key using the second private key after receiving it to obtain the first private key.
[0331] Based on the above method embodiments, such as Figure 10 As shown, a permission management device is applied to a second management platform located on the side of a second participant in a permission management system; the permission management system also includes a first management platform located on the side of a first participant; the first participant and the second participant are any two of a plurality of participants used to implement privacy computing; the device includes:
[0332] The authorization module 1010 is used to, upon receiving an application request sent by the first management platform, if it obtains an authorization instruction for the permission requested, then to grant the permission for that permission; wherein, the application request is a request for that permission that occurs when the first management platform obtains an application instruction for any permission, and the authorization for that permission includes at least saving the permission information represented by that permission;
[0333] The authentication analysis module 1020 is used to, upon receiving an authentication request sent by the first management platform, perform authentication analysis on the target permission targeted by the authentication request based on the currently stored permission information, and obtain an analysis result indicating whether the authentication is successful, so that the first management platform triggers the execution of the task to be executed when the analysis result indicates that the authentication is successful; wherein, the authentication request is sent by the first management platform to the second management platform when it detects the generation of the task to be executed; wherein, the target permission is the permission required to execute the task to be executed.
[0334] Optionally, the device further includes:
[0335] The receiving module is used to receive a task initiation request sent by the first management platform; wherein the task initiation request is sent by the first management platform before sending an authentication request for the target permission to the second management platform; wherein the task initiation request carries the task identifier of the task to be executed and the user identifier of the target user involved in the target permission;
[0336] The generation module is used to generate a token corresponding to the user identifier and the task identifier, and send the token as a feedback result of the task initiation request to the first management platform;
[0337] The method by which the first management platform sends an authentication request for the target permissions to the second management platform includes:
[0338] Generate and send an authentication request to the second management platform, carrying the token and specified access information about the target permission; wherein, the specified access information is the permission information of the target permission, which is the information about specified access to specified storage data of the second participant;
[0339] The authentication analysis module includes:
[0340] The authentication analysis submodule is used to perform authentication analysis on the authentication request based on the currently saved permission information, as well as the token and specified access information in the authentication request, and obtain an analysis result to indicate whether the authentication is successful.
[0341] Optionally, the device further includes:
[0342] The module is configured to, after generating a token corresponding to the user identifier and the task identifier, bind the token and the task identifier to the target permission information in the currently stored permission information; wherein, the target permission information is permission information about the target user with the user identifier;
[0343] The authentication analysis submodule includes:
[0344] The acquisition unit is used to acquire target permission information that is bound to the token and the task identifier from the currently stored permission information, as permission information to be used;
[0345] The determining unit is used to determine an analysis result that indicates whether the authentication is successful, based on whether the stored data represented by the permission information to be utilized and the target access match the specified access information.
[0346] Optionally, the authorization module is further configured to feed back the summary information corresponding to the permission to the first management platform; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission;
[0347] The first management platform is also used to: save the summary information corresponding to the permission fed back by the second management platform.
[0348] Optionally, the device further includes:
[0349] The feedback module is used to, upon receiving a query request from the first management platform, generate summary information corresponding to the specified permission information if the specified permission information exists in the currently stored permission information, and feed the generated summary information back to the first management platform. This allows the first management platform to identify whether the locally stored summary information corresponding to the permission matches the received summary information after receiving the summary information corresponding to the query request. If they match, the module outputs a first prompt indicating that the user has the permission; otherwise, it outputs a second prompt indicating that the user does not have the permission.
[0350] The query request is sent by the first management platform when it detects a query instruction for any permission; the specified permission information is permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request; wherein the query request carries the data identifier of the stored data involved in the permission and the user identifier of the user.
[0351] This application also provides an electronic device, such as... Figure 11 As shown, it includes:
[0352] Memory 1101 is used to store computer programs;
[0353] The processor 1102 is used to implement the steps of any of the above-mentioned permission management methods when executing the program stored in the memory 1101.
[0354] Furthermore, the aforementioned electronic device may also include a communication bus and / or a communication interface, with the processor 1102, the communication interface, and the memory 1101 communicating with each other via the communication bus.
[0355] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0356] The communication interface is used for communication between the aforementioned electronic devices and other devices.
[0357] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0358] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0359] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described permission management methods.
[0360] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to perform the steps of any of the permission management methods described in the above embodiments.
[0361] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), etc.
[0362] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0363] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0364] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
Claims
1. A permission management system, characterized in that, include: A first management platform located on the side of the first participating party and a second management platform located on the side of the second participating party; The first participant and the second participant are any two of a plurality of participants used to implement privacy-preserving computation; The first management platform is used to send an application request for any permission to the second management platform when it receives an application instruction for any permission; wherein, the permission information of any permission at least indicates that any user is performing target access to any stored data of the second participant; The second management platform is used to, upon receiving the application request, grant permissions to the permission if it obtains an authorization instruction for the permission requested; wherein, granting permissions includes at least storing the permission information represented by the permission; The first management platform is further configured to send an authentication request for a target permission to the second management platform when it detects that a task to be executed has been generated; wherein the target permission is the permission required to execute the task to be executed. The second management platform is also used to, upon receiving the authentication request, perform authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtain an analysis result to indicate whether the authentication is successful. The first management platform is also used to trigger the execution of the task to be executed when the authentication of the analysis result characterization is passed; The granting of this permission also includes: The first management platform is fed back the summary information corresponding to the permission; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission. The first management platform is also used for: Save the summary information corresponding to this permission returned by the second management platform; The first management platform is also used for: Upon detecting a query command for any permission, a query request is sent to the second management platform; wherein, the query request carries the data identifier of the stored data involved in the permission and the user's user identifier; The second management platform is further configured to, upon receiving the query request, generate summary information corresponding to the permission represented by the specified permission information if the specified permission information exists in the currently stored permission information, and feed back the generated summary information to the first management platform; wherein, the specified permission information is: permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request; The first management platform is also used for: After receiving the summary information corresponding to the query request, identify whether the summary information corresponding to the permission stored locally matches the received summary information; If a match is found, a first prompt message is output to indicate that the summary information corresponding to the local storage permission matches the received summary information; otherwise, a second prompt message is output to indicate that the summary information corresponding to the local storage permission does not match the received summary information.
2. The access control system according to claim 1, characterized in that, The first management platform is also used for: Before sending an authentication request for the target permission to the second management platform, a task initiation request is sent to the second management platform; wherein, the task initiation request carries the task identifier of the task to be executed and the user identifier of the target user involved in the target permission; The second management platform is further configured to, upon receiving the task initiation request, generate a token corresponding to the user identifier and the task identifier, and send the token as a feedback result of the task initiation request to the first management platform; The first management platform sends an authentication request for the target permissions to the second management platform, including: Generate and send an authentication request to the second management platform, carrying the token and specified access information about the target permission; wherein, the specified access information is the permission information of the target permission, which is the information about specified access to specified storage data of the second participant; The second management platform, based on the currently stored permission information, performs authentication analysis on the target permission of the authentication request to obtain an analysis result indicating whether authentication is successful, including: Based on the currently stored permission information, as well as the token and specified access information in the authentication request, an authentication analysis is performed on the authentication request to obtain an analysis result that indicates whether the authentication is successful.
3. The access control system according to claim 2, characterized in that, The second management platform is also used for: After generating a token corresponding to the user identifier and the task identifier, the token and the task identifier are bound to the target permission information in the currently saved permission information; wherein, the target permission information is permission information about the target user with the user identifier. The second management platform, based on the currently stored permission information and the token and specified access information in the authentication request, performs authentication analysis on the authentication request to obtain an analysis result indicating whether authentication is successful, including: From the currently saved permission information, obtain the target permission information that is bound to the token and the task identifier, as the permission information to be used; Based on the stored data represented by the permission information to be utilized and the target access, determine whether it matches the specified access information to determine the analysis result used to represent whether the authentication is successful.
4. The access control system according to any one of claims 1-3, characterized in that, The request for this permission carries the following: the content obtained by encrypting the digital signature corresponding to the permission using the first public key of the first management platform; wherein, the digital signature corresponding to the permission is the content obtained by encrypting the permission information of the permission using the second public key of the second management platform; The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content of the received application request and obtain the permission requested by the application request.
5. The access control system according to any one of claims 1-3, characterized in that, The authentication request for the target permission carries the following: the content obtained by encrypting the digital signature corresponding to the target permission using the first public key of the first management platform; wherein, the digital signature corresponding to the target permission is the content obtained by encrypting the permission information of the target permission using the second public key of the second management platform; The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content carried in the received authentication request, and obtain the target permissions targeted by the authentication request.
6. The access control system according to claim 1, characterized in that, The first management platform is also used to generate an initial public key and an initial private key, and send the initial public key to the second management platform; The second management platform is also used to generate a second public key and a second private key. After receiving the initial public key, it uses the initial public key to encrypt the second public key and feeds back the encrypted second public key to the first management platform. The first management platform is also used to, upon receiving the encrypted second public key, decrypt the encrypted second public key using the initial private key to obtain the second public key; A first public key and a first private key are generated, and the first private key is encrypted using the second public key. The encrypted first private key is then sent to the second management platform. The second management platform is also used to decrypt the encrypted first private key using the second private key after receiving the first private key, so as to obtain the first private key.
7. A method for managing access permissions, characterized in that, The first management platform is applied to the first participating party's side in the access control system; the access control system also includes a second management platform located on the second participating party's side; The first participant and the second participant are any two of a plurality of participants used to implement privacy-preserving computation; the method includes: When an application instruction for any permission is received, an application request for that permission is sent to the second management platform. Upon receiving the application request, if the second management platform receives an authorization instruction for the permission requested, it will grant the permission. The permission information for any permission at least indicates that any user is performing target access to any stored data of the second participant, and granting the permission includes at least saving the permission information represented by the permission. When a task to be executed is detected, an authentication request for the target permission is sent to the second management platform. Upon receiving the authentication request, the second management platform performs authentication analysis on the target permission based on the currently stored permission information, and obtains an analysis result indicating whether the authentication is successful. The target permission is the permission required to execute the task to be executed. When the analysis results indicate that the authentication has passed, the execution of the task to be executed is triggered. The second management platform also grants the following permissions for this purpose: The first management platform is fed back the summary information corresponding to the permission; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission. The method further includes: Save the summary information corresponding to this permission returned by the second management platform; The method further includes: Upon detecting a query command for any permission, a query request is sent to the second management platform. Upon receiving the query request, if the second management platform has the specified permission information in its currently stored permission information, it generates summary information corresponding to the permission represented by the specified permission information and feeds back the generated summary information to the first management platform. The query request carries a data identifier of the stored data involved in the permission and a user identifier of the user. The specified permission information is permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request. After receiving the summary information corresponding to the query request, identify whether the summary information corresponding to the permission stored locally matches the received summary information; If a match is found, a first prompt message is output to indicate that the summary information corresponding to the local storage permission matches the received summary information; otherwise, a second prompt message is output to indicate that the summary information corresponding to the local storage permission does not match the received summary information.
8. The method according to claim 7, characterized in that, Before sending an authentication request for target permissions to the second management platform when a task to be executed is detected, the method further includes: A task initiation request is sent to the second management platform. The task initiation request carries the task identifier of the task to be executed and the user identifier of the target user involved in the target permission. After receiving the task initiation request, the second management platform generates a token corresponding to the user identifier and the task identifier, and sends the token as a feedback result of the task initiation request to the first management platform. Sending an authentication request for the target permissions to the second management platform includes: Generate and send an authentication request to the second management platform, carrying the token and specified access information about the target permission; wherein, the specified access information is the permission information of the target permission, which is the information about specified access to specified storage data of the second participant; The second management platform, based on the currently stored permission information, performs authentication analysis on the target permission of the authentication request to obtain an analysis result indicating whether authentication is successful, including: Based on the currently stored permission information, as well as the token and specified access information in the authentication request, an authentication analysis is performed on the authentication request to obtain an analysis result that indicates whether the authentication is successful.
9. The method according to claim 7 or 8, characterized in that, The request for this permission carries the following: the content obtained by encrypting the digital signature corresponding to the permission using the first public key of the first management platform; wherein, the digital signature corresponding to the permission is the content obtained by encrypting the permission information of the permission using the second public key of the second management platform; The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content of the received application request and obtain the permission requested by the application request.
10. The method according to claim 7 or 8, characterized in that, The authentication request for the target permission carries the following: the content obtained by encrypting the digital signature corresponding to the target permission using the first public key of the first management platform; wherein, the digital signature corresponding to the target permission is the content obtained by encrypting the permission information of the target permission using the second public key of the second management platform; The second management platform is further configured to: use the second private key of the second management platform corresponding to the second public key, and the first private key of the first management platform corresponding to the first public key, to decrypt the content carried in the received authentication request, and obtain the target permissions targeted by the authentication request.
11. The method according to claim 9, characterized in that, The method further includes: Generate an initial public key and an initial private key, send the initial public key to the second management platform so that the second management platform generates a second public key and a second private key, and after receiving the initial public key, encrypt the second public key using the initial public key and send the encrypted second public key back to the first management platform; After receiving the encrypted second public key, the encrypted second public key is decrypted using the initial private key to obtain the second public key; Generate a first public key and a first private key, encrypt the first private key using the second public key, and send the encrypted first private key to the second management platform. Upon receiving the encrypted first private key, the second management platform decrypts the encrypted first private key using the second private key to obtain the first private key.
12. A method for managing access permissions, characterized in that, A second management platform located on the side of the second participating party in a permission management system; the permission management system also includes a first management platform located on the side of the first participating party; The first participant and the second participant are any two of a plurality of participants used to implement privacy-preserving computation; the method includes: Upon receiving an application request from the first management platform, if an authorization instruction for the permission requested is obtained, then authorization for that permission is performed; wherein, the application request is a request for that permission that occurs when the first management platform obtains an application instruction for any permission, and the authorization for that permission includes at least saving the permission information represented by that permission; Upon receiving an authentication request from the first management platform, the system performs authentication analysis on the target permission of the authentication request based on the currently stored permission information, obtaining an analysis result indicating whether authentication is successful. This allows the first management platform to trigger the execution of the task to be executed when the analysis result indicates successful authentication. The authentication request is sent by the first management platform to the second management platform when it detects the creation of a task to be executed. The target permission is the permission required to execute the task. The granting of this permission also includes: The first management platform is fed back the summary information corresponding to the permission; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission. The first management platform is also used to: save the summary information corresponding to the permission returned by the second management platform; The method further includes: Upon receiving a query request from the first management platform, if the specified permission information exists in the currently stored permission information, a summary information corresponding to the permission represented by the specified permission information is generated, and the generated summary information is fed back to the first management platform. This allows the first management platform to identify whether the locally stored summary information corresponding to the permission matches the received summary information after receiving the summary information corresponding to the query request. If they match, a first prompt message is output to indicate that the locally stored summary information corresponding to the permission matches the received summary information; otherwise, a second prompt message is output to indicate that the locally stored summary information corresponding to the permission does not match the received summary information. The query request is sent by the first management platform when it detects a query instruction for any permission; the specified permission information is permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request; wherein the query request carries the data identifier of the stored data involved in the permission and the user identifier of the user.
13. The method according to claim 12, characterized in that, The method further includes: Receive a task initiation request sent by the first management platform; wherein the task initiation request is sent by the first management platform before sending an authentication request for the target permission to the second management platform; wherein the task initiation request carries the task identifier of the task to be executed and the user identifier of the target user involved in the target permission; Generate a token corresponding to the user identifier and the task identifier, and send the token as a feedback result of the task initiation request to the first management platform; The method by which the first management platform sends an authentication request for the target permissions to the second management platform includes: Generate and send an authentication request to the second management platform, carrying the token and specified access information about the target permission; wherein, the specified access information is the permission information of the target permission, which is the information about specified access to specified storage data of the second participant; The step of performing authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtaining an analysis result to indicate whether the authentication is successful, includes: Based on the currently stored permission information, as well as the token and specified access information in the authentication request, an authentication analysis is performed on the authentication request to obtain an analysis result that indicates whether the authentication is successful.
14. The method according to claim 13, characterized in that, The method further includes: After generating a token corresponding to the user identifier and the task identifier, the token and the task identifier are bound to the target permission information in the currently saved permission information; wherein, the target permission information is permission information about the target user with the user identifier. The authentication analysis, based on the currently stored permission information and the token and specified access information in the authentication request, is performed to obtain an analysis result indicating whether authentication is successful, including: From the currently saved permission information, obtain the target permission information that is bound to the token and the task identifier, as the permission information to be used; Based on the stored data represented by the permission information to be utilized and the target access, determine whether it matches the specified access information to determine the analysis result used to represent whether the authentication is successful.
15. An access control device, characterized in that, The first management platform is applied to the first participating party's side in the access control system; the access control system also includes a second management platform located on the second participating party's side; The first participant and the second participant are any two of a plurality of participants used to implement privacy-preserving computation; the apparatus includes: The first sending module is used to send an application request for any permission to the second management platform when an application instruction for any permission is received, so that the second management platform, upon receiving the application request, if it obtains an authorization instruction for the permission requested, will grant the permission; wherein, the permission information of any permission at least represents that any user is performing target access to any stored data of the second participant, and the authorization of the permission at least includes saving the permission information represented by the permission; The second sending module is used to send an authentication request for a target permission to the second management platform when a task to be executed is detected, so that after receiving the authentication request, the second management platform performs authentication analysis on the target permission of the authentication request based on the currently stored permission information, and obtains an analysis result to indicate whether the authentication is successful; wherein, the target permission is the permission required to execute the task to be executed. An execution module is used to trigger the execution of the task to be executed when the authentication of the analysis result characterization passes; The second management platform also grants the following permissions for this purpose: The first management platform is fed back the summary information corresponding to the permission; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission. The device further includes: The storage module is used to store the summary information corresponding to the permission returned by the second management platform. The device further includes: The fourth sending module is used to send a query request to the second management platform when a query instruction for any permission is detected. Upon receiving the query request, if the second management platform has specified permission information in its currently stored permission information, it generates summary information corresponding to the permission represented by the specified permission information and feeds back the generated summary information to the first management platform. The query request carries a data identifier of the stored data involved in the permission and a user identifier of the user. The specified permission information is permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request. The identification module is used to identify whether the locally stored summary information corresponding to the permission matches the received summary information after receiving the summary information corresponding to the query request. The output module is configured to, if a match is found, output a first prompt indicating that the summary information corresponding to the local storage permission matches the received summary information; otherwise, output a second prompt indicating that the summary information corresponding to the local storage permission does not match the received summary information.
16. An access control device, characterized in that, A second management platform located on the side of the second participating party in a permission management system; the permission management system also includes a first management platform located on the side of the first participating party; The first participant and the second participant are any two of a plurality of participants used to implement privacy-preserving computation; the apparatus includes: The authorization module is used to, upon receiving an application request sent by the first management platform, if it obtains an authorization instruction for the permission requested, then to grant the permission for that permission; wherein, the application request is a request for that permission that occurs when the first management platform obtains an application instruction for any permission, and the authorization for that permission includes at least saving the permission information represented by that permission; The authentication analysis module is used to, upon receiving an authentication request from the first management platform, perform authentication analysis on the target permission targeted by the authentication request based on the currently stored permission information, and obtain an analysis result indicating whether authentication is successful. This allows the first management platform to trigger the execution of the task to be executed when the analysis result indicates successful authentication. The authentication request is sent by the first management platform to the second management platform when it detects the generation of a task to be executed. The target permission is the permission required to execute the task to be executed. The authorization module is also used to send back the summary information corresponding to the permission to the first management platform; wherein the summary information corresponding to the permission is generated based on the permission information represented by the permission; The first management platform is also used to: save the summary information corresponding to the permission returned by the second management platform; The device further includes: The feedback module is used to, upon receiving a query request from the first management platform, generate summary information corresponding to the specified permission information if the specified permission information exists in the currently stored permission information, and feed the generated summary information back to the first management platform. This allows the first management platform to identify whether the locally stored summary information corresponding to the permission matches the received summary information after receiving the summary information corresponding to the query request. If they match, the first management platform outputs a first prompt indicating that the locally stored summary information matches the received summary information; otherwise, it outputs a second prompt indicating that the locally stored summary information does not match the received summary information. The query request is sent by the first management platform when it detects a query instruction for any permission; the specified permission information is permission information related to the user represented by the user identifier and the stored data represented by the data identifier in the query request; wherein the query request carries the data identifier of the stored data involved in the permission and the user identifier of the user.
17. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 7-14.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 7-14.
Citation Information
Patent Citations
WEBDAV (Web-based Distributed Authoring and Versioning) based general file sharing system and method
CN106713300A
Data processing method, device and equipment and storage medium
CN112434334A
Call request authentication method and device of edge cloud platform, equipment and medium
CN114268478A