Distributed identity private key recovery method based on weighted voting

By adopting a private key recovery method based on weighted voting in the decentralized identity management system, and using the principal activity evaluation factors for weighted voting, the problems of low recovery efficiency and high risk after user private key loss are solved, and more efficient and reliable private key recovery is achieved.

CN120090796AActive Publication Date: 2025-06-03POWERCHINA BEIJING ENG CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510247890.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-04
Publication Date
2025-06-03
Estimated Expiration
2045-03-04

AI Technical Summary

Technical Problem

In the decentralized identity management scenario, after the user's private key is lost, it is difficult for the existing technology to recover the private key efficiently and securely, resulting in low private key recovery efficiency and high risk of user identity loss.

Method used

A distributed identity private key recovery method based on weighted voting is adopted, and weighted voting is performed through the principal activity evaluation factor. When the voting result exceeds m′/n′, the public key in the user's blockchain is replaced to restore the private key.

Benefits of technology

It improves the efficiency and success rate of private key recovery, reduces the risk of user identity loss, and reduces the dependence on low-activity principals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120090796A_ABST
    Figure CN120090796A_ABST
Patent Text Reader

Abstract

The invention provides a distributed identity private key recovery method based on weighted voting, and belongs to the technical field of 5G and information security. In a user registration stage, a user uploads a public key to a block chain, and initializes a consignor activeness evaluation factor on a smart contract; and in the private key recovery stage, the consignor carries out weighted voting based on the consignor activeness, when the voting result exceeds m ' / n', verification is considered to be passed, a public key, existing in the block chain, of the user is replaced, m 'represents the number of votes of the voted consignor after weighting, and n' represents the total number of due votes of all the consignor after weighting. According to the method, more attention is paid to high-activity clients, the dependence on low-activity clients is reduced, the private key recovery efficiency is improved, the success rate of user private key recovery is improved, and the risk of user identity loss is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical fields of 5G and information security, and particularly relates to a distributed identity private key recovery method based on weighted voting. Background Art

[0002] Due to the development of the fifth-generation mobile communication technology (5G), distributed technologies such as blockchain have also developed rapidly, thus giving birth to Web3. Web3 aims to create a more decentralized, secure, and interoperable Internet environment. However, existing identity authentication relies on centralized authoritative institutions, and the system is not suitable for distributed Web3 scenarios. Therefore, decentralized identity (DID) has been proposed. Decentralized identity is based on blockchain technology and is an identity management solution with stronger robustness and better protection of user privacy, which has received extensive attention from academia and industry.

[0003] A typical distributed identity system structure is as Figure 1 shown. In this system, there are three entities, namely the certificate issuer, the user, and the certificate verifier.

[0004] Certificate Issuer: The certificate issuer is generally served by an authoritative institution. The certificate issuer locally stores the private key sk I , and publishes the mapping of the identity identifier id I and the public key pk I on the blockchain. This mapping is used for the certificate verification operation of the verifier.

[0005] User: In the registration stage, the user generates the identity identifier id u and the public-private key pair (sk u , pk u ), and publishes the mapping of their identity identifier id u and the public key pk u on the blockchain. Then, the user can apply for a digital certificate from the certificate issuer. The digital certificate is used to prove the user's attributes. For example, the certificate proves that a certain user is over 18 years old. After receiving the certificate, the user stores the certificate locally. During the use of the certificate, the user needs to sign the certificate to prove the ownership of the certificate in order to obtain network resources.

[0006] Verifier: Generally a web service, it verifies the user's certificate by obtaining the public keys pk I and pk u of the certificate issuer and the user from the blockchain. After successful authentication, it provides the corresponding network resources to the user.

[0007] Therefore, in the context of decentralized identity management, the private key is a crucial element for users to manage their identities. By proving that they possess the private key, users can demonstrate their control over their identities. In a typical centralized identity authentication system, users prove their identities by setting a password (Password) p 1 in such a way that the web server stores the user's password p ′ 1 securely for authentication. In this scenario, the passwords of all users are centrally stored on a server. During the authentication phase, the user provides the password p 1 , and the web server compares the password p 1 provided by the user with the password p v 1 stored on its own in a secure manner. If the comparison is successful, the authentication passes. Since the password is set by the user themselves, it is relatively easy to remember. Even if a user forgets the password, they can regain control of their identity by resetting the password. For example, if the user resets the password to p 2 , the web server changes p ′ 1 to p ′ 2 and the user can then use p 2 for authentication.

