An SM2-based end-cloud joint signature system

Through the joint signature system of terminal cloud, the SM2 algorithm is used to jointly generate keys on mobile devices and cloud servers and store them separately, solving the problem of insecure key storage of smart devices and realizing the legality and security of device signatures.

CN111064576BActive Publication Date: 2025-07-25HEBEI ELECTRONIC CERTIFICATION CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201911184730.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-11-27
Publication Date
2025-07-25
Estimated Expiration
2039-11-27

AI Technical Summary

Technical Problem

In the absence of a secure and effective key storage environment, existing smart devices are prone to cracking, resulting in personal information leakage and poor security in use.

Method used

The end-cloud joint signature system based on SM2 is adopted to generate keys through mobile devices and cloud servers, and the keys are broken and stored on the cloud and device side respectively. The signature process requires the device and cloud to participate.

Benefits of technology

It solves the problem of insecure client key storage and ensures the legality and transmission security of device signatures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111064576B_ABST
    Figure CN111064576B_ABST
Patent Text Reader

Abstract

The present invention discloses an end-cloud joint signature system based on SM2, which relates to the field of information security technology, specifically to the field of SM2 algorithm key signature system technology. It includes a mobile device and a cloud server. The mobile device includes a signature module, an information generation module, a transmission and reception module, and an information storage module. The cloud server includes a reception and parsing module, a data calculation and processing module, and a data storage and transmission module. The mobile device and the cloud server are connected by a two-way communication method. When the present invention is used, the device-side key is stored in a form of being scattered and stored in the cloud and the device side respectively, and the signature process requires the participation of both the device side and the cloud to complete the entire signature process, which can largely solve the problem of insecure storage of the client key and ensure the legality of device signature.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information security technology, and specifically to an end-cloud joint signature system based on SM2. Background Art

[0002] With the popularization of intelligent networked devices, more and more intelligent devices need to establish communication with the cloud. Therefore, the communication security and identity authentication between intelligent devices and the cloud are particularly important. The SM2 algorithm is an elliptic curve public key cryptography algorithm released by the State Cryptography Administration on December 17, 2010. Compared with the RSA algorithm, the SM2 algorithm has the advantages of high security, fast calculation speed, and small storage space under the same key strength. At the same time, compared with the international standard ECC algorithm, the SM2 algorithm is better in the initial state encoding and encryption calculation efficiency. Since the current mainstream intelligent devices such as Android and iOS devices lack a secure and effective key storage environment, the complete key stored on the device side is easily cracked and exploited by lawbreakers, resulting in the leakage of personal information and losses to users, with poor security. Summary of the Invention

[0003] The purpose of the present invention is to provide an end-cloud joint signature system based on SM2 to solve the problems in the prior art.

[0004] To achieve the above purpose, the present invention provides the following technical solution: An end-cloud joint signature system based on SM2, including a mobile device and a cloud server. The mobile device includes a signature module, an information generation module, a transmission and reception module, and an information storage module. The cloud server includes a reception and parsing module, a data calculation and processing module, and a data storage and sending module. The mobile device and the cloud server are connected by a two-way communication method.

[0005] Preferably, the signature module is mainly a touch screen, and the information generation module is mainly used for generating UUID and device key pairs (PC, dC).

[0006] Preferably, the data calculation and processing module of the cloud server is mainly used for generating a random number ks ∈ [1, n - 1], calculating the signature public key P = ks * Pc - G, and generating the public key index value Pindex of P.

[0007] Preferably, the device registration process includes the following steps:

[0008] S1-1: The device initiates the registration process;

[0009] S1-2: The device generates UUID;

[0010] S1-3: The device generates device key pairs (Pc, dc);

[0011] S1-4: Send the registration message UUID and Pc;

[0012] S1-5: The cloud receives and parses the UUID and Pc sent by the device side;

[0013] S1-6: The cloud generates a random number ks ∈ [1, n - 1];

[0014] S1-7: The cloud calculates the signature public key P = ks * Pc - G;

[0015] S1-8: The cloud generates the public key index value Pindex of P;

[0016] S1-9: The cloud establishes and saves the corresponding relationship of Pindex, UUID, P, and ks;

[0017] S1-10: The cloud publishes the public keys Pindex and P;

[0018] S1-11: Send the registration return message UUID and Pc;

[0019] S1-12: The device side saves Pindex, P, (Pc, dc), and UUID;

[0020] S1-13: The device registration is completed.

[0021] The signature process includes the following steps:

[0022] S2-1: The device-side signature module receives the signature instruction and the message M to be signed, and starts the signature process;

[0023] S2-2: The device side calculates M' = ZA || M based on the message M to be signed, and calculates e = Hash(M');

[0024] S2-3: The device side generates a random number k1 ∈ [1, n - 1], and calculates the client random point Sc of the signature as Sc = k1 * G;

[0025] S2-4: The device side sends a signature request message, carrying: Pindex, UUID, e, Sc;

[0026] S2-5: The cloud finds the existing corresponding relationship according to Pindex and UUID;

