Methods and systems for protecting, using, and decrypting collaborative keys in collaborative key systems.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-28
- Publication Date
- 2026-08-14
AI Technical Summary
[0004]但是在执行协同密钥拆分时,协同密钥系统内存中会产生完整私钥明文以及密钥分量私钥明文,这就导致了私钥存在泄漏风险
Smart Images

Figure CN116668011B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to the field of data security technology. More specifically, this disclosure relates to a method for protecting, using, and decrypting a collaborative key in a collaborative key system, as well as the collaborative key system itself. Background Technology
[0002] According to the State Cryptography Administration's standard "GM / T 0034-2014" for the management mechanism of national cryptographic certificates, the national cryptographic certificate system adopts a dual-certificate mechanism, in which the signature certificate is used for digital signatures and the encryption certificate is used for data encryption.
[0003] Since the national cryptographic collaborative key signing and decryption are based on the national cryptographic SM2 algorithm, and are key operation methods introduced to address the problem of soft certificate keys being easily copied or to scenarios requiring collaboration between two parties or multiple users for signing or decryption, they ensure that the collaborative key is distributed among two or more parties, thereby improving the security of collaborative key operations. Therefore, they have a wide range of application needs.
[0004] However, during the splitting of the collaborative key, both the complete plaintext private key and the plaintext private key components are generated in the collaborative key system memory. This leads to a risk of private key leakage. If an attacker successfully attacks the system, they can obtain the complete plaintext private key from the system memory, thus creating a risk of leakage.
[0005] In view of this, there is an urgent need to provide a collaborative key protection scheme to protect the collaborative key in the collaborative key system, prevent it from existing in plaintext form in the system memory, and thus improve the security of the collaborative key. Summary of the Invention
[0006] In order to address at least one or more of the technical issues mentioned above, this disclosure proposes a collaborative key protection scheme in several aspects.
[0007] In a first aspect, this disclosure provides a method for protecting a collaborative key in a collaborative key system, the collaborative key system including a local end and a peer end, wherein the local end is connected to a key computing device, and the protection method includes performing the following on the key computing device: generating local collaborative key data during collaborative key computing; wherein the private key in the local collaborative key data is encrypted by the key computing device; receiving peer collaborative key computing data forwarded by the local end; and generating local collaborative key computing data based on the local collaborative key data and the peer collaborative key computing data.
[0008] In some embodiments, the local end is a server; the local end's collaborative key data includes one or more of the following: a collaborative signature server key component, a first temporary key pair public key, a first random key pair, a complete collaborative signature public key, an encryption certificate public key, and an encryption certificate server key component; the peer end's collaborative key operation data includes one or more of the following: peer end's collaborative key data and a client collaborative signature component; wherein the peer end's collaborative key data includes one or more of the following: a collaborative signature client key component, a second temporary key pair public key, and an encryption certificate client key component; and the local end's collaborative key operation data includes one or more of the following: local end's collaborative key data and a server collaborative signature component.
[0009] In some embodiments, the step of generating local collaborative key operation data includes performing one or more of the following steps: generating a complete collaborative signature public key based on the private key ciphertext in the collaborative signature server key component and the public key in the collaborative signature client key component; generating a server-side collaborative signature component based on the private key ciphertext in the collaborative signature server key component, the private key ciphertext in the first random key pair, and the client-side collaborative signature component; and generating an encryption certificate public key, an encryption certificate client key component, and an encryption certificate server key component based on the encryption certificate private key and the second temporary key pair public key; wherein the encryption certificate private key is obtained based on the first temporary key pair public key, the server-side collaborative signature component, and the client-side collaborative signature component.
[0010] In some embodiments, the local end is a client; the local end's collaborative key data includes: a collaborative signature client key component, a second temporary key pair public key, a complete collaborative signature public key, an encryption certificate public key, and an encryption certificate client key component; the peer end's collaborative key operation data includes one or more of the following: peer end's collaborative key data and a server-side collaborative signature component; wherein the peer end's collaborative key data includes one or more of the following: a collaborative signature server-side key component, a first random key pair, a third temporary key pair public key, and an encryption certificate server-side key component; and the local end's collaborative key operation data includes one or more of the following: local end's collaborative key data and a client-side collaborative signature component.
[0011] In some embodiments, the step of generating local collaborative key operation data includes performing one or more of the following steps: generating a complete collaborative signature public key based on the private key ciphertext in the collaborative signature client key component and the public key in the collaborative signature server key component; generating a client collaborative signature component based on the signed data digest value, the private key ciphertext in the collaborative signature client key component, and the public key in the first random key pair; and generating an encryption certificate public key, an encryption certificate client key component, and an encryption certificate server key component based on the encryption certificate private key and the third temporary key pair public key; wherein the encryption certificate private key is obtained based on the second temporary key pair public key, the server collaborative signature component, and the client collaborative signature component.
[0012] In a second aspect, this disclosure provides a method for using a collaborative key in a collaborative key system. The collaborative key system includes a local end and a peer end, wherein the local end is connected to a key computation device. The method includes performing the following on the key computation device: generating local collaborative key data during collaborative key computation; wherein the private key in the local collaborative key data is encrypted by the key computation device; receiving peer collaborative key computation data forwarded by the local end; and generating local collaborative key computation data based on the local collaborative key data and the peer collaborative key computation data.
[0013] In some embodiments, if the local end is a server, the local collaborative key operation data includes a server-side collaborative signature component; the local collaborative key data includes a second random key pair and a collaborative signature server-side key component; the peer-side collaborative key operation data includes a client-side collaborative signature component; the step of generating the local collaborative key operation data includes: generating a server-side collaborative signature component based on the private key ciphertext in the collaborative signature server-side key component, the private key ciphertext in the second random key pair, and the client-side collaborative signature component; and if the local end is a client, the local collaborative key operation data includes a client-side collaborative signature component; the local collaborative key data includes a collaborative signature client-side key component; the peer-side collaborative key operation data includes peer-side collaborative key data and a server-side collaborative signature component; wherein the peer-side collaborative key data includes a second random key pair and a collaborative signature server-side key component; the step of generating the local collaborative key operation data includes: generating a client-side collaborative signature component based on the signed data digest value, the private key ciphertext in the collaborative signature client-side key component, and the public key in the second random key pair; wherein the client-side collaborative signature component is used to combine the private key in the second random key pair and the private key in the collaborative signature server-side key component to generate the server-side collaborative signature component.
[0014] In a third aspect, this disclosure provides a method for decrypting a collaborative key in a collaborative key system. The collaborative key system includes a server and a client, wherein the server is connected to a key processing device. The decryption method includes performing the following on the key processing device: obtaining ciphertext of user data from a user's business system; decrypting the ciphertext based on the server-side key component of the encryption certificate and the ciphertext of the user data to obtain a server-side collaborative decryption component; and sending the server-side collaborative decryption component to the client via the server, so that the client can decrypt the ciphertext based on the server-side collaborative decryption component, the ciphertext of the user data, and the client-side key component of the encryption certificate to obtain the plaintext of the user data; wherein the server-side key component of the encryption certificate and the client-side key component of the encryption certificate are generated by the protection method as described in the first aspect.
[0015] In the fourth aspect, this disclosure provides a method for decrypting a collaborative key in a collaborative key system. The collaborative key system includes a server and a client, wherein the client is connected to a key processing device. The decryption method includes performing the following on the key processing device: receiving a server-side collaborative decryption component sent by the server; wherein the server-side collaborative decryption component is obtained by decrypting the encrypted certificate server-side key component and the ciphertext of user data from the user's business system; and decrypting the user data plaintext based on the server-side collaborative decryption component, the ciphertext of user data, and the encrypted certificate client-side key component; wherein the encrypted certificate server-side key component and the encrypted certificate client-side key component are generated by the protection method as described in the first aspect.
[0016] In a fifth aspect, this disclosure provides a collaborative key system comprising: one or more key processing devices configured to perform a protection method as described in the first aspect, or a usage method as described in the second aspect, or a decryption method as described in the third or fourth aspect; one or more peers, and one or more local ends communicatively connected to one or more peers, wherein one or more of the local ends are connected to key processing devices.
[0017] Using the collaborative key protection method provided above, the collaborative key system in this embodiment always has a local end connected to a key processing device during collaborative key operations. The private key in the collaborative key data of this end is encrypted by the key processing device, making the private key in the collaborative key data of this end appear in ciphertext form outside the key processing device. The collaborative key operation of this end is then performed by the key processing device connected to it, thereby generating collaborative key operation data. During this process, no one except the key processing device can obtain the complete plaintext private key component; that is, neither the local end nor the peer end in the collaborative key system can obtain the complete plaintext private key in the collaborative key data. Therefore, even if the system is maliciously attacked, the attacker will not be able to obtain the complete plaintext private key, thereby improving the security of the collaborative key and reducing the risk of private key leakage. Attached Figure Description
[0018] The above and other objects, features, and advantages of exemplary embodiments of this disclosure will become readily apparent upon reading the following detailed description with reference to the accompanying drawings. In the drawings, several embodiments of this disclosure are illustrated by way of example and not limitation, and like or corresponding reference numerals denote like or corresponding parts, wherein:
[0019] Figure 1 An exemplary flowchart of a method 100 for protecting the collaborative key of a collaborative key system according to some embodiments of this disclosure is shown;
[0020] Figure 2 An exemplary interaction flowchart of a collaborative key system according to some embodiments of this disclosure is shown;
[0021] Figure 3 An exemplary interaction flowchart of a collaborative key system according to other embodiments of this disclosure is shown;
[0022] Figure 4 An exemplary interaction flowchart of a collaborative key system according to some embodiments of this disclosure is shown;
[0023] Figure 5 An exemplary flowchart of a method 500 for using a collaborative key in a collaborative key system according to some embodiments of this disclosure is shown;
[0024] Figure 6 An exemplary flowchart of collaborative signatures according to some embodiments of this disclosure is shown;
[0025] Figure 7 An exemplary flowchart of collaborative signatures according to other embodiments of this disclosure is shown;
[0026] Figure 8 An exemplary flowchart of collaborative signatures in some embodiments of this disclosure is shown;
[0027] Figure 9 An exemplary flowchart illustrating user data decryption according to some embodiments of this disclosure is shown;
[0028] Figure 10 Exemplary flowcharts for decrypting user data according to other embodiments of this disclosure are shown;
[0029] Figure 11 An exemplary flowchart illustrating user data decryption according to some embodiments of this disclosure is shown;
[0030] Figure 12 An exemplary structural block diagram of the collaborative key system 1200 according to an embodiment of this disclosure is shown;
[0031] Figure 13 An exemplary structural block diagram of an electronic device 1300 according to an embodiment of the present disclosure is shown. Detailed Implementation
[0032] The technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, not all of them. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0033] It should be understood that the terms “comprising” and “including” used in this disclosure and claims indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0034] It should also be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of this disclosure. As used in this disclosure and claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this disclosure and claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes such combinations.
[0035] As used in this specification and claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if [described condition or event] is detected" may be interpreted, depending on the context, as "once determined," "in response to determination," "once [described condition or event] is detected," or "in response to detection of [described condition or event]."
[0036] The specific embodiments disclosed herein will now be described in detail with reference to the accompanying drawings. Exemplary application scenarios
[0037] Collaborative key encryption and decryption algorithms involve scenarios where key components are generated and distributed by two or more parties. In this scenario, the signing key for the signing certificate is generated independently by each party, while the encryption certificate key is generated by a Certificate Authority (CA). To enable collaborative decryption of the encryption certificate by two or more parties, it is necessary to split the private key returned by the CA and distribute the key components accordingly.
[0038] In the process of multiple key splitting parties participating in collaborative key splitting, since the public key portion of each party's key component is transmitted in the collaborative key system, and the private key portion of each party's key component appears in each party's memory, the complete private key plaintext and the private key plaintext of the key component can be obtained in the entire system memory, which increases the possibility of stealing the collaborative key and makes it difficult to guarantee the security of the collaborative key. Exemplary collaborative key protection scheme
[0039] In view of this, the present disclosure provides a collaborative key protection scheme, which provides a collaborative key system including a peer end and a local end connected to a key computing device. The generation of collaborative key data and the collaborative key computing process of the local end are both executed by the key computing device, so that the private key in the local end collaborative key data is in ciphertext form outside the key computing device, and the private key ciphertext can only be decrypted by the key computing device, thus ensuring the security of the collaborative key.
[0040] Figure 1 An exemplary flowchart of a method 100 for protecting the collaborative key of a collaborative key system according to some embodiments of this disclosure is shown.
[0041] This disclosure provides a collaborative key system, which includes a local end and a peer end, wherein the local end is connected to a key processing device, and the collaborative key protection method 100 in this disclosure is executed in the key processing device.
[0042] like Figure 1 As shown, in step S101, local collaborative key data is generated during collaborative key operation.
[0043] In this disclosed embodiment, the collaborative key data refers to the key-related parameters involved in the collaborative key operation. Since the collaborative key operation involves key components of two or more parties, the collaborative key data can be distinguished into local collaborative key data of the local end and peer collaborative key data of the peer end based on the source of the collaborative key data.
[0044] In this disclosed embodiment, since a key processing device is connected to the local end, the generation of local collaborative key data and the computation of collaborative key data are both completed within the key processing device. The key processing device also needs to obtain collaborative key data from the peer end during computation; correspondingly, the peer end also needs to obtain local collaborative key data.
[0045] The key processing device connected to this end cannot communicate directly with the other end and needs the assistance of this end to complete data forwarding. Therefore, the local collaborative key data generated by the key processing device needs to be sent to this end first, and then forwarded to the other end by this end.
[0046] Before the key processing device sends the generated local collaborative key data to the local end, in order to prevent the private key in the local collaborative key data from being in plaintext and causing leakage risk, the key processing device will encrypt it before sending it. Therefore, the private key in the local collaborative key data is in ciphertext form outside the key processing device.
[0047] In step S102, the local end receives the collaborative key operation data forwarded by the peer end.
[0048] In this disclosed embodiment, the peer-to-peer collaborative key operation data is generated by the peer and sent to the local end, and then forwarded by the local end to the key operation device connected to it.
[0049] In step S103, local collaborative key operation data is generated based on local collaborative key data and remote collaborative key operation data.
[0050] Since the private key in the local collaborative key data is generated and output by the key processing device after encryption, the key processing device can easily decrypt the plaintext of the private key in the local collaborative key data. Thus, the local collaborative key data is generated based on the local collaborative key data and the peer collaborative key data. Outside the key processing device, only the ciphertext of the private key of the local collaborative key data can be obtained, which greatly improves the security of the local collaborative key data in the system and greatly reduces the risk of leakage.
[0051] In practical applications, the collaborative key operation data at both the local and remote ends can include various parameters depending on the scenario. For example, if the local collaborative key operation data is the complete collaborative signature public key, it can include the collaborative signature server key component and the remote collaborative key operation data can include the collaborative signature client key component; alternatively, the remote collaborative key operation data can include the collaborative signature server key component and the local collaborative key data can include the collaborative signature client key component. Furthermore, if the local collaborative key operation data is the server-side collaborative signature component, it can include the collaborative signature server key component and a first random key pair, and the remote collaborative key operation data can include the collaborative signature client key component. Finally, if the local collaborative key operation data is the client-side collaborative signature component, it can include the collaborative signature client key component, and the remote collaborative key operation data can include the collaborative signature server key component and a first random key pair.
[0052] It should be noted that both the local end and the peer end mentioned above belong to a collaborative key system, and this collaborative key system may include one or more local ends and one or more peer ends. In the previous embodiments, for ease of distinction, the devices connected to the key operation device are collectively referred to as the local end.
[0053] It should be further explained that in practical applications, the other end can also access the key processing device to generate collaborative key data for the other end and perform calculations on the collaborative key data for the other end.
[0054] In practical applications, the end that initiates the request can be considered the client, and the end that receives the request can be considered the server. In this disclosed embodiment, the local end can be either a client or a server.
[0055] The following section provides a further explanation of the collaborative key splitting process when the local end is either a client or a server.
[0056] Collaborative key operations involve scenarios where two or more users generate and distribute key components. In this scenario, the signing key for the signing certificate is generated independently by each party, while the encryption certificate key is obtained from a Certificate Authority (CA). To enable collaborative decryption of the encryption certificate by two or more parties, it is necessary to split the private key returned by the CA and distribute the key components.
[0057] The process of splitting the above-mentioned encryption certificate collaborative key may include the following stages: the certificate application preparation parameter generation stage, the certificate application generation stage, and the national cryptographic dual certificate generation stage.
[0058] For example, in the certificate application preparation parameter generation stage, the client and server need to synthesize a complete collaborative signature public key. In practical applications, the complete collaborative signature public key is the complete public key of the PKCS#10 collaborative signature certificate application. In the certificate application generation stage, the client needs to encapsulate a signed certificate application based on the complete collaborative signature public key, i.e., a signed PKCS#10. In the national cryptographic dual certificate generation stage, the server uses the signed PKCS#10 mentioned above to apply for and obtain the national cryptographic dual certificate and encryption certificate private key from the CA institution. Based on the encryption certificate private key, multiple key components can be split to complete the key component distribution.
[0059] Figure 2 An exemplary interaction flowchart of a collaborative key system according to some embodiments of this disclosure is shown.
[0060] like Figure 2 As shown, when the server is connected to a key processing device, the protection method executed by the key processing device during the certificate application preparation parameter generation stage is as follows:
[0061] The key processing device generates a collaborative signature server key component. In addition, the key processing device also generates a first temporary key pair public key. The private key of the collaborative signature server key component is encrypted by the key processing device so that it is in ciphertext form outside the key processing device.
[0062] The key processing device sends the collaborative signature server key component and the first temporary key pair public key to the server;
[0063] After receiving the local collaborative key data generated by the key processing device, the server forwards the public key in the collaborative signature server key component and the public key of the first temporary key pair to the client. In addition, the server also receives the public key in the collaborative signature client key component sent by the client and forwards it to the key processing device.
[0064] The key processing device generates a complete collaborative signature public key based on the public key of the collaborative signature client key component and the ciphertext of the private key of the collaborative signature server key component.
[0065] It should be noted that, in this scenario, the local collaborative key data generated by the key processing device includes the collaborative signature server key component and the first temporary key pair public key, the local collaborative key processing data generated by the key processing device includes the complete collaborative signature public key, and the peer collaborative key processing data includes the collaborative signature client key component.
[0066] In practical applications, when a key processing device generates key-related parameters, it also needs to input data through the corresponding interface's input parameters. After completing the calculation internally, the device outputs the result from the corresponding interface's output parameters to obtain the key-related parameters. Therefore, the collaborative key data generated by the key processing device can also be understood as a type of collaborative key processing data, for example... Figure 2 The complete collaborative signature public key in the illustrated embodiment is both collaborative key data and collaborative key operation data obtained by operating on other collaborative key data.
[0067] It is understood that the local collaborative key data and the remote collaborative key data mentioned below can both be regarded as a kind of collaborative key operation data, referring to the previous text.
[0068] Furthermore, the private key in the collaborative signature server key component is in ciphertext form, that is, the server key component includes the ciphertext of the private key of the collaborative signature server key component and the plaintext of the public key of the collaborative signature server key component.
[0069] Furthermore, the key operation device described above may have an interface for generating an SM2 key with a private key encrypted, an interface for deriving a CA public key, and an interface for synthesizing a collaborative key public key. The interface for generating an SM2 key with a private key encrypted is used to generate a collaborative signature server key component, the interface for deriving a CA public key is used to generate a first temporary key pair public key, and the interface for synthesizing a collaborative key public key is used to synthesize a complete collaborative signature public key based on the collaborative signature client key component public key and the collaborative signature server key component private key.
[0070] In accordance with the server, the client generates a complete collaborative signature public key based on the obtained collaborative signature server key component public key and collaborative signature client key component private key.
[0071] In some other embodiments disclosed herein, the client may also access the key processing device.
[0072] Figure 3 An exemplary interaction flowchart of a collaborative key system according to some embodiments of this disclosure is shown.
[0073] like Figure 3 As shown, the key processing device connected to the client performs the following steps to protect the collaboration key:
[0074] The key processing device generates a collaborative signature client key component; the private key in this collaborative signature client key component is encrypted by the key processing device.
[0075] The key processing device sends the collaborative signature client key component to the client;
[0076] After receiving the local collaborative key data generated by the key processing device, the client forwards the public key in the collaborative signature client key component to the server. In addition, the client also receives the public key of the collaborative signature server key component sent by the server and forwards the public key of the collaborative signature server key component to the key processing device connected to the client.
[0077] The key processing device generates a complete collaborative signature public key based on the private key ciphertext of the collaborative signature client key component and the public key of the collaborative signature server key component.
[0078] It should be noted that, in this embodiment, the local collaborative key data generated by the key operation device connected to the client includes the collaborative signature client key component, and the generated local collaborative key operation data includes the complete collaborative signature public key. The peer collaborative key operation data includes the collaborative signature server key component and the first temporary key pair public key, wherein the collaborative signature server key component and the first temporary key pair public key also belong to the peer collaborative key data.
[0079] Furthermore, the private key in the collaborative signature client key component is in ciphertext form, meaning the collaborative signature client key component includes the ciphertext of the private key and the plaintext of the public key.
[0080] It should be further stated that the key processing device connected to the client can have an interface for generating an SM2 key with the private key encrypted and an interface for synthesizing a collaborative key public key. The interface for generating an SM2 key with the private key encrypted is used to generate a collaborative signature client key component, and the interface for synthesizing a collaborative key public key is used to synthesize a complete collaborative signature public key based on the collaborative signature client key component private key and the collaborative signature server key component public key.
[0081] It is understandable that either the client or the server can be connected to the key processing device, or as... Figure 4 Both shown are connected to a key processing device, which ensures that the private key of the collaborative key data at either end or both ends is in encrypted form outside the key processing device, thus ensuring the security of the collaborative key.
[0082] It should be noted that, Figure 4 An exemplary interaction flowchart of a collaborative key system according to some embodiments of this disclosure is shown. Figure 4 In the collaborative key system shown, the client and server are connected to key processing devices, and the methods executed by the key processing devices have been described above. Figure 2 and Figure 3 The embodiments shown have been described in detail, and will not be repeated here.
[0083] The following will continue to combine Figure 2 and Figure 3 This paper introduces the method for protecting the collaborative key executed by the key processing device during the certificate application generation stage.
[0084] Taking the key processing device connected to the server as an example, such as Figure 2 As shown, the protection method performed by the key processing device includes the following steps:
[0085] The key processing device generates a first random key pair; the private key in the first random key pair is encrypted by the key processing device.
[0086] The key processing device sends the first random key pair to the server;
[0087] After receiving the local collaborative key data generated by the key processing device, the server forwards the public key of the first random key pair to the client. The client will calculate the client collaborative signature component based on the signed data digest value, the public key of the first random key pair and the private key of the collaborative signature client key component. The client will also send the client collaborative signature component and the verification code to the server. After the server completes the verification of the verification code, the client collaborative signature component is forwarded by the server to the key processing device connected to it.
[0088] The key processing device generates a server-side collaborative signature component based on the client-side collaborative signature component, the private key ciphertext of the collaborative signature server-side key component, and the private key ciphertext of the first random key pair.
[0089] The key processing device also sends the server-side collaborative signature component to the server, which then forwards it to the client.
[0090] In accordance with the server, at the beginning of the certificate application generation stage, the client will use the first temporary key pair public key as one of the parameters of the certificate application to encapsulate an unsigned certificate application, namely an unsigned PKCS#10. After receiving the server's collaborative signature component, the client can encapsulate a signed certificate application, namely a signed PKCS#10, based on the obtained server collaborative signature component, client collaborative signature component, and unsigned certificate application.
[0091] It should be noted that, at this stage, the local collaborative key data generated by the key operation device connected to the server includes the collaborative signature server key component, the first temporary key pair public key, the first random key pair, and the complete collaborative signature public key. The generated local collaborative key operation data includes the server collaborative signature component, and the peer collaborative key operation data includes the collaborative signature client key component and the client collaborative signature component, wherein the collaborative signature client key component is also part of the peer collaborative key data.
[0092] It should be further explained that the key operation device connected to the server can also have an interface for calculating collaborative signatures, which is used to calculate the server collaborative signature component based on the client collaborative signature component, the private key ciphertext of the collaborative signature server key component, and the private key ciphertext of the first random key pair.
[0093] Similar to the parameter generation phase of certificate application, the client can also access the key processing device.
[0094] like Figure 3 As shown, during the certificate application generation phase, the key processing device connected to the client performs the following steps to protect the collaboration key:
[0095] The key processing device generates a collaborative signature client key component; the private key in this collaborative signature client key component is encrypted by the key processing device.
[0096] The key processing device also generates a second temporary key pair with the public key;
[0097] The key processing device receives the first random key pair public key forwarded by the client;
[0098] The key processing device generates a client collaborative signature component based on the signed data digest value, the public key of the first random key pair, and the private key ciphertext of the collaborative signature client key component, and sends it to the client.
[0099] At the beginning of the certificate application generation stage, the client uses the second temporary key pair public key as one of the parameters of the certificate application to encapsulate an unsigned certificate application. After the key processing device generates the client collaborative signature component, it encapsulates the obtained server collaborative signature component, client collaborative signature component and unsigned certificate application to encapsulate a signed certificate application.
[0100] It should be noted that, at this stage, the local collaborative key data generated by the key operation device connected to the client includes the collaborative signature client key component and the second temporary key pair public key. The generated local collaborative key operation data includes the client collaborative signature component. The peer collaborative key operation data includes the peer collaborative key data and the server collaborative signature component. The peer collaborative key data includes the collaborative signature server key component and the first random key pair.
[0101] It should be further noted that the key processing device connected to the client may have an interface for calculating collaborative signatures, which is used to generate client collaborative signature components based on the signed data digest value, the public key of the first random key pair, and the private key ciphertext of the collaborative signature client key component.
[0102] It should be noted that user business systems typically interact directly with the collaborative signature system client. When collaborative signature is required for the business system, user data is input into the collaborative key system. The collaborative key system first performs an SM3 hash operation on the user data, and then uses the SM3 digest value and the collaborative signature client key component as input to calculate the collaborative signature client signature component. The user data input here is the signed data in the context, and the SM3 digest value here is the digest value of the signed data in the context.
[0103] Understandably, during the certificate application generation phase, either the client or the server can connect to the key processing device, or as... Figure 4 Both shown are connected to a key processing device. The methods executed by the key processing devices connected to the client and server have been described in detail in the previous embodiments and will not be repeated here.
[0104] The following will continue to combine Figure 2 and Figure 3 This paper introduces the protection method of the collaborative key executed by the key operation device during the generation stage of the national cryptographic dual certificate.
[0105] For example Figure 2Taking the key processing device of the access server as an example, before the key processing device starts working, the client will generate a second temporary key pair public key and send the second temporary key pair public key, the signed certificate application, the verification code, and the client's user information to the server. The server will find the server key component and the complete collaborative signature public key that match the client based on the client's user information, and verify the signature value in the signed certificate application and the verification code with the complete collaborative signature public key. Only after the verification is successful will the server use the signed certificate application to apply for a national cryptographic dual certificate from the CA authority.
[0106] It should be noted that the second temporary key, public key, signed certificate application, user information, and verification code can be used as follows: Figure 2 or Figure 4 As shown, data transmission is completed in different sessions. To improve interaction efficiency, the second temporary key pair, public key, signed certificate application, user information, and verification code can also be transmitted in the same session, thereby reducing the number of interactions in the entire process.
[0107] After receiving a signed certificate application, the CA (Certificate Authority) sends the national cryptographic dual certificate and the encryption certificate private key to the server. The encryption certificate private key is in ciphertext form.
[0108] After obtaining the national cryptographic dual certificate and the encryption certificate private key on the server, the key processing device performs the following steps to protect the collaborative key:
[0109] The key processing device receives the private key of the encryption certificate and the public key of the second temporary key pair from the server.
[0110] The key processing device performs collaborative key splitting on the public key based on the private key of the encryption certificate and the second temporary key to generate a client key component and a server key component of the encryption certificate; wherein the private key in both the client key component and the server key component of the encryption certificate is in ciphertext form;
[0111] The key processing device sends the client key component of the encryption certificate to the server. The server then forwards the client key component of the encryption certificate and the national cryptographic dual certificate to the client, thus completing the distribution of the key component.
[0112] It should be noted that, in this stage, the local collaborative key operation data includes: the public key of the encryption certificate and the server key component of the encryption certificate. The public key of the encryption certificate and the server key component of the encryption certificate are also part of the local collaborative key data. The local collaborative key data also includes the server key component of the collaborative signature, the public key of the first temporary key pair, and the first random key pair. The peer collaborative key operation data includes the peer collaborative key data and the client key component of the encryption certificate. The peer collaborative key data includes the client key component of the collaborative signature and the public key of the second temporary key pair.
[0113] It should be further noted that the key processing device connected to the server can have a collaborative key splitting interface, which is used to perform collaborative key splitting operations. Specifically, the output parameters of the collaborative key splitting interface can include a client key component of the encryption certificate with its private key encrypted and a server key component of the encryption certificate with its private key encrypted. More specifically, the private key of the client key component is encrypted with the public key using a second temporary key, and the private key of the server key component is encrypted using a key within the key processing device. Furthermore, the output parameters can also include the public key of the encryption certificate.
[0114] Furthermore, during the certificate application generation phase, the client can also access the key processing device.
[0115] like Figure 3 As shown, the key processing device connected to the client performs the following steps to protect the collaboration key:
[0116] Before generating a certificate application, the key processing device generates a second temporary key pair public key; wherein the second temporary key pair public key is used as one of the parameters of the certificate application;
[0117] The key processing device sends the local collaborative key data to the client, so that the client can forward the second temporary key pair public key to the server.
[0118] In addition, the client will also send the signed certificate application, user information, and verification code to the server.
[0119] After the server completes the verification of the verification code and the signature verification of the certificate application, it uses the signed certificate application to apply for a national cryptographic dual certificate and an encryption certificate private key from the CA. The server then forwards the national cryptographic dual certificate, the encryption certificate private key, and the third temporary key pair public key to the client. The client will perform collaborative key splitting based on the encryption certificate private key and the third temporary key pair public key to generate an encryption certificate server key component and an encryption certificate client key component. The encryption certificate server key component needs to be forwarded to the server.
[0120] It should be noted that, in this scenario, the local collaborative key operation data generated by the key operation device connected to the client includes the public key of the encryption certificate and the client key component of the encryption certificate. The public key of the encryption certificate and the client key component of the encryption certificate are also part of the local collaborative key data. The local collaborative key data also includes a second temporary key pair public key, which can be generated by the interface for exporting the CA public key. The peer collaborative key operation data includes a third temporary key pair, which is part of the peer collaborative key data. The peer collaborative key data also includes the server key component of the encryption certificate.
[0121] Understandably, during the generation phase of the national cryptographic dual certificate, either the client or the server can be connected to the key processing device, or as follows: Figure 4 Both shown are connected to a key processing device. The methods executed by the key processing devices connected to the client and server have been described in detail in the previous embodiments and will not be repeated here.
[0122] In practical applications, since client-side key splitting increases the interaction flow within the collaborative key system, considering efficiency, server-side key splitting should be prioritized. Figure 2 The protection method shown.
[0123] Through the methods described in the preceding embodiments, some embodiments disclosed herein can obtain dual national cryptographic certificates, and further, the signature certificates therein can be used to achieve collaborative signing of data.
[0124] Figure 5 An exemplary flowchart illustrating the method of using a collaborative key in a collaborative key system according to some embodiments of this disclosure is shown.
[0125] like Figure 5 As shown, in step S501, local collaborative key data is generated during collaborative key operation.
[0126] In step S502, the local end receives the collaborative key operation data forwarded by the peer end.
[0127] In step S503, local collaborative key operation data is generated based on local collaborative key data and remote collaborative key operation data.
[0128] In this embodiment, taking the local end as the server as an example, the local end collaborative key operation data includes the server collaborative signature component, and the peer end collaborative key operation data includes the client collaborative signature component. A complete signature can be encapsulated based on the server collaborative signature component and the client collaborative signature component.
[0129] The user business system is a user system with security service requirements. It obtains the collaborative signature service provided by the collaborative key system by communicating with the client in the collaborative key system. Suppose that a certain user data in the user business system needs to be collaboratively signed, then the user data can be sent from the user business system to the client of the collaborative key system through the network. When the client receives the server-side collaborative signature component and the client-side collaborative signature component, it uses the two to encapsulate the complete signature value of the user data.
[0130] In practical applications, this user data can also be accessed directly from the local machine by the client of the collaborative key system without being transmitted over the network.
[0131] To facilitate understanding of the collaborative signature generation process, this disclosure provides Figures 6 to 8 The process of collaborative signature is explained.
[0132] Figure 6 An exemplary flowchart of collaborative signatures according to some embodiments of this disclosure is shown. Figure 6 In the collaborative key system shown, the server is connected to a key processing device, which performs the following steps to complete the collaborative signing of user data:
[0133] The key processing device generates a second random key pair; the private key of the second random key pair is encrypted by the key processing device.
[0134] The key processing device sends the second random key pair to the server, which then forwards the public key from the second random key pair to the client. The client will calculate the client's collaborative signature component based on the public key of the second random key pair and the private key of the collaborative signature client key component, and send it to the server, which will then forward it to the key processing device connected to it.
[0135] The key processing device generates a server-side collaborative signature component based on the private key ciphertext in the collaborative signature server-side key component, the private key ciphertext in the second random key pair, and the client-side collaborative signature component.
[0136] The key processing device sends the generated server-side collaborative signature component to the server, which then forwards it to the client. The client combines the client-side collaborative signature component to encapsulate the user data into a complete collaborative signature.
[0137] It should be noted that the local collaborative key data generated by the key processing device connected to the server includes the second random key pair and the collaborative signature server key component, while the peer collaborative key data includes the client collaborative signature component. The local collaborative key data can be generated by the interface for calculating collaborative signatures in the key processing device.
[0138] Figure 7 An exemplary flowchart of collaborative signatures, representing other embodiments of this disclosure, is shown. Figure 7 In the collaborative key system shown, the client is connected to a key processing device, which performs the following steps to complete the collaborative signing of user data:
[0139] The key processing device receives a second random key pair public key forwarded by the client;
[0140] The key processing device generates a client collaborative signature component based on the public key of the second random key pair and the private key ciphertext of the collaborative signature client key component;
[0141] The key processing device sends the generated client collaborative signature component to the client, which then forwards it to the server.
[0142] The server generates a server-side collaborative signature component based on the client-side collaborative signature component, the server-side key component of the collaborative signature component, and the private key of the second random key pair. The server then forwards this component to the client, allowing the client to combine it with the client-side collaborative signature component to encapsulate the user data of the user's business system into a complete signature value.
[0143] It should be noted that the local collaborative key data generated by the key operation device connected to the client includes the collaborative signature client key component, in which the private key is in ciphertext form. The peer collaborative key operation data includes the second random key pair and the collaborative signature server key component, which are also peer collaborative key data. Furthermore, the peer collaborative key operation data may also include the server collaborative signature component.
[0144] Furthermore, the local collaborative key operation data can be generated by the interface for calculating collaborative signatures in the key operation device.
[0145] It should be noted that the collaborative key system can be as follows: Figure 6 or Figure 7 As shown, only the server or client connects to the key processing device; collaborative key systems can also be like... Figure 8 As shown, both the server and the client are connected to the key processing device.
[0146] It should be noted that, Figure 8 An exemplary flowchart of collaborative signing in some embodiments of this disclosure is shown. Figure 8 In the collaborative key system shown, the client and server are connected to key processing devices, and the methods executed by the key processing devices have been described above. Figure 6 and Figure 7 The embodiments shown have been described in detail, and will not be repeated here.
[0147] This disclosure also provides a decryption method for ciphertext of user data encrypted using a collaborative key.
[0148] It should be noted that, in this embodiment, the collaborative key system includes a server and a client, wherein one or more of the server and the client are connected to a key processing device.
[0149] Figure 9 An exemplary flowchart illustrating user data decryption according to some embodiments of this disclosure is shown. Figure 9 In the collaborative key system shown, the server is connected to a key processing device, and this key processing device performs the following decryption method:
[0150] The system obtains encrypted user data from the user's business system. Specifically, the encrypted user data from the user's business system includes C1, C2, and C3 values. C1 is the public key of the random key used to encrypt the user data, C2 is the encrypted data, and C3 is the digest value. After receiving the encrypted user data, the client parses out the C1 value and sends it to the server along with a verification code. After the server verifies the value using the verification code, it forwards the C1 value to the key processing device.
[0151] The key processing device decrypts the private key ciphertext and user data ciphertext based on the encryption certificate server key component to obtain the server-coordinated decryption component. The encryption certificate server key component can be obtained from the previous embodiment. Figure 2 The method shown generates, specifically, the key operation device can have a collaborative decryption interface. After the private key ciphertext and C1 value of the encryption certificate server key component are passed into the collaborative decryption interface, the server collaborative decryption component is obtained.
[0152] The key processing device sends the server-side collaborative decryption component to the server, which then sends it to the client. The client then decrypts the user data plaintext based on the server-side collaborative decryption component, the user data ciphertext, and the client key component of the encryption certificate.
[0153] Figure 10 Exemplary flowcharts for decrypting user data according to other embodiments of this disclosure are shown. Figure 10 In the collaborative key system shown, the client is connected to a key processing device, and this key processing device performs the following decryption method:
[0154] The key processing device receives a server-side collaborative decryption component sent by the server. This component is obtained by decrypting the server-side key component of the encryption certificate and the C1 value in the user data ciphertext. The process of generating the server-side collaborative decryption component can be referred to in the previous embodiment. Figure 9 The method shown differs in that Figure 10 The server-side collaborative decryption component is generated on the server side;
[0155] The key processing device decrypts the user data plaintext based on the server-side collaborative decryption component, the user data ciphertext, and the encryption certificate client key component, where the encryption certificate client key component is obtained from the previous embodiment. Figure 3 The method shown generates, specifically, a key operation device can have a collaborative decryption interface. After the private key ciphertext, user data ciphertext, and server collaborative decryption component in the client key component of the encryption certificate are passed into the collaborative decryption interface, the user data plaintext is decrypted.
[0156] In the decryption method disclosed herein, the collaborative key system can be as follows: Figure 9 or Figure 10 As shown, only the server or client connects to the key processing device; collaborative key systems can also be like... Figure 11 As shown, both the server and the client are connected to the key processing device.
[0157] It should be noted that, Figure 11 An exemplary flowchart of user data decryption according to some embodiments of this disclosure is shown. Figure 11 In the collaborative key system shown, the client and server are connected to key processing devices, and the methods executed by the key processing devices have been described above. Figure 9 and Figure 10 The embodiments shown have been described in detail, and will not be repeated here.
[0158] In summary, in the collaborative key system disclosed in this embodiment, at least one local or remote end is connected to a key processing device during collaborative key operations. The private key in the collaborative key operation data at that end is encrypted by the key processing device, and this private key exists in ciphertext form outside the key processing device. The collaborative key operation at that end is then performed by the connected key processing device. Therefore, even if the collaborative key system is maliciously attacked, the attacker will not be able to obtain the complete plaintext private key of the collaborative key data, thereby improving the security of the collaborative key and reducing the risk of private key leakage.
[0159] Corresponding to the aforementioned functional embodiments, this disclosure also provides a collaborative key system. Figure 12 An exemplary structural block diagram of the collaborative key system of this disclosure embodiment is shown.
[0160] like Figure 12 As shown, the collaborative key system 1200 includes one or more key processing devices 1201 configured to perform the methods as described in any of the preceding embodiments.
[0161] In addition, the collaborative key system also includes one or more peer terminals 1203 and one or more local terminals 1202, which are communicatively connected to the one or more peer terminals 1203, and one or more of the local terminals 1202 are connected to a key processing device 1201.
[0162] It is understood that the collaborative key system of this embodiment does not have a strict limit on the number of local and peer ends. One local end can communicate with one peer end, one local end can communicate with multiple peer ends, multiple local ends can communicate with one peer end, and multiple local ends can communicate with multiple peer ends.
[0163] In addition, at least one local end of the collaborative key system is connected to a key processing device, and furthermore, the peer end can also be connected to a key processing device. For example, each end of the collaborative key system is connected to a key processing device.
[0164] Furthermore, the key processing device may have one or more of the following interfaces:
[0165] An interface for generating an SM2 key with the private key encrypted. The key processing device can obtain the key pair with the private key encrypted through this interface. For example, the key pair may include one or more of the following: a collaborative signature client key component, a collaborative signature server key component, a first random key pair, and a second random key pair.
[0166] An interface for exporting CA public keys is provided. This interface can be used to export a specific SM2 public key from a key processing device. When generating a certificate application, this specific SM2 public key can be set in the certificate application, so that the CA can use this public key when encrypting the private key of the encryption certificate. For example, the specific SM2 public key may include one or more of the following: a first temporary key pair public key and a second temporary key pair public key.
[0167] An interface for synthesizing a collaborative signature public key. This interface takes the private key ciphertext of the server-side key component and the public key component of the client-side key component as input, synthesizes a complete collaborative signature public key and outputs it. Alternatively, this interface takes the private key ciphertext of the collaborative signature client-side key component and the public key component of the collaborative signature server-side key component as input, synthesizes a complete collaborative signature public key and outputs it.
[0168] An interface for calculating collaborative signatures. This interface takes the private key ciphertext of the collaborative signature server key component, the private key ciphertext of the first random key pair, and the client collaborative signature component as input, and completes the calculation of the server collaborative signature component and outputs it. Alternatively, this interface takes the signed data digest value, the private key ciphertext of the collaborative signature client key component, and the public key of the first random key pair as input, and completes the calculation of the client collaborative signature component and outputs it.
[0169] An interface for splitting collaborative keys. This interface takes the private key of the encryption certificate and the public key of the second temporary key pair as input, completes the splitting of the collaborative key and outputs the output parameters, including the client key component of the encryption certificate with the private key encrypted, the server key component of the encryption certificate with the private key encrypted, and the public key of the encryption certificate. Alternatively, this interface takes the private key of the encryption certificate and the public key of the third temporary key pair as input, completes the splitting of the collaborative key and outputs the output parameters, including the client key component of the encryption certificate with the private key encrypted, the server key component of the encryption certificate with the private key encrypted, and the public key of the encryption certificate.
[0170] The interface for collaborative decryption takes the private key ciphertext from the server-side key component of the encryption certificate and the C1 value from the user data ciphertext as input, performs the calculation of the server-side collaborative decryption component, and outputs the result. Alternatively, the interface takes the private key ciphertext from the client-side key component of the encryption certificate, the user data ciphertext, and the server-side collaborative decryption component as input, performs the decryption of the user data ciphertext, and outputs the user data plaintext.
[0171] Corresponding to the aforementioned functional embodiments, this disclosure also provides a method such as... Figure 13 The electronic device shown. Figure 13 An exemplary structural block diagram of an electronic device according to an embodiment of this disclosure is shown.
[0172] Figure 13 The illustrated electronic device 1300 includes: a processor 1310; and a memory 1320 storing executable program instructions that, when executed by the processor 1310, cause the electronic device to perform any of the methods described above.
[0173] exist Figure 13 In the electronic device 1300, only the components relevant to this embodiment are shown. Therefore, it will be apparent to those skilled in the art that the electronic device 1300 may also include components related to... Figure 13 The following are common constituent elements with different constituent elements.
[0174] Processor 1310 can control the operation of electronic device 1300. For example, processor 1310 controls the operation of electronic device 1300 by executing a program stored in memory 1320 on electronic device 1300. Processor 1310 can be implemented by a central processing unit (CPU), application processor (AP), artificial intelligence processor chip (IPU), etc., provided in electronic device 1300. However, this disclosure is not limited thereto. In this embodiment, processor 1310 can be implemented in any suitable manner. For example, processor 1310 can take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers, etc.
[0175] Memory 1320 can be used to store various data and instructions processed in electronic device 1300. For example, memory 1320 can store processed data and data to be processed in electronic device 1300. Memory 1320 can store datasets that have been processed or are to be processed by processor 1310. In addition, memory 1320 can store applications, drivers, etc., to be driven by electronic device 1300. For example, memory 1320 can store various programs related to collaborative key splitting, collaborative signature calculation, etc., to be executed by processor 1310. Memory 1320 can be DRAM, but this disclosure is not limited thereto. Memory 1320 can include at least one of volatile memory or non-volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, phase-change RAM (PRAM), magnetic RAM (MRAM), resistive RAM (RRAM), ferroelectric RAM (FRAM), etc. Volatile memory may include dynamic RAM (DRAM), static RAM (SRAM), synchronous DRAM (SDRAM), PRAM, MRAM, RRAM, ferroelectric RAM (FeRAM), etc. In an embodiment, memory 1320 may include at least one of hard disk drive (HDD), solid-state drive (SSD), high-density flash memory (CF), secure digital card (SD), micro-secure digital card (Micro-SD), mini-secure digital card (Mini-SD), extreme digital card (xD), cache, or memory stick.
[0176] In summary, the specific functions implemented by the memory 1320 and processor 1310 of the electronic device 1300 provided in this specification can be explained in comparison with the aforementioned embodiments in this specification, and can achieve the technical effects of the aforementioned embodiments. Therefore, they will not be repeated here.
[0177] Alternatively, this disclosure may be implemented as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) storing computer program instructions (or computer program, or computer instruction code) that, when executed by a processor of an electronic device (or electronic device, server, etc.), cause the processor to perform some or all of the steps of the methods described above according to this disclosure.
[0178] While numerous embodiments of this disclosure have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. Many modifications, alterations, and alternatives will occur to those skilled in the art without departing from the spirit and intent of this disclosure. It should be understood that various alternatives to the embodiments of this disclosure described herein may be employed in the practice of this disclosure. The appended claims are intended to define the scope of this disclosure and therefore cover equivalents or alternatives within the scope of these claims.
Claims
1. A method for protecting the collaborative key of a collaborative key system, characterized in that, The collaborative key system includes a local end and a peer end, wherein the local end is connected to a key processing device, and the protection method includes performing the following on the key processing device: When performing collaborative key operations, local collaborative key data is generated in the key operation device; wherein the private key in the local collaborative key data is encrypted in the key operation device and exists only in ciphertext form outside the key operation device; Receive the collaborative key operation data forwarded by the local end from the peer end; and In the key operation device, generating local collaborative key operation data based on the private key ciphertext in the local collaborative key data and the peer collaborative key operation data includes: when the local end is a server, the local collaborative key data includes a first temporary key pair public key, and the peer collaborative key operation data includes a second temporary key pair public key. An encryption certificate public key, an encryption certificate client key component, and an encryption certificate server key component are generated based on the encryption certificate private key and the second temporary key pair public key; wherein the encryption certificate private key is obtained based on the first temporary key pair public key, the server collaborative signature component, and the client collaborative signature component.
2. The protection method according to claim 1, characterized in that, The step of generating the local collaborative key operation data includes performing one or more of the following steps: When the local collaborative key data includes a collaborative signature server key component and the peer collaborative key operation data includes a collaborative signature client key component, a complete collaborative signature public key is generated based on the private key ciphertext in the collaborative signature server key component and the public key in the collaborative signature client key component. When the local collaborative key data includes a collaborative signature server key component and a first random key pair, and the peer collaborative key operation data includes a client collaborative signature component, the server collaborative signature component is generated based on the private key ciphertext in the collaborative signature server key component, the private key ciphertext in the first random key pair, and the client collaborative signature component.
3. The protection method according to claim 1, characterized in that, The "local end" here refers to the client. The local collaborative key data includes: the collaborative signature client key component, the second temporary key pair public key, the complete collaborative signature public key, the encryption certificate public key, and the encryption certificate client key component; The peer-to-peer collaborative key operation data includes one or more of the following: peer-to-peer collaborative key data and server-side collaborative signature components; wherein the peer-to-peer collaborative key data includes one or more of the following: collaborative signature server-side key components, a first random key pair, a third temporary key pair public key, and an encryption certificate server-side key component; and The local collaborative key operation data includes one or more of the following: local collaborative key data and client collaborative signature components.
4. The method for protecting the collaborative key according to claim 3, characterized in that, The step of generating the local collaborative key operation data includes performing one or more of the following steps: The complete collaborative signature public key is generated based on the private key ciphertext in the collaborative signature client key component and the public key in the collaborative signature server key component; The client collaborative signature component is generated based on the signed data digest value, the private key ciphertext in the collaborative signature client key component, and the public key in the first random key pair. as well as An encryption certificate public key, an encryption certificate client key component, and an encryption certificate server key component are generated based on the encryption certificate private key and the third temporary key pair public key; wherein the encryption certificate private key is obtained based on the second temporary key pair public key, the server collaborative signature component, and the client collaborative signature component.
5. A method for using a collaborative key in a collaborative key system, characterized in that, The collaborative key system includes a local end and a peer end, wherein the local end is connected to a key processing device, and the usage method includes performing the following on the key processing device: When performing collaborative key operations, local collaborative key data is generated in the key operation device; wherein the private key in the local collaborative key data is encrypted in the key operation device and exists only in ciphertext form outside the key operation device; Receive the collaborative key operation data forwarded by the local end from the peer end; In the key operation device, based on the private key ciphertext in the local collaborative key data and the peer collaborative key operation data, local collaborative key operation data is generated, including: when the local end is a server, the local collaborative key data includes a first temporary key pair public key, and the peer collaborative key operation data includes a second temporary key pair public key; an encryption certificate public key, an encryption certificate client key component, and an encryption certificate server key component are generated based on the encryption certificate private key and the second temporary key pair public key; wherein the encryption certificate private key is obtained based on the first temporary key pair public key, the server collaborative signature component, and the client collaborative signature component; The local collaborative key operation data is used to generate a collaborative signature.
6. The method of use according to claim 5, characterized in that, If the local end is a server, then the local end collaborative key operation data includes the server collaborative signature component; the local end collaborative key data includes a second random key pair and a collaborative signature server key component; the peer end collaborative key operation data includes the client collaborative signature component. The step of generating the local collaborative key operation data includes: generating the server-side collaborative signature component based on the private key ciphertext in the collaborative signature server-side key component, the private key ciphertext in the second random key pair, and the client-side collaborative signature component; and If the local end is a client, then the local end collaborative key operation data includes a client collaborative signature component; the local end collaborative key data includes a collaborative signature client key component; the peer end collaborative key operation data includes peer end collaborative key data and a server-side collaborative signature component; wherein the peer end collaborative key data includes a second random key pair and a collaborative signature server-side key component. The steps for generating the local collaborative key operation data include: generating the client collaborative signature component based on the signed data digest value, the private key ciphertext in the collaborative signature client key component, and the public key in the second random key pair; wherein the client collaborative signature component is used to combine the private key in the second random key pair and the private key in the collaborative signature server key component to generate the server collaborative signature component.
7. A method for decrypting the collaborative key of a collaborative key system, characterized in that, The collaborative key system includes a server and a client, wherein the server is connected to a key processing device, and the decryption method includes execution on the key processing device: Obtain encrypted user data from the user's business system; In the key processing device, the encrypted certificate server key component and the user data ciphertext are decrypted to obtain the server-side collaborative decryption component; as well as The server-side collaborative decryption component is sent to the client via the server, so that the client can decrypt the user data plaintext based on the server-side collaborative decryption component, the user data ciphertext, and the encryption certificate client key component; wherein the encryption certificate server key component and the encryption certificate client key component are generated by the protection method as described in claim 2.
8. A method for decrypting the collaborative key of a collaborative key system, characterized in that, The collaborative key system includes a server and a client, wherein the client is connected to a key processing device, and the decryption method includes execution on the key processing device: Receive the server-coordinated decryption component sent by the server; The server-side collaborative decryption component is obtained by decrypting the encrypted certificate server key component and the ciphertext of user data from the user's business system. as well as In the key operation device, the user data plaintext is obtained by decrypting the server-side collaborative decryption component, the user data ciphertext, and the encryption certificate client key component; wherein the encryption certificate server key component and the encryption certificate client key component are generated by the protection method as described in claim 3 or 4.
9. A collaborative key system, characterized in that, include: One or more key processing devices configured to perform the protection method as described in any one of claims 1-4, or the usage method as described in any one of claims 5-6, or the decryption method as described in any one of claims 7-8; One or more peers, and One or more local terminals are communicatively connected to the one or more peer terminals, and one or more of the local terminals are connected to the key processing device.
Citation Information
Patent Citations
Identity authentication method and device for asymmetric cipher, computer equipment and storage medium
CN107948189A
Digital signature method, system and device
CN111130803A
Secure communication method and system based on software password module
CN111614637A
Information transmission system, user device and information security hardware module
CN114513345A