[0008] Different from the centralized system, in a decentralized system, there is no centralized authority to help users back up their private keys. That is, once a user loses their private key, they will ultimately lose ownership of their identity and certificates. Different from the passwords set by users themselves, private keys are usually randomly generated and difficult to remember. Therefore, users may face the risk of forgetting or losing their private keys.

[0009] Therefore, when a user's private key is lost, how to efficiently and securely help the user regain control of their identity is a key issue. To solve this problem, the mainstream solution is social network private key recovery. In such methods, users pre-designate some trustees, such as their relatives and friends. When the private key is lost, the trustees vote on the blockchain to help the user regain control of their identity, as Figures 2 - 3 shown. Social network private key recovery strategies can be divided into two categories according to whether user authentication is required.

[0010] Social network recovery strategies without introducing passwords:

[0011] Such solutions only require trustees to vote. As Figure 2 shown, after the user generates a public-private key pair and sends it to the trustees, after the trustees' successful vote, a public key replacement operation is performed. Specifically,

[0012] 1) Registration stage. When registering, the user sets multiple trustees, and the list composed of the trustee addresses is called the trustee list D list , and the user writes the mapping of their own identity to the trustee list into the blockchain.

[0013] 2) Private key recovery stage.

[0014] First, when the user loses the private key, the user generates a new public-private key pair (sk new , pk new ) locally. The user sends the new public key pk new to the trustees in an off-chain manner, and the trustees can authenticate the user in an off-chain manner. After that, the trustees can vote. If these trustees can reach an m-of-n consensus, the mapping of the id to the original public key on the blockchain is replaced with (id, pk new ). In this m-of-n consensus, n refers to the total number of trustees, and m refers to the number required for the voting result to take effect. If more than m trustees among these n trustees vote, it is considered that the voting result takes effect, that is, the public key is replaced. Then the user can control this identity with the new private key, including all the certificates of this identity. This type of method has the risk of identity impersonation. Due to the lack of blockchain authentication of the user, it may lead to a collusion attack by the trustees, that is, generating a public-private key pair and conducting a joint vote to achieve the purpose of stealing the user's identity.

[0015] Password-based social network recovery strategy:

[0016] Regarding the risk of identity impersonation existing in the social network recovery strategy without introducing passwords, a password-based social network recovery strategy has been proposed. As Figure 3 shown, in this scheme, in addition to requiring the trustees to reach an m-of-n consensus, password authentication is required, that is, the user proves that they hold the password in a zero-knowledge proof manner without revealing the password information. Specifically, 1) When registering, in addition to uploading D list , the user needs to generate a statement of the password and upload the statement to the blockchain; 2) After the user loses the private key, the user generates a new public-private key pair (pk new , sk new ,) locally, and sends the new public key pk newSend it to the principal in an off-chain manner, and the principal can authenticate the user in an off-chain manner. 3) If the off-chain authentication is passed, the principal signs the user's statement. After the user receives more than m signatures, a zero-knowledge proof π is generated. π proves two things: one is that the user holds the correct password, and the other is that the user has received more than m signatures from the principal. Provide π to the blockchain in the form of a release transaction. After the blockchain verification passes, the public key is replaced. This method introduces a password authentication method. Only when the user provides the correct password can the private key be restored. While helping the user restore the private key, it can effectively reduce the risk of identity theft caused by the collusion attack of the principal.

[0017] In the private key recovery method based on social networks, users can assist in recovering the private key through the principal, so as to regain control of their identities. However, since the principal may not be online, this method has the problems of low private key recovery efficiency and high risk of user identity loss.

[0018] 1) Low private key recovery efficiency. This is because the traditional scheme adopts an equal-weight voting mechanism and does not consider the activity of the principal. And usually, multiple principals need to reach a consensus to recover the private key. If some principals respond slowly or are absent, it may prolong the time required for private key recovery.

[0019] 2) The success rate of private key recovery is relatively low. If most of the principals set by the user are offline for a long time or lose access rights, the private key cannot be recovered, and the user may permanently lose control of their identity. Summary of the Invention

[0020] To solve the technical problems existing in the prior art, the present invention provides a distributed identity private key recovery method based on weighted voting, which pays more attention to highly active principals, reduces the dependence on low-active principals, thereby improving the private key recovery efficiency while increasing the success rate of user private key recovery and reducing the risk of user identity loss.

[0021] The present invention provides a distributed identity private key recovery method based on weighted voting, including the following steps:

