Authentication method, system, client and server based on key derivation function
By using a key-derived function-based authentication method, which utilizes the Secret Key and salt-derived authentication key, and combines VC and DID to construct an independent encrypted channel, the security deficiency caused by the TLS/SSL certificate chain dependency in existing technologies is solved, achieving highly secure and user-friendly user authentication.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 北京泰尔英福科技有限公司
- Filing Date
- 2023-05-24
- Publication Date
- 2026-06-02
AI Technical Summary
Existing technologies rely on TLS/SSL certificate chains for user authentication, which leads to insufficient security in the initial stage and makes it impossible to be completely independent of the security of TLS/SSL certificate chains.
The authentication method based on key derivation function is adopted. Through two-way authentication between the client and the server, the authentication key and verification key are derived by using a randomly generated Secret Key and salt in combination with the key derivation function. An independent encrypted channel is built through verifiable credential (VC) and distributed digital identity (DID) to achieve identity authentication that is completely independent of the TLS/SSL certificate chain.
It improves the security of identity authentication, ensuring that even if there are problems with the TLS/SSL certificate chain, the encrypted channel built by VC and DID can still ensure the security of authentication, achieving high security, user-friendliness and regulatory compliance.
Smart Images

Figure CN116566705B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network security technology, and in particular to an authentication method, system, client, and server based on key derivation functions. Background Technology
[0002] This section is intended to provide background or context for the embodiments of the invention set forth in the claims. The description herein is not an admission that it is prior art simply because it is included in this section.
[0003] like Figure 1 As shown, the core idea of traditional password manager-based user authentication technology is to derive authentication and management keys by combining a password and a secret key with different salts. The secret key is the entropy source, the authentication key is used for two-way authentication with the verification key, and after two-way authentication, a session key is generated and an encrypted channel is established (forming a double-layered encrypted channel together with the TLS / SSL channel). Then, the management key is used to manage the password set on the double-layered encrypted channel. Compared to traditional internet applications, this technology framework achieves very good privacy, meaning users have complete control over their data (passwords), and except for the initial stage, it achieves very good security, completely independent of the security of the TLS / SSL certificate chain. However, the following problems still exist:
[0004] The aforementioned two-way authentication using authentication passwords and verification keys presupposes that the user needs to send the verification key to the server during the initial stage (registration phase). This initialization process still relies on the TLS / SSL certificate chain (not double encryption). Therefore, the framework as a whole is not entirely independent of the security of the TLS / SSL certificate chain. Figure 1 The user authentication method shown still has poor security issues. Summary of the Invention
[0005] This invention provides an authentication method based on a key derivation function, which authenticates user identity completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. The method is applied to a system and includes:
[0006] The client receives the user's input account information to be registered and master password; randomly generates a Secret Key and salt; derives an authentication key based on the Secret Key, salt, and master password using a key derivation function; calculates the corresponding verification key using the authentication key; obtains and verifies the server's verifiable credential (VC); retrieves the server's communication key from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, verification key, and salt, and sends the encrypted content to the server; the server has pre-created its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID.
[0007] The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content, and sends a verification request to the client corresponding to the account information to be registered. After successful verification, the server stores the verification key and the salt, and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user identity authentication.
[0008] This invention provides an authentication method based on a key derivation function, which authenticates user identity completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. This method is applied to a client and includes:
[0009] Receive the user's input of the account information to be registered and the master password;
[0010] Randomly generate Secret Key and Salt;
[0011] The authentication key is derived from the Secret Key, salt, and master password using the key derivation function, and the corresponding verification key is calculated using the authentication key.
[0012] The system obtains and verifies the server's verifiable credential (VC). Based on the server's DID in the VC, it retrieves the server's communication key from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt, and sends the encrypted content to the server. The server has pre-created its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered. After successful verification, the server stores the verification key and the salt and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user authentication.
[0013] This invention provides an authentication method based on a key derivation function, which authenticates user identity completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. This method is applied on the server side and includes:
[0014] The system decrypts the encrypted content to extract the account information to be registered, the verification key, and the salt, and then sends a verification request to the client corresponding to the account information to be registered.
[0015] After successful verification, the verification key and salt are stored, and the successfully registered account information is returned to the client. The verification key and salt are used for two-way authentication between the client and the server during user authentication. The client is used to receive the user's input account information to be registered and master password. A secret key and salt are randomly generated. An authentication key is derived based on the key derivation function according to the secret key, salt, and master password. The corresponding verification key is calculated using the authentication key. The server's verifiable credential (VC) is obtained and verified. Based on the server's DID in the VC, the server's communication key is obtained from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt, and the encrypted content is sent to the server. The server has its own distributed digital identity (DID) pre-created in the verifiable data registry and obtains its own VC from the certificate authority based on the DID.
[0016] This invention provides an authentication system based on key derivation functions, which authenticates user identities completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. The system includes:
[0017] The client receives the user's input of the account information to be registered and the master password; randomly generates a Secret Key and a salt; derives an authentication key based on the Secret Key, salt, and master password using a key derivation function, and calculates the corresponding verification key using the authentication key; obtains and verifies the server's verifiable credential (VC); retrieves the server's communication key from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, the verification key, and the salt, and sends the encrypted content to the server; the server has pre-created its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID;
[0018] The server is used to decrypt the account information to be registered, the verification key, and the salt from the encrypted content, and send a verification request to the client corresponding to the account information to be registered. After successful verification, the server stores the verification key and the salt, and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user identity authentication.
[0019] This invention provides an authentication client based on a key derivation function, which authenticates user identities completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. The client includes:
[0020] The receiving unit is used to receive the user's input of the account information to be registered and the master password;
[0021] Random generation unit, used to randomly generate Secret Key and salt;
[0022] The derivation unit is used to derive the authentication key based on the Secret Key, salt and master password using the key derivation function, and to calculate the corresponding verification key using the authentication key;
[0023] The authentication unit is used to obtain and verify the verifiable credential (VC) of the server. Based on the server's DID in the VC, it retrieves the server's communication key from the verifiable data registry to encrypt the account information to be registered, the verification key, and a salt, and sends the encrypted content to the server. The server pre-creates its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered. After successful verification, it stores the verification key and salt and returns the successfully registered account information to the client. The verification key and salt are used for two-way authentication between the client and the server during user authentication.
[0024] This invention provides an authentication server based on key derivation functions, which authenticates user identities completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. The server includes:
[0025] The decryption unit is used to decrypt the account information to be registered, the verification key and the salt from the encrypted content, and send a verification request to the client corresponding to the account information to be registered.
[0026] The processing unit is used to store the verification key and salt after successful verification, and return the successfully registered account information to the client; the verification key and salt are used for two-way authentication between the client and the server during user authentication; the client is used to receive the user's input account information to be registered and master password; randomly generate a Secret Key and salt; derive an authentication key based on the Secret Key, salt and master password using a key derivation function, and calculate the corresponding verification key using the authentication key; obtain and verify the server's verifiable credential (VC), and obtain the server's communication key from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, the verification key and salt, and send the encrypted content to the server; the server has pre-created its own distributed digital identity (DID) in the verifiable data registry, and obtains its own VC from the certificate authority based on the DID.
[0027] This invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the above-described authentication method based on a key derivation function.
[0028] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described authentication method based on a key derivation function.
[0029] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described authentication method based on a key derivation function.
[0030] In this embodiment of the invention, the authentication scheme based on key derivation functions, compared with existing technologies that also rely on TLS / SSL certificate chains in the initial stage, leading to insecure subsequent identity authentication, achieves the following: the client receives the user's input of the account information to be registered and the master password; randomly generates a Secret Key and a salt; and uses the key derivation function to calculate the Secret Key... An authentication key is derived from the key, salt, and master password. The corresponding verification key is then calculated using this authentication key. The server's verifiable credential (VC) is obtained and verified. Based on the server's DID in the VC, the server's communication key is retrieved from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt. The encrypted content is then sent to the server. The server pre-creates its own distributed digital identity (DID) in the verifiable data registry and retrieves its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered. Upon successful verification, the server stores the verification key and salt and returns the successfully registered account information to the client. The verification key and salt are used for two-way authentication between the client and server during user authentication, enabling user authentication completely independent of the TLS / SSL certificate chain, thus improving authentication security. Attached Figure Description
[0031] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. In the drawings:
[0032] Figure 1 This is a diagram illustrating the existing identity authentication process.
[0033] Figure 2 This is a flowchart illustrating the authentication method based on key derivation functions applied to the system in this embodiment of the invention;
[0034] Figure 3 This is a schematic diagram of the authentication framework based on key derivation functions in an embodiment of the present invention. Figure 1 ;
[0035] Figure 4 This is a schematic diagram of the authentication framework based on key derivation functions in an embodiment of the present invention. Figure 2 ;
[0036] Figure 5 This is a flowchart illustrating a key-derived function-based authentication method applied to a system in another embodiment of the present invention.
[0037] Figure 6 This is a schematic diagram of the login process based on key derivation functions in an embodiment of the present invention;
[0038] Figure 7 This is a schematic diagram of the privacy data encryption process in an embodiment of the present invention;
[0039] Figure 8 This is a schematic diagram of the privacy data decryption process in an embodiment of the present invention;
[0040] Figure 9 This is a schematic diagram of the privacy data sharing process in an embodiment of the present invention;
[0041] Figure 10 This is a schematic diagram illustrating the process of online backup of the Secret Key and Master Password in an embodiment of the present invention;
[0042] Figure 11 This is a schematic diagram of the online recovery process of the Secret Key and Master Password in an embodiment of the present invention;
[0043] Figure 12 This is a schematic diagram illustrating the offline backup process of the Secret Key and Master Password in an embodiment of the present invention;
[0044] Figure 13 This is a schematic diagram of the offline recovery process of the Secret Key and Master Password in an embodiment of the present invention;
[0045] Figure 14 This is a schematic diagram illustrating the process of restoring the Secret Key and Master Password during device migration in an embodiment of the present invention;
[0046] Figure 15 This is a flowchart illustrating the authentication method based on key derivation functions applied to the client in an embodiment of the present invention;
[0047] Figure 16 This is a flowchart illustrating the authentication method based on key derivation functions applied to the server in an embodiment of the present invention.
[0048] Figure 17 This is a schematic diagram of the structure of an authentication system based on key derivation functions in an embodiment of the present invention;
[0049] Figure 18 This is a schematic diagram of the structure of an authentication client based on a key derivation function in an embodiment of the present invention;
[0050] Figure 19 This is a schematic diagram of the authentication server based on key derivation function in an embodiment of the present invention. Detailed Implementation
[0051] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings. Here, the illustrative embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.
[0052] The acquisition, storage, use, and processing of data in the technical solutions of this invention comply with the relevant provisions of laws and regulations.
[0053] Before introducing the embodiments of the present invention, the terms involved in the embodiments of the present invention will be introduced first.
[0054] KDF - Key Derivation Function
[0055] MAC --- Message Authentication Code
[0056] HMAC – Hash-based Message Authentication Code
[0057] HKDF --- HMAC-based Key Derivation Function
[0058] SHA --- Secure Hash Algorithm
[0059] AES – Advanced Encryption Standard
[0060] NTUR---Number Theory Research Unit
[0061] PAKE – Password-Authenticated Key Exchange.
[0062] SS---Secret Sharing
[0063] KMS - Key Management Service
[0064] HSM - Hardware Secure Module
[0065] VDR - Verifiable Data Registry
[0066] VC - Verifiable Credential
[0067] SSI - Self-Sovereign Identity
[0068] TLS --- Transport Layer Security protocol
[0069] SSL --- Secure Socket Layer protocol
[0070] CA --- Certificate Authority
[0071] TPS - Transactions Per Second
[0072] DID --- Decentralized Identifier
[0073] The concept of identity authentication: Identity authentication is the process by which a system examines a user's identity to determine whether the user has the right to access and use a certain resource. Identity authentication provides a mechanism for identifying and confirming a user's identity by identifying and verifying their identity.
[0074] Identity authentication technology plays a crucial role in information security, serving as the foundation for other security mechanisms. Only by implementing effective identity authentication can the effective implementation of security mechanisms such as access control, security auditing, and intrusion prevention be guaranteed.
[0075] In the real world, a user's identity is verified primarily through the following three methods:
[0076] What you know. Verify the user's identity based on information the user already knows.
[0077] What a user possesses. A user's identity is proven by what they own.
[0078] The user's identity is directly proven by their unique physical characteristics (who you are), such as fingerprints, handwriting, DNA, retinal features, and other special physical markings.
[0079] In blockchain-based applications, user authentication suffers from several drawbacks, including lack of universality (depending on the underlying blockchain), user-unfriendly (users need to manage their own private keys, which are difficult to remember and cannot be recovered if lost), lack of oversight (even when users manage their private keys themselves, oversight is impossible in necessary situations), and poor security.
[0080] Based on the existing technical problems of identity authentication, this invention proposes an authentication scheme based on key derivation functions. The problem to be solved by this scheme is to design a universal, regulatory, highly private, and highly secure identity authentication scheme without sacrificing user-friendliness, ease of use, or raising the usage threshold (such as traditional Internet applications).
[0081] The following are the basic definitions of each characteristic:
[0082] 1. High security: In this embodiment of the invention, it specifically means that the security of the framework is completely independent of the security of the TLS / SSL certificate chain. Even if the private keys of the participating parties' TLS / SSL certificates are leaked, the framework is still secure.
[0083] 2. General: In this embodiment of the invention, it specifically means that the performance, availability, scalability, stability, applicable scenarios, etc. of the framework are not constrained by the underlying blockchain system.
[0084] 3. Regulated: That is, users cannot resist regulation.
[0085] 4. High privacy: User data is private to all parties involved. Even regulators can only review and regulate user data if specific legal conditions are met (which can be flexibly defined).
[0086] 5. User-friendly: User keys are recoverable.
[0087] The following section provides a detailed introduction to this key-derived function-based authentication scheme.
[0088] Figure 2 This is a flowchart illustrating the authentication method based on key derivation functions applied to the system in this embodiment of the invention, as shown below. Figure 2 As shown, the method includes the following steps:
[0089] Step 100: The client receives the user's input of the account information to be registered and the master password; randomly generates a Secret Key and a salt; derives an authentication key based on the Secret Key, salt, and master password using a key derivation function, and calculates the corresponding verification key using the authentication key; obtains and verifies the server's verifiable credential (VC), and obtains the server's communication key from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, the verification key, and the salt, and sends the encrypted content to the server; the server has pre-created its own distributed digital identity (DID) in the verifiable data registry, and obtains its own VC from the certificate authority based on the DID;
[0090] Step 200: The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content, and sends a verification request to the client corresponding to the account information to be registered. After successful verification, the server stores the verification key and the salt, and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user identity authentication.
[0091] The authentication method based on key derivation functions provided in this invention operates as follows: The client receives the user's input of the account information to be registered and the master password; a Secret Key and a salt are randomly generated; an authentication key is derived based on the key derivation function using the Secret Key, salt, and master password; the corresponding verification key is calculated using the authentication key; the verifiable credential (VC) of the server is obtained and verified; the server's communication key is obtained from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, the verification key, and the salt, and the encrypted content is sent to the server; the server pre-creates its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID; the server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered; after successful verification, the verification key and salt are stored, and the successfully registered account information is returned to the client; the verification key and salt are used for two-way authentication between the client and the server during user authentication.
[0092] Compared to existing technologies that rely on TLS / SSL certificate chains in the initial stage, leading to insecure subsequent authentication, the key derivation function-based authentication method provided in this invention can authenticate user identities completely independently of the TLS / SSL certificate chain, thus improving authentication security. The key derivation function-based authentication method will be described in detail below.
[0093] In the key derivation function-based authentication method provided in this invention, during the registration phase, in addition to verifying the certificate (TLS / SSL certificate) issued by the CA, the user (client) also needs to verify verifiable credentials (VCs) that comply with local laws and regulations. These VCs are issued by institutions such as the Cyberspace Administration of China (CAC) and the State Administration for Industry and Commerce (SAIC) to qualified enterprises. This ensures that the objects the user (client) connects to (such as domain names and IP addresses) are not only objects certified by the CA, but also objects certified by regulatory bodies with real-world significance, such as the aforementioned CAC and SAIC. This constitutes two independent security links: one is the TLS / SSL protocol built on certificates issued hierarchically by the CA, and the other is the VC issued by the authoritative VC issuing authority, along with the DID and its identifier within the VC. The encrypted channel built using the communication key in the document means that when the TLS / SSL security link encounters problems, such as bribery, fraud, or data breaches at the CA authority, or the server's TLS / SSL private key being leaked (note: CA certificates are issued hierarchically, meaning a problem at any level of the CA will lead to security issues for downstream organizations), the security of registration and login will not be affected. This is because there is still the VC authority – VC – DID – DID Document – Encryption Key link (note: this link is not intended to replace the CA certificate-based TLS / SSL link, but rather to supplement it) to protect the security of the entire process. A detailed explanation follows.
[0094] like Figure 3 As shown, the embodiments of the present invention may include the following participants:
[0095] 1. User: This includes the user and the user's guardian (or related persons).
[0096] 2. Server-side: The service provider that actually provides services to users, mainly storing users' encrypted data.
[0097] 3. Key Management Service Operator (Optional): An operator that specializes in providing key management services (the role of key management service operator can be played by the server).
[0098] 4. Regulatory body.
[0099] 5. Verifiable Data Registry: Stores the distributed digital identity (DID) of each participant.
[0100] Specific relationships are as follows: Figure 4 As shown.
[0101] The detailed implementation process of user authentication based on key derivation functions provided in this embodiment of the invention is as follows (taking user management of private keys as an example, the process of managing digital certificates, digital assets or other user data is similar):
[0102] During the initialization phase, the server, regulator, and key management service operator each create their own DID (and corresponding DID document) in the VDR and obtain their own VC from the relevant authoritative institution (i.e., the issuer of VC, such as the Cyberspace Administration of China).
[0103] 1. During the user registration phase, the client obtains the VC from the server and verifies its validity. Based on the server's DID in the VC, the client retrieves the server's communication key from the VDR. The user (client) inputs and randomly generates relevant information (including phone number, password, verification key, salt, etc.) and encrypts it using the server's communication key. The client sends the encrypted information to the server, which decrypts the information and performs multi-factor authentication, completing the registration. See the detailed implementation process of "Registration" below for further details (unless otherwise specified, all interactions between the participants are encrypted using the TLS protocol).
[0104] 2. Login Phase (User Authentication): The user enters their password, the client derives an authentication key and performs two-way authentication with the server (using the verification key registered in step 1), generates a session key, and (optionally) performs multi-factor authentication. Login is then complete. See the detailed implementation process of "Login" below for further details.
[0105] 3. During the user's private key management phase, assuming the user needs to manage a private key sk (or other private data), such as sk being a randomly generated ED25519 private key used for communication on the client side, or an imported cryptocurrency private key, the client first randomly generates (or uses an existing) data encryption key (corresponding to...). Figure 4 The key used to open each vault uses a symmetric encryption algorithm to encrypt SK or other private data. The data encryption key itself is encrypted by the client using an asymmetric encryption algorithm (corresponding to...). Figure 4 The key to the vault is placed in a safe (the combination to which is the private key of the asymmetric encryption algorithm). This combination is then encrypted by the client using a management key (derived from the user-entered password and the corresponding Secret Key). The client sends the encrypted 'sk', (optional) data encryption key, and (optional) asymmetric encryption algorithm private key to the server for storage. See the detailed implementation process of "Encryption" below for further details.
[0106] 4. During the user's private key usage phase, the principle is the same as in step 3 above. The user enters the password, and the client uses the corresponding decryption algorithm to decrypt sk. See the detailed implementation process of "Decryption" below for further details.
[0107] The following is a detailed introduction.
[0108] like Figure 5 As shown, the detailed implementation process of the initial stage of user authentication, "registration," in this embodiment of the invention is as follows:
[0109] During the initialization phase, the server, regulator, and key management service operator each create their own DID (and corresponding DID document) in the VDR and obtain their own VC from the relevant authoritative institution (i.e., the issuer of VC, such as the Cyberspace Administration of China).
[0110] 1. The client obtains and verifies the VCs of the server, the regulator, and the key management service operator.
[0111] 2. The client retrieves the communication keys of each participant from the VDR based on the DID of each participant and the DID of the guardian in the VC.
[0112] 3. The user enters their mobile phone number (or email address) and sets a master password. The client randomly generates a Secret Key and a salt, and derives an authentication key based on the master password, Secret Key, and salt. The verification key is then calculated. The account information to be registered can be a mobile phone number (or email address).
[0113] 4. The user uses the server communication key obtained in step 2 to encrypt the mobile phone number, salt, and verification key, and sends the encrypted content to the server.
[0114] 5. The server decrypts the user's mobile phone number, salt, verification key, and other information, and performs the corresponding traditional multi-factor authentication on the client.
[0115] 6. The client uses the (2,3)-SS algorithm to divide the Secret Key and Master Password into three parts (the first key share, the second key share, and the third key share, corresponding to the following...). Figure 4 (Secret Share 1, Secret Share 2, Secret Share 3 shown).
[0116] 7. The client encrypts the secret share generated in step 6 using the communication key obtained in step 2, and sends it to the guardian, the supervisor, and the key management service operator respectively (the guardian is usually also a user of the server, and can use the "privacy data sharing" implementation process supplemented below for double encryption).
[0117] As can be seen from the above, in this embodiment of the invention, the client verifies the VC of the server and other terminals, which further improves the security of authentication.
[0118] After authenticating the user's identity using the initial registration method described above, which is completely independent of the TLS / SSL certificate chain, as follows: Figure 6 As shown, the detailed implementation process of "login" in this embodiment of the invention is as follows:
[0119] 1. The user enters the master password, and the client derives the authentication key.
[0120] 2. The client and server perform two-way authentication and generate a session key (the client uses the authentication key, and the server uses the verification key registered on the server during the "registration" process).
[0121] 3. The server performs other optional authentication methods, such as mobile phone verification code, facial recognition, etc.
[0122] 4. Login successful.
[0123] like Figure 7 As shown, the detailed implementation process of encrypting privacy data in this embodiment of the invention is as follows: (assuming the user needs to store a private key sk):
[0124] 1. The client randomly generates a new data encryption key or uses an existing data encryption key to encrypt sk.
[0125] 2. The client randomly generates a new key or uses an existing asymmetric encryption algorithm key pair to encrypt the data encryption key from step 1 using the public key.
[0126] 3. The client uses the master key, secret key, salt and other information to derive the management key.
[0127] 4. The client uses the management key derived in step 3 to encrypt the private key of the asymmetric encryption algorithm in step 2.
[0128] 5. The client sends the encrypted sk, data encryption key, and asymmetric encryption algorithm private key to the server for storage.
[0129] If the user decides to place sk in an existing vault, neither the data encryption key nor the asymmetric encryption algorithm private key needs to be created. If the user decides to create a new vault to place sk but places the key to the new vault in an existing safe, the asymmetric encryption algorithm private key does not need to be created. If the user decides to create a new vault to place sk and places the key to the new vault in a new safe, the encrypted sk, data encryption key, and asymmetric encryption algorithm private key all need to be sent to the server.
[0130] The above "privacy data encryption" process can protect user data privacy with cryptography and algorithms at a relatively low user operating cost. It is simple and easy to use for users and provides good privacy protection for the system.
[0131] like Figure 8 As shown, the detailed implementation process of decrypting privacy data in this embodiment of the invention is as follows (assuming the user needs to decrypt the private key sk):
[0132] 1. The client obtains the encrypted sk, the data encryption key, and the private key for the asymmetric encryption algorithm.
[0133] 2. The client uses the master key, secret key, salt and other information to derive the management key.
[0134] 3. The client uses the management key to decrypt the private key of the asymmetric encryption algorithm.
[0135] 4. The client uses an asymmetric encryption algorithm and its private key to decrypt the data encryption key.
[0136] 5. The client uses the data encryption key to decrypt sk.
[0137] like Figure 9 As shown, the detailed implementation process of "privacy data sharing" in this embodiment of the invention is as follows: (Assume that user A needs to share private key sk with user B):
[0138] 1. User A (first user) decrypts the private key sk through the above "decryption" process.
[0139] 2. User A's client randomly generates a data encryption key.
[0140] 3. User A's client uses the data encryption key to encrypt sk.
[0141] 4. User A's client obtains User B's (second user) asymmetric encryption public key (analogous to User B's password box).
[0142] 5. User A's client uses User B's asymmetric encryption public key to encrypt the data encryption key generated in step 2 (analogous to User A putting the key to the vault belonging to sk into User B's safe, but "putting in" does not mean opening User B's safe and then putting it in, because User A cannot know the contents of User B's safe, it is more like putting it in through a small hole in User B's safe).
[0143] 6. User A sends the encrypted sk and data encryption key generated in steps 3 and 5 to user B.
[0144] 7. User B can decrypt the private key sk through the above "decryption" process (the same as User A's operation in step 1).
[0145] As can be seen from the above, in one embodiment, the authentication method based on key derivation functions may further include:
[0146] The client receives private data input by the sharer; a random data encryption key is generated to encrypt the private data; the data encryption key is encrypted by the public key of the second user's asymmetric encryption algorithm, and the private data includes a Secret Key and a master password;
[0147] The server stores encrypted private data and data encryption keys under the account of the person being shared with.
[0148] In practice, the entire process of sharing private data described above can be compared to user A wanting to share their private key sk (or other private data) stored in their vault with user B. The corresponding operation flow is as follows: User A derives a management key (which can decrypt all safe passwords) using the master password, secret key, salt, etc. User A decrypts the safe password using the management key and opens the safe. They then take the vault key from the safe and open the safe, take sk (or other private data) from the safe, create a new safe for user B, store sk in the new safe, and put the safe key into user B's safe. User B can then open the safe, take out the safe key, and obtain sk.
[0149] The above-described process of sharing private data ensures security during the transmission and sharing of private data by randomly generating encryption keys, preventing user data from being stolen during transmission. Furthermore, embodiments of the present invention can also utilize the privacy data sharing process to perform double encryption on the key shares of the three parts. For example, taking the encryption of the second key share corresponding to the server as an example, the client randomly generates a data encryption key to encrypt the second key share; the data encryption key is encrypted with the public key of an asymmetric encryption algorithm of a second user (e.g., a guardian); the server stores the encrypted private data and the data encryption key under the guardian's account. Double encryption of the key shares corresponding to other ends can be referred to the process of encrypting the second key share corresponding to the server.
[0150] This invention relates to two types of "password and key backup" and corresponding recovery methods: one is online backup and recovery of the Secret Key and master password; the other is offline backup and recovery of the Secret Key and master password. The following is a detailed description of these two backup methods and their corresponding recovery methods.
[0151] First, we will introduce the process of backing up and restoring the Secret Key and Master Password online.
[0152] like Figure 10 As shown, the detailed implementation process of online "password and key backup" in this embodiment of the invention is as follows:
[0153] During the initialization phase, the server, regulator, and key management service operator each create their own DID (and corresponding DID document) in the VDR and obtain their own VC from the relevant authoritative institution (i.e., the issuer of VC, such as the Cyberspace Administration of China).
[0154] 1. The client obtains and verifies the VCs of the server, the regulator, and the key management service operator.
[0155] 2. The client retrieves the communication keys of each participant from the VDR based on the DID of each participant and the DID of the guardian in the VC.
[0156] 3. The client uses the (2,3)-SS algorithm to split the Secret Key and Master Password into 3 parts.
[0157] 4. The client encrypts the secret share generated in step 3 using the communication key obtained in step 2, and sends it to the guardian, the supervisor, and the key management service operator respectively (the guardian is usually also a user of the server, and can use the above "privacy data sharing" implementation process for double encryption).
[0158] As can be seen from the above, in one embodiment, the authentication method based on key derivation functions may further include online backup of the Secret Key and master password as follows:
[0159] The client obtains and verifies the verifiable credentials (VC) of the regulatory end and the key management service operator. Based on the regulatory end's DID in the VC, it retrieves the regulatory end's communication key from the verifiable data registry. Based on the key management service operator's DID in the VC, it retrieves the key management service operator's communication key from the verifiable data registry. The client then divides the Secret Key and master password into three key shares. The client encrypts the first key share using the regulatory end's communication key, the second key share using the server's communication key, and the third key share using the key management service operator's communication key. The encrypted first key share is sent to the regulatory end, the encrypted second key share is sent to the server, and the encrypted third key share is sent to the key management service operator. The regulatory end and the key management service operator each pre-create their own distributed digital identity (DID) in the verifiable data registry and retrieve their own VC from the certificate authority based on their DID.
[0160] The regulatory body decrypts the first part of the key share and uses KMS to encrypt and store it.
[0161] The server stores the encrypted second part of the key share under the account of the user's related person;
[0162] The key management service operator decrypts the third key share and uses KMS to encrypt and store the third key share.
[0163] In specific implementations, password and key backups typically occur during the "registration" phase, so the above process is usually part of the "registration" implementation process.
[0164] This invention includes a backup of passwords and keys, making it easy for users to recover keys if they forget them.
[0165] In practical implementation, without introducing excessive complexity, (t,n)-secret sharing can securely transmit more than t secret shares over the network channel in real-world applications. As a result, users do not need to manage any secret shares, and user keys are recoverable without sacrificing security, providing user-friendliness and ease of use.
[0166] In addition, the participation of the regulatory body is incorporated into the embodiments of the present invention to achieve regulatory compliance, meaning that users cannot resist regulation.
[0167] like Figure 11 As shown, the detailed implementation process of online "password and key recovery" in this embodiment of the invention is as follows:
[0168] 1. Users authenticate their login to the server and key management service operator using factors other than password verification, such as mobile phone verification code + facial recognition.
[0169] 2. The client randomly generates a temporary asymmetric encryption key pair.
[0170] 3. The client obtains the secret share stored by the key management service operator (sends the public key in the asymmetric encryption key pair generated in step 2 to the key management service operator, and the key management service operator encrypts the secret share and returns it).
[0171] 4. The client retrieves the secret share stored in the guardian (the user requests the guardian's help to recover the password and key. The user sends the public key from the asymmetric encryption key pair generated in step 2 to the guardian through the client. The guardian confirms the user's identity and the public key, encrypts the secret share, and returns it).
[0172] 5. Recover password and key on the client side.
[0173] As can be seen from the above, in one embodiment, the user authentication method based on key derivation functions may further include online recovery of the Secret Key and master password as follows:
[0174] The user's client generates a temporary asymmetric encryption key pair; when the user logs into the client, the temporary asymmetric public key is sent to the key management service operator.
[0175] The key management service operator uses KMS to decrypt the third part of the key share, encrypts the third part of the key share using a temporary asymmetric public key, and returns the asymmetric encrypted third part of the key share to the user's client.
[0176] The user's client uses a temporary asymmetric private key to decrypt the third part of the key share after asymmetric encryption, and obtains the third part of the key share; it then initiates a social restoration request with the user's related parties and uploads the temporary asymmetric public key to the server.
[0177] The server synchronizes the user's social restoration requests and temporary asymmetric public keys with the user's related clients.
[0178] After the client of the user's related person (such as the guardian) confirms the request and the temporary asymmetric public key, it uses the temporary asymmetric public key to encrypt the second part of the key share and sends it to the server.
[0179] The server synchronizes the encrypted second part of the key share to the user's client.
[0180] The user's client uses asymmetric decryption to obtain the second part of the key share; based on the decrypted second and third parts of the key share, the Secret Key and the master password are recovered.
[0181] As can be seen from the above, the online backup and recovery process of the Secret Key and master password in this embodiment of the invention is also completely independent of the TLS / SSL certificate chain, and has high security.
[0182] Secondly, the process of offline backup and recovery of the Secret Key and Master Password will be introduced.
[0183] like Figure 12 As shown, password and key backup (II): In addition to the online backup mentioned above, users can also perform offline backup. The backup method is to export a QR code for offline storage, i.e., "Password and Key Backup (II)". That is, in one embodiment, the above-mentioned authentication method based on key derivation function may further include: offline backup of SecretKey and master password according to the following method: the client exports SecretKey and master password, and saves the graphic code corresponding to SecretKey and master password offline.
[0184] like Figure 13 As shown, password and key recovery (II): In addition to the online password and key recovery described above, users can also perform offline recovery in conjunction with "Password and Key Backup (II)", that is, use the client to scan the QR code saved offline. In one embodiment, the above-mentioned authentication method based on key derivation functions may further include: offline recovery of the Secret Key and master password as follows: the client scans the graphic code corresponding to the offline-saved Secret Key and master password to recover the Secret Key and master password.
[0185] like Figure 14 As shown, in one embodiment, the above-mentioned authentication method based on key derivation function may further include: a device migration scheme: "Password and key recovery" refers to the recovery process after a user loses their password or key, such as when a user's mobile phone is lost or completely damaged, or when a user forgets their password. "Device migration" refers to the migration process from an old device that has been logged in to a new device. The former requires the user to save a QR code offline, while the latter only requires the new device to scan the QR code on the old device. The former is suitable for users who have forgotten their password or have accidentally deleted their Secret Key, while the latter is suitable for old devices that are logged in (i.e., the old device has a password and Secret Key). It is generally suitable for users who remember their password or whose password is cached on the old device, and whose Secret Key has not been lost.
[0186] In summary, the authentication method based on key derivation functions provided in this invention has the following advantages:
[0187] 1. In this embodiment of the invention, in addition to traditional CA certificate verification, the client (user) also verifies verifiable credentials to authenticate the identities of the participating parties (service providers and regulators), thereby improving the overall security of the framework.
[0188] 2. In this embodiment of the invention, in addition to TLS / SSL encryption, the interaction between the participating parties is further encrypted using the communication key in the distributed digital identity system, thereby improving the channel security between the modules.
[0189] 3. The embodiments of the present invention utilize point 2 to enable (t,n)-secret sharing to securely transmit more than t secret shares over a network channel in practical applications without introducing excessive complexity. As a result, users do not need to manage any secret shares, and user keys are recoverable without sacrificing security, providing user-friendliness and ease of use.
[0190] 4. By utilizing point 2, this embodiment of the invention solves the reliance on TLS / SSL protocol security in the initial stage of the password manager framework, and truly achieves security that is independent of TLS / SSL throughout the entire process.
[0191] In summary, the authentication method (framework) based on key derivation functions provided by the embodiments of the present invention, while ensuring universality, ease of use and user-friendliness comparable to traditional Internet applications, increases the protection of user data asset privacy (comparable to the most privacy-preserving password managers), and further improves security (compared to both traditional Internet applications and password managers) and introduces regulatory compliance (compared to password managers and blockchain wallets).
[0192] This invention also provides a key-derived function-based authentication method for client applications, as described in the following embodiments. Since the principle behind this method is similar to that of the key-derived function-based authentication method for system applications, its implementation can be found in the implementation of the key-derived function-based authentication method for system applications; repeated details will not be elaborated further.
[0193] This invention provides an authentication method based on key derivation functions, which authenticates user identities completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. This method is applied to the client side, such as... Figure 15 As shown, the method includes:
[0194] Step 101: Receive the user's input of the account information to be registered and the master password;
[0195] Step 102: Randomly generate the Secret Key and Salt;
[0196] Step 103: Based on the key derivation function, derive the authentication key from the Secret Key, salt, and master password, and use the authentication key to calculate the corresponding verification key;
[0197] Step 104: Obtain and verify the server's verifiable credential (VC). Based on the server's DID in the VC, retrieve the server's communication key from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt, and send the encrypted content to the server. The server has pre-created its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered. After successful verification, the server stores the verification key and the salt and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user authentication.
[0198] This invention also provides a key-derived function-based authentication method for server-side applications, as described in the following embodiments. Since the principle behind this method is similar to that of the key-derived function-based authentication method for system-side applications, its implementation can be found in the implementation of the key-derived function-based authentication method for system-side applications; repeated details will not be elaborated further.
[0199] This invention provides an authentication method based on key derivation functions, which authenticates user identities completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. This method is applied to the server side, such as... Figure 16 As shown, the method includes:
[0200] Step 201: Decrypt the account information to be registered, the verification key and the salt from the encrypted content, and send a verification request to the client corresponding to the account information to be registered;
[0201] Step 202: After successful verification, store the verification key and salt, and return the successfully registered account information to the client; the verification key and salt are used for two-way authentication between the client and the server during user authentication; the client is used to receive the user's input account information to be registered and master password; randomly generate Secret Key and salt; derive the authentication key based on the key derivation function according to Secret Key, salt and master password, and calculate the corresponding verification key using the authentication key; obtain and verify the server's verifiable credential VC, and obtain the server's communication key from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, verification key and salt, and send the encrypted content to the server; the server has pre-created its own distributed digital identity identifier DID in the verifiable data registry, and obtains its own VC from the certificate authority based on the DID.
[0202] This invention also provides an authentication system based on key derivation functions, as described in the following embodiments. Since the principle behind this system's problem-solving is similar to that of the key derivation function-based authentication method applied to the system, the implementation of this system can refer to the implementation of the key derivation function-based authentication method applied to the system; repeated details will not be elaborated further.
[0203] This invention provides an authentication system based on key derivation functions, which authenticates user identities completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. Figure 17 As shown, the system includes:
[0204] Client 01 is used to receive the user's input of the account information to be registered and the master password; randomly generate a Secret Key and a salt; derive an authentication key based on the Secret Key, salt, and master password using a key derivation function, and calculate the corresponding verification key using the authentication key; obtain and verify the server's verifiable credential (VC); obtain the server's communication key from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, the verification key, and the salt, and send the encrypted content to the server; the server has pre-created its own distributed digital identity (DID) in the verifiable data registry, and obtains its own VC from the certificate authority based on the DID;
[0205] Server 02 is used to decrypt the account information to be registered, the verification key and the salt from the encrypted content, and send a verification request to the client corresponding to the account information to be registered. After successful verification, the verification key and the salt are stored, and the successfully registered account information is returned to the client. The verification key and the salt are used for two-way authentication between the client and the server during user identity authentication.
[0206] In one embodiment, the client is further configured to receive privacy data input by the sharer; randomly generate a data encryption key to encrypt the privacy data; the data encryption key is encrypted by the public key of a second user's asymmetric encryption algorithm, and the privacy data includes a Secret Key and a master password;
[0207] The server is also used to store encrypted privacy data and data encryption keys under the account of the person being shared with.
[0208] This invention also provides an authentication client based on key derivation functions, as described in the following embodiments. Since the principle behind this client's problem-solving is similar to that of the key derivation function-based authentication method applied to the system, the implementation of this client can refer to the implementation of the key derivation function-based authentication method applied to the system; repeated details will not be elaborated further.
[0209] This invention provides an authentication client based on key derivation functions, which authenticates user identities completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. Figure 18 As shown, the client includes:
[0210] The receiving unit 011 is used to receive the user's input of the account information to be registered and the master password;
[0211] Random generation unit 012 is used to randomly generate the Secret Key and salt;
[0212] Derivation unit 013 is used to derive the authentication key based on the Secret Key, salt and master password using the key derivation function, and to calculate the corresponding verification key using the authentication key.
[0213] Authentication unit 014 is used to obtain and verify the verifiable credential (VC) of the server. Based on the server's DID in the VC, it retrieves the server's communication key from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt, and sends the encrypted content to the server. The server pre-creates its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered. After successful verification, it stores the verification key and the salt and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user authentication.
[0214] This invention also provides an authentication server based on key derivation functions, as described in the following embodiments. Since the principle behind this server's problem-solving is similar to that of the key derivation function-based authentication method applied to the system, the implementation of this server can refer to the implementation of the key derivation function-based authentication method applied to the system; repeated details will not be elaborated further.
[0215] This invention provides an authentication server based on key derivation functions, which authenticates user identities completely independently of the TLS / SSL certificate chain, thereby improving the security of identity authentication. Figure 19 As shown, the server includes:
[0216] The decryption unit 021 is used to decrypt the account information to be registered, the verification key and the salt from the encrypted content, and send a verification request to the client corresponding to the account information to be registered.
[0217] Processing unit 022 is used to store the verification key and salt after successful verification, and return the successfully registered account information to the client; the verification key and salt are used for two-way authentication between the client and the server during user identity authentication; the client is used to receive the user's input account information to be registered and master password; randomly generate Secret Key and salt; derive authentication key based on Secret Key, salt and master password using key derivation function, and calculate the corresponding verification key using authentication key; obtain and verify the server's verifiable credential VC, obtain the server's communication key from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, verification key and salt, and send the encrypted content to the server; the server has pre-created its own distributed digital identity identifier DID in the verifiable data registry, and obtains its own VC from the certificate authority based on the DID.
[0218] This invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the above-described authentication method based on a key derivation function.
[0219] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described authentication method based on a key derivation function.
[0220] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described authentication method based on a key derivation function.
[0221] In this embodiment of the invention, the authentication scheme based on key derivation functions, compared with existing technologies that also rely on TLS / SSL certificate chains in the initial stage, leading to insecure subsequent identity authentication, achieves the following: the client receives the user's input of the account information to be registered and the master password; randomly generates a Secret Key and a salt; and uses the key derivation function to calculate the Secret Key... An authentication key is derived from the key, salt, and master password. The corresponding verification key is then calculated using this authentication key. The server's verifiable credential (VC) is obtained and verified. Based on the server's DID in the VC, the server's communication key is retrieved from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt. The encrypted content is then sent to the server. The server pre-creates its own distributed digital identity (DID) in the verifiable data registry and retrieves its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered. Upon successful verification, the server stores the verification key and salt and returns the successfully registered account information to the client. The verification key and salt are used for two-way authentication between the client and server during user authentication, enabling user authentication completely independent of the TLS / SSL certificate chain, thus improving authentication security.
[0222] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0223] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0224] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0225] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0226] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. An authentication method based on key derivation functions, characterized in that, This method is applied to a system, and the method includes: The client receives the user's input account information to be registered and master password; randomly generates a Secret Key and salt; derives an authentication key based on the Secret Key, salt, and master password using a key derivation function; calculates the corresponding verification key using the authentication key; obtains and verifies the server's verifiable credential (VC); retrieves the server's communication key from the verifiable data registry based on the server's DID in the VC to encrypt the account information to be registered, verification key, and salt, and sends the encrypted content to the server; the server has pre-created its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content, and sends a verification request to the client corresponding to the account information to be registered. After successful verification, the server stores the verification key and the salt, and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user identity authentication.
2. The method as described in claim 1, characterized in that, This also includes backing up the SecretKey and master password online using the following method: The client obtains and verifies the verifiable credentials (VC) of the regulatory end and the key management service operator. Based on the DID of the regulatory end in the VC, it obtains the communication key of the regulatory end from the verifiable data registry. Based on the DID of the key management service operator in the VC, it obtains the communication key of the key management service operator from the verifiable data registry. The secret key and master password are divided into three parts of key share. The first part of the key share is encrypted using the communication key of the regulatory end, the second part of the key share is encrypted using the communication key of the server end, and the third part of the key share is encrypted using the communication key of the key management service operation end. The encrypted first part of the key share is sent to the regulatory end, the encrypted second part of the key share is sent to the server end, and the encrypted third part of the key share is sent to the key management service operation end; the regulatory end and the key management service operation end have their own distributed digital identity identifiers (DIDs) pre-created in the verifiable data registry, and obtain their own VCs from the certificate authority based on their DIDs; The regulatory body decrypts the first part of the key share and uses KMS to encrypt and store it. The server stores the encrypted second part of the key share under the account of the user's related person; The key management service operator decrypts the third key share and uses KMS to encrypt and store the third key share.
3. The method as described in claim 2, characterized in that, This also includes online recovery of the Secret Key and Master Password using the following methods: The user's client generates a temporary asymmetric encryption key pair; when the user logs into the client, the temporary asymmetric public key is sent to the key management service operator. The key management service operator uses KMS to decrypt the third part of the key share, encrypts the third part of the key share using a temporary asymmetric public key, and returns the asymmetric encrypted third part of the key share to the user's client. The user's client uses a temporary asymmetric private key to decrypt the third part of the key share after asymmetric encryption, and obtains the third part of the key share; it then initiates a social restoration request with the user's related parties and uploads the temporary asymmetric public key to the server. The server synchronizes the user's social restoration requests and temporary asymmetric public keys with the user's related clients. After the client of the user-related person confirms the request and the temporary asymmetric public key, it uses the temporary asymmetric public key to encrypt the second part of the key share and then sends it to the server. The server synchronizes the encrypted second part of the key share to the user's client. The user's client asymmetrically decrypts the second part of the key share; The Secret Key and Master Password can be recovered by decrypting the second and third key shares.
4. The method as described in claim 1, characterized in that, Also includes: Backup your Secret Key and Master Password offline using the following method: Export the Secret Key and Master Password from the client and save the corresponding graphical codes offline.
5. The method as described in claim 4, characterized in that, Also includes: To recover the Secret Key and Master Password offline, use the following method: Scan the graphical code corresponding to the offline-saved Secret Key and Master Password with the client to recover the Secret Key and Master Password.
6. The method as described in claim 1, characterized in that, Also includes: The client receives private data input by the sharer; a random data encryption key is generated to encrypt the private data; the data encryption key is encrypted by the public key of the second user's asymmetric encryption algorithm, and the private data includes a Secret Key and a master password; The server stores encrypted private data and data encryption keys under the account of the person being shared with.
7. An authentication method based on key derivation functions, characterized in that, This method is applied to the client and includes: Receive the user's input of the account information to be registered and the master password; Randomly generate Secret Key and Salt; The authentication key is derived from the Secret Key, salt, and master password using the key derivation function, and the corresponding verification key is calculated using the authentication key. The system obtains and verifies the server's verifiable credential (VC). Based on the server's DID in the VC, it retrieves the server's communication key from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt, and sends the encrypted content to the server. The server has pre-created its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered. After successful verification, the server stores the verification key and the salt and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user authentication.
8. An authentication method based on key derivation functions, characterized in that, This method is applied to the server side and includes: The system decrypts the encrypted content to extract the account information to be registered, the verification key, and the salt, and then sends a verification request to the client corresponding to the account information to be registered. After successful verification, the verification key and salt are stored, and the successfully registered account information is returned to the client. The verification key and salt are used for two-way authentication between the client and the server during user authentication. The client is used to receive the user's input account information to be registered and master password. A secret key and salt are randomly generated. An authentication key is derived based on the key derivation function according to the secret key, salt, and master password. The corresponding verification key is calculated using the authentication key. The server's verifiable credential (VC) is obtained and verified. Based on the server's DID in the VC, the server's communication key is obtained from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt, and the encrypted content is sent to the server. The server has its own distributed digital identity (DID) pre-created in the verifiable data registry and obtains its own VC from the certificate authority based on the DID.
9. An authentication system based on key derivation functions, characterized in that, include: The client is used to receive the user's input of the account information to be registered and the master password; and to randomly generate the Secret Key and salt. The authentication key is derived from the Secret Key, salt, and master password using a key derivation function. The corresponding verification key is then calculated using the authentication key. The verifiable credential (VC) of the server is obtained and verified. Based on the server's DID in the VC, the communication key of the server is obtained from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt. The encrypted content is then sent to the server. The server has pre-created its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID. The server is used to decrypt the account information to be registered, the verification key, and the salt from the encrypted content, and send a verification request to the client corresponding to the account information to be registered. After successful verification, the server stores the verification key and the salt, and returns the successfully registered account information to the client. The verification key and the salt are used for two-way authentication between the client and the server during user identity authentication.
10. The system as described in claim 9, characterized in that, The client is also used to receive private data input by the sharer; randomly generate a data encryption key to encrypt the private data; the data encryption key is encrypted by the public key of the second user's asymmetric encryption algorithm, and the private data includes a Secret Key and a master password; The server is also used to store encrypted privacy data and data encryption keys under the account of the person being shared with.
11. An authentication client based on a key derivation function, characterized in that, include: The receiving unit is used to receive the user's input of the account information to be registered and the master password; Random generation unit, used to randomly generate Secret Key and salt; The derivation unit is used to derive the authentication key based on the Secret Key, salt and master password using the key derivation function, and to calculate the corresponding verification key using the authentication key; The authentication unit is used to obtain and verify the verifiable credential (VC) of the server. Based on the server's DID in the VC, it retrieves the server's communication key from the verifiable data registry to encrypt the account information to be registered, the verification key, and a salt, and sends the encrypted content to the server. The server pre-creates its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID. The server decrypts the account information to be registered, the verification key, and the salt from the encrypted content and sends a verification request to the client corresponding to the account information to be registered. After successful verification, it stores the verification key and salt and returns the successfully registered account information to the client. The verification key and salt are used for two-way authentication between the client and the server during user authentication.
12. An authentication server based on a key derivation function, characterized in that, include: The decryption unit is used to decrypt the account information to be registered, the verification key and the salt from the encrypted content, and send a verification request to the client corresponding to the account information to be registered. The processing unit is used to store the verification key and salt after successful verification, and return the successfully registered account information to the client; the verification key and salt are used for two-way authentication between the client and the server during user authentication; the client is used to receive the user's input account information to be registered and master password; and randomly generate the Secret Key and salt. The authentication key is derived from the Secret Key, salt, and master password using the key derivation function. The corresponding verification key is then calculated using the authentication key. The verifiable credential (VC) of the server is obtained and verified. Based on the server's DID in the VC, the communication key of the server is obtained from the verifiable data registry to encrypt the account information to be registered, the verification key, and the salt. The encrypted content is then sent to the server. The server has pre-created its own distributed digital identity (DID) in the verifiable data registry and obtains its own VC from the certificate authority based on the DID.
13. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 8.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1 to 8.
15. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 8.