An implicit identity authentication method based on SM2 collaborative algorithm and private key matrix

By combining the SM2 collaborative algorithm with a private key matrix, an implicit authentication method is proposed to solve the problem of the lack of authentication in the SM2 collaborative key generation algorithm. This enables client authentication without explicit authentication, ensuring security and protocol compatibility.

CN116743392BActive Publication Date: 2026-03-03JIANGSU XIANAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-05
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

Existing SM2-based collaborative key generation algorithms lack identity authentication capabilities and must be combined with explicit authentication schemes to manage client keys, resulting in inconvenience in identity verification.

Method used

An implicit authentication method based on the SM2 collaborative algorithm and private key matrix is ​​adopted. Through collaborative computation between the client and the server, the matrix private key ha is calculated using the client ID, random number nonce and private key matrix, and the authentication is performed on the server to achieve implicit authentication.

Benefits of technology

Without altering the SM2 collaborative generation algorithm, implicit authentication of client identity is implemented, ensuring the key space remains unchanged, maintaining security and protocol compatibility, and avoiding the complexity of explicit authentication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116743392B_ABST
    Figure CN116743392B_ABST
Patent Text Reader

Abstract

The application discloses an implicit confusion identity authentication method based on a collaborative algorithm and a private key matrix, and comprises the following steps: in step S1, a matrix private key h is obtained through an ID and a random number nonce and a private key matrix; a In step S2, a client calculates a private key d a And a public key P1, and sends the public key P1, the ID and the random number nonce to a server; in step S3, the server receives the ID, the random number nonce and P1, judges whether the ID is correct, and calculates a matrix private key h'; a In step S4, a private key d' a And a public key P'1 are calculated, and whether the public key P1 is equal to P'1 is compared; in step S5, a random number d b Is generated on the server as a part of a server private key, and a public key P of both parties is calculated and disclosed. The application is compatible with the process and protocol of the algorithm in the collaborative signature key generation algorithm based on SM2, and can implicitly authenticate the identity of a client without using an explicit authentication mode.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to computer information security technology and network security technology, and the field of identity authentication, and in particular to an implicit identity authentication method based on the combination of the SM2 collaborative algorithm and a private key matrix. Background Technology

[0002] Elliptic curve cryptography is a public-key cryptographic algorithm whose mathematical basis lies in the computational difficulty of the discrete logarithm of an elliptic curve.

[0003] The SM2 algorithm, developed by the State Cryptography Administration, is an elliptic curve algorithm that defines an elliptic curve equation over a finite prime field, specifying p, a, b, G, n, and includes algorithms for key generation, signing, verification, encryption, decryption, and key exchange.

[0004] The SM2-based collaborative algorithm is a method that involves a server and a client working together to perform cryptographic algorithm calculations. By having the server and client each generate a portion of the key, and then collaborating on the computation, the algorithm ultimately performs private key signing and decryption. This method effectively alleviates the problem of secure key storage in insecure environments.

[0005] Private key matrix: It is a matrix whose elements are SM2 private keys consisting of 32-byte random large integers. The size of the matrix is ​​variable.

[0006] Identifier Mapping Sequence: A mapping sequence calculated using identifiers and random numbers, used together with the private key matrix to calculate a specific private key combination.

[0007] Existing SM2-based collaborative key generation typically involves generating a random client private key on the client side, which is then converted into a temporary public key by the client and sent to the server. The server then generates a random server private key, calculates the shared public key between the two parties, and publishes the public key.

[0008] There are many existing explicit authentication methods. For example, the server generates a unique appid and appkey for each client and sends them to the client. When the client sends the co-signature key generation data, it uses the HMAC algorithm, with the appkey serving as the HMAC key, to perform HMAC on the entire protocol data packet. appkey (M) signature.

[0009] However, existing SM2-based collaborative key generation algorithms do not include authentication capabilities and must be combined with explicit authentication schemes to manage client-requested keys and verify identities. Therefore, a novel authentication method based on the SM2 collaborative algorithm is needed to securely authenticate client identities without explicit authentication.