[0022] User registration stage: The user uploads the public key to the blockchain and initializes the principal activity evaluation factors on the smart contract.

[0023] Private key recovery stage: The principal conducts weighted voting based on the principal activity. When the voting result exceeds m' / n', it is considered to pass the verification, and the public key stored in the blockchain for the user is replaced, where m' represents the weighted voting votes of the voted principals, and n' represents the total weighted voting votes that all principals should have.

[0024] Preferably, the specific process of user registration includes:

[0025] The user generates an identity identifier id u , and generates a pair of public and private key pairs (pk u , sk u ). Designate multiple trustees, and the list of trustee identities composed of multiple trustees is denoted as Among them, represents the identity identifier of the i-th trustee, and n is the number of trustees;

[0026] The user generates a password pwd and generates a statement stt corresponding to the password;

[0027] The user uploads the user identity identifier, the public key pk u , the trustee list D list and the password pwd to the blockchain;

[0028] For each trustee Initialize the trustee activity evaluation factor on the smart contract, and set as the transfer times between the user id u and the trustee , where [] represents the indexing operation of the mapping, and || represents the string concatenation operation; set

[0029] Preferably, the specific process of private key recovery is as follows:

[0030] The user generates a new pair of public and private keys locally, denoted as pk new , sk new , and notifies the trustee of the new pair of public and private keys in an off-chain manner;

[0031] The user generates a zero-knowledge proof non-interactive proof π, and proves to the blockchain that the user holds the correct password without revealing the password, and publishes π to the blockchain in the form of a transaction;

[0032] All nodes of the blockchain verify the legality of π;

[0033] After the verification passes, the trustee conducts a weighted vote based on the trustee activity. When the voting result exceeds m' / n', it is considered that the private key recovery request passes the verification and replaces the public key existing in the blockchain of the user.

[0034] Preferably, the trustee conducts a weighted vote based on the trustee activity. When the voting result exceeds m' / n', the process for considering that the private key recovery request passes the verification specifically includes the following:

[0035] After receiving the new public key pk new sent by the user, the trustee authenticates the user in an off-chain manner;

[0036] After successful authentication, a vote is conducted using the user identification ID u and the new public key pk new as inputs to generate a voting transaction and publish it on the blockchain;

[0037] After the blockchain receives the voting transaction published by the principal, it calculates the activity of the principal ;

[0038] If the voting result based on the activity is greater than or equal to m' / n', it is considered that the principals exceeding the threshold have voted, and thus the principal verification is passed and the private key recovery request is verified.

[0039] Preferably, the factors affecting the principal activity include the interaction degree, influence, contribution degree, and participation degree of the principal.

[0040] Preferably, the interaction degree is defined as the number of transfer transactions between the user and the principal. The more transfer transactions there are between the user and the principal, the more interactions there are between the two parties, and the more active the principal is.

[0041] Preferably, the influence is defined as the total number of times the principal assumes the role of the principal in the entire distributed identity authentication system. The more times the principal assumes the role of the principal, the more active the principal is.

[0042] Preferably, the contribution degree is defined as the total number of times the principal helps other users recover their private keys in the entire distributed identity authentication system. The more times the principal helps other users recover their private keys, the more active the principal is.

[0043] Preferably, the participation degree is defined as the total number of times the principal invokes the identity management smart contract. The more invocations there are, the more times the principal participates in identity management, and the more active the principal is.

[0044] Preferably, the principal conducts weighted voting based on the principal activity. When the voting result exceeds m′ / n′, it is considered that the verification is passed. Specifically, it includes:

[0045] The following formula is used to calculate the activity of the principal:

[0046]

[0047] The blockchain determines whether it is greater than or equal to m' / n'. If it is greater than or equal to m' / n', it is considered that the principals exceeding the threshold have voted, and thus the principal verification is passed;

[0048] wherein,

[0049] represents the interaction degree corresponding to the principal ;

[0050] Indicates the principal The corresponding influence;

[0051] Indicates the principal The corresponding contribution;

[0052] Indicates the principal The corresponding participation;

[0053] α 1 、α 2 、α 3 and α 4 Are the weights of interaction, influence, contribution, and participation respectively;

[0054] A i Is the activity of the principal The activity of;

[0055] A j Is the j-th principal who has voted; A k Is the k-th principal who has not voted;

[0056] D 1 Represents the set of principals who have voted, D 2 Represents the set of principals who have not voted.

