Data processing method and device, server and data management system
By using server and user terminal collaborative decryption and generating private key components using an asymmetric key algorithm, the risk of data leakage is solved by allowing access to encrypted files even after a member is removed from a social network group. This achieves the effects of simplified management and improved confidentiality.
Patent Information
- Application Number
- CN202110273888.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-12
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2041-03-12
AI Technical Summary
In social network groups, the risk of still being able to access encrypted files after a member is removed can lead to data leaks. Existing encryption methods are complex to manage and difficult to control permissions.
By coordinating decryption between the server and user terminals, and using asymmetric key algorithms to generate and manage private key components, it is ensured that only legitimate members can decrypt data, and administrators can revoke permissions at any time.
It simplifies data access management, reduces the risk of data leakage, and improves the flexibility of data confidentiality and access control.
Smart Images

Figure CN112966280B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of computer data access management, in particular to a data processing method and device, a server and a data management system. BACKGROUND
[0002] With the development of information technology, people use social networks more and more frequently for communication, and it is an important way of collaborative communication and sharing to form a social network group and share various files such as pictures, videos and documents among group members. For sensitive files, the files are usually encrypted before being uploaded to the group for sharing. The members in the group can pre-store the keys of the corresponding sensitive files so that the members can normally access the sensitive files. With the change of personnel in the group, for a member who has been removed from the group, if the member stores the key in advance before being removed from the group and stores the encrypted file or a link for accessing the encrypted file, the member cannot be controlled to continuously open and read the group files, thereby causing the risk of leakage of file data in the group. SUMMARY
[0003] The purpose of the embodiments of the present application is to provide a data processing method, device, server and data management system, which can improve the risk of data leakage.
[0004] To achieve the above purpose, the embodiments of the present application are implemented in the following way:
[0005] In a first aspect, the embodiments of the present application provide a data processing method applied to a data management system, wherein the data management system comprises a server and a user terminal, and the method comprises:
[0006] The server acquires an encrypted private key component corresponding to a target member from a key library of the server itself based on a first access request sent by the user terminal, the first access request representing that the target member accesses to be decrypted data, and the target member is any one of all members included in the group;
[0007] The server performs operation processing on the to-be-decrypted data through a second private key component corresponding to the target member to obtain temporary content, and sends the temporary content and the encrypted private key component to the user terminal;
[0008] The user terminal decrypts the encrypted private key component through an asymmetric key algorithm according to a pre-stored user private key corresponding to the target member to obtain a first private key component of the target member;
[0009] The user terminal decrypts the temporary content according to the first private key component to obtain target data after decryption of the to-be-decrypted data.
[0010] In the above embodiment, the server decrypts the to-be-decrypted data to obtain the temporary content by using the second private key component, and then the user terminal decrypts the encrypted private key component sent by the server to obtain the first private key component, and decrypts the temporary content by using the first private key component to obtain the target data after decryption. Based on this, the server and the user terminal cooperate with each other, respectively use the second private key component and the first private key component to jointly decrypt the to-be-decrypted data, improve the risk of data leakage caused by members in the group who master complete keys, and facilitate the administrator to manage data access authority when the group members leave the group.
[0011] In combination with the first aspect, in some optional embodiments, before the server receives the first access request sent by the user terminal and representing that a target member in the group accesses the to-be-decrypted data, the method further includes:
[0012] The target data is encrypted by the data public key based on the asymmetric key algorithm to obtain encrypted target data as the to-be-decrypted data.
[0013] In the above embodiment, the target data is encrypted by the data public key, so that the to-be-decrypted data can be decrypted by the first private key component, the second private key component and other key components based on the data private key, which is beneficial to simplify the management process of data encryption and decryption.
[0014] In combination with the first aspect, in some optional embodiments, before the server receives the first access request sent by the user terminal and representing that a target member in the group accesses the to-be-decrypted data, the method further includes:
[0015] When the target member is added in the group, the user terminal acquires a user private key corresponding to the target member, and the server randomly generates a first private key component corresponding to the target member;
[0016] The server generates a second private key component according to a data private key corresponding to the data public key, the first private key component and a preset processing algorithm;
[0017] The server encrypts the first private key component by a user public key corresponding to the user private key to obtain an encrypted first private key component, which is taken as the encrypted private key component of the target member and stored in the key library of the server itself.
[0018] In the above embodiment, the first private key component is encrypted by the server according to the user public key of the user, so that the user terminal can decrypt the encrypted private key component according to the user private key of the user terminal to obtain the first private key component, thereby facilitating the user to decrypt the temporary content sent by the server based on the first private key component.
[0019] With reference to the first aspect, in some optional embodiments, the method further includes:
[0020] When the target member removes the group, the server deletes the second private key component corresponding to the target member from the key library.
[0021] In the above embodiment, when the target member exits the group, the administrator can delete the second private key component of the target member from the key library of the server, so that the target member cannot open the to-be-decrypted file, thereby improving the confidentiality of data management.
[0022] With reference to the first aspect, in some optional embodiments, the method further includes:
[0023] When the server receives the second access request sent by the user terminal and indicating that the target member in the group accesses the to-be-decrypted data, and the server determines that the second private key component corresponding to the target member does not exist in the key library, the server sends prompt information indicating that the target member cannot access the to-be-decrypted data to the user terminal.
[0024] In the above embodiment, when the second private key component of the target member does not exist in the key library, the target member cannot access the plaintext content in the to-be-decrypted data through the user terminal.
[0025] With reference to the first aspect, in some optional embodiments, the method further includes:
[0026] When the user terminal ends the access to the target data after decryption, the user terminal deletes the target data and the temporary content.
[0027] In the above embodiment, by deleting the target data and the temporary content when the access ends, the confidentiality of the data is improved, and the risk of data leakage is reduced.
[0028] In a second aspect, the embodiments of the present application further provide a data processing method, applied to a server in a data management system, and the method includes:
[0029] When a first access request sent by the user terminal and representing that a target member in a group accesses to be decrypted data is received, an encrypted private key component corresponding to the target member is obtained from a key library of the server itself based on the first access request, the target member being any one of all members included in the group;
[0030] The to-be-decrypted data is processed by a second private key component corresponding to the target member to obtain temporary content, and the temporary content and the encrypted private key component are sent to the user terminal, so that the user terminal decrypts the encrypted private key component by an asymmetric key algorithm according to a pre-stored user private key corresponding to the target member to obtain a first private key component of the target member, and decrypts the temporary content according to the first private key component to obtain target data after the to-be-decrypted data is decrypted.
[0031] In a third aspect, the embodiments of the present application further provide a data processing apparatus applied to a data management system, the data management system including a server and a user terminal, and the apparatus includes:
[0032] A key obtaining unit is configured to, when a first access request sent by the user terminal and representing that a target member in a group accesses to be decrypted data is received, obtain an encrypted private key component corresponding to the target member from a key library of the server itself based on the first access request, the target member being any one of all members included in the group;
[0033] An operation unit is configured to process the to-be-decrypted data by a second private key component corresponding to the target member to obtain temporary content, and send the temporary content and the encrypted private key component to the user terminal;
[0034] A first decryption unit is configured to decrypt the encrypted private key component by an asymmetric key algorithm according to a pre-stored user private key corresponding to the target member to obtain a first private key component of the target member;
[0035] A second decryption unit is configured to decrypt the temporary content according to the first private key component to obtain target data after the to-be-decrypted data is decrypted.
[0036] In a fourth aspect, the embodiments of the present application further provide a server, the server including a processor and a memory coupled with each other, and the memory stores a computer program, when the computer program is executed by the processor, the server executes the above method.
[0037] In a fifth aspect, the embodiments of the present application further provide a data management system, comprising a server and a user terminal.
[0038] The server is configured to, when receiving a first access request sent by the user terminal and indicating that a target member in a group accesses to be decrypted data, acquire an encrypted private key component corresponding to the target member from a key store of the server itself based on the first access request, the target member being any one of all members included in the group.
[0039] The server is further configured to perform operation processing on the to-be-decrypted data by using a second private key component corresponding to the target member, to obtain temporary content, and send the temporary content and the encrypted private key component to the user terminal.
[0040] The user terminal is configured to decrypt the encrypted private key component by using an asymmetric key algorithm according to a pre-stored user private key corresponding to the target member, to obtain a first private key component of the target member.
[0041] The user terminal is further configured to decrypt the temporary content according to the first private key component, to obtain target data obtained by decrypting the to-be-decrypted data.
[0042] In a sixth aspect, the embodiments of the present application further provide a computer readable storage medium, which stores a computer program, and when the computer program runs on a computer, the computer is caused to execute the method described above. BRIEF DESCRIPTION OF DRAWINGS
[0043] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments of the present application. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as a limitation to the scope, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.
[0044] Figure 1 The communication connection schematic diagram of the data management system provided by the embodiments of the present application.
[0045] Figure 2 The structure schematic diagram of the server provided by the embodiments of the present application.
[0046] Figure 3 The flowchart of the data processing method provided by the embodiments of the present application.
[0047] Figure 4 The block diagram of the data processing device provided by the embodiments of the present application.
[0048] Figure 5 Flowchart two of the data processing method provided by the embodiment of the application.
[0049] Icon: 10-data management system; 20-server; 30-user terminal; 200-data processing device; 210-key acquisition unit; 220-computation unit; 230-first decryption unit; 240-second decryption unit. DETAILED DESCRIPTION
[0050] The technical solutions in the embodiments of the application will be described below with reference to the drawings in the embodiments of the application. It should be noted that the terms "first", "second", etc. are only used for differentiation and description, and cannot be understood as indicating or implying relative importance.
[0051] The applicant finds that the security of sensitive files in work is usually ensured by the following measures:
[0052] Firstly, the file is encrypted by setting a simple password, the encrypted file is shared in the group, and the password is shared in the group.
[0053] Secondly, the file is compressed and a password is set by using compression software to encrypt the compressed file, the file is shared in the group, and the password is shared in the group or sent to the target receiver one by one.
[0054] Thirdly, the file is encrypted by symmetric encryption or asymmetric encryption, and the file and the decryption key are transmitted to the group members when sharing.
[0055] The three measures have some common points, that is, the password or key needs to be manually and individually sent to the members or directly sent to the group. When a new member is added, the decryption key needs to be distributed to the new member. When a member is removed, since the key already transmitted to the member cannot be forcibly destroyed, in order to prevent the removed member from decrypting the encrypted data without authorization, a new key needs to be generated to re-encrypt the original encrypted file, and then the new key needs to be distributed to the members in the group, which increases the complexity of data access management.
[0056] In view of the above problems, the present inventors propose the following embodiments to solve the above problems. In the case of no conflict, the embodiments and features in the embodiments described below can be combined with each other.
[0057] First embodiment
[0058] Please refer to Figure 1 and Figure 2The embodiments of the present application provide a data management system, which can include a server and a user terminal. The server can be in communication connection with at least one user terminal, and the number of user terminals in communication connection with the server can be set according to actual conditions, for example, the number of user terminals can be 5, 10, or the like, which is not limited herein.
[0059] When the encrypted file is shared in the group, the members in the group can cooperate with the server through the user terminal to jointly decrypt the encrypted file, so as to improve the convenience and security of data access management. Understandably, the server and the user terminal can cooperate with each other, and each step in the following method can be executed or implemented.
[0060] In the embodiments, the server can include a processing module and a storage module. The storage module stores a computer program, and when the computer program is executed by the processing module, the server can execute corresponding steps in the following method.
[0061] Of course, the server can also include other modules, for example, the server can also include a communication module for establishing communication connection with the user terminal, and the processing module, the storage module and the communication module are directly or indirectly electrically connected to each other to realize the transmission or interaction of data. For example, these elements can be electrically connected to each other through one or more communication buses or signal lines.
[0062] Please refer to Figure 3 The embodiments of the present application also provide a data processing method, which can be applied to the above-mentioned data management system, and each step in the method can be executed or implemented by the server and the user terminal in the data management system cooperating with each other. The method can include the following steps:
[0063] In step S110, when the server receives a first access request sent by the user terminal and representing that a target member in the group accesses the data to be decrypted, the server obtains an encrypted private key component corresponding to the target member from a key library of the server itself based on the first access request, and the target member is any one of all members included in the group;
[0064] In step S120, the server performs operation processing on the data to be decrypted through a second private key component corresponding to the target member to obtain temporary content, and sends the temporary content and the encrypted private key component to the user terminal;
[0065] In step S130, the user terminal decrypts the encrypted private key component through an asymmetric key algorithm according to a pre-stored user private key corresponding to the target member to obtain a first private key component of the target member;
[0066] Step S140, the user terminal decrypts the temporary content according to the first private key component to obtain the target data after decryption of the to-be-decrypted data.
[0067] In the above embodiment, the server decrypts the to-be-decrypted data by using the second private key component to obtain the temporary content, and then the user terminal decrypts the encrypted private key component sent by the server to obtain the first private key component, and decrypts the temporary content by using the first private key component to obtain the target data after decryption. Based on this, the server and the user terminal cooperate with each other, respectively use the second private key component and the first private key component to decrypt the to-be-decrypted data, improve the risk of data leakage caused by the members in the group who master the complete key, and facilitate the administrator to manage the data access authority when the members in the group leave the group.
[0068] The steps of the method will be described in detail as follows:
[0069] Before step S110, the method can further include: encrypting the target data by a data public key based on the asymmetric key algorithm by the management terminal or the server to obtain encrypted target data as the to-be-decrypted data.
[0070] The management terminal is a terminal held by the administrator, and the user terminal is a terminal held by the member in the group. The management terminal and the user terminal can be, but are not limited to, personal computers, smart phones and the like. The user terminal and the management terminal can be the same device or different devices, which can be determined according to actual conditions, and are not specifically limited here.
[0071] The administrator and the user can hold corresponding key pairs. For example, the public key held by the administrator is the data public key, and the private key corresponding to the data public key held by the administrator is the data private key. The public key held by the user is the target public key, and the private key corresponding to the target public key held by the user is the target private key. The key pairs (including private keys and public keys) held by the administrator and the user can be generated by a key system through an asymmetric key algorithm, and the way of generating the key pairs by the key system is well known to those skilled in the art, which will not be described here. The key pair formed by the data public key and the data private key is called a data key, or a document key.
[0072] Understandably, before the administrator uploads the target data that needs to be encrypted to the file system of the group, the target data usually needs to be encrypted. At this time, the management terminal or server can encrypt the target data using the data public key according to the asymmetric key algorithm, thereby obtaining the to-be-decrypted data. The to-be-decrypted data needs to be decrypted before the plaintext content in the to-be-decrypted data can be accessed. For example, the to-be-decrypted data can be decrypted by the data private key corresponding to the data public key to obtain the target data; or the to-be-decrypted data can be decrypted by the following steps S120 and S130 to obtain the target data. It should be noted that the asymmetric key algorithm is well known to those skilled in the art, and will not be described here.
[0073] Before step S110, the method can further include:
[0074] When the target member is added in the group, the user terminal obtains a user private key corresponding to the target member, and the server randomly generates a first private key component corresponding to the target member;
[0075] The server generates a second private key component according to a data private key corresponding to a data public key, the first private key component, and a preset processing algorithm;
[0076] The server encrypts the first private key component by using a user public key corresponding to the user private key to obtain an encrypted first private key component, which is used as the encrypted private key component of the target member and stored in the key library of the server itself.
[0077] Understandably, when the target member is authenticated and the authentication is passed, the target member can be added to the group. The way of authenticating the member to be added to the group is well known to those skilled in the art, and will not be described here.
[0078] When the target member is added to the group, it usually means that the target member has been authenticated and the authentication is passed, and the target member is a legal member. At this time, the target member can obtain a target private key and a target public key corresponding to the target member through the user terminal, that is, a user private key and a user public key. The way of obtaining the target private key and the target public key by the target member can be selected according to actual conditions, for example, the target private key and the target public key can be obtained from the administrator or from the key system, and will not be described here.
[0079] The server can randomly generate a first private key component corresponding to the target member and a first temporary public key matching the first private key component. The first private key component can be understood as a random number generated by the server, and the first temporary public key can be used to verify the legitimacy of the first private key component. The verification method is well known to those skilled in the art, for example, encrypting a file using the first temporary public key, and if the encrypted file can be decrypted by the first private key component, it is considered that the first private key component is legal; if the encrypted file cannot be decrypted by the first private key component, it is considered that the first private key component is illegal.
[0080] The server can perform corresponding operation processing on the data private key and the first private key component through a preset processing algorithm to split the data private key by key to obtain a second private key component. The preset processing algorithm includes but is not limited to RSA algorithm, SM2 algorithm, and ECC (Elliptic Curve Cryptography) algorithm. The RSA algorithm refers to an algorithm designed by three mathematicians Rivest, Shamir and Adleman, which can realize asymmetric encryption. The SM2 algorithm refers to an elliptic curve public key cryptography algorithm, which is well known to those skilled in the art.
[0081] For example, the data private key can be represented as S, the first private key component can be represented as S1, and the second private key component can be represented as S2. When the RSA algorithm is used to calculate the second private key component, the second private key component can be calculated by the following formula (1):
[0082] S2 = S - S1 mod n (1)
[0083] Wherein, mod n represents that the difference value of "S-S1" is divided by n and the remainder is taken, which is well known to those skilled in the art, and n is an integer greater than 1, which can be set according to actual conditions. The second private key component and the first private key component can be obtained by inverse operation based on the preset processing algorithm.
[0084] In addition, the server can also encrypt the first private key component by asymmetric key algorithm using the user public key of the target member to obtain the encrypted first private key component, which is the encrypted private key component, which can be represented as S1'.
[0085] In the above embodiment, the server encrypts the first private key component according to the user public key of the user to obtain the encrypted private key component, so that the user terminal can decrypt the encrypted private key component according to the user private key of itself to obtain the first private key component, which facilitates the user to decrypt the temporary content sent by the server based on the first private key component to realize the following step S140.
[0086] The target member is a member who needs to access the encrypted target data in the group, i.e., the data to be decrypted. The target member can be any member in the group, for example, the target member can be an administrator in the group, or a member other than the administrator in the group.
[0087] The key library of the server can pre-store the encrypted private key component and the user private key of the corresponding member in the group. The encrypted private key component and the user private key of different members are usually different. If the target member is a user whose encrypted private key component and user private key are pre-stored in the key library, the server can obtain the encrypted private key component and the user private key corresponding to the target member. If the target member is not a user whose encrypted private key component and user private key are pre-stored in the key library, i.e., the server determines that there is no encrypted private key component corresponding to the target member in the key library of the server, at this time, the server can directly send prompt information to the user terminal that the data to be decrypted cannot be accessed.
[0088] The key library can store various keys through a corresponding security protection mechanism to improve the security of the stored keys. The way to store the keys is well known to those skilled in the art, which will not be described here.
[0089] In step S120, the server can preliminarily decrypt the data to be decrypted based on the second private key component, to obtain the preliminarily decrypted data, i.e., the temporary content. The temporary content is still non-plain text content that cannot be accessed.
[0090] The preliminary decryption process of the data to be decrypted corresponds to the encryption algorithm used in the encryption process. For example, for the RSA algorithm, the second private key component S2 is used to decrypt the encrypted data E to obtain the temporary content E1, E1=RSADec(E,S2), RSADec is the RSA decryption method defined in the PKCS#1 specification, which is well known to those skilled in the art.
[0091] For the SM2 algorithm, the second private key component S2 is used to decrypt the encrypted data E to obtain the temporary content E1, E1=SM2Dec(E,S2), SM2Dec is the standard SM2 decryption process defined in GB / T32918.4, which is well known to those skilled in the art.
[0092] Since the encrypted private key component of the target member is obtained by encrypting the first private key component with the user public key of the target member, in step S130, the target member can decrypt the encrypted private key component using the asymmetric key algorithm with the user private key of the target member itself, to obtain the first private key component. The user private key of the target member and the user public key are a pair of matched asymmetric keys.
[0093] In the embodiment, the first private key component and the second private key component are two key components of a data private key, and the data private key can be obtained based on the first private key component and the second private key component in a reverse operation manner.
[0094] In step S140, the user terminal can decrypt the temporary content by using the first private key component to obtain decrypted data, and the decrypted data is the target data, which is usually plaintext content and can be read by the target member. The target data includes but is not limited to Doc documents and compressed files.
[0095] The decryption process of the temporary content E1 corresponds to the encryption algorithm used in the encryption process. For example, for the RSA algorithm, the first private key component S1 is used to decrypt the temporary content E1 to obtain plaintext m, m = RSADec(E1, S1), and RSADec is the RSA decryption method defined in the PKCS # 1 specification, which is well known to those skilled in the art.
[0096] For the SM2 algorithm, the first private key component S1 is used to decrypt the temporary content E1 to obtain plaintext m, m = SM2Dec(E1, S1), and SM2Dec is the standard SM2 decryption process defined in GB / T32918.4, which is well known to those skilled in the art.
[0097] As an optional implementation, the method can further include:
[0098] When the target member removes the group, the server deletes the second private key component corresponding to the target member from the key library.
[0099] Of course, in other embodiments, the administrator can delete the second private key component from the key library through the server according to actual needs. For example, the administrator can set an effective period for the access permission of a specified member accessing the target data, and the effective period can be set according to actual conditions. When the time point at which the specified member accesses the data to be decrypted exceeds the effective period, the server can automatically delete the second private key component corresponding to the specified member. The second private key components of different members are usually different. The specified member can be selected by the administrator from all members of the group according to actual conditions, which is not limited here.
[0100] As an optional implementation, the method can further include:
[0101] When the server receives the second access request sent by the user terminal and indicating that the target member in the group accesses the data to be decrypted, and the server determines that the second private key component corresponding to the target member does not exist in the key library, the server sends prompt information indicating that access is failed to the user terminal.
[0102] It can be understood that the prompt information can be set according to actual conditions, and used to prompt the target member that the plaintext content of the to-be-decrypted data cannot be accessed.
[0103] When the target member exits the group, the administrator can delete the second private key component of the target member from the key library of the server. When the second private key component is deleted, if the target member continues to send an access request for accessing the encrypted target data (i.e., the to-be-decrypted data), since the server cannot obtain the second private key component, the server cannot perform decryption processing on the to-be-decrypted data, and the user terminal cannot directly decrypt the to-be-decrypted data based on the first private key component, so that the target member cannot open the to-be-decrypted file, thereby improving the confidentiality of data management.
[0104] As an optional implementation, after step S140, the method can further include: deleting, by the user terminal, the target data and the temporary content when the user terminal ends accessing the decrypted target data.
[0105] It can be understood that when the user terminal ends accessing, the user terminal can automatically delete the target data and the temporary content, and thus, it is beneficial to improve the confidentiality of data and reduce the risk of data leakage.
[0106] Of course, in other implementations, the user terminal can delete the target data and the temporary content within a preset time period after ending the access, without deleting the target data and the temporary content when ending the access. In this way, when the target member accesses the target data again within the preset time period, the target member can directly access the plaintext data without decryption. The preset time period can be set according to actual conditions, for example, the preset time period can be 10 minutes, 1 hour, 24 hours, etc., which is not limited here.
[0107] It should be noted that the decrypted target data accessed by the target member through the user terminal is usually data content that cannot be downloaded, so as to avoid data leakage caused by downloading plaintext data by the user. In addition, a watermark corresponding to the identity information of the target member can be set on the display interface of the user terminal. When data leakage occurs due to screen capture, photographing, etc. when accessing the target data, the identity information in the watermark can be traced, thereby facilitating the management personnel to manage and control the access to data.
[0108] In order to facilitate the understanding of the method flow, the implementation process of the method will be described by way of example as follows:
[0109] Firstly, an external operator creates a group according to actual conditions, and distributes a data key to an administrator A of the group, so that the administrator A holds the data key. The data key can be a pair of asymmetric keys, which can be denoted as (S, P), S representing a data private key, and P representing a data public key. The data private key can be used to generate a first private key component and a second private key component of a corresponding member in the group, and the data public key can be used to encrypt plaintext content to be encrypted.
[0110] Secondly, the corresponding plaintext content in the group is encrypted using the data public key P to obtain an encrypted file, which is stored in a server. For example, the administrator or any member in the group can use the data public key P to encrypt a Doc document of the plaintext content as target data M, to obtain an encrypted file E,
[0111] Thirdly, a member B holds his own asymmetric keys (S B , P B ), which can be stored in a user terminal, S B representing a user private key of the member B, and P B representing a user public key of the member B. The administrator performs identity authentication on the member B based on a digital certificate sent by the member B through the user terminal via a management terminal or a server, and after the identity authentication is passed, the member B is added to the group. The sequence of the second step and the third step can be transposed.
[0112] Fourthly, when the member B requests to access the encrypted file E through the user terminal, the server can perform identity authentication and permission control authentication on the member B (the identity authentication method is well known to those skilled in the art, and the permission control authentication method can be to determine whether the user currently has access permission, and if so, to perform subsequent processing), and after the authentication is passed, the data private key S in (S, P) is “split” into a first private key component S1 and a second private key component S2. The server can encrypt the first private key component S1 using the user public key P B of the member B to obtain an encrypted private key component S1', which is the encrypted private key component of the user B. The second private key component S2 and the encrypted private key component S1' are stored in a key library of the server. The first private key component S1 is a random key generated by the server, and the second private key component S2 is a private key obtained by performing corresponding operations on the data private key S and the first private key component S1 based on a preset processing algorithm.
[0113] For example, the second private key component S2 can be calculated by the above formula (1); or the second private key component S2 can be calculated by the SM2 algorithm using the following formula (2):
[0114] S2 = S · S1-1 mod n (2)
[0115] In formula 2, the symbol “·” represents a multiplication operator.
[0116] In the fifth step, the server decrypts the file E with the second private key component S2 to obtain the temporary content E1, and sends the temporary content E1 and the encrypted private key component S1' to the user terminal of the target member.
[0117] In the sixth step, the user terminal decrypts the encrypted private key component S1' with the user private key S B obtains the first private key component S1, and then decrypts the temporary content E1 with the first private key component S1 to obtain the plaintext content Doc. If the user B is removed from the group, the administrator can delete the second private key component S2 corresponding to the user B in the key library through the server. After the second private key component S2 is deleted, the access request sent by the user B again cannot decrypt the file E, and thus the plaintext content cannot be accessed.
[0118] Based on the above design, the encrypted group file that has been shared in the group can achieve controlled decryption through collaborative decryption. The server can control the reading permission of the members, for example, the server can revoke the reading permission of the corresponding member at any time by deleting the key component (the second private key component of the corresponding member) without affecting the reading of other members. Without the cooperation of the server, the member cannot complete the decryption of the encrypted file through the user terminal alone, which improves the problem that the decryption is not controlled when the member forwards and transmits the confidential file.
[0119] In addition, the administrator can authorize and revoke the reading permission of the specified member in the group without the need to re-encrypt the data file or update the keys of other members, so as to realize the mutual independence of the decryption operation of each member and avoid the need to re-encrypt the data file after the member leaves the group and issue new keys to the members after re-encryption, thereby increasing the complexity of managing the access data permission.
[0120] In the embodiment, the data processing method can be applied to the scenario of accessing the same cloud storage platform to obtain files from multiple mobile terminal devices. A private key component S1 can be randomly allocated to each mobile terminal device accessing the cloud storage platform, another private key component S2 can be calculated according to the private key S, and S2 can be stored in the server of the cloud platform. The server can delete S2 at any time to revoke the access permission of the mobile device, so as to achieve collaborative decryption and completely controlled decryption when the mobile terminal device accesses the platform.
[0121] In the embodiment, the data processing method can also be applied to an online conference scenario with a higher security level, for encrypted distribution of conference content, and user terminals need to decrypt to obtain the conference content. For example, first, a data key pair (S, P) is allocated to a conference organizer, when a participant joins, the server allocates a temporary private key S1 to the corresponding participant, and calculates another temporary private key S2 from the data private key S, which is securely stored by the server. When it is necessary to restrict the participants from obtaining the conference content, the server can control the permission of the participants by deleting the temporary private key S2 of the corresponding participant in time. In the absence of server cooperation for decryption, the participant will not be able to decrypt the conference content.
[0122] It should be noted that in other embodiments, the data private key S of the administrator can not be directly used to decrypt the file, but can only be used to "split" the corresponding key component. The key component can be the first private key component S1 and the second private key component S2. Only the split key component can be used to decrypt the file. In this way, it is beneficial to control that the administrator or the cloud agent platform of the group cannot decrypt the file, and only the authorized user can obtain the file. Of course, the data private key S can also be "split" into more temporary private keys, which are not limited here. Based on this, in the authorized range of the administrator or the cloud platform, the administrator or the cloud platform can only distribute the encrypted file, and cannot completely obtain the access permission of the encrypted file.
[0123] Please refer to Figure 4 The embodiment of the application also provides a data processing device which can be applied to the data management system and used to execute the steps in the method. The data processing device includes at least one software function module stored in a storage module in the form of software or firmware (Firmware) or solidified in the operating system (Operating System, OS) of the server or the user terminal. The processing module is used to execute the executable module stored in the storage module, such as the software function module and the computer program included in the data processing device.
[0124] The data processing device can include a key acquisition unit, an operation unit, a first decryption unit and a second decryption unit. The key acquisition unit can be solidified in the server, and the first decryption unit and the second decryption unit can be solidified in the user terminal. The executable operation steps are as follows:
[0125] The key acquisition unit is used to acquire the encrypted private key component corresponding to the target member from the key library of the server itself based on the first access request when the first access request sent by the user terminal and representing that the target member in the group accesses the data to be decrypted is received. The target member is any member of all members included in the group.
[0126] The operation unit is configured to perform operation processing on the data to be decrypted by using a second private key component corresponding to the target member, to obtain temporary content, and to send the temporary content and the encrypted private key component to the user terminal.
[0127] The first decryption unit is configured to decrypt the encrypted private key component by using an asymmetric key algorithm according to a pre-stored user private key corresponding to the target member, to obtain a first private key component of the target member.
[0128] The second decryption unit is configured to decrypt the temporary content according to the first private key component, to obtain target data after decryption of the data to be decrypted.
[0129] Optionally, the data processing apparatus can comprise an encryption unit, which can be fixed in the server or the management terminal. Before the key acquisition unit performs step S110, the encryption unit can encrypt the target data by using a data public key based on the asymmetric key algorithm, to obtain encrypted target data as the data to be decrypted.
[0130] Optionally, the data processing apparatus can comprise a temporary private key generation unit, a private key acquisition unit and a third encryption unit. The temporary private key generation unit and the private key acquisition unit can be fixed in the user terminal, and the third encryption unit can be fixed in the server.
[0131] Before the key acquisition unit performs step S110, when the target member is added to the group, a user private key corresponding to the target member is acquired, and the temporary private key generation unit is configured to randomly generate a first private key component corresponding to the target member.
[0132] The temporary private key generation unit is further configured to generate a second private key component according to a data private key corresponding to the data public key, the first private key component and a preset processing algorithm.
[0133] The third encryption unit is configured to encrypt the first private key component by using a user public key corresponding to the user private key, to obtain an encrypted first private key component, as the encrypted private key component of the target member and stored in the key library of the server itself.
[0134] Optionally, the data processing apparatus can comprise a private key deletion unit fixed in the server, configured to delete the second private key component corresponding to the target member from the key library when the target member removes the group.
[0135] Optionally, the data processing apparatus can comprise a prompting unit solidified in the server. Upon receiving the second access request sent by the user terminal and characterizing that a target member in the group accesses the data to be decrypted, and the server determines that the second private key component corresponding to the target member does not exist in the key library, the prompting unit is configured to send prompting information characterizing that access is failed to the user terminal.
[0136] Optionally, the data processing apparatus can comprise a data deletion unit solidified in the user terminal. When the user terminal ends the access to the target data after decryption, the data deletion unit is configured to delete the target data and the temporary content.
[0137] In the present embodiment, the implementation process of the server and the user terminal in the data management system can be as follows:
[0138] The server is configured to, upon receiving the first access request sent by the user terminal and characterizing that a target member in the group accesses the data to be decrypted, acquire the encrypted private key component corresponding to the target member from the key library of the server itself based on the first access request, the target member being any one of all the members included in the group.
[0139] The server is further configured to perform operation processing on the data to be decrypted by using the second private key component corresponding to the target member, to obtain temporary content, and to send the temporary content and the encrypted private key component to the user terminal.
[0140] The user terminal is configured to decrypt the encrypted private key component by using the asymmetric key algorithm based on the pre-stored user private key corresponding to the target member, to obtain the first private key component of the target member.
[0141] The user terminal is further configured to decrypt the temporary content based on the first private key component, to obtain the target data after decryption of the data to be decrypted.
[0142] It should be noted that, for the convenience and brevity of description, the specific working process of the server, the data management system and the data processing apparatus described above can refer to the corresponding process of each step in the foregoing method, and will not be described in detail here.
[0143] Second Embodiment
[0144] For reference Figure 5 The present application also provides a data processing method, which can be applied to the server in the data management system in the first embodiment, and each step in the method is executed by the server. The method can comprise the following steps:
[0145] Step S310, when receiving the first access request sent by the user terminal and representing that a target member in the group accesses the data to be decrypted, obtaining the encrypted private key component corresponding to the target member from the key store of the server itself based on the first access request, the target member being any one of all members included in the group;
[0146] Step S320, performing operation processing on the data to be decrypted by the second private key component corresponding to the target member to obtain temporary content, and sending the temporary content and the encrypted private key component to the user terminal, so that the user terminal decrypts the encrypted private key component by an asymmetric key algorithm according to the pre-stored user private key corresponding to the target member to obtain the first private key component of the target member, and decrypts the temporary content according to the first private key component to obtain the target data after decryption of the data to be decrypted.
[0147] Understandably, in the second embodiment, each step of the method is executed by the server, and the detailed operation process of step S310 and step S320 can refer to the description of step S110 and step S120 in the first embodiment, which will not be repeated here.
[0148] In this embodiment, the processing module can be an integrated circuit chip with signal processing capability. The processing module can be a general-purpose processor. For example, the processor can be a central processing unit (CPU), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application.
[0149] The storage module can be, but is not limited to, a random access memory, a read-only memory, a programmable read-only memory, an erasable programmable read-only memory, an electrically erasable programmable read-only memory, etc. In this embodiment, the storage module can be used to store data public keys, data private keys, encrypted private key components, second private key components, etc. Of course, the storage module can also be used to store programs, and the processing module executes the programs after receiving execution instructions.
[0150] The communication module is used to establish a communication connection between the server and other devices through the network, and to receive and transmit data through the network.
[0151] It can be understood that, Figure 2 The structure shown is only a structural schematic diagram of the server, and the server can include more components than Figure 2 shown.Figure 2 The components shown in the figures can be implemented in hardware, software, or a combination thereof.
[0152] The embodiments of the present application also provide a computer readable storage medium. The computer readable storage medium stores a computer program. When the computer program is run on a computer, the computer is caused to execute the data processing method described in the above embodiments.
[0153] Through the above description of the embodiments, those skilled in the art can clearly understand that the present application can be implemented by hardware, or by means of software and a necessary general hardware platform. Based on this understanding, the technical solutions of the present application can be embodied in the form of a software product. The software product can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.), and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present application.
[0154] To sum up, the present application provides a data processing method, device, server and data management system. The method comprises: when the server receives a first access request sent by a user terminal, the first access request representing that a target member in a group accesses to be decrypted data, the server acquires an encrypted private key component corresponding to the target member from a key library of the server itself based on the first access request, the target member being any one of all members included in the group; the server performs operation processing on the to-be-decrypted data through a second private key component corresponding to the target member to obtain temporary content, and sends the temporary content and the encrypted private key component to the user terminal; the user terminal decrypts the encrypted private key component through an asymmetric key algorithm according to a pre-stored user private key corresponding to the target member to obtain a first private key component of the target member; and the user terminal decrypts the temporary content according to the first private key component to obtain target data after decryption of the to-be-decrypted data.
[0155] In the present solution, the server decrypts the to-be-decrypted data through the second private key component to obtain temporary content, and then the user terminal decrypts the encrypted private key component sent by the server to obtain the first private key component, and the temporary content is decrypted through the first private key component to obtain the decrypted target data. Based on this, the server and the user terminal cooperate with each other, respectively use the second private key component and the first private key component to decrypt the to-be-decrypted data, which improves the risk of data leakage caused by the members in the group who master complete keys, and facilitates the administrator to manage the data access authority when the group members leave the group.
[0156] In the embodiments of the present disclosure, it should be understood that the disclosed apparatus, system and method can also be implemented in other ways. The apparatus, system and method embodiments described above are only illustrative, for example, the flowcharts and block diagrams in the drawings show the possible implementation architectures, functions and operations of the system, method and computer program product according to the embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram can represent a module, a program segment or a part of code, which contains one or more executable instructions for implementing the specified logical function. It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by a special-purpose hardware-based system for implementing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions. In addition, the functional modules in the various embodiments of the present disclosure can be integrated together to form a separate part, or each module can exist independently, or two or more modules can be integrated to form a separate part.
[0157] The above only describes the embodiments of the present disclosure and is not used to limit the protection scope of the present disclosure. For those skilled in the art, the present disclosure can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A data processing method, characterized in that, Applied to a data management system, which includes a server and user terminals, the method includes: When the server receives a first access request from the user terminal representing a target member in the group to access data to be decrypted, it retrieves an encrypted private key component corresponding to the target member from its own key store based on the first access request. The target member is any member among all members included in the group. The server processes the data to be decrypted using the second private key component corresponding to the target member to obtain temporary content, and sends the temporary content and the encrypted private key component to the user terminal. The user terminal decrypts the encrypted private key component using an asymmetric key algorithm based on the pre-stored user private key corresponding to the target member, to obtain the first private key component of the target member. The user terminal decrypts the temporary content based on the first private key component to obtain the target data after decryption of the data to be decrypted. The method further includes: When the target member is removed from the group, the server deletes the second private key component corresponding to the target member from the keystore.
2. The method according to claim 1, characterized in that, Before the server receives a first access request from the user terminal representing a target member in a group to access data to be decrypted, the method further includes: The management terminal or the server encrypts the target data using the data public key based on the asymmetric key algorithm to obtain the encrypted target data, which is then used as the data to be decrypted.
3. The method according to claim 1, characterized in that, Before the server receives a first access request from the user terminal representing a target member in a group to access data to be decrypted, the method further includes: When the target member is added to the group, the user terminal obtains the user private key corresponding to the target member, and the server randomly generates a first private key component corresponding to the target member; The server generates a second private key component based on the private key corresponding to the public key, the first private key component, and a preset processing algorithm; The server encrypts the first private key component using the user's public key corresponding to the user's private key, obtaining an encrypted first private key component, which is then used as the encrypted private key component of the target member and stored in the server's own key store.
4. The method according to claim 1, characterized in that, The method further includes: Upon receiving a second access request from the user terminal representing a target member in a group to access data to be decrypted, and upon determining that the second private key component corresponding to the target member does not exist in the key store, the server sends a message to the user terminal indicating that access is not possible.
5. The method according to claim 1, characterized in that, The method further includes: When the user terminal ends accessing the decrypted target data, it deletes the target data and the temporary content.
6. A data processing method, characterized in that, The method, applied to a server in a data management system, includes: When a user terminal sends a first access request to a target member in a group to access data to be decrypted, the server retrieves an encrypted private key component corresponding to the target member from its own key store based on the first access request. The target member is any member among all members included in the group. Using the second private key component corresponding to the target member, the data to be decrypted is processed to obtain temporary content. The temporary content and the encrypted private key component are then sent to the user terminal. The user terminal uses a pre-stored user private key corresponding to the target member to decrypt the encrypted private key component using an asymmetric key algorithm to obtain the first private key component of the target member. Based on the first private key component, the temporary content is then decrypted to obtain the target data after decryption. The method further includes: When the target member is removed from the group, the second private key component corresponding to the target member is deleted from the keystore.
7. A data processing apparatus, characterized in that, Applied to a data management system, the data management system including a server and user terminals, the device includes: The key acquisition unit is used to, upon receiving a first access request from the user terminal representing a target member in a group to access data to be decrypted, acquire, based on the first access request, an encrypted private key component corresponding to the target member from the server's own key store, wherein the target member is any member among all members included in the group. The processing unit is used to process the data to be decrypted using the second private key component corresponding to the target member, obtain temporary content, and send the temporary content and the encrypted private key component to the user terminal. The first decryption unit is used to decrypt the encrypted private key component according to the pre-stored user private key corresponding to the target member using an asymmetric key algorithm to obtain the first private key component of the target member. The second decryption unit is used to decrypt the temporary content according to the first private key component to obtain the target data after the data to be decrypted. A private key deletion unit is used to delete the second private key component corresponding to the target member from the keystore when the target member is removed from the group.
8. A server, characterized in that, The server includes a processor and a memory coupled together, the memory storing a computer program that, when executed by the processor, causes the server to perform the method as described in claim 6.
9. A data management system, characterized in that, The data management system includes a server and user terminals; When the server receives a first access request from the user terminal representing a target member in a group to access data to be decrypted, it retrieves an encrypted private key component corresponding to the target member from its own key store based on the first access request. The target member is any member among all members included in the group. The server is also used to process the data to be decrypted using the second private key component corresponding to the target member, obtain temporary content, and send the temporary content and the encrypted private key component to the user terminal. The user terminal is used to decrypt the encrypted private key component according to the pre-stored user private key corresponding to the target member, using an asymmetric key algorithm, to obtain the first private key component of the target member. The user terminal is also used to decrypt the temporary content according to the first private key component to obtain the target data after the data to be decrypted. The server is further configured to delete the second private key component corresponding to the target member from the keystore when the target member is removed from the group.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when run on a computer, causes the computer to perform the method as described in any one of claims 1-5, or to perform the method as described in claim 6.
Citation Information
Patent Citations
Data processing method and device
CN109872155A
Database access method, device and system and computer readable storage medium
CN111935094A