[0010] Figure 1 This is a flowchart illustrating the background technology of collaborative signature key generation. Collaborative signature key generation includes the following steps:

[0011] Step 1: Generate a random number d on the client side. a ,d a ∈1,n-1 are used as the client's private key.

[0012] Step 2: Calculate on the client side Send P1 to the server.

[0013] Step 3: Generate a random number d on the server side. b ,d b ∈1,n-1 is used as the server's private key.

[0014] Step 4: Calculate the public key P for both parties on the server side. And P will be made public. Summary of the Invention

[0015] Existing technologies based on the SM2 collaborative key generation algorithm do not include identity authentication capabilities. They must be combined with explicit authentication schemes to manage client-requested keys and verify identities. This invention provides an implicit obfuscated identity authentication method that combines with the SM2 algorithm, based on the logic of SM2 collaborative key generation. It provides the algorithm's own identity authentication mechanism, so even if the collaborative algorithm and identity authentication process are made public, the client's identity can be authenticated without explicit authentication. This invention is achieved through the following technical solutions.

[0016] An implicit authentication method based on the SM2 collaborative algorithm and a private key matrix includes the following steps:

[0017] S1, the client calculates the matrix private key h using the client ID, the random number nonce, and the private key matrix. a ;

[0018] S2, calculate the private key d on the client. a Given public key P1, send public key P1, ID, and random number nonce to the server;

[0019] S3, the server uses the ID, random number nonce, P1, and private key matrix received from the client to further calculate the matrix private key h′. a ;

[0020] S4, Calculate the private key d′ on the server side. a Compare public key P1 with public key P1′. If public key P1 is equal to P1′, proceed to S5.

[0021] S5, generate a random number d on the server side. bAs part of the server's private key, the shared public key P of both parties is calculated and made public.

[0022] Furthermore, in the aforementioned implicit obfuscation authentication method based on the SM2 collaborative algorithm and private key matrix, during the factory initialization phase, the collaborative signature server assigns each client a public ID and a corresponding confidential ID. key A shared private key matrix for the system, and a collaborative signature server containing all client IDs and IDs. key and private key matrix.

[0023] Furthermore, in the aforementioned implicit obfuscated authentication method based on the SM2 collaborative algorithm and a private key matrix, S1 obtains the matrix private key h. a Specifically, the following steps are included:

[0024] S11, Generate a random number nonce on the client side, nonce∈(1,n-1);

[0025] S12, calculate YS = HIDkey(H(ID) + nonce) on the client side;

[0026] S13, on the client side, YS is used as a matrix mapping sequence to map the matrix private key h into the private key matrix. a .

[0027] Furthermore, the aforementioned implicit obfuscated identity authentication method based on the SM2 collaborative algorithm and private key matrix specifically includes the following steps:

[0028] S21, calculate d on the client side. a =(h a +nonce)modn;

[0029] S22, calculated on the client side

[0030] S23, send P1, ID, and nonce to the server.

[0031] Furthermore, the aforementioned implicit obfuscated identity authentication method based on the SM2 collaborative algorithm and the private key matrix specifically includes the following steps in S3:

[0032] S31, on the server side, check if the ID is correct. If it is incorrect, reject the request; if it is correct, continue.

[0033] S32, the server finds the ID based on the ID. key Calculated together with nonce

[0034] S33, YS′, as a matrix mapping sequence, maps the matrix private key h′ into the private key matrix. a .

[0035] Furthermore, in the aforementioned implicit obfuscated authentication method based on the SM2 collaborative algorithm and the private key matrix, S4 calculates the private key d′. a The process of comparing public key P1 with public key P1′ and checking if public key P1 is equal to P1′ specifically includes the following steps:

[0036] S41, Calculate the private key d′ on the server side. a =(h′) a +nonce)modn;

[0037] S42, Calculate the public key P1′=d on the server side. a ′ -1 modn*G;

[0038] S43, the server checks if public key P1 = P1′. If not, it rejects the request; otherwise, it proceeds to S5.