[0057] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0058] 1. The present invention adopts a voting mechanism based on activity. Principals with high activity have a greater impact on the voting result, and the online probability of principals with high activity is higher. When the user's private key is lost, the voting operation can be completed faster, thus reducing the recovery delay caused by waiting for voting, thereby reducing the time overhead of private key recovery and improving the efficiency of private key recovery.

[0059] 2. The present invention effectively reduces the risk of user identity loss, improves the success rate of private key recovery, and reduces the failure of private key recovery caused by the principal being offline by means of differential weight allocation and giving priority to relying on principals with high activity. The traditional equal weight voting mechanism may suspend the recovery operation due to some principals being offline for a long time, and the present invention solves this problem well. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 Is a schematic diagram of a typical framework of a distributed identity authentication system in the prior art;

[0061] Figure 2 Is a schematic diagram of a social network recovery strategy without introducing passwords in a decentralized system in the prior art;

[0062] Figure 3 Figure 3 is a schematic diagram of a password-based social network recovery strategy for a decentralized system in the prior art;

[0063] Figure 4 Figure 7 is a schematic diagram of the design of the private key recovery strategy according to an embodiment of the present invention;

[0064] Figure 5 Figure 11 is a flowchart of a distributed identity private key recovery method based on weighted voting according to an embodiment of the present invention. Detailed implementation manners

[0065] The following provides a detailed description of the specific implementation manners of the present invention.

[0066] As Figures 4 - 5 shown, the present invention provides a distributed identity private key recovery method based on weighted voting, including the following steps:

[0067] User registration stage: The user uploads the public key to the blockchain and initializes the principal activity evaluation factor on the smart contract;

[0068] Private key recovery stage: The principal conducts weighted voting based on the principal activity. When the voting result exceeds m' / n', it is considered to pass the verification, and the public key stored in the blockchain for the user is replaced, where m' represents the weighted voting votes of the voted principals, and n' represents the total weighted voting votes that all principals should have.

[0069] According to a specific implementation manner of the present invention, the specific process of user registration includes:

[0070] The user generates an identity identifier id u , generates a pair of public and private key pairs (pk u , sk u ), designates multiple principals, and the list of principal identity identifiers is denoted as where represents the identity identifier of the i-th principal, and n is the number of principals;

[0071] The user generates a password pwd and generates a statement stt corresponding to the password;

[0072] The user uploads the user identity identifier, the public key pk u , the principal list D list and the password pwd to the blockchain;

[0073] For each principal initialize the principal activity evaluation factor on the smart contract, and set as the user id u and the principal The number of transfer times, where [] represents the mapping index operation and || represents the string concatenation operation; set

[0074] According to a specific implementation of the present invention, the specific process of private key recovery is as follows:

[0075] The user generates a new public-private key pair locally, denoted as pk new , sk new , and notifies the trustee of the new public-private key pair in an off-chain manner;

[0076] The user generates a zero-knowledge proof non-interactive proof π, and without revealing the password, proves to the blockchain that the user holds the correct password, and publishes π to the blockchain in the form of a released transaction;

[0077] All nodes of the blockchain verify the legality of π;

[0078] After the verification passes, the trustee conducts a weighted vote based on the trustee's activity. When the voting result exceeds m' / n', it is considered that the private key recovery request passes the verification, and the public key existing in the blockchain of the user is replaced.

[0079] Zero-knowledge proof is a cryptographic principle that can prove the truth of a statement without revealing any specific information. In blockchain identity authentication technology, zero-knowledge proof can be used to verify the identity information of users without the need for users to directly expose their personal privacy information. For example, a user can use zero-knowledge proof to prove that they are 18 years old without disclosing their specific date of birth to the verifier. This method can effectively protect the privacy of users while ensuring the effectiveness of identity verification.

[0080] According to a specific implementation of the present invention, the trustee conducts a weighted vote based on the trustee's activity. When the voting result exceeds m' / n', the process for considering that the private key recovery request passes the verification specifically includes the following:

[0081] After the trustee receives the new public key pk new sent by the user, the user is authenticated in an off-chain manner;

[0082] After successful authentication, a vote is conducted. Using the user identifier id u and the new public key pk new as inputs, a voting transaction is generated and published on the blockchain;

[0083] After the blockchain receives the voting transaction published by the trustee, it calculates the activity of the trustee ;

[0084] If the voting result based on activity is greater than or equal to m’ / n’, it is considered that the trustees who exceed the threshold vote, and the trustee verification is passed, and the private key recovery request passes the verification.