[0027] S2-6: The cloud generates a random number k2 ∈ [1, n - 1], and calculates the cloud random point Ss of the signature as Ss = k2 * G;

[0028] S2-7: The cloud generates a random number K ∈ [1, n - 1], calculates the elliptic curve point, (x1, y1) = K * (Sc + Ss), and calculates r = (e + x1) mod n;

[0029] S2-8: If r != 0, calculate signature components s1 and s2. s1 = ks -1 *K, s2 = ks -1 *(r + K*k2);

[0030] S2-9: The signature return message carried is: r, s1, s2;

[0031] S2-10: The device side parses the return message and calculates the final signature s = [dc -1 *k1*s1 + dc -1 *s2 - r] mod n.

[0032] Preferably, the signature process further includes a verification process for the value of the final signature S.

[0033] Preferably, the verification process of the signature process includes:

[0034] S2-11: If s equals 0, cancel the r, s data and return to the initial step of the device side registration process to reset the data;

[0035] S2-12: If s is not equal to 0, output (r, s) as the complete signature.

[0036] Compared with the prior art, the beneficial effects of the present invention are:

[0037] A terminal-cloud joint signature system based on SM2 provided by the present invention combines the characteristics of mobile devices, uses mobile devices and cloud servers to jointly generate SM2 algorithm keys, and the process of generating keys uses encrypted signatures to realize the interaction of data between the device side and the cloud, ensuring transmission security. The keys generated by the device side are scattered and stored separately by the cloud server and the device side respectively. When used, the signature process requires the participation of both the device side and the cloud to complete the entire signature process, which can largely solve the problem of insecure storage of client keys and ensure the legality of device signatures. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] The drawings are used to provide a further understanding of the present invention, and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention, and do not constitute a limitation to the present invention. In the drawings:

[0039] Figure 1 is the control flow chart of the internal structure of the present invention;

[0040] Figure 2 is the flow chart of the device side registration process of the present invention;

[0041] Figure 3 is the schematic diagram of the operation process of the signature process of the present invention.

[0042] In the figure: 1. Mobile device; 2. Cloud server; 3. Signature module; 4. Information generation module; 5. Transmitting and receiving module; 6. Information storage module; 7. Receiving and parsing module; 8. Data calculation and processing module; 9. Data storage and sending module. Specific implementation mode

[0043] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0044] Please refer to Figure 1 , Figure 2 , Figure 3 , in the embodiment of the present invention, a terminal-cloud joint signature system based on SM2 includes a mobile device 1 and a cloud server 2. The mobile device 1 includes a signature module 3, an information generation module 4, a transmitting and receiving module 5, and an information storage module 6. The cloud server 2 includes a receiving and parsing module 7, a data calculation and processing module 8, and a data storage and sending module 9. The mobile device 1 and the cloud server 2 are connected by a two-way communication method;

[0045] The signature module 3 is mainly a touch screen, and the information generation module 4 is mainly used for generating UUID and device key pairs (PC, dC);

[0046] The data calculation and processing module 8 of the cloud server 2 is mainly used for generating a random number ks ∈ [1, n - 1], calculating the signature public key P = ks * Pc - G, and generating the public key index value Pindex of P;

[0047] The device-side registration process includes the following steps:

[0048] S1-1: The device side initiates the registration process;

[0049] S1-2: The device side generates UUID;

[0050] S1-3: The device side generates device key pairs (Pc, dc);

[0051] S1-4: Send the registration messages UUID and Pc;

[0052] S1-5: The cloud receives and parses the UUID and Pc sent by the device side;

[0053] S1-6: The cloud generates a random number ks ∈ [1, n - 1];

[0054] S1-7: The cloud computing signature public key P = ks * Pc - G;

[0055] S1-8: The cloud generates the public key index value Pindex of P;

[0056] S1-9: The cloud establishes and saves the corresponding relationship of Pindex, UUID, P, and ks;

[0057] S1-10: The cloud publishes the public keys Pindex and P;

[0058] S1-11: Send the registration return message UUID, Pc;

[0059] S1-12: The device saves Pindex, P, (Pc, dc), and UUID;

[0060] S1-13: The device registration is completed.

[0061] The signature process includes the following steps:

[0062] S2-1: The device signature module 3 receives the signature instruction and the message M to be signed, and starts the signature process;

[0063] S2-2: The device calculates M' = ZA || M according to the message M to be signed, and calculates e = Hash(M');

[0064] S2-3: The device generates a random number k1 ∈ [1, n - 1], and calculates the client random point Sc of the signature = k1 * G;

[0065] S2-4: The device sends a signature request message, carrying: Pindex, UUID, e, Sc;

[0066] S2-5: The cloud finds the existing corresponding relationship according to Pindex and UUID;

[0067] S2-6: The cloud generates a random number k2 ∈ [1, n - 1], and calculates the cloud random point Ss of the signature = k2 * G;

[0068] S2-7: The cloud generates a random number K ∈ [1, n - 1], calculates the elliptic curve point, (x1, y1) = K * (Sc + Ss), and calculates r = (e + x1) mod n;

