Multi-mechanism implicit certificate public key generation method
By generating the main public-private key pair for multiple trust institutions in the implicit certificate public key system and generating user declaration public keys, the problem that existing systems cannot verify the authentication information of multiple institutions at one time is solved, and multiple trust institutions are realized The authentication information of the target user is verified at one time, improving the verification efficiency.
Patent Information
- Application Number
- CN202411407674.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-10
- Publication Date
- 2024-12-31
- Estimated Expiration
- 2044-10-10
AI Technical Summary
The existing implicit certificate public key system cannot verify the authentication information of multiple institutions for users at one time, and cannot meet the needs of target users for authentication by multiple trust institutions.
By generating the main public and private key pair for multiple trust institutions in the master key stage and generating the declared public key for users in the declaration key stage, the public key usage stage is based on the target user's identity, the main public key of multiple trust institutions and The user declares the public key to generate the user's public key, which is used to encrypt or verify the implicit certificate, and realizes one-time verification of the authentication information of the target user by multiple trusted institutions.
The interactive process of multiple trust institutions to authenticate the target user identity is reduced, effectively meeting the target user's needs for authentication by multiple trust institutions, and improving verification efficiency.
Smart Images

Figure CN119232381A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of cryptographic application, and in particular to a method for generating public keys of implicit certificates of multiple institutions. Background Art
[0002] In IoT applications, strict requirements are placed on network and terminal computing resources, and certificate-based applications are not suitable for this scenario. Implicit certificates are a new type of digital certificate solution for the Public Key Infrastructure (PKI), which is based on the elliptic curve cryptographic algorithm. During the authentication process, the certificate signing authority is not included, and the signature of the certificate issuing authority is not included. In addition, the verifier needs to calculate the public key of the implicit certificate owner based on the data and perform cryptographic operations through the public key.
[0003] However, the existing solutions can only verify the authentication information of a user by one institution at a time, and cannot verify the authentication information of a user by multiple institutions at a time. Summary of the invention
[0004] The purpose of the present invention is to provide a multi-institution implicit certificate public key generation method to address the deficiencies in the above-mentioned prior art, so that the user can simultaneously verify the authentication information of the target user by multiple trusted institutions based on the user's public key, effectively meeting the target user's needs for authentication by multiple trusted institutions.
[0005] To achieve the above purpose, the technical solution adopted in the embodiment of the present application is as follows:
[0006] In a first aspect, an embodiment of the present application provides a method for generating a multi-institution implicit certificate public key, which is applied to an implicit certificate public key system, wherein the implicit certificate public key system includes: a public key user end, a user end, and an institution end of multiple trusted institutions, and the method includes:
[0007] In the master key phase, the institution ends of the multiple trusted institutions respectively generate master public-private key pairs of the multiple trusted institutions, and disclose the master public keys in the master public-private key pairs of the multiple trusted institutions to the public key user end;
[0008] In the key declaration phase, the user terminal generates and discloses to the public key user terminal a user declaration public key corresponding to the target user of the user terminal based on the declared public key components of the target user by the multiple trust institutions and the temporary public key of the target user;
[0009] During the public key usage phase, the public key usage end generates a user public key of the target user based on the target user's identifier, the master public keys of the multiple trust agencies, and the user-declared public key. The user public key of the target user is used to encrypt or verify the implicit certificate of the target user.
[0010] In an optional implementation manner, the institution ends of the multiple trusted institutions respectively generate the master public-private key pairs of the multiple trusted institutions, including:
[0011] The institution ends of the multiple trusted institutions generate master public keys of the multiple trusted institutions according to the first random numbers generated by each of them, wherein the master public-private key pair of each trusted institution includes: the master public key of each trusted institution and the first random number.
[0012] In an optional embodiment, the method further comprises:
[0013] In the key declaration phase, the user terminal sends a key declaration acquisition request of the target user to the institution terminal of each trusted institution;
[0014] The institution end of each trusted institution generates, based on the second random number generated by each trusted institution, and returns to the user end a declared public key component of each trusted institution for the target user.
[0015] In an optional embodiment, the method further comprises:
[0016] In the master key stage, the institution end of the multiple trust institutions generates a user public key parameter of the target user according to the identifier of the target user;
[0017] In the key declaration phase, the institution end of each trusted institution generates and returns to the user end a user private key component of each trusted institution for the target user according to the user public key parameter of the target user and the second random number of each trusted institution;
[0018] During the private key usage phase, the user terminal generates a user private key of the target user based on the user private key components of the target user from the multiple trust agencies and the temporary private key of the target user. The user private key of the target user is used to decrypt or sign the implicit certificate of the target user.
[0019] In an optional implementation manner, in the master key stage, the institution end of the multiple trust institutions generates the user public key parameters of the target user according to the identifier of the target user, including:
[0020] In the master key stage, the institution ends of the multiple trust institutions respectively generate user public key parameters of the respective trust institutions for the target user according to the identifier of the target user and the master public key coordinates of the respective trust institutions;
[0021] In the key declaration stage, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user according to the user public key parameter of the target user and the second random number of each trusted institution, including:
[0022] In the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the user public key parameters of the respective trusted institution for the target user and the second random number of each trusted institution.
[0023] In an optional implementation, in the key declaration stage, the institution end of each trusted institution generates and returns to the user end a user private key component of each trusted institution for the target user based on the user public key parameters of the respective trusted institution for the target user and the second random number of each trusted institution, including:
[0024] In the key declaration phase, the institution end of each trust institution generates the user private key parameters of the respective trust institution for the target user according to the user public key parameters of the respective trust institution for the target user and the declared public key components of the respective trust institutions for the target user;
[0025] The institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the user private key parameters of the respective trusted institution for the target user and the second random number of each trusted institution.
[0026] In an optional implementation manner, in the master key stage, the institution end of the multiple trust institutions generates the user public key parameters of the target user according to the identifier of the target user, including:
[0027] In the master key phase, the institution ends of the multiple trusted institutions generate common user public key parameters of the target user according to the identifier of the target user and the master public key coordinates of all trusted institutions;
[0028] In the key declaration stage, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user according to the user public key parameter of the target user and the second random number of each trusted institution, including:
[0029] In the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the common user public key parameters of the target user and the second random number of each trusted institution.
[0030] In an optional implementation, in the key declaration stage, the institution end of each trusted institution generates and returns to the user end a user private key component of each trusted institution for the target user based on the common user public key parameter of the target user and the second random number of each trusted institution, including:
[0031] In the key declaration phase, the institution end of each trust institution generates a common user private key parameter for the target user according to the common user public key parameter of the target user and the user declared public key;
[0032] The institution end of each trusted institution generates, based on the common user private key parameter and the second random number of each trusted institution, a user private key component for the target user of each trusted institution and returns it to the user end.
[0033] In an optional embodiment, the method further comprises:
[0034] In the key declaration phase, the user terminal also discloses the declared public key components of the multiple trust institutions for the target user to the public key user terminal;
[0035] In the public key use phase, the public key use end generates a user public key of the target user according to the identifier of the target user, the master public keys of the multiple trust institutions and the user declared public key, including:
[0036] In the public key usage phase, the public key usage end generates a user public key of the target user based on the identifier of the target user, the master public keys of the multiple trust agencies, the user declared public key, and the declared public key components of the multiple trust agencies for the target user.
[0037] In an optional embodiment, the method further comprises:
[0038] In the private key usage phase, the user terminal generates a user public key of the target user based on the user private key of the target user.
[0039] In the second aspect, an embodiment of the present application also provides an implicit certificate public key system, which includes: a public key usage end, a user end, and an institutional end of multiple trusted institutions. The implicit certificate public key system is used to execute the steps of the multi-institution implicit certificate public key generation method described in any of the first aspects above.
[0040] The beneficial effects of this application are:
[0041] The embodiment of the present application provides a method for generating a multi-institution implicit certificate public key, which is applied to an implicit certificate public key system. The method includes: in the master key stage, the institutional ends of multiple trust institutions respectively generate master public-private key pairs of multiple trust institutions, and disclose the master public keys in the master public-private key pairs of multiple trust institutions to the public key user end; in the key declaration stage, the user end generates and discloses the user declaration public key corresponding to the target user of the user end to the public key user end according to the declared public key components of the target user by multiple trust institutions and the temporary public key of the target user; in the public key use stage, the public key user end generates the user public key of the target user according to the identification of the target user, the master public keys of multiple trust institutions and the user declaration public key, and the user public key of the target user is used to encrypt or verify the implicit certificate of the target user. The method of the present application expands the implicit certificate public key system of a single institution to be used by multiple trust institutions, binds the user public key of the target user to the master public keys of multiple trust institutions, and the user end can simultaneously verify the authentication information of the target user by multiple trust institutions based on the user public key, reduces the interactive process of multiple trust institutions authenticating the identity of the target user, and effectively meets the needs of the target user for authentication by multiple trust institutions. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.
[0043] Figure 1 A schematic diagram of a method for generating a public key of an implicit certificate of multiple institutions provided in an embodiment of the present application;
[0044] Figure 2 A schematic diagram of another method for generating a public key of an implicit certificate of multiple institutions provided in an embodiment of the present application;
[0045] Figure 3 A complete schematic diagram of generating an implicit certificate public key for multiple institutions and multiple declaration public keys provided in an embodiment of the present application;
[0046] Figure 4 A schematic diagram of another method for generating a public key of an implicit certificate of multiple institutions provided in an embodiment of the present application;
[0047] Figure 5 A complete schematic diagram of the generation of an implicit certificate public key for a multi-institution single-declaration public key provided in an embodiment of the present application. DETAILED DESCRIPTION
[0048] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments.
[0049] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0050] In the description of the present application, it should be noted that if the terms "upper", "lower", etc. appear, the orientation or position relationship indicated is based on the orientation or position relationship shown in the drawings, or is the orientation or position relationship in which the product of the application is usually placed when used. It is only for the convenience of describing the present application and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present application.
[0051] In addition, the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0052] It should be noted that, in the absence of conflict, the features in the embodiments of the present application may be combined with each other.
[0053] Elliptic Curve Qu-Vanstone Implicit Certificate (ECQV) is a certificate authentication mechanism based on elliptic curves. It does not include the signature of the certificate issuing authority and the verifier needs to calculate the public key of the implicit certificate owner based on the certificate data and perform cryptographic operations through the public key.
[0054] At present, the certificateless and implicit certificate public key generation scheme based on the elliptic curve cryptography algorithm SM2 includes: a single institution first generates the institution's master public-private key pair, the user end generates a temporary user public-private key pair, and then the institution generates the user's declared public key and user private key components based on the user identification information, the user's temporary public key, and the institution's master public-private key pair. The user end generates the user's private key based on the temporary user private key and the user's private key component, and the user end calculates and generates the user's public key based on the user's declared public key and the institution's master public key. The user's public key is the public key of the certificateless and implicit certificate. This scheme binds the user's public key generation with the institution's public key to achieve the binding of the user and the institution, thereby achieving an effect similar to that of the certificate, but this scheme can only realize the authentication of the user's identity by one institution, and cannot realize the authentication of the user's identity by multiple institutions at the same time. When the user needs authentication by multiple institutions, the existing scheme can only be adopted, and multiple institutions verify the user's identity in turn, and the verification efficiency is low.
[0055] Therefore, an embodiment of the present application provides a method for generating implicit certificate public keys of multiple institutions, which binds the user public key of the target user with the master public keys of multiple trust institutions. The user end can simultaneously verify the authentication information of the target user by multiple trust institutions based on the user public key, thereby reducing the interactive process of multiple trust institutions authenticating the identity of the target user, and effectively meeting the needs of the target user for authentication by multiple trust institutions.
[0056] The embodiment of the present application also provides an implicit certificate public key system, which is used to execute the implicit certificate public key generation method of multiple institutions provided in the embodiment of the present application, wherein the implicit certificate public key system includes: a public key usage end, a user end and an institution end of multiple trusted institutions, wherein the public key usage end is used to generate a user public key of a target user according to the identifier of the target user, the master public keys of multiple trusted institutions and the user-declared public key in the public key usage phase; the user end is used to generate and disclose to the public key usage end the user-declared public key of the target user corresponding to the user end according to the declared public key components of the target user by multiple trusted institutions and the temporary public key of the target user in the key declaration phase; the institution end of multiple trusted institutions is used to respectively generate master public-private key pairs of multiple trusted institutions in the master public-private key pairs of multiple trusted institutions in the master key phase, and disclose the master public keys in the master public-private key pairs of multiple trusted institutions to the public key usage end.
[0057] The following is a detailed explanation of the method for generating a multi-institution implicit certificate public key provided by the embodiment of the present application through a specific example in conjunction with the accompanying drawings. The method is applied to an implicit certificate public key system, which includes: a public key user end, a user end, and an institution end of multiple trusted institutions, Figure 1 The following is a schematic diagram of a method for generating a public key for an implicit certificate of a multi-organization provided in an embodiment of the present application. Figure 1 As shown, the method includes:
[0058] S101. In the master key phase, the institutional ends of multiple trusted institutions respectively generate master public-private key pairs of multiple trusted institutions, and disclose the master public keys in the master public-private key pairs of the multiple trusted institutions to the public key user end.
[0059] S102. In the key declaration phase, the user terminal generates and discloses to the public key user the user declaration public key of the target user corresponding to the user terminal based on the declared public key components of the target user by multiple trust institutions and the temporary public key of the target user.
[0060] S103. In the public key usage phase, the public key user generates a user public key of the target user based on the target user's identifier, the master public keys of multiple trust institutions, and the user's declared public key. The user public key of the target user is used to encrypt or verify the implicit certificate of the target user.
[0061] In this embodiment, the implicit certificate public key generation process of multiple institutions includes multiple stages, namely the master key stage, the declaration key stage, and the public key use stage. In the master key stage, the institution ends of multiple trust institutions respectively generate corresponding master public-private key pairs, and then make the master public key in the master public-private key pair public and provide it to the public key use end.
[0062] Optionally, the institutional ends of the multiple trusted institutions generate master public keys of the multiple trusted institutions based on the first random numbers generated by each of them.
[0063] The master public-private key pair of each trusted institution includes: the master public key of each trusted institution, and a first random number.
[0064] Specifically, the institutional ends of the multiple trusted institutions respectively generate their own first random numbers. If the number of the multiple trusted institutions is k, the institutional ends of the k trusted institutions respectively generate their own first random numbers as follows: (ms1, ms2, ms3, ..., ms k ), and then generate the master public keys of multiple trust institutions according to the first random numbers generated by each of them. For example, the first random number generated by the institution end of the kth trust institution is ms k , the generated master public key P PUBk Expressed as: P PUBk =[ms k ]G, where G is the base point of SM2.
[0065] Then we get the master public and private key pairs (ms1,P PUB1 ),...,(ms k ,P PUBk ), and the master public key (P PUB1 ,P PUB2 ,P PUB3 ,...,P PUBk ) is published to the public key user.
[0066] It should be noted that in the master key phase, the user generates a temporary public-private key pair (d' A ,U A ), where (d' A ,U A )=(Randd' A ,[d' A ]G), d' A is the temporary private key of the target user, U A The temporary public key of the target user.
[0067] In the key declaration phase, the user obtains the target user’s declared public key component W generated by multiple trust agencies. A1 ,...,W Ak , and combined with the temporary public key of the target user, generate the user declared public key of the target user. Specifically, calculate the sum of the declared public key component of the target user and the temporary public key of the target user to determine the user declared public key W of the target user A , the user declares the public key expression as W A =U A +W A1 +...+W Ak , and make the user's declared public key public, and provide the user's declared public key to the public key user.
[0068] During the public key usage phase, the public key user generates a user public key for the target user based on the target user's identifier, the master public keys of multiple trust agencies, and the user's declared public key. The target user's user public key is used to encrypt or verify the implicit certificate of the target user. The target user's user public key is bound to the master public keys of multiple trust agencies, and the target user's implicit certificate public key is also obtained. The target user's public key can be used for signature verification, thereby simultaneously verifying the authentication information of multiple trust agencies on the target user.
[0069] In summary, the embodiment of the present application provides a method for generating implicit certificate public keys of multiple institutions, which is applied to implicit certificate public key systems. The method includes: in the master key stage, the institutional ends of multiple trust institutions respectively generate master public-private key pairs of multiple trust institutions, and disclose the master public keys in the master public-private key pairs of multiple trust institutions to the public key user end; in the key declaration stage, the user end generates and discloses the user declaration public key of the target user corresponding to the user end to the public key user end according to the declared public key components of the target user by multiple trust institutions and the temporary public key of the target user; in the public key use stage, the public key user end generates the user public key of the target user according to the identifier of the target user, the master public keys of multiple trust institutions and the user declaration public key, and the user public key of the target user is used to encrypt or verify the implicit certificate of the target user. The method of the present application expands the implicit certificate public key system of a single institution to be used by multiple trust institutions, binds the user public key of the target user to the master public keys of multiple trust institutions, and the user end can simultaneously verify the authentication information of the target user by multiple trust institutions based on the user public key, reduces the interactive process of multiple trust institutions authenticating the identity of the target user, and effectively meets the needs of the target user for authentication by multiple trust institutions.
[0070] The present application embodiment also provides another possible implementation of a method for generating a public key of an implicit certificate of a multi-organization. Figure 1 , the method further comprises:
[0071] S201. In the key declaration phase, the user terminal sends a key declaration acquisition request of the target user to the institution terminal of each trusted institution.
[0072] S202. The institution end of each trusted institution generates, based on the second random number generated by each trusted institution, a declared public key component for the target user and returns it to the user end.
[0073] In this embodiment, after each trust institution receives the target user's declared key acquisition request sent by the user end, it generates a second random number. For example, the second random numbers generated by the institution ends of k trust institutions are represented as w1,...,w k , the k trusted institutions generate their own second random numbers w1,...,w k , generate k trusted institutions’ declared public key components W for the target user A1 ,...,W Ak , where W A1 =[w1]G,...,W Ak =[w k ]G. And return to the user end the declared public key components of k trusted institutions for the target user.
[0074] Continue to refer Figure 1 , the method further comprises:
[0075] S301. In the master key phase, the institutional ends of multiple trust institutions generate user public key parameters of the target user according to the identifier of the target user.
[0076] S302. In the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the user public key parameters of the target user and the second random number of each trusted institution.
[0077] S303. In the private key usage phase, the user terminal generates a user private key of the target user based on the target user's identifier, the user private key components of multiple trust institutions for the target user, and the target user's temporary private key. The user private key of the target user is used to decrypt or sign the implicit certificate of the target user.
[0078] In this embodiment, in the master key stage, the institutional ends of multiple trust institutions also generate user public key parameters of the target user according to the identification of the target user, and then in the key declaration stage, the institutional end of each trust institution generates the user private key component of the target user according to the user public key parameter of the target user and the second random number of each trust institution. For example, the user private key components generated by the institutional ends of k trust institutions are expressed as: A1 ,...,t Ak , then sum the generated user private key components and return the summed user private key components to the user end, that is, calculate t A =t A1 +...+t Ak , and t A Sent to the user end.
[0079] In the private key usage phase, the user end generates the target user's user private key based on the user private key components of multiple trust institutions and the target user's temporary private key. The user private key generation expression is: A =t A +d' A modn. The target user's private key is used to decrypt or sign the target user's implicit certificate.
[0080] Optionally, during the private key usage phase, the user end generates a user public key of the target user based on the user private key of the target user.
[0081] Specifically, the user end generates the target user's public key expression as follows: A =[d A ]G.
[0082] The public key user can also generate the user public key of the target user based on the target user's identification, the master public keys of multiple trusted institutions, and the user's declared public key, and then compare it with the user public key of the target user generated by the user end to determine whether they are consistent. If they are consistent, the verification is passed.
[0083] The present application embodiment also provides another possible implementation of a multi-organization implicit certificate public key generation method. Figure 2 A schematic diagram of another method for generating a public key of an implicit certificate of multiple institutions provided in an embodiment of the present application is shown in FIG. Figure 2 As shown, in the master key stage, the institution end of multiple trust institutions generates the user public key parameters of the target user according to the identity of the target user, including:
[0084] S401. In the master key phase, the institutional ends of multiple trust institutions respectively generate user public key parameters of their respective trust institutions for the target user according to the identifier of the target user and the master public key coordinates of their respective trust institutions.
[0085] In this embodiment, the k trust institutions generate the user public key parameters for the target user of their respective trust institutions as follows: A1 =H 256 (ENTL A ||ID A ||a||b||x G ||y G ||x PUB1 ||y PUB1 ),...,H Ak =H 256 (ENTL A ||ID A ||a||b||x G ||y G ||x PUBk ||y PUBk ), where H Ak represents the user public key parameter of the target user generated by the institution side of the k-th trust institution, H 256 () indicates a digest function that outputs 256 bits, ID A Represents the identity of the target user A, x G ,y G Expressed as the coordinates of the base point, x PUBk ,y PUBk Represented as the master public key coordinates of the kth trusted authority.
[0086] Based on the above, in the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user according to the user public key parameters of the target user and the second random number of each trusted institution, including:
[0087] S402. In the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the user public key parameters of each trusted institution for the target user and the second random number of each trusted institution.
[0088] Optionally, in the key declaration phase, the institution end of each trusted institution generates the user private key parameters of the respective trusted institution for the target user based on the user public key parameters of the respective trusted institution for the target user and the declared public key components of the respective trusted institutions for the target user.
[0089] Specifically, the institutional end of k trust institutions generates the user private key parameters of their respective trust institutions for the target user as follows:
[0090] λ1=H 256 (x WA1 ||y WA1 ||H A1 )mod n,...,λ k =H 256 (x WAk ||y WAk ||H Ak )mod n
[0091] Among them, λ k represents the user private key parameter of the target user generated by the institution side of the k-th trust institution, H 256 () represents a summary function that outputs 256 bits, x WAk ,y WAk It is represented as the coordinates of the declared public key component of the k-th trusted authority for the target user.
[0092] The institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the user private key parameters of the respective trusted institutions for the target user and the second random number of each trusted institution.
[0093] Specifically, the institution ends of the k trust institutions further generate a user private key component for the target user according to the first random number of each trust institution, and the user private key component t A1 ,...,t Ak Respectively expressed as:
[0094] t A1 =w1+λ1·ms1modn,...,t Ak =w k +λ k ·ms k modn
[0095] Among them, tAk It represents the user private key component for the target user generated by the institution side of the k-th trust institution, w k Represented as the second random number of the k-th trust institution, ms k Represented as the first random number of the k-th trusted authority.
[0096] Optionally, continue to refer to Figure 2 , the method further comprises:
[0097] S501. In the key declaration phase, the user terminal also discloses the declared public key components of multiple trust agencies for the target user to the public key user terminal.
[0098] Based on the above, in the public key usage phase, the public key user generates the user public key of the target user according to the target user's identifier, the master public keys of multiple trust institutions, and the user's declared public key, including:
[0099] S502. In the public key usage phase, the public key usage end generates a user public key of the target user according to the target user's identifier, the master public keys of multiple trusted institutions, the user's declared public key, and the declared public key components of multiple trusted institutions for the target user.
[0100] Specifically, the public key user first calculates the user private key parameters λ1,...,λ of each trust institution for the target user based on the target user's identifier, the master public keys of multiple trust institutions, and the declared public key components of multiple trust institutions for the target user. k , the expression is as follows:
[0101] λ1=H 256 (x WA1 ||y WA1 ||H A1 )modn,...λ k =H 256 (x WAk ||y WAk ||H Ak )modn,
[0102] in:
[0103] H A1 =H 256 (ENTL A ||ID A ||a||b||x G ||y G ||x PUB1 ||y PUB1 ), ...
[0105] H Ak =H 256 (ENTLA ||ID A ||a||b||x G ||y G ||x PUBk ||y PUBk ).
[0106] Then, the public key user generates the target user's user public key based on the master public keys of multiple trust institutions, the user's declared public key, and the user private key parameters of each trust institution for the target user. The calculation formula is as follows:
[0107] P A =W A +[λ1]P PUB1 +...+[λ k ]P PUBk .
[0108] The public key user uses the target user's ID A , the master public key of multiple trusted institutions (P PUB1 ,P PUB2 ,P PUB3 ,...,P PUBk ), user declares public key W A And multiple trusted institutions declare public key components W for the target user A1 ,...,W Ak , can generate the target user's public key P A .
[0109] It should be noted that the user public key expression generated by the user end is: A =[d A ]G, the public key user can compare it with the user public key of the target user generated by the user end to determine whether they are consistent. If they are consistent, the verification is passed. Specifically, the comparison method is as follows:
[0110] [d A ]G=(t A +d' A )·G
[0111] =(t A1 +...+t Ak )·G+d' A ·G
[0112] =(w1+λ1·ms1+...+w k +λ k ·ms k )·G+U A
[0113] =(w1+...+w k)·G+(λ1·ms1+...+λ k ·ms k )*G+U A
[0114] =(w1·G+...+w k ·G)+(λ1·ms1·G+...+λ k ·ms k ·G)+U A
[0115] =W A1 +...+W Ak +(λ1·P PUB1 +...+λ k ·P PUBk )+U A
[0116] =W A +λ1·P PUB1 +...+λ k ·P PUBk
[0117] =P A
[0118] Figure 3 A complete schematic diagram of the generation of an implicit certificate public key for a multi-institution multi-declaration public key provided in an embodiment of the present application is shown in FIG. Figure 3 As shown in the master key stage, the institutional ends of k trusted institutions generate the master public-private key pairs (ms1, P PUB1 ),...,(ms k ,P PUBk ), and based on the target user's ID A and the master public key coordinates of each trust institution, and generate the user public key parameters (H A1 ,H A2 ,...,H Ak ), and then the master public key (P PUB1 ,P PUB2 ,P PUB3 ,...,P PUBk ) is published to the public key user. At the same time, in the master key phase, the user generates a temporary public-private key pair (d' A ,U A ).
[0119] In the key declaration phase, the second random numbers generated by the k trusted institutions are represented as w1,...,w k, and then generate k trusted institutions’ declared public key components W for the target user based on the second random numbers generated by each institution A1 ,...,W Ak , where W A1 =[w1]G,...,W Ak =[w k ]G. And return the declared public key components of k trusted institutions for the target user to the user end, and then the user end uses the declared public key components W of k trusted institutions for the target user A1 ,...,W Ak And the target user's temporary public key U A , generate the user-declared public key W corresponding to the target user on the user side A , the user declares the public key expression as W A =U A +W A1 +...+W Ak , and the user's declared public key W A And multiple trusted institutions declare public key components W for the target user A1 ,...,W Ak Public, provide the user's declared public key W to the public key user A And multiple trusted institutions declare public key components W for the target user A1 ,...,W Ak .
[0120] In the public key usage phase, the public key user uses the target user's ID A , the master public key of multiple trusted institutions (P PUB1 ,P PUB2 ,P PUB3 ,...,P PUBk ), user declares public key W A And multiple trusted institutions declare public key components W for the target user A1 ,...,W Ak , can generate the target user's public key P A , the public key user generates the target user's public key as: P A =W A +[λ1]P PUB1 +...+[λ k ]P PUBk , used to encrypt or verify the implicit certificate of the target user.
[0121] In addition, in the key declaration phase, the k trust institutions determine the public key parameters (H A1 ,H A2 ,...,H Ak) and the declared public key component W of each trust institution for the target user A1 ,...,W Ak , generate the user private key parameters λ1,...,λ of each trust institution for the target user k Respectively expressed as:
[0122] λ1=H 256 (x WA1 ||y WA1 ||H A1 )mod n,...,λ k =H 256 (x WAk ||y WAk ||H Ak )mod n
[0123] Then, the institutional ends of the k trust institutions calculate the private key parameters λ1,...,λ of the target user according to their respective trust institutions. k , the second random number w1,...,w of each trusted institution k , and the first random number ms1,...,ms of each trust institution k , generate the user private key component t for the target user A1 ,...,t Ak Respectively expressed as:
[0124] t A1 =w1+λ1·ms1 mod n,...,t Ak =w k +λ k ·ms k mod n
[0125] The generated user private key component t A1 ,...,t Ak Sum the summed user private key components and return them to the user, that is, calculate t A =t A1 +...+t Ak , and t A Sent to the user end.
[0126] In the private key usage phase, the user end uses the user private key components of the target user according to the k trust institutions and the temporary private key d' of the target user. A , generate the target user's private key d A , the user private key generation expression is: A =t A +d' Amod n. The target user's private key is used to decrypt or sign the target user's implicit certificate. The user end can also generate the target user's public key based on the target user's private key. The user end generates the target user's public key expression as follows: A =[d A ]G.
[0127] The present application embodiment also provides another possible implementation of a multi-organization implicit certificate public key generation method. Figure 4 A schematic diagram of another method for generating a public key of an implicit certificate of multiple institutions provided in an embodiment of the present application is shown as follows: Figure 4 As shown, in the master key stage, the institution end of multiple trust institutions generates the user public key parameters of the target user according to the identity of the target user, including:
[0128] S601. In the master key phase, the institutional ends of multiple trusted institutions generate common user public key parameters of the target user based on the identifier of the target user and the master public key coordinates of all trusted institutions.
[0129] In this embodiment, the common user public key parameters generated by the k trust institutions at the institution end of the target user are expressed as: H A =H 256 (ENTL A ||ID A ||a||b||x G ||y G ||x PUB1 ||y PUB1 ||...||x PUBk ||y PUBk ), where H A H represents the common public key parameter of the target user generated by the institution side of k trusted institutions. 256 () indicates a digest function that outputs 256 bits, ID A Represents the identity of the target user A, x G ,y G Expressed as the coordinates of the base point, x PUBk ,y PUBk Represented as the master public key coordinates of the kth trusted authority.
[0130] Based on the above, in the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user according to the user public key parameters of the target user and the second random number of each trusted institution, including:
[0131] S602. In the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the common user public key parameters of the target user and the second random number of each trusted institution.
[0132] Optionally, in the key declaration phase, the institution end of each trust institution generates common user private key parameters for the target user based on the common user public key parameters of the target user and the user's declared public key.
[0133] Specifically, the k trust institutions generate their own trust institution's user private key parameters for the target user, expressed as: λ = H 256 (x WA ||y WA ||H A )modn, where λ represents the common user private key parameter of the target user generated by the institution side of k trust institutions, and H 256 () represents a summary function that outputs 256 bits, x WA ,y WA Represents the coordinates of the public key declared for the user.
[0134] The institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the common user private key parameter and the second random number of each trusted institution.
[0135] Specifically, the institution ends of the k trust institutions further generate a user private key component for the target user according to the first random number of each trust institution, and the user private key component t A1 ,...,t Ak Respectively expressed as:
[0136] t A1 =w1+λ·ms1modn,...,t Ak =w k +λ·ms k modn
[0137] Among them, t Ak It represents the user private key component for the target user generated by the institution side of the k-th trust institution, w k Represented as the second random number of the k-th trust institution, ms k Represented as the first random number of the k-th trusted authority.
[0138] It should be noted that, during the public key usage phase, the public key user generates a user public key of the target user based on the target user's identifier, the master public keys of multiple trusted institutions, and the user's declared public key.
[0139] Specifically, the public key user first calculates the common user private key parameter λ for the target user based on the target user's identifier, the master public keys of multiple trust institutions, and the user's declared public key. The expression is as follows:
[0140] λ=H 256 (x WA ||y WA ||H A )modn
[0141] Among them, H A =H 256 (ENTL A ||ID A ||a||b||x G ||y G ||x PUB1 ||y PUB1 ||...||x PUBk ||y PUBk ).
[0142] Then, the public key user generates the target user's user public key based on the master public keys of multiple trust institutions, the user's declared public key, and the common user private key parameters for the target user. The calculation formula is as follows:
[0143] P A =W A +[λ]P PUB
[0144] Among them, P PUB =P PUB1 +...+P PUBk .
[0145] The public key user uses the target user's ID A , the master public key of multiple trusted institutions (P PUB1 ,P PUB2 ,P PUB3 ,...,P PUBk ), user declares public key W A , generate the target user's public key P A .
[0146] It should be noted that the user public key expression generated by the user end is: A =[d A ]G, the public key user can compare it with the user public key of the target user generated by the user end to determine whether they are consistent. If they are consistent, the verification is passed. Specifically, the comparison method is as follows:
[0147] [d A ]G=(t A +d' A )·G
[0148] =(t A1 +...+t Ak )·G+d' A ·G
[0149] =(w1+λ·ms1+...+w k +λ·ms k )·G+U A
[0150] =(w1+...+w k )·G+λ·(ms1+...+ms k )*G+U A
[0151] =(w1·G+...+w k ·G)+λ·(ms1·G+...+ms k ·G)+U A
[0152] =W A1 +...+W Ak +λ·(P PUB1 +...+P PUBk )+U A
[0153] =(W A1 +...+W Ak +U A )+λ·P PUB
[0154] =W A +λ·P PUB
[0155] =P A
[0156] Figure 5 A complete schematic diagram of implicit certificate public key generation for a multi-organization single declaration public key provided in an embodiment of the present application, such as Figure 5 As shown in the master key stage, the institutional ends of k trusted institutions generate the master public-private key pairs (ms1, P PUB1 ),...,(ms k ,P PUBk ), and based on the target user's ID A and the master public key coordinates of each trusted institution to generate the common user public key parameters H of the target user A , and then use the master public key (P PUB1 ,P PUB2 ,P PUB3 ,...,PPUBk ) and P PUB =P PUB1 +...+P PUBk , get the master public key P PUB , and published to the public key user. At the same time, in the master key phase, the user generates a temporary public-private key pair (d' A ,U A ).
[0157] In the key declaration phase, the second random numbers generated by the k trusted institutions are represented as w1,...,w k , and then generate k trusted institutions’ declared public key components W for the target user based on the second random numbers generated by each institution A1 ,...,W Ak , where W A1 =[w1]G,...,W Ak =[w k ]G. And return the declared public key components of k trusted institutions for the target user to the user end, and then the user end uses the declared public key components W of k trusted institutions for the target user A1 ,...,W Ak And the target user's temporary public key U A , generate the user-declared public key W corresponding to the target user on the user side A , the user declares the public key expression as W A =U A +W A1 +...+W Ak , and the user's declared public key W A Public, provide the user's declared public key W to the public key user A .
[0158] In the public key usage phase, the public key user uses the target user's ID A , the master public key P of multiple trusted institutions PUB , user declares public key W A , can generate the target user's public key P A , the public key user generates the target user's public key as: P A =W A +[λ]P PUB , used to encrypt or verify the implicit certificate of the target user.
[0159] In addition, in the key declaration phase, the k trust institutions use the common user public key parameter H A And the user declares the public key W A , generate the common user private key parameter λ for the target user as: λ=H256 (x WA ||y WA ||H A )mod n.
[0160] Then, according to the common user private key parameter λ for the target user, the second random numbers w1,...,w k , and the first random number ms1,...,ms of each trust institution k , generate the user private key component t for the target user A1 ,...,t Ak Respectively expressed as:
[0161] t A1 =w1+λ·ms1 mod n,...,t Ak =w k +λ·ms k mod n
[0162] The generated user private key component t A1 ,...,t Ak Sum the summed user private key components and return them to the user, that is, calculate t A =t A1 +...+t Ak , and t A Sent to the user end.
[0163] In the private key usage phase, the user end uses the user private key components of the target user according to the k trust institutions and the temporary private key d' of the target user. A , generate the target user's private key d A , the user private key generation expression is: A =t A +d' A mod n. The target user's private key is used to decrypt or sign the target user's implicit certificate. The user end can also generate the target user's public key based on the target user's private key. The user end generates the target user's public key expression as follows: A =[d A ]G.
[0164] The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art who is familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A method for generating a public key of an implicit certificate of multiple institutions, characterized in that: Applied to an implicit certificate public key system, the implicit certificate public key system includes: a public key use end, a user end, and an institution end of multiple trust institutions, the method includes: In the master key phase, the institution ends of the multiple trusted institutions respectively generate master public-private key pairs of the multiple trusted institutions, and disclose the master public keys in the master public-private key pairs of the multiple trusted institutions to the public key user end; In the key declaration phase, the user terminal generates and discloses to the public key user terminal a user declaration public key corresponding to the target user of the user terminal based on the declared public key components of the target user by the multiple trust institutions and the temporary public key of the target user; During the public key usage phase, the public key usage end generates a user public key of the target user based on the target user's identifier, the master public keys of the multiple trust agencies, and the user-declared public key. The user public key of the target user is used to encrypt or verify the implicit certificate of the target user.
2. The method according to claim 1, characterized in that The institution ends of the multiple trusted institutions respectively generate master public-private key pairs of the multiple trusted institutions, including: The institution ends of the multiple trusted institutions generate master public keys of the multiple trusted institutions according to the first random numbers generated by each of them, wherein the master public-private key pair of each trusted institution includes: the master public key of each trusted institution and the first random number.
3. The method according to claim 1, characterized in that The method further comprises: In the key declaration phase, the user terminal sends a key declaration acquisition request of the target user to the institution terminal of each trusted institution; The institution end of each trusted institution generates, based on the second random number generated by each trusted institution, and returns to the user end a declared public key component of each trusted institution for the target user.
4. The method according to claim 3, characterized in that: The method further comprises: In the master key stage, the institution end of the multiple trust institutions generates a user public key parameter of the target user according to the identifier of the target user; In the key declaration phase, the institution end of each trusted institution generates and returns to the user end a user private key component of each trusted institution for the target user according to the user public key parameter of the target user and the second random number of each trusted institution; During the private key usage phase, the user terminal generates a user private key of the target user based on the user private key components of the target user from the multiple trust agencies and the temporary private key of the target user. The user private key of the target user is used to decrypt or sign the implicit certificate of the target user.
5. The method according to claim 4, characterized in that In the master key stage, the institution end of the multiple trust institutions generates the user public key parameters of the target user according to the identifier of the target user, including: In the master key stage, the institution ends of the multiple trust institutions respectively generate user public key parameters of the respective trust institutions for the target user according to the identifier of the target user and the master public key coordinates of the respective trust institutions; In the key declaration stage, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user according to the user public key parameter of the target user and the second random number of each trusted institution, including: In the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the user public key parameters of the respective trusted institution for the target user and the second random number of each trusted institution.
6. The method according to claim 5, characterized in that In the key declaration stage, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user according to the user public key parameter of the respective trusted institution for the target user and the second random number of each trusted institution, including: In the key declaration phase, the institution end of each trust institution generates the user private key parameters of the respective trust institution for the target user according to the user public key parameters of the respective trust institution for the target user and the declared public key components of the respective trust institutions for the target user; The institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the user private key parameters of the respective trusted institution for the target user and the second random number of each trusted institution.
7. The method according to claim 4, characterized in that In the master key stage, the institution end of the multiple trust institutions generates the user public key parameters of the target user according to the identifier of the target user, including: In the master key phase, the institution ends of the multiple trusted institutions generate common user public key parameters of the target user according to the identifier of the target user and the master public key coordinates of all trusted institutions; In the key declaration stage, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user according to the user public key parameter of the target user and the second random number of each trusted institution, including: In the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user based on the common user public key parameters of the target user and the second random number of each trusted institution.
8. The method according to claim 7, characterized in that In the key declaration phase, the institution end of each trusted institution generates and returns to the user end the user private key component of each trusted institution for the target user according to the common user public key parameter of the target user and the second random number of each trusted institution, including: In the key declaration phase, the institution end of each trust institution generates a common user private key parameter for the target user according to the common user public key parameter of the target user and the user declared public key; The institution end of each trusted institution generates, based on the common user private key parameter and the second random number of each trusted institution, a user private key component for the target user of each trusted institution and returns it to the user end.
9. The method according to claim 1, characterized in that: The method further comprises: In the key declaration phase, the user terminal also discloses the declared public key components of the multiple trust institutions for the target user to the public key user terminal; In the public key use phase, the public key use end generates a user public key of the target user according to the identifier of the target user, the master public keys of the multiple trust institutions and the user declared public key, including: In the public key usage phase, the public key usage end generates a user public key of the target user based on the identifier of the target user, the master public keys of the multiple trust agencies, the user declared public key, and the declared public key components of the multiple trust agencies for the target user.
10. The method according to claim 4, characterized in that The method further comprises: In the private key usage phase, the user terminal generates a user public key of the target user based on the user private key of the target user.
Citation Information
Patent Citations
Implicitly certified public keys
CN103765809A
Generating implicit certificates
EP2582085A1
Using A Single Certificate Request to Generate Credentials with Multiple ECQV Certificates
US20130046972A1