[0085] According to a specific implementation of the present invention, the factors affecting the trustee activity include the interaction degree, influence, contribution degree and participation degree of the trustee.

[0086] According to a specific implementation of the present invention, the interaction degree is defined as the number of transfer transactions between the user and the trustee. The more transfer transactions there are between the user and the trustee, the more interactions there are between the two parties, and the more active the trustee is.

[0087] According to a specific implementation of the present invention, the influence is defined as the total number of times the trustee assumes the role of trustee in the entire distributed identity authentication system. The more times the trustee assumes the role of trustee, the more active the trustee is.

[0088] According to a specific implementation of the present invention, the contribution degree is defined as the total number of times the trustee helps other users recover their private keys in the entire distributed identity authentication system. The more times the trustee helps other users recover their private keys, the more active the trustee is.

[0089] According to a specific implementation of the present invention, the participation degree is defined as the total number of times the trustee calls the identity management smart contract. The more calls, the more times the trustee participates in identity management, and the more active the trustee is.

[0090] According to a specific implementation of the present invention, the trustee conducts weighted voting based on the trustee activity. When the voting result exceeds m′ / n′, it is considered to pass the verification, specifically including:

[0091] The following formula is used to calculate the activity of the trustee:

[0092]

[0093] Blockchain judgment Whether it is greater than or equal to m’ / n’. If it is greater than or equal to m’ / n’, it is considered that the trustees who exceed the threshold vote, and the trustee verification is passed;

[0094] Among them,

[0095] represents the trustee corresponding interaction degree;

[0096] represents the trustee corresponding influence;

[0097] represents the trustee The corresponding contribution degree;

[0098] Indicates the principal The corresponding participation degree;

[0099] α 1 and α 2 and α 3 and α 4 are respectively the weights of the interaction degree, influence degree, contribution degree and participation degree;

[0100] A i is the activity of the principal ;

[0101] A j is the j-th principal who has voted; A k is the k-th principal who has not voted;

[0102] D 1 represents the set of principals who have voted, D 2 represents the set of principals who have not voted.

[0103] Example 1

[0104] As Figures 4 - 5 shown, the present invention provides a distributed identity private key recovery method based on weighted voting, including the following steps:

[0105] In the user registration stage, the user uploads the public key to the blockchain and initializes the principal activity evaluation factors on the smart contract;

[0106] In the private key recovery stage, the principal conducts weighted voting based on the principal activity. When the voting result exceeds m' / n', it is considered to pass the verification and replace the public key of the user stored in the blockchain, where m' represents the weighted voting votes of the principals who have voted, and n' represents the total expected voting votes of all principals after weighting.

[0107] Example 2

[0108] As Figures 4 - 5 shown, the present invention provides a distributed identity private key recovery method based on weighted voting, including the following steps:

[0109] In the user registration stage, the user uploads the public key to the blockchain and initializes the principal activity evaluation factors on the smart contract;

[0110] In the private key recovery phase, the client conducts weighted voting based on the client activity. When the voting result exceeds m' / n', it is considered to pass the verification, and the public key stored in the blockchain for the user is replaced. Here, m' represents the total weighted voting votes of the voted clients, and n' represents the total expected voting votes of all clients after weighting.

[0111] The present invention modifies the user registration process to support a multi-factor weighted voting-based identity private key recovery scheme. During the registration process, similar to the traditional scheme, the present invention introduces a mechanism of password authentication and voting for private key recovery, and the user needs to upload the identity identifier, public key, client list, and password to the blockchain. The difference from the traditional scheme is that in addition to uploading these data, the present invention requires the user to initialize or modify the parameters related to client activity assessment on the smart contract, as shown in the user registration process of Algorithm 1.

[0112] Furthermore, as Figure 4 shown, the specific user registration process includes:

[0113] The user generates an identity identifier id u , generates a pair of public and private key pairs (pk u , sk u ), designates multiple clients, and the client list composed of the identity identifiers of multiple clients is denoted as where represents the identity identifier of the i-th client, and n is the number of clients;

[0114] The user generates a password pwd and generates a statement stt corresponding to the password;

[0115] The user uploads the user identity identifier, public key pk u , client list D list and password pwd to the blockchain;

[0116] For each client initialize the client activity assessment factor on the smart contract, and set as the transfer times of the user id u and the client . Here, [] represents the index operation of the mapping, and || represents the string concatenation operation; since the number of times the client acts as a client increases, therefore, set