[0039] Furthermore, the implicit obfuscated identity authentication method based on the SM2 collaborative algorithm and the private key matrix described above, specifically includes the following steps for S5 to calculate the public key P of both parties and obtain the private key d:

[0040] S51, Generate a random number d on the server side. b d b ∈(1,n-1), as part of the server's private key;

[0041] S52, the server calculates the public key P for both parties. And P will be made public, that is, the public key of both parties. So, private keys in a general sense

[0042] The present invention adopts the above technical solution and has the following beneficial effects:

[0043] This invention is based on the SM2 collaborative key generation algorithm, with the addition of ID. key A private key matrix, where ID is public, ID key One method of keeping the private key matrix confidential is to implicitly authenticate the identity of the key applicant without changing the process of the SM2 collaborative generation algorithm itself.

[0044] This method is compatible with existing, publicly available SM2-based collaborative signature key generation algorithms in terms of algorithm flow and protocol. Without using explicit authentication methods, it implicitly authenticates the client's identity, achieving the goals of unchanged key space, security, protocol compatibility, and process compatibility. Attached Figure Description

[0045] Figure 1 This is a flowchart of the background technology collaborative signature key generation process.

[0046] Figure 2 This is a flowchart of an implicit authentication method based on the combination of the SM2 collaborative algorithm and a private key matrix, according to an embodiment of the present invention. Detailed Implementation

[0047] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments.

[0048] The symbols will be explained in detail below:

[0049] A and B: Two users using a public-key cryptosystem.

[0050] F q : A finite field containing q elements.

[0051] E: All rational points of the elliptic curve E.

[0052] G: A base point of an elliptic curve whose order is a prime number.

[0053] E(F p ):F q All rational points (including infinity) on the elliptic curve E.

[0054] a,b:F q The elements in the definition of F q An elliptic curve E on the surface.

[0055] d: Private key.

[0056] P: Public key.

[0057] n: The order of the base point G (n is a prime factor of #E(Fq).

[0058] modn: Modulo n operation.

[0059] x||y: The concatenation of x and y, where x and y can be bit strings or strings.

[0060] H(M): Perform a hash function operation on message M using the H function.

[0061] H idkey (M): For message M, use idkey as the key to perform Hmac calculation.

[0062] YS sequence: is a matrix mapping sequence, a string of bits generated according to requirements.

[0063] To address the issue that existing SM2-based collaborative key generation algorithms lack built-in authentication capabilities and must be combined with explicit authentication schemes to manage client-requested keys and verify identities, this embodiment proposes an implicit obfuscated authentication method based on the SM2 collaborative algorithm and a private key matrix. The method includes the following steps: Figure 2 As shown:

[0064] Prerequisites: During the initialization phase at the factory, the collaborative signature server assigns each client a public ID, as well as a corresponding ID. key (Confidential), and a system-wide public private key matrix (confidential), the collaborative signature server contains all client IDs, ID key Private key matrix. Workflow:

[0065] S1, Generate a random number nonce on the client side, nonce∈(1,n-1);

[0066] S2, calculate YS = HIDkey(H(ID) + nonce) on the client side;

[0067] S3, on the client side, YS is used as a matrix mapping sequence to map the matrix private key h into the private key matrix. a ;

[0068] S4, calculate d on the client side. a =(h a +nonce)modn;

[0069] S5, computed on the client side

[0070] S6, send P1, ID, and nonce to the server;

[0071] S7, on the server side, checks if the ID matches; if not, it is rejected; if it matches, the next step is taken.

[0072] S8, calculated on the server side.

[0073] S9, on the server side according to YS ′ As a matrix mapping sequence, the matrix private key h′ is mapped from the private key matrix. a ;

[0074] S10, calculate d′ on the server side. a =(h′) a +nonce)modn;

[0075] S11, Calculate P1′=d on the server side. a ′ -1 modn*G;

[0076] S12, on the server side, check if P1 = P1′, and if not, reject the request;

[0077] S13, Generate a random number d on the server side. b ,d b ∈(1,n-1), as part of the server's private key;