[0069] S2-8: If r!= 0, calculate the signature components s1 and s2. s1 = ks -1 * K, s2 = ks -1 *(r + K * k2);

[0070] S2-9: Send the signature return message carrying: r, s1, s2;

[0071] S2-10: The device-side parses the returned message and calculates the final signature s = [dc -1 *k1*s1 + dc -1 *s2 - r] mod n;

[0072] The signature process further includes a verification process for the value of the final signature S;

[0073] The verification process of the signature process includes:

[0074] S2-11: If s is equal to 0, cancel the r and s data and return to the initial step of the device-side registration process to reset the data;

[0075] S2-12: If s is not equal to 0, output (r, s) as the complete signature;.

[0076] The working principle and usage process of the present invention: When in use, the mobile device 1 and the cloud server 2 are used together to generate SM2 algorithm keys, and the process of generating keys adopts encrypted signature to realize the interaction of data between the device side and the cloud. The device-side key is stored separately in the cloud and the device side in a scattered form, and the signature process requires the participation of both the device side and the cloud to complete the entire signature process, which can largely solve the problem of insecure storage of the client key and ensure the legality of the device signature.

[0077] Finally, it should be noted that: The above are only the preferred embodiments of the present invention and are not used to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, for those skilled in the art, they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims

1. A client-cloud joint signature system based on SM2, comprising a mobile device (1) and a cloud server (2), characterized in that: The mobile device (1) includes a signature module (3), an information generation module (4), a transmission and reception module (5), and an information storage module (6). The cloud server (2) includes a reception and parsing module (7), a data calculation and processing module (8), and a data storage and transmission module (9). The mobile device (1) and the cloud server (2) are connected by a two-way communication method. Among them, the signature module (3) integrates a biometric authentication unit through a touch screen. The information storage module (6) and the data storage and transmission module (9) of the cloud server (2) cooperate to store key shards, and the private key shards of the mobile device (1) are encrypted and protected by a hardware security module. It also includes a device-side registration process and a signature process. The device-side registration process includes the following steps: S1-1: The device side initiates the registration process. S1-2: The device side generates a UUID. S1-3: The device side generates a device key pair (Pc, dc). S1-4: Send the registration message UUID, Pc. S1-5: The cloud receives and parses the UUID and Pc sent by the device side. S1-6: The cloud generates a random number ks ∈ [1, n - 1]. S1-7: The cloud calculates the signature public key P = ks * Pc - G. S1-8: The cloud generates a public key index value Pindex of P. S1-9: The cloud establishes and saves the corresponding relationship of Pindex, UUID, P, and ks. S1-10: The cloud publishes the public key Pindex and P. S1-11: Send a registration return message UUID, Pc. S1-12: The device side saves Pindex, P, (Pc, dc), and UUID. S1-13: The device registration is completed. The signature process includes the following steps: S2-1: The device-side signature module (3) receives a signature instruction and a message M to be signed, and starts the signature process. S2-2: The device side calculates M’ = ZA||M according to the message M to be signed, and calculates e = Hash(M’). S2-3: The device side generates a random number k1 ∈ [1, n - 1], and calculates the client random point Sc of the signature = k1 * G. S2-4: The device side sends a signature request message, carrying: Pindex, UUID, e, Sc. S2-5: The cloud finds the existing corresponding relationship according to Pindex and UUID. S2-6: The cloud generates a random number k2 ∈ [1, n - 1], and calculates the cloud-side random point Ss of the signature = k2 * G. S2-7: The cloud generates a random number K ∈ [1, n - 1], calculates the elliptic curve point, (x1, y1) = K * (Sc + Ss), and calculates r = (e + x1) mod n. S2-8: If r != 0, calculate signature components s1 and s2, s1 = ks -1 *K, s2 = ks -1 *(r + K*k2); S2-9: Send a signature return message carrying: r, s1, s2. S2-10: The device end parses the returned message and calculates the final signature s = [dc -1 *k1*s1 + dc -1 *s2 - r] mod n.

2. The end-cloud joint signature system based on SM2 according to claim 1, wherein: The information generation module (4) is mainly used for generating UUID and the device key pair (PC, dC), where UUID is bound to the mobile terminal hardware serial number; the data calculation and processing module (8) of the cloud server (2) generates a random number ks ∈ [1, n - 1], and calculates the signature public key P = ks * Pc - G based on the elliptic curve algorithm, and simultaneously generates a public key index value Pindex that is dynamically associated with P.

3. The end-cloud joint signature system based on SM2 according to claim 1, wherein: The signature process further includes a verification process for the final signature S value.

4. The end-cloud joint signature system based on SM2 according to claim 3, wherein: The verification process of the signature process includes: S2-11: If s is equal to 0, cancel the r and s data and return to the initial step of the device registration process to reset the data; S2-12: If s is not equal to 0, output (r, s) as the complete signature.

Citation Information

Patent Citations

  • SM2 collaborative signature method

    CN110278088A