[0117] The present invention designs a private key recovery method based on weighted voting. Similar to the traditional scheme, the present invention introduces two stages of password authentication and client voting. However, different from the traditional scheme, in the present invention, a client voting strategy based on activity is adopted to achieve efficient private key recovery, as shown in the private key recovery process of Algorithm 1.

[0118] Further, as Figure 4 shown, the specific process of private key recovery is as follows:

[0119] The user generates a new public-private key pair locally, denoted as pk new , sk new , and notifies the trustee of the new public-private key pair in an off-chain manner;

[0120] The user generates a zero-knowledge proof non-interactive proof π, and proves to the blockchain that the user holds the correct password without revealing the password, and publishes π to the blockchain in the form of a transaction;

[0121] All nodes of the blockchain verify the legality of π; this step not only proves that the user holds the correct password, but also notifies the blockchain nodes that the user wants to recover the private key.

[0122] After the verification passes, the trustee conducts a weighted vote based on the trustee's activity. When the voting result exceeds m' / n', it is considered that the private key recovery request passes the verification and replaces the public key of the user stored in the blockchain.

[0123] Further, the trustee conducts a weighted vote based on the trustee's activity. When the voting result exceeds m' / n', it is considered that the private key recovery request passes the verification, which specifically includes the following process:

[0124] After receiving the new public key pk new sent by the user, the trustee authenticates the user in an off-chain manner;

[0125] After successful authentication, a vote is conducted. Using the user identification id u and the new public key pk new as inputs, a voting transaction is generated and published on the blockchain;

[0126] After the blockchain receives the voting transaction published by the trustee, it calculates the activity of the trustee ;

[0127] If the voting result based on the activity is greater than or equal to m' / n', it is considered that the trustees who exceed the threshold have voted, and it is considered that the trustee verification passes and the private key recovery request passes the verification.

[0128] Further, the influencing factors of the trustee's activity include the trustee's interaction, influence, contribution, and participation.

[0129] The present invention designs a principal activity evaluation scheme considering multiple influencing factors. Since the principal activity is related to multiple factors, such as the interaction degree with users, the influence of the principal, the contribution degree of the principal to private key recovery, and the participation degree of the principal in identity management, the present invention quantifies these influences, sets different importance scores for the influencing factors, uses the importance scores as weights, and calculates the activity scores of different principals.

[0130] The influencing factors and corresponding index meanings of principal activity evaluation are shown in Table 1.

[0131] 1) Interaction degree, denoted as E. In the present invention, the interaction degree is used to measure the interaction frequency between the principal and the user. The higher the interaction degree, the more active the principal is considered. Since the blockchain underlying layer is a distributed ledger, the present invention defines the interaction degree as the number of transfer transactions between the user and the principal. The more transactions there are between the user and the principal, that is, the more interactions between the two parties, the more active the principal is.

[0132] 2) Influence, denoted as I. The present invention defines the influence as the total number of times the principal assumes the role of the principal in the entire DID system. This is because the principal plays a very important role in the user identity management process. The more times the principal assumes the role of the principal, the greater the influence of the principal, that is, the more active the principal is in the social network.

[0133] 3) Contribution degree, denoted as C. In the present invention, the contribution degree refers to the contribution degree of the principal to private key recovery. The present invention defines the contribution degree as the total number of times the principal helps other users recover private keys in the entire distributed identity system. The greater the contribution degree, the more active the user is.

[0134] 4) Participation degree, denoted as P. The participation degree is used to measure the participation degree of the user in the identity management process. The present invention defines it as the total number of times the principal invokes the identity management smart contract. The more times it is invoked, the more times the principal participates in identity management, that is, the more active the principal is.

[0135] Table 1 Explanation of the meanings of the influencing factors of principal activity

[0136]

[0137] Since in the real scenario, the influences of these influencing factors on the activity may be different, the present invention sets different importance values for different influencing factors as the weights for activity evaluation. Therefore, the activity A is expressed as A = α 1 E + α 2 I + α 3 C + α 4 P, where α 1 、α 2 、α 3and α 4 are the importance scores of each factor.

[0138] In the present invention, by deploying an identity management smart contract in the blockchain, the influencing factors of the activity of different users are stored. To improve the retrieval efficiency, a mapping data structure is used for storage, that is, through four mappings, the interaction degree, influence, contribution value and participation degree are stored respectively. These four mappings are denoted as m E , m i , m c and m p . For the interaction degree, the present invention splices the identity identifiers of the user and the principal as the key, and takes the total number of transfer times between the two parties as the value. For the influence, contribution value and participation degree, the present invention takes the identity identifier of the principal as the key and stores the corresponding index value as the value.