[0078] S14, the server calculates the shared public key P between the two parties. And P will be made public, that is, the shared public key between the two parties. Then the shared private key

[0079] To illustrate the matrix mapping method, we will use the combined public key CPK matrix mapping method to illustrate the mapping method of S3 and S9 as an example:

[0080] The matrix size is greater than or equal to 32x32.

[0081]

[0082] v0,…,v 35 Divided into 4 groups, each with w 00 ,…,w 08 ;w 10 ,…,w 18 ;w 20 ,…,w 28 ;w 30 ,…,w 38 Marker, where w 00 ,w 10 ,w 20 ,w 30 The word length is 6 bits, and the content indicates the permutation sequence (3 bits) and the permutation start point (3 bits); w ij The word length of (i = 0, 1, 2, 3; j = 1, 2, ..., 8) is 5 bits, indicating the row coordinates of the private key matrix. The column coordinates are then transformed by permutation.

[0083] The permutation table is 8x8 in size and is encrypted. Table 1 below is an example of a permutation table:

[0084]

[0085]

[0086] Table 1

[0087] The column coordinates after permutation are represented by t. i,j (i = 0, 1, 2, 3, j = 1, 2, ..., 8).

[0088] That

[0089] In summary, among existing publicly available SM2-based collaborative signature key generation algorithms, this approach is compatible with the algorithm's process and protocol. Without using explicit authentication methods, it implicitly authenticates the client's identity, achieving the goals of unchanged key space, security, protocol compatibility, and process compatibility.

[0090] The above description is merely a preferred embodiment of the present invention, but the specific embodiments described herein are only for explaining the present invention and are not intended to limit the present invention. Any simple modifications, equivalent changes, and alterations made by those skilled in the art to the above embodiments based on the technical essence of the present invention without departing from the principles and spirit of the present invention should be included within the protection scope of the present invention.

Claims

1. An implicit obfuscated identity authentication method based on the SM2 collaborative algorithm and a private key matrix, characterized in that, The workflow includes the following: S1, on the client side, using the client ID and a random number... The matrix private key is obtained by calculating the private key matrix. ; S11, Generate random numbers on the client side ; The prime factor of the order of the base point G; S12, calculated on the client side ; To perform H-function operations on the message; To perform HMAC calculation on the message using the IDkey as the key; S13, via the client As a matrix mapping sequence, a matrix private key is mapped from the private key matrix. ; S2, calculates the private key on the client. and public key Send public key ID and random number Give it to the server; S21, calculated on the client side ; S22, calculated on the client side ; S23, Send The ID and nonce are given to the server. S3, the server uses the ID and random number received from the client. , The private key matrix is ​​further calculated to obtain the matrix private key. ; S31, on the server side, check if the ID is correct. If it is incorrect, reject the request; if it is correct, continue. S32, the server finds the ID. Calculated together with nonce S33, with As a mapping sequence of matrices, the matrix private key is mapped into the private key matrix. ; S4, calculates the private key on the server side. and public key Compare public keys Is it equal to If it meets the requirements, proceed to S5; S41, Calculate the private key on the server side. ; S42, Calculate the public key on the server side. ; S43, the server checks whether it is a public key. If it does not meet the requirements, it will be rejected; if it does meet the requirements, it will proceed to S5. S5 generates random numbers on the server side. As part of the server's private key, calculate the shared public key P between the two parties and publish it. S51, generates random numbers on the server side. As part of the server's private key; S52, the server calculates the shared public key P between the two parties. And P will be made public, that is, the shared public key between the two parties. So, what is a private key in the general sense? .

2. The implicit obfuscated identity authentication method based on the SM2 collaborative algorithm and private key matrix according to claim 1, characterized in that, During the initialization phase at the factory, the collaborative signature server assigns each client a public ID and a corresponding confidential ID. key A shared private key matrix for the system, and a collaborative signature server containing all client IDs and IDs. key and private key matrix.

Citation Information

Patent Citations

  • Digital currency implementation method based on blockchain technology

    CN112001714A

  • SSL connection establishment method and device thereof, electronic equipment and computer readable storage medium

    CN113904773A