[0139] Furthermore, the interaction degree is defined as the number of transfer transactions between the user and the principal. The more transfer transactions there are between the user and the principal, the more interactions there are between the two parties, and the more active the principal is.

[0140] Furthermore, the influence is defined as the total number of times the principal assumes the role of the principal in the entire distributed identity authentication system. The more times the principal assumes the role of the principal, the more active the principal is.

[0141] Furthermore, the contribution degree is defined as the total number of times the principal helps other users recover their private keys in the entire distributed identity authentication system. The more times the principal helps other users recover their private keys, the more active the principal is.

[0142] Furthermore, the participation degree is defined as the total number of times the principal invokes the identity management smart contract. The more times of invocation, the more times the principal participates in identity management, and the more active the principal is.

[0143] Furthermore, the principal conducts weighted voting based on the activity of the principal. When the voting result exceeds m' / n', it is considered to pass the verification, specifically including:

[0144] The blockchain will respectively retrieve the corresponding interaction degree influence contribution value and participation degree of the principal and calculate the activity of the principal corresponding thereto. The activity of the principal is calculated using the following formula:

[0145]

[0146] The blockchain determines Is it greater than or equal to m’ / n’? If it is greater than or equal to m’ / n’, it is considered that the principal exceeding the threshold votes, and the principal verification is considered to pass. In addition, since this principal calls the identity management smart contract to vote, that is, the number of times this principal calls the identity management smart contract is incremented by one. Therefore, set

[0147] where

[0148] represents the interaction degree of the principal corresponding thereto;

[0149] represents the influence of the principal corresponding thereto;

[0150] represents the contribution degree of the principal corresponding thereto;

[0151] represents the participation degree of the principal corresponding thereto;

[0152] α 1 、α 2 、α 3 and α 4 are the weights of the interaction degree, influence, contribution degree, and participation degree respectively;

[0153] A i is the activity of the principal corresponding thereto;

[0154] A j is the j-th principal who has voted; A k is the k-th principal who has not voted;

[0155] D 1 represents the set of principals who have voted, D 2 represents the set of principals who have not voted.

[0156] After the above steps are executed, the original (id u ,pk u ,D list ,stt) will be replaced by (id u ,pk new ,D list ,stt). Thereafter, the user can control the identity using sk new , including using all certificates. In addition, for all principals who vote, these principals help the user successfully recover the private key. Therefore, for set

[0157] The following is the pseudocode for the user registration and private key recovery process of this embodiment:

[0158]

[0159]

[0160] For the distributed identity scenario, the present invention quantifies the activity of the principal. Specifically, the present invention first quantifies the influencing factors of the principal's activity, including interaction degree, influence, contribution degree, and participation degree. Secondly, considering that the influence weights of different factors on the activity vary, the present invention sets different importance scores for each factor and uses them as weights to calculate the activity scores of different principals.

[0161] For the private key recovery scenario of distributed identity, the present invention designs a voting mechanism based on activity. During the voting process of the principal, the present invention can focus on principals with high activity and reduce the dependence on principals with low activity.

[0162] The present invention optimizes the user registration process and the private key recovery process to support the private key recovery mechanism based on weighted voting. Specifically, in the user registration stage, the blockchain needs to initialize or update the mapping of the activity influencing factors corresponding to the principal. During the private key recovery process, the principal needs to conduct weighted voting to reach an m'-of-n' consensus. At the same time, due to the occurrence of the voting behavior, the activity influencing factors of the relevant principals also need to be updated synchronously to dynamically reflect the changes in their activity.

[0163] The above are only the preferred embodiments of the present invention and are not used to limit the present invention. For those skilled in the art, the present invention can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.

Claims

1. A distributed identity private key recovery method based on weighted voting, characterized in that: The steps include: During the user registration phase, the user uploads the public key to the blockchain and initializes the principal activity evaluation factors on the smart contract; During the private key recovery phase, the principal performs weighted voting based on the principal's activity. When the voting result exceeds m′ / n′, it is considered to have passed the verification and the user's public key in the blockchain is replaced, where m′ represents the weighted number of votes of the voting principal, and n′ represents the total number of weighted votes that all principals should have.

2. The distributed identity private key recovery method based on weighted voting according to claim 1 is characterized in that: The specific process of user registration includes: User generated identity id u , generate a public key and private key pair (pk u ,sk u ), specify multiple principals, and the principal list composed of multiple principal identity identifiers is recorded as in, Represents the identity of the i-th principal, and n is the number of principals; The user generates a password pwd and a statement stt corresponding to the password; The user enters the user identity and public key pk u 、List of Clients D list Upload to the blockchain with the password pwd; For each client Initialize the principal activity evaluation factor on the smart contract and set For user id u With the client The number of transfers, where [] represents the index operation of the mapping, and || represents the string concatenation operation; set 3. The distributed identity private key recovery method based on weighted voting according to claim 2 is characterized in that: The specific process of private key recovery is as follows: The user generates a new public key and private key pair locally, denoted as pk new ,sk new , notify the client of the new public key and private key pair in an off-chain manner; The user generates a zero-knowledge proof non-interactive proof π, proves to the blockchain that the user has the correct password without revealing the password, and publishes π to the blockchain by publishing a transaction; All nodes in the blockchain verify the legitimacy of π; After the verification is passed, the principal conducts a weighted vote based on the principal's activity. When the voting result exceeds m′ / n′, the private key recovery request is considered to have passed the verification and replaces the user's public key in the blockchain.

4. The distributed identity private key recovery method based on weighted voting according to claim 3 is characterized in that: The client performs weighted voting based on the client's activity. When the voting result exceeds m' / n', the private key recovery request is considered to have passed the verification. The specific process includes the following: The client receives the new public key pk from the user new After that, the user is authenticated through off-chain methods; After successful authentication, voting is performed with user ID u With the new public key pk new As input, generate voting transactions and publish them on the blockchain; After the blockchain receives the voting transaction issued by the principal, it calculates the principal’s activity level; If the voting result based on activity is greater than or equal to m' / n', it is considered that the principal who exceeds the threshold has voted, and the principal is considered to have passed the verification and the private key recovery request has passed the verification.

5. The distributed identity private key recovery method based on weighted voting according to any one of claims 1 to 4, characterized in that: Factors influencing client activity include client interaction, influence, contribution and participation.

6. The distributed identity private key recovery method based on weighted voting according to claim 5 is characterized in that: The interaction degree is defined as the number of transfer transactions between the user and the principal. The more transfer transactions between the user and the principal, the more interactions there are between the two parties, and the more active the principal is.

7. The distributed identity private key recovery method based on weighted voting according to claim 6 is characterized in that: Influence is defined as the total number of times the principal assumes the role of principal in the entire distributed identity authentication system. The more times the principal assumes the role of principal, the more active the principal is.

8. The distributed identity private key recovery method based on weighted voting according to claim 7 is characterized in that: The contribution is defined as the total number of times the principal helps other users recover their private keys in the entire distributed identity authentication system. The more times the principal helps other users recover their private keys, the more active the principal is.

9. The distributed identity private key recovery method based on weighted voting according to claim 8 is characterized in that: Participation is defined as the total number of times the principal calls the identity management smart contract. The more calls, the more times the principal participates in identity management, and the more active the principal is.

10. The distributed identity private key recovery method based on weighted voting according to claim 9 is characterized in that: The delegators perform weighted voting based on their activity. When the voting result exceeds m′ / n′, it is considered to have passed the verification, including: The following formula is used to calculate the activity of the client: Blockchain judgment Is it greater than or equal to m' / n'? If it is greater than or equal to m' / n', it is considered that the principal who exceeds the threshold has voted, and the principal is considered to have passed the verification; in, Indicates the client The corresponding degree of interaction; Indicates the client The corresponding influence; Indicates the client The corresponding contribution; Indicates the client Corresponding participation; α1, α2, α3 and α4 are the weights of interaction, influence, contribution and participation respectively; A i For the client activity level; A j is the jth voting principal; A k is the kth non-voting principal; D1 represents the set of delegates who have voted, and D2 represents the set of delegates who have not voted.

Citation Information

Patent Citations

  • Block chain multi-layer DPoS consensus method based on node reputation evaluation

    CN117635143A

  • Key reconstruction method based on block chain and rational secret sharing

    CN117749357A

  • Multi-party supervision system based on DPoS consensus mechanism and secret sharing

    CN117955643A

  • Systems and methods of secure data exchange

    US20170041296A1

  • Distributed fraud detection system within mesh networks

    US20200160340A1