Blockchain-based user authentication method, device and readable storage medium
By deploying a blockchain shared database on the browser client and using blockchain user authentication to verify login requests, the user authentication problem when the browser server is unresponsive is solved, ensuring business continuity and reducing the risk of breach of contract.
Patent Information
- Application Number
- CN202010755179.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-30
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2040-07-30
AI Technical Summary
When the browser server is unresponsive, existing technologies cannot complete user authentication, resulting in a poor user experience and increasing the risk of breach of contract for enterprise browser vendors.
By using blockchain technology to deploy a shared database on each browser client, login requests are verified by client nodes that authenticate users through the blockchain, and user login is completed when verification is successful, ensuring normal business operation.
When the browser server is unresponsive, blockchain-based user authentication ensures business continuity, reduces default risk, improves user experience, and enhances disaster recovery capabilities.
Smart Images

Figure CN114095173B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of blockchains, and in particular to a user authentication method based on a blockchain, a device and a readable storage medium. BACKGROUND
[0002] A browser is an application program used to retrieve, display and deliver web information resources. Generally, a browser does not need to have a user system, but as the use scenarios of browsers become more and more, many browser manufacturers have added a user system to store the information such as browser bookmarks, history records and browser configurations in the cloud after encryption, so that the original browser-related information and configurations can be quickly synchronized after the user changes the use environment, and good user experience is obtained. The browser user system is established under a C / S architecture, and the Client sends user account and password information to the Server for verification to complete the user authentication business.
[0003] In the browser user authentication scenario, if the server does not respond, the user authentication will fail, and the user-related information and browser configurations cannot be synchronized to the local, resulting in poor user experience. In the enterprise browser business, if the enterprise browser administrator sets that "the user must log in to use the enterprise browser", when the management platform server is unresponsive, the enterprise browser user cannot complete user authentication with the server, and then cannot use the enterprise browser, which will cause a great business gap before the server business is restored, and also cause a breach risk for the enterprise browser manufacturer. Therefore, the above situations all lead to the technical problem that user authentication cannot be completed when the browser server does not respond. SUMMARY
[0004] The main purpose of the present application is to provide a user authentication method based on a blockchain, which aims to solve the technical problem that user authentication cannot be completed when the browser server does not respond.
[0005] To achieve the above purpose, the present application provides a user authentication method based on a blockchain, which is applied to a current client, and the user authentication method based on a blockchain comprises:
[0006] When the current client sends a login request to a target browser, it is judged whether the browser server of the target browser responds to the login request, wherein the current client and the browser server have both completed the blockchain user authentication configuration;
[0007] if the browser server does not respond to the login request, sending a user authentication broadcast containing the login request to a client node participating in blockchain user authentication, so that the client node performs consensus verification on the login request;
[0008] receiving a verification response result of the client node on the login request, and completing user authentication and logging into the target browser when it is detected that the verification response result meets a preset consensus mechanism standard.
[0009] Optionally, the login request includes a first login request,
[0010] The step of sending a user authentication broadcast containing the login request to a client node participating in blockchain user authentication, so that the client node performs consensus verification on the login request, if the browser server does not respond to the login request, includes:
[0011] If the browser server does not respond to the first login request, obtaining return data from the cache of the browser server based on the first login request, and determining whether the current client is the client node according to the return data;
[0012] If the current client is the client node, pulling user authentication data from a regular user authentication service of the browser server and encrypting, to start a blockchain user authentication service using the encrypted user authentication data;
[0013] Cutting and packaging the login request into a message body waiting for consensus, and encapsulating a digital signature on the message body as an initial block;
[0014] Broadcasting the initial block to other client nodes participating in blockchain user authentication to other client nodes participating in blockchain user authentication, so that the other client nodes perform verification on the initial block.
[0015] Optionally, after the step of determining whether the current client is the client node according to the return data, further comprising:
[0016] If the current client is not the client node, requesting necessary information required to start a blockchain user authentication service from a neighboring client node participating in blockchain user authentication that is adjacent to the current client in a network layer;
[0017] Upon receiving the necessary information sent by the neighboring client node, starting a blockchain user authentication service based on the necessary information to perform the steps of cutting and packaging the login request into a message body waiting for consensus, and encapsulating a digital signature on the message body as an initial block.
[0018] Optionally, the step of receiving the verification response result of the client node to the login request and completing user authentication and logging into the target browser when detecting that the verification response result meets the preset consensus mechanism standard comprises:
[0019] Upon receiving the target block generated by the client node after the initial block is verified, the target block is taken as the verification response result, and it is determined whether the number of the target block is greater than or equal to a preset minimum consensus number;
[0020] If yes, it is determined that the verification response result meets the preset consensus mechanism standard, so as to complete user authentication and log into the target browser.
[0021] Optionally, after the step of determining whether the number of the target block is greater than or equal to a preset minimum consensus number, the method further comprises:
[0022] If no, it is determined that the verification response result does not meet the preset consensus mechanism standard, and a prompt information that the user authentication of the blockchain fails is generated and output.
[0023] Optionally, before the step of determining whether the browser service end of the target browser responds to the login request when the current client sends a login request to the target browser, the method further comprises:
[0024] Upon receiving the blockchain consensus broadcast containing the encryption configuration information sent by the browser service end, the encryption configuration information is acquired;
[0025] After the encryption configuration information is decrypted, the basic configuration information is obtained, and the basic configuration information is used for local deployment of the blockchain user authentication configuration.
[0026] Optionally, the step of determining whether the browser service end of the target browser responds to the login request when the current client sends a login request to the target browser comprises:
[0027] Upon sending a login request to the target browser, an authentication handshake channel is established to the browser service end based on the login request;
[0028] After multiple handshakes are performed between the browser client and the browser service end based on the authentication handshake channel, it is determined whether the browser client responds;
[0029] If yes, it is determined that the browser service end of the target browser responds to the login request;
[0030] If no, it is determined that the browser service end of the target browser does not respond to the login request.
[0031] Optionally, after the step of judging whether the browser service end of the target browser responds to the login request, the method further comprises:
[0032] If the browser service end of the target browser responds to the login request, user authentication is performed based on the regular user authentication service of the browser service end.
[0033] Optionally, the current client comprises a blockchain configuration architecture.
[0034] Further, to achieve the above-mentioned purpose, the application further provides a user authentication method based on a blockchain, which is applied to a browser service end, and the user authentication method based on the blockchain comprises:
[0035] obtaining basic configuration information required for blockchain user authentication, and performing local deployment of blockchain user authentication configuration using the basic configuration information;
[0036] encrypting the basic configuration information to generate encrypted configuration information, and sending a blockchain consensus broadcast containing the encrypted configuration information to a client node participating in blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encrypted configuration information.
[0037] Optionally, after the step of encrypting the basic configuration information to generate encrypted configuration information, and sending a blockchain consensus broadcast containing the encrypted configuration information to a client node participating in blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encrypted configuration information, the method further comprises:
[0038] when receiving a configuration change instruction, obtaining configuration change information determined based on the configuration change instruction;
[0039] using the configuration change information to change the basic configuration information, so as to use the changed basic configuration information as new basic configuration information.
[0040] Optionally, the step of obtaining configuration change information determined based on the configuration change instruction when receiving the configuration change instruction comprises:
[0041] when receiving the configuration change instruction, obtaining identity information in the configuration change instruction, and authenticating the identity information;
[0042] when detecting that the authentication of the identity information is passed, obtaining configuration change information in the configuration change instruction.
[0043] Optionally, the basic configuration information at least includes: client range information participating in the blockchain user authentication, a minimum consensus number of the blockchain user authentication, an update frequency of the blockchain user authentication, and / or encryption configuration information of the blockchain user authentication.
[0044] Optionally, the browser server comprises a blockchain configuration architecture.
[0045] In addition, to achieve the above-mentioned purpose, the application further provides a user authentication system based on a blockchain, which comprises a current client and a browser server, and the user authentication system based on the blockchain realizes the following steps:
[0046] The browser server acquires basic configuration information required for the blockchain user authentication, and uses the basic configuration information to perform local deployment of the blockchain user authentication configuration;
[0047] The browser server performs encryption processing on the basic configuration information to generate encryption configuration information, and sends a blockchain consensus broadcast comprising the encryption configuration information to a client node participating in the blockchain user authentication, so that the client node performs local deployment of the blockchain user authentication configuration based on the encryption configuration information;
[0048] The current client judges whether the browser server of the target browser responds to the login request when the current client sends the login request to the target browser, wherein the current client and the browser server have both completed the blockchain user authentication configuration;
[0049] If the browser server does not respond to the login request, the current client sends a user authentication broadcast comprising the login request to a client node participating in the blockchain user authentication, so that the client node performs consensus verification on the login request;
[0050] The current client receives a verification response result of the client node on the login request, and completes user authentication and logs in the target browser when detecting that the verification response result meets a preset consensus mechanism standard.
[0051] In addition, to achieve the above-mentioned purpose, the application further provides a user authentication device based on a blockchain, which is arranged in a current client, and the user authentication device based on the blockchain comprises:
[0052] A response judging module is configured to judge whether a browser server of a target browser responds to a login request when a current client sends the login request to the target browser, wherein the current client and the browser server have both completed the blockchain user authentication configuration;
[0053] The consensus verification module is configured to, if the browser server does not respond to the login request, send a user authentication broadcast containing the login request to a client node participating in blockchain user authentication, so that the client node performs consensus verification on the login request.
[0054] The authentication login module is configured to receive a verification response result of the login request by the client node, and complete user authentication and log in to the target browser if it is detected that the verification response result meets a preset consensus mechanism standard.
[0055] Optionally, the login request includes a first login request.
[0056] The consensus verification module includes:
[0057] The node judgment unit is configured to, if the browser server does not respond to the first login request, acquire return data from a cache of the browser server based on the first login request, and determine whether the current client is the client node according to the return data.
[0058] The data pulling unit is configured to, if the current client is the client node, pull user authentication data from a regular user authentication service of the browser server and encrypt the user authentication data, so as to start a blockchain user authentication service by using the encrypted user authentication data.
[0059] The cutting and packaging unit is configured to cut and package the login request into a message body waiting for consensus, and encapsulate a digital signature of the message body as an initial block.
[0060] The block verification unit is configured to broadcast the initial block to other client nodes participating in blockchain user authentication in a whole network, so that the other client nodes verify the initial block.
[0061] Optionally, after the step of determining whether the current client is the client node according to the return data, the method further includes:
[0062] If the current client is not the client node, the method further includes:
[0063] requesting necessary information required for starting the blockchain user authentication service from a neighboring client node participating in blockchain user authentication and being adjacent to the current client in a network layer.
[0064] Optionally, the authentication login module includes:
[0065] The quantity determination unit is configured to, when receiving a target block generated by the client node after the initial block passes the verification, take the target block as the verification response result, and determine whether the quantity of the target block is greater than or equal to a preset minimum consensus number.
[0066] The quantity determination unit is configured to, if yes, determine that the verification response result meets a preset consensus mechanism standard, to complete user authentication and log in to the target browser.
[0067] Optionally, after the step of determining whether the quantity of the target block is greater than or equal to a preset minimum consensus number, the method further includes:
[0068] If no, it is determined that the verification response result does not meet the preset consensus mechanism standard, and prompt information that the user authentication of the block chain fails is generated and output.
[0069] Optionally, the user authentication device based on the block chain further includes:
[0070] The information acquisition module is configured to, when receiving the block chain consensus broadcast containing the encryption configuration information sent by the browser server, acquire the encryption configuration information.
[0071] The local deployment module is configured to, after decrypting the encryption configuration information, obtain basic configuration information, and use the basic configuration information for local deployment of the block chain user authentication configuration.
[0072] Optionally, the response determination module includes:
[0073] The authentication handshake unit is configured to, when the current client sends a login request to the target browser, establish an authentication handshake channel with the browser server based on the login request.
[0074] The handshake determination unit is configured to, after multiple handshakes with the browser client based on the authentication handshake channel, determine whether the browser client responds.
[0075] The handshake determination unit is configured to, if yes, determine that the browser server of the target browser responds to the login request.
[0076] If no, it is determined that the browser server of the target browser does not respond to the login request.
[0077] Optionally, the user authentication device based on the block chain further includes:
[0078] The conventional authentication module is configured to, if the browser server of the target browser responds to the login request, perform user authentication based on the conventional user authentication service of the browser server.
[0079] Optionally, the current client comprises a blockchain configuration architecture.
[0080] Further, to achieve the above object, the application further provides a user authentication device based on a blockchain, which is arranged on a browser server and comprises:
[0081] a local deployment module, configured to acquire basic configuration information required for blockchain user authentication and perform local deployment of blockchain user authentication configuration by using the basic configuration information;
[0082] a configuration broadcast module, configured to perform encryption processing on the basic configuration information to generate encrypted configuration information, and send a blockchain consensus broadcast containing the encrypted configuration information to a client node participating in the blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encrypted configuration information.
[0083] Optionally, after the step of performing encryption processing on the basic configuration information to generate encrypted configuration information, and sending a blockchain consensus broadcast containing the encrypted configuration information to a client node participating in the blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encrypted configuration information, the method further comprises:
[0084] when receiving a configuration change instruction, acquiring configuration change information determined based on the configuration change instruction;
[0085] using the configuration change information to change the basic configuration information, so as to take the changed basic configuration information as new basic configuration information.
[0086] Optionally, the step of acquiring configuration change information determined based on the configuration change instruction when receiving the configuration change instruction comprises:
[0087] when receiving the configuration change instruction, acquiring identity information in the configuration change instruction and authenticating the identity information;
[0088] when detecting that the authentication of the identity information is passed, acquiring configuration change information in the configuration change instruction.
[0089] Optionally, the basic configuration information at least comprises client range information participating in the blockchain user authentication, a minimum consensus number of the blockchain user authentication, an update frequency of the blockchain user authentication and / or encrypted configuration information of the blockchain user authentication.
[0090] Optionally, the browser server comprises a blockchain configuration architecture.
[0091] In addition, to achieve the above object, the present application also provides a user authentication device based on a block chain, comprising a current client, a memory, a processor and a user authentication program based on a block chain stored on the memory and executable on the processor, the user authentication program based on a block chain implements the steps of the user authentication method based on a block chain as described above when executed by the processor.
[0092] In addition, to achieve the above object, the present application also provides a user authentication device based on a block chain, comprising a current client, a memory, a processor and a user authentication program based on a block chain stored on the memory and executable on the processor, the user authentication program based on a block chain implements the steps of the user authentication method based on a block chain as described above when executed by the processor.
[0093] In addition, to achieve the above object, the present application also provides a computer readable storage medium, which stores a user authentication program based on a block chain, the user authentication program based on a block chain implements the steps of the user authentication method based on a block chain as described above when executed by a processor.
[0094] In addition, to achieve the above object, the present application also provides a computer readable storage medium, which stores a user authentication program based on a block chain, the user authentication program based on a block chain implements the steps of the user authentication method based on a block chain as described above when executed by a processor.
[0095] This invention provides a blockchain-based user authentication method, device, and computer-readable storage medium. The blockchain-based user authentication method determines whether the browser server of the target browser responds to the login request when the current client sends it to the target browser, wherein both the current client and the browser server have completed blockchain user authentication configuration. If the browser server does not respond to the login request, a user authentication broadcast containing the login request is sent to the client nodes participating in the blockchain user authentication, allowing the client nodes to perform consensus verification of the login request. The verification response result from the client nodes is received, and if the verification response result meets the preset consensus mechanism standard, user authentication is completed and the user logs into the target browser. Through this method, this invention utilizes blockchain technology to deploy the browser user authentication system, which originally required centralized management, as a shared database within each browser client. When the centralized server becomes unresponsive, the client nodes participating in the blockchain user authentication verify the login request, and upon successful verification, the user logs in, ensuring normal business operation and thus solving the technical problem of being unable to complete user authentication when the browser server is unresponsive. Especially in large-scale enterprises, when the enterprise browser server experiences unpredictable unresponsiveness, the use of blockchain user authentication can significantly reduce the number of times the enterprise browser cannot be used due to login failures. This improves the disaster recovery architecture for enterprise browser business user authentication login. Enterprise browser vendors can also restore the server when this disaster recovery is temporarily effective, thereby improving user experience and reducing the risk of being sued for breach of contract by users. Attached Figure Description
[0096] Figure 1 This is a schematic diagram of the hardware operating environment of the blockchain-based user authentication device involved in the embodiments of the present invention;
[0097] Figure 2 This is a flowchart illustrating the first embodiment of the blockchain-based user authentication method of the present invention;
[0098] Figure 3 This is a flowchart illustrating the third embodiment of the blockchain-based user authentication method of the present invention.
[0099] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0100] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0101] like Figure 1 As shown,Figure 1 is a schematic diagram of a hardware operating environment of an embodiment of the present application.
[0102] The blockchain-based user authentication device of the embodiment of the present application is a terminal device, which can be specifically a server, a personal computer, a tablet, a smart phone, etc.
[0103] As shown in Figure 1 , the blockchain-based user authentication device can include a processor 1001, such as a CPU, a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to realize the connection and communication between these components. The optional user interface 1003 can include a standard wired interface and a wireless interface. The network interface 1004 can optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 can be a high-speed RAM memory or a stable memory (non-volatile memory). The memory 1005 can also be a storage device independent of the aforementioned processor 1001.
[0104] Those skilled in the art can understand that Figure 1 the structure of the blockchain-based user authentication device shown in does not constitute a limitation on the blockchain-based user authentication device, and can include more or fewer components than shown, or combine certain components, or different component arrangements.
[0105] Figure 1 As shown in , the memory 1005, as a computer storage medium, can include an operating system, a network communication module, a user interface module, and a blockchain-based user authentication program.
[0106] Figure 1 In the blockchain-based user authentication device shown in , the network interface 1004 is mainly used to connect a background server and communicate data with the background server; the user interface 1003 is mainly used to connect a client (user end) and communicate data with the client; and the processor 1001 can be used to call the blockchain-based user authentication program stored in the memory 1005 and perform the following operations:
[0107] When the current client sends a login request to a target browser, it is determined whether the browser server of the target browser responds to the login request, wherein the current client and the browser server have completed the blockchain user authentication configuration;
[0108] if the browser server does not respond to the login request, sending a user authentication broadcast containing the login request to a client node participating in blockchain user authentication, so that the client node performs consensus verification on the login request;
[0109] receiving a verification response result of the client node on the login request, and completing user authentication and logging into the target browser when it is detected that the verification response result meets the preset consensus mechanism standard.
[0110] Further, the login request includes a first login request,
[0111] The step of sending a user authentication broadcast containing the login request to a client node participating in blockchain user authentication, so that the client node performs consensus verification on the login request, if the browser server does not respond to the login request, includes:
[0112] If the browser server does not respond to the first login request, return data is obtained from the cache of the browser server based on the first login request, and it is judged whether the current client is the client node according to the return data;
[0113] If the current client is the client node, user authentication data is pulled from the regular user authentication service of the browser server and encrypted, and the blockchain user authentication service is started using the encrypted user authentication data;
[0114] The login request is cut and packaged into a message body waiting for consensus, and a digital signature is encapsulated on the message body to serve as an initial block;
[0115] The initial block is broadcast to other client nodes participating in blockchain user authentication to other client nodes participating in blockchain user authentication, so that the other client nodes perform verification on the initial block.
[0116] Further, after the step of judging whether the current client is the client node according to the return data, the processor 1001 can be used to call the blockchain-based user authentication program stored in the memory 1005, and perform the following operations:
[0117] If the current client is not the client node, request the necessary information required to start the blockchain user authentication service from the adjacent client node participating in the blockchain user authentication adjacent to the current client in the network layer;
[0118] Upon receiving the necessary information sent by the adjacent client node, a blockchain user authentication service is started based on the necessary information to perform the steps of cutting and packaging the login request into a message body waiting for consensus, and encapsulating a digital signature for the message body as an initial block.
[0119] Further, the step of receiving the verification response result of the login request of the client node and completing user authentication and logging into the target browser when it is detected that the verification response result meets the preset consensus mechanism standard includes:
[0120] Upon receiving the target block generated by the client node after passing the initial block check, the target block is taken as the verification response result, and it is determined whether the number of target blocks is greater than or equal to a preset minimum consensus number;
[0121] If yes, it is determined that the verification response result meets the preset consensus mechanism standard to complete user authentication and log into the target browser.
[0122] Further, after the step of determining whether the number of target blocks is greater than or equal to a preset minimum consensus number, the processor 1001 can be configured to call the blockchain-based user authentication program stored in the memory 1005 and perform the following operations:
[0123] If no, it is determined that the verification response result does not meet the preset consensus mechanism standard, and a prompt information of failed blockchain user authentication is generated and output.
[0124] Further, before the step of determining whether the browser service end of the target browser responds to the login request when the current client sends a login request to the target browser, the processor 1001 can be configured to call the blockchain-based user authentication program stored in the memory 1005 and perform the following operations:
[0125] Upon receiving the blockchain consensus broadcast containing the encryption configuration information sent by the browser service end, the encryption configuration information is obtained;
[0126] The encryption configuration information is decrypted to obtain basic configuration information, and the blockchain user authentication configuration is deployed locally using the basic configuration information.
[0127] Further, the step of determining whether the browser service end of the target browser responds to the login request when the current client sends a login request to the target browser includes:
[0128] Upon receiving the blockchain consensus broadcast containing the encryption configuration information sent by the browser service end, the encryption configuration information is obtained;
[0129] after a plurality of handshakes between the authentication handshake channel and the browser client, determining whether the browser client responds;
[0130] If yes, determining that the browser server of the target browser responds to the login request;
[0131] If no, determining that the browser server of the target browser does not respond to the login request.
[0132] Further, after the step of determining whether the browser server of the target browser responds to the login request, the processor 1001 can be configured to invoke the blockchain-based user authentication program stored in the memory 1005 and perform the following operations:
[0133] If the browser server of the target browser responds to the login request, performing user authentication based on the regular user authentication service of the browser server.
[0134] Further, the current client includes a blockchain configuration architecture.
[0135] Further, the processor 1001 can be configured to invoke the blockchain-based user authentication program stored in the memory 1005 and perform the following operations:
[0136] Obtaining basic configuration information required for blockchain user authentication, and using the basic configuration information to perform local deployment of blockchain user authentication configuration;
[0137] Encrypting the basic configuration information to generate encrypted configuration information, and sending a blockchain consensus broadcast containing the encrypted configuration information to a client node participating in blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encrypted configuration information.
[0138] Further, after the step of encrypting the basic configuration information to generate encrypted configuration information, and sending a blockchain consensus broadcast containing the encrypted configuration information to a client node participating in blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encrypted configuration information, the processor 1001 can be configured to invoke the blockchain-based user authentication program stored in the memory 1005 and perform the following operations:
[0139] Upon receiving a configuration change instruction, obtaining configuration change information determined based on the configuration change instruction;
[0140] Using the configuration change information to change the basic configuration information, so as to use the changed basic configuration information as new basic configuration information.
[0141] Further, the step of obtaining configuration change information determined based on the configuration change instruction when the configuration change instruction is received comprises:
[0142] When the configuration change instruction is received, identity information in the configuration change instruction is obtained, and the identity information is authenticated.
[0143] When it is detected that the identity information authentication is passed, configuration change information in the configuration change instruction is obtained.
[0144] Further, the basic configuration information at least includes: client range information participating in blockchain user authentication, minimum consensus number of blockchain user authentication, update frequency of blockchain user authentication, and / or encryption configuration information of blockchain user authentication.
[0145] Further, the browser server end comprises a blockchain configuration architecture.
[0146] Based on the above hardware structure, various embodiments of the user authentication method based on the blockchain are proposed.
[0147] A browser is an application program used to retrieve, display, and deliver Web information resources. Generally, a browser does not need to have a user system, but as the use scenarios of the browser become more and more, many browser manufacturers have added a user system, and the browser favorites, history records, browser configurations, etc. are stored in the cloud after being encrypted, so that the original browser related information and configurations can be quickly synchronized after the user changes the use environment, and good user experience is obtained. The browser user system is established under a server / client (C / S, Client / Server) architecture, and the Client sends user account password information to the Server, and performs verification with the Server to complete the user authentication business.
[0148] In the browser user authentication scenario, if the server does not respond, the user authentication will fail, the user related information and the browser configuration cannot be synchronized to the local, and the user experience is poor. In the enterprise browser business, if the enterprise browser administrator sets that “the user must log in to use the enterprise browser”, when the management platform server appears unpredictable non-response, the enterprise browser user cannot complete the user authentication with the server end, and then cannot use the enterprise browser, which will cause a great business gap before the server business is restored, and also will cause a breach risk to the enterprise browser manufacturer. Therefore, the above situations all lead to the technical problem that the user authentication cannot be completed when the browser server end does not respond.
[0149] To solve the above technical problems, the application provides a user authentication method based on a block chain, that is, using the block chain technology, the browser user authentication system originally requiring centralized management is deployed in each browser client by the block chain to form a shared database. When the centralized server is unresponsive, the client nodes participating in the block chain user authentication verify the login request, and complete user login when the verification is passed, thereby ensuring normal operation of the business, and solving the technical problem that user authentication cannot be completed when the browser server is unresponsive. Especially in large-scale enterprises, when the enterprise browser server is unresponsive, the block chain user authentication can greatly reduce the situation that the enterprise browser cannot be used due to login failure, improve the disaster recovery architecture of the enterprise browser business user authentication login, and the enterprise browser manufacturer can perform server recovery in the case of temporary disaster recovery, improve user experience, and reduce the risk of user breach claims.
[0150] Reference Figure 2 , Figure 2 The flowchart of the first embodiment of the user authentication method based on a block chain.
[0151] The first embodiment of the application provides a user authentication method based on a block chain, which comprises the following steps:
[0152] Step S10, when the current client sends a login request to the target browser, judging whether the browser server of the target browser responds to the login request, wherein the current client and the browser server have completed the block chain user authentication configuration;
[0153] In the embodiment, the user authentication method based on a block chain is applied to the current client. The current client is a browser client that intends to log in to the target browser, and the number of the current client is not limited in the embodiment, and the current client can be a terminal device such as a personal computer, a tablet computer, a mobile phone, etc. that can interact with the server. It should be noted that, in order to realize the deployment of the user authentication system in each browser client by the block chain, the current client in the application uses a basic block chain architecture, which includes a consensus layer, a network layer, a data layer, a contract layer, an incentive layer and an application layer. The browser server is the management platform server of the target browser. The browser server also includes a basic block chain architecture. And the current client and the browser server have completed the block chain user authentication configuration. The basic configuration of the block chain user authentication configuration can include whether to start the block chain user authentication, the range of the client participating in the block chain user authentication, the minimum consensus number of the block chain user authentication, the update frequency of the block chain user authentication and the encryption configuration of the block chain user authentication, etc.
[0154] The current client which has completed the blockchain user authentication configuration establishes a user authentication handshake channel with the browser server of the target browser which has completed the blockchain user authentication configuration when sending a login request to the target browser, and performs multiple handshakes with the browser server to determine whether the browser server responds.
[0155] In step S20, if the browser server does not respond to the login request, a user authentication broadcast containing the login request is sent to the client node participating in the blockchain user authentication for consensus verification of the login request.
[0156] In this embodiment, the user authentication broadcast is a request consensus broadcast sent by the current client to all client nodes participating in the blockchain user authentication in the network layer when the browser server does not respond based on the blockchain user authentication system.
[0157] If the current client determines that the browser server does not respond after multiple handshakes with the browser server, the blockchain user authentication service is triggered. The current client cuts and packages the login request into a message body waiting for consensus as an initial block, and encapsulates the digital signature of the current client for the initial block. The current client broadcasts the initial block encapsulated with its digital signature to other client nodes participating in the blockchain user authentication. When other client nodes receive the consensus broadcast sent by the current client, they will perform a series of verifications on the initial block, such as whether the block data format is correct, whether the block timestamp is within the allowed range, and whether the transaction in the block is valid. If other client nodes determine that all checks pass after a series of verifications on the target block, they encapsulate the digital signature of other client nodes for the initial block as a target block.
[0158] In step S30, the verification response result of the client node for the login request is received, and when it is detected that the verification response result meets the preset consensus mechanism standard, the user authentication is completed and the target browser is logged in.
[0159] In this embodiment, the preset consensus mechanism standard can be the minimum number of blockchain user authentication consensus set by the browser server during the configuration of the blockchain user authentication service, or a consensus passing standard corresponding to a different node consensus mechanism. The consensus mechanism can use Proof of Work (POW), Proof of Stake (POS), Practical Byzantine Fault Tolerance (PBFT), etc., which is not limited in this embodiment.
[0160] After the initial block is verified by other client nodes in the stage, the other client nodes generate target blocks based on the initial block and return the target blocks to the current client. After receiving the target blocks sent by the other client nodes in the network layer, the current client checks the target blocks and determines whether the target blocks that pass the check meet the preset consensus mechanism standard. For example, it is determined whether the number of target blocks that pass the check is greater than or equal to the minimum consensus number preset by the browser server. If the number of target blocks that pass the check is greater than or equal to the minimum consensus number preset by the browser server, it is determined that the blockchain user authentication is passed, and the current client can write the target blocks that pass the check into a local data block file and a database, and successfully log in to the target browser to obtain a business such as a configuration strategy, so as to ensure that the business can still run normally when the target browser does not respond. If the number of target blocks that pass the check is less than the minimum consensus number preset by the browser server, it indicates that the current client does not pass the blockchain user authentication, and the current client cannot log in to the target browser.
[0161] It should be noted that the current client can be a client node participating in the blockchain user authentication or a client not participating in the blockchain user authentication. When the current client is a client not participating in the blockchain user authentication, the current client can obtain necessary blockchain user authentication information from adjacent client nodes participating in the blockchain user authentication in the network layer, and send a consensus broadcast to the client nodes participating in the blockchain user authentication based on the information.
[0162] In the embodiment, when a current client sends a login request to a target browser, it is judged whether a browser server of the target browser responds to the login request, wherein the current client and the browser server have completed blockchain user authentication configuration; if the browser server does not respond to the login request, a user authentication broadcast containing the login request is sent to a client node participating in blockchain user authentication, so that the client node performs consensus verification on the login request; a verification response result of the client node on the login request is received, and when it is detected that the verification response result meets a preset consensus mechanism standard, user authentication is completed and the target browser is logged in. Through the above manner, the blockchain technology is used to deploy the browser user authentication system originally requiring centralized management in each browser client to form a shared database. When the centralized server is unresponsive, the login request is verified by the client node participating in blockchain user authentication, and user login is completed when the verification is passed, so that the business runs normally, thereby solving the technical problem that user authentication cannot be completed when the browser server is unresponsive. Especially in large enterprises, when the enterprise browser server is unresponsive, the setting of blockchain user authentication can greatly reduce the situation that the enterprise browser cannot be used due to login failure, improve the disaster recovery architecture of enterprise browser business user authentication login, and the enterprise browser manufacturer can also recover the server in the case of temporary disaster recovery, improve user experience, and reduce the risk of user breach claims.
[0163] Further, based on the above Figure 2 According to the first embodiment shown in the first embodiment, a second embodiment of the user authentication method based on the blockchain of the present application is proposed, in which the login request includes a first login request, and step S20 includes:
[0164] If the browser server does not respond to the first login request, return data is obtained from the cache of the browser server based on the first login request, and it is judged whether the current client is the client node according to the return data;
[0165] If the current client is the client node, user authentication data is pulled from the regular user authentication service of the browser server and encrypted, so that the blockchain user authentication service is started using the encrypted user authentication data;
[0166] In the embodiment, if the current client is still not responded after multiple handshakes with the browser server, the current client obtains the return data from the Redis (a kind of database) cache in the browser server. The return data includes the identity information of the client node participating in the blockchain user authentication, such as user account, password, email, IP address, etc. When the current client obtains the return data stored in the cache of the browser server, it matches the local identity information with the identity information contained in the return data to determine whether the current client is the client node participating in the blockchain user authentication. If the current client determines itself as the client node participating in the blockchain user authentication after matching, it pulls the user authentication data from the original regular user authentication business of the browser server and encrypts the user authentication data. The current client starts the locally deployed blockchain user authentication service based on the encrypted user authentication data.
[0167] The login request is cut and packaged into a message body waiting for consensus, and a digital signature is encapsulated for the message body as an initial block.
[0168] The initial block is broadcast to other client nodes participating in blockchain user authentication for verification by the other client nodes.
[0169] In the embodiment, as a common technical means in blockchain technology, the current client cuts and packages the current login request into a message body waiting for consensus according to a preset initial mechanism, and encapsulates a digital signature of the current client as an initial block. The current client broadcasts the initial block encapsulated with the local data signature to all network layers except itself. After receiving the broadcast, the other client nodes obtain the initial block and verify it, such as verifying whether the block data format is correct, whether the block timestamp is within the allowed range, and whether the transaction in the block is valid. If the initial block passes a series of verifications of a certain other client node, the other client node can encapsulate a digital signature of the end as a target block for the initial block, and return the target block to the current client.
[0170] Further, in the embodiment, after the step of determining whether the current client is the client node according to the return data, the method further comprises:
[0171] If the current client is not the client node, the method further comprises:
[0172] Upon receiving the necessary information sent by the adjacent client node, a blockchain user authentication service is initiated based on the necessary information to perform the steps of cutting and packing the login request into a message body waiting for consensus, and encapsulating a digital signature for the message body as an initial block.
[0173] In the present embodiment, if the current client determines that it is not a client node participating in the blockchain user authentication after matching its own identity information with the identity information contained in the returned data, it requests the adjacent client node closest to itself in the network layer and participating in the blockchain user authentication to provide the necessary information required to initiate the blockchain user authentication service. The current client not participating in the blockchain user authentication initiates the blockchain user authentication service through the necessary information to broadcast consensus verification to the client nodes participating in the blockchain user authentication in the network layer. The specific steps are the same as above.
[0174] Further, in the present embodiment, step S30 comprises:
[0175] Upon receiving the target block generated by the client node after passing the initial block verification, the target block is taken as the verification response result, and it is determined whether the number of target blocks is greater than or equal to a preset minimum consensus number;
[0176] If yes, it is determined that the verification response result meets the preset consensus mechanism standard, completing user authentication and logging into the target browser.
[0177] Further, after the step of determining whether the number of target blocks is greater than or equal to a preset minimum consensus number, the method further comprises:
[0178] If no, it is determined that the verification response result does not meet the preset consensus mechanism standard, and a prompt information of failed blockchain user authentication is generated and output.
[0179] In the embodiment, the current client determines whether the number of target blocks returned by the client nodes participating in the blockchain user authentication in the network layer is greater than or equal to the preset minimum consensus number. For example, if the current network layer includes 500 client nodes participating in the blockchain user authentication in the current client, and the preset minimum consensus number is 251, the current client determines whether the number of target blocks returned by the client nodes is greater than or equal to 251. If the current client determines that the number of target blocks is greater than or equal to the preset minimum consensus number, that is, the current client passes the blockchain user authentication and is allowed to log in to the target browser, the current client can complete the user authentication and open the target browser. If the current client determines that the number of target blocks is less than the preset minimum consensus number, that is, the current client does not pass the blockchain user authentication and does not have the permission to log in to the target browser, the current client generates and outputs a prompt information that the blockchain user authentication fails.
[0180] Further, by providing the way that the current client participating in the blockchain user authentication and the current client not participating in the blockchain user authentication perform the blockchain user authentication when the target browser does not respond when the current client logs in to the target browser for the first time, the current client logging in to the target browser can perform the blockchain user authentication, and the situation that the user cannot log in to the target browser when the target browser does not respond due to unknown reasons is avoided. The determination of the blockchain user authentication result by the preset minimum consensus number makes the determination process simpler and easier.
[0181] Further, based on the above Figure 2 The third embodiment of the blockchain-based user authentication method of the present application is provided based on the first embodiment shown in the above.
[0182] When the browser service end sends the blockchain consensus broadcast containing the encryption configuration information, the encryption configuration information is obtained.
[0183] The basic configuration information is obtained after the encryption configuration information is decrypted, and the local deployment of the blockchain user authentication configuration is performed by using the basic configuration information.
[0184] In the embodiment, after the browser server completes the local deployment of the blockchain user authentication configuration, the browser server encrypts the basic configuration information and then sends the encrypted basic configuration information to all client nodes participating in the blockchain user authentication in the network layer through broadcasting. After receiving the broadcasting, the client nodes decrypt the encrypted basic configuration information and perform the local initialization deployment of the blockchain user authentication based on the basic configuration information. The basic configuration information specifically includes whether to start the blockchain user authentication, the blockchain consensus range, the minimum number of blockchain consensus, the blockchain user authentication update frequency, the encryption configuration of the blockchain user authentication, and the like.
[0185] Further, the step S10 comprises:
[0186] When the current client sends a login request to the target browser, an authentication handshake channel is established to the browser server based on the login request;
[0187] After multiple handshakes are performed between the current client and the browser client based on the authentication handshake channel, it is determined whether the browser client responds.
[0188] If yes, it is determined that the browser server of the target browser responds to the login request.
[0189] If no, it is determined that the browser server of the target browser does not respond to the login request.
[0190] In the embodiment, the current client sends a login request to the target browser and establishes an authentication handshake channel to the browser server based on the login request. After multiple handshakes are performed between the current client and the browser client based on the authentication handshake channel, it is determined whether the browser client responds. If the browser server responds, the current client determines that the browser server of the target browser responds to the login request. If the browser server does not respond, the current client determines that the browser server of the target browser does not respond to the login request.
[0191] Further, in the embodiment, after the step of determining whether the browser server of the target browser responds to the login request, the method further comprises:
[0192] If the browser server of the target browser responds to the login request, a user authentication is performed based on the regular user authentication service of the browser server.
[0193] In the embodiment, the browser server supports two user authentication services, one is a blockchain user authentication service applied to the case of no response, and the other is a general user authentication service applied to the case of normal response. When the current client sends a login request to the browser server, and the browser server normally responds to the login request, the browser server calls the general user authentication service to perform user authentication on the current client.
[0194] Further, the local deployment of the blockchain user authentication by receiving the basic configuration information of the browser server makes the client and the server complete consistent blockchain user authentication configuration, so that the subsequent login request in the case of browser non-response can be verified directly by using the blockchain user authentication mode; and when the browser server normally responds to the login request of the client, the general user authentication service is used to perform user authentication on the client, so that the application can reasonably combine the general user authentication service and the blockchain user authentication service, and improve the overall authentication efficiency of the browser server.
[0195] Further, the application further provides a blockchain-based user authentication method. Referring to Figure 3 , Figure 3 The flowchart of the third embodiment of the blockchain-based user authentication method is shown.
[0196] The third embodiment of the application provides a blockchain-based user authentication method, which comprises the following steps:
[0197] In step S40, the basic configuration information required for blockchain user authentication is obtained, and the local deployment of the blockchain user authentication configuration is performed by using the basic configuration information.
[0198] In the embodiment, the blockchain-based user authentication method is applied to the browser server. The administrator of the browser server can preconfigure the basic configuration of the blockchain user authentication of the browser. The administrator can create, modify, delete, and disable the basic configuration information. The browser server obtains the basic configuration information set by the administrator, stores it in the MySQL database, and updates the basic configuration information in the database according to the editing operation of the administrator. The browser client maps the basic configuration information stored in the database in JSON format and stores it in the Redis cache.
[0199] In step S50, the basic configuration information is encrypted to generate encrypted configuration information, and a blockchain consensus broadcast containing the encrypted configuration information is sent to the client node participating in the blockchain user authentication, so that the client node performs local deployment of the blockchain user authentication configuration based on the encrypted configuration information.
[0200] In the embodiment, the browser server encrypts the basic configuration information, and the specific encryption manner is not limited in the embodiment. The browser server broadcasts the encrypted configuration information to the client nodes participating in the blockchain user authentication in the network layer. The client nodes decrypt the encrypted configuration information after receiving the encrypted configuration information, and use the basic configuration information to perform the local initialization configuration of the blockchain user authentication. After the local deployment is completed, the client nodes return the deployment result and the state to the browser server.
[0201] In the embodiment, the basic configuration information required for the blockchain user authentication is further acquired, and the local deployment of the blockchain user authentication configuration is performed by using the basic configuration information. The basic configuration information is encrypted to generate encrypted configuration information, and the blockchain consensus broadcast containing the encrypted configuration information is sent to the client nodes participating in the blockchain user authentication, so that the client nodes perform the local deployment of the blockchain user authentication configuration based on the encrypted configuration information. Through the above manner, the local deployment of the blockchain user authentication configuration of the browser server and the client is performed in advance, so that when the client accesses the browser but the browser does not respond, the user authentication can be completed through the previously deployed blockchain user authentication service, thereby solving the technical problem that the user authentication cannot be completed when the browser server does not respond.
[0202] Further, based on the above Figure 2 According to the first embodiment, a fourth embodiment of the user authentication method based on the blockchain is provided. In the embodiment, after step S50, the following steps are further included.
[0203] When the configuration change instruction is received, configuration change information determined based on the configuration change instruction is acquired.
[0204] The basic configuration information is changed by using the configuration change information, and the changed basic configuration information is used as new basic configuration information.
[0205] In the embodiment, the basic configuration information can also be changed according to actual needs on the browser server. The administrator can issue a configuration change instruction to the browser server. When the configuration change instruction is received, the browser server acquires configuration change information determined based on the configuration change instruction, and changes the original basic configuration information by using the configuration change information, so that the changed basic configuration information is used as new basic configuration information.
[0206] Further, in the embodiment, the step of acquiring the configuration change information determined based on the configuration change instruction when the configuration change instruction is received includes:
[0207] Upon receiving the configuration change instruction, identity information in the configuration change instruction is acquired, and the identity information is authenticated;
[0208] Upon detecting that the identity information authentication passes, configuration change information in the configuration change instruction is acquired.
[0209] In the embodiment, only a user with administrator permission can change the basic configuration information on the browser server, and therefore an authentication operation needs to be added. Upon receiving the configuration change instruction, the browser server acquires identity information in the configuration change instruction, and authenticates the identity information. Upon detecting that the identity information authentication passes, the browser server acquires configuration change information in the configuration change instruction.
[0210] Further, in the embodiment, the basic configuration information at least includes client range information participating in blockchain user authentication, a minimum consensus number of blockchain user authentication, an update frequency of blockchain user authentication, and / or encryption configuration information of blockchain user authentication.
[0211] In the embodiment, the client range information participating in blockchain user authentication refers to a set of identity information of client nodes participating in blockchain user authentication in a network layer. The minimum consensus number of blockchain user authentication is a threshold value for judging whether blockchain user authentication passes. Only when data of consensus reached by the client nodes participating in blockchain user authentication is greater than or equal to the threshold value, it can be determined that the blockchain user authentication passes. The update frequency of blockchain user authentication refers to an update frequency of the client range participating in blockchain user authentication. For example, the number of client nodes currently in the range is 500, and the update frequency is one week. Then, on the update day, the browser server obtains the number of client nodes after the update as 510, and then the identity information of the newly added 10 client nodes is added to the original range information. The encryption configuration information of blockchain user authentication refers to a specific encryption method of blockchain user authentication, such as an asymmetric encryption algorithm, a secure hash algorithm, etc., which is not limited in the embodiment.
[0212] Further, by setting various basic configuration information on the browser server by the administrator, appropriate basic configuration information can be set according to actual needs, and the flexibility of the application is enhanced.
[0213] The application further provides a user authentication device based on a blockchain.
[0214] The blockchain-based user authentication device comprises a current client, a memory, a processor, and a blockchain-based user authentication program stored on the memory and executable on the processor, and the blockchain-based user authentication program, when executed by the processor, implements the steps of the blockchain-based user authentication method as described above.
[0215] The present application also provides a blockchain-based user authentication device.
[0216] The blockchain-based user authentication device comprises a browser service end, a memory, a processor, and a blockchain-based user authentication program stored on the memory and executable on the processor, and the blockchain-based user authentication program, when executed by the processor, implements the steps of the blockchain-based user authentication method as described above.
[0217] The present application also provides a computer readable storage medium.
[0218] The present application also provides a computer readable storage medium.
[0219] The present application also provides a computer readable storage medium.
[0220] The present application also provides a computer readable storage medium.
[0221] It should be noted that, in this document, the terms "comprising", "including", or any other variant thereof are intended to cover non-exclusive inclusions, so that a process, method, article, or system including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or further includes elements inherent to such a process, method, article, or system. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of other identical elements in the process, method, article, or system including the element.
[0222] The above-mentioned embodiment numbers of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments.
[0223] Those skilled in the art can clearly understand the above-mentioned embodiment method can be realized by means of software and the necessary general hardware platform, of course, can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application essentially or say the part of the prior art contribution can be embodied in the form of software products, which are stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, including a plurality of instructions to make a user authentication device based on the block chain to execute the method described in various embodiments of the present application.
[0224] The above is only the preferred embodiment of the present application, not the patent range of the present application, any equivalent structure or equivalent flow transformation made by using the content of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A blockchain-based user authentication method, characterized by, The blockchain-based user authentication method is applied to a current client, and the blockchain-based user authentication method comprises: When the current client sends a login request to a target browser, it is judged whether the browser server of the target browser responds to the login request, wherein the current client and the browser server have completed blockchain user authentication configuration, and the blockchain user authentication configuration comprises whether to start blockchain user authentication, the range of client nodes participating in blockchain user authentication, the minimum consensus number of blockchain user authentication, the update frequency of blockchain user authentication, and the encryption configuration of blockchain user authentication; If the browser server does not respond to the login request, a user authentication broadcast containing the login request is sent to the client nodes participating in the blockchain user authentication, so that the client nodes perform consensus verification on the login request; The verification response result of the client nodes to the login request is received, and when it is detected that the verification response result meets the preset consensus mechanism standard, the user authentication is completed and the target browser is logged in. 2.The blockchain-based user authentication method of claim 1, wherein, The login request comprises a first login request, The step of sending a user authentication broadcast containing the login request to the client nodes participating in the blockchain user authentication if the browser server does not respond to the login request, so that the client nodes perform consensus verification on the login request, comprises: If the browser server does not respond to the first login request, return data is obtained from the cache of the browser server based on the first login request, and it is judged whether the current client is the client node according to the return data; If the current client is the client node, the user authentication data is pulled from the regular user authentication service of the browser server and encrypted, and the encrypted user authentication data is used to start the blockchain user authentication service; The login request is cut and packaged into a message body waiting for consensus, and a digital signature is encapsulated on the message body to serve as an initial block; The initial block is broadcasted to other client nodes participating in the blockchain user authentication to perform verification on the initial block. 3.The blockchain-based user authentication method of claim 2, wherein, After the step of judging whether the current client is the client node according to the return data, the method further comprises: If the current client is not the client node, the necessary information required to start the blockchain user authentication service is requested from the adjacent client nodes participating in the blockchain user authentication adjacent to the current client in the network layer; When the necessary information sent by the adjacent client nodes is received, the blockchain user authentication service is started based on the necessary information to perform the steps of cutting and packaging the login request into a message body waiting for consensus, and encapsulating a digital signature on the message body to serve as an initial block. 4.The blockchain-based user authentication method of claim 2, wherein, The step of receiving the verification response result of the client nodes to the login request, and completing user authentication and logging into the target browser when it is detected that the verification response result meets the preset consensus mechanism standard, comprises: receive the target block generated by the client node after the initial block passes the check, take the target block as the verification response result, and determine whether the number of the target block is greater than or equal to a preset minimum consensus number; if yes, determine that the verification response result meets the preset consensus mechanism standard, complete user authentication, and log in to the target browser. 5.The blockchain-based user authentication method of claim 4, wherein, After the step of determining whether the number of the target block is greater than or equal to a preset minimum consensus number, the method further includes: if no, determine that the verification response result does not meet the preset consensus mechanism standard, and generate and output prompt information that the blockchain user authentication fails. 6.The blockchain-based user authentication method of claim 1, wherein, Before the step of determining whether the browser service end of the target browser responds to the login request when the current client sends a login request to the target browser, the method further includes: after receiving the blockchain consensus broadcast containing the encryption configuration information sent by the browser service end, obtaining the encryption configuration information; decrypting the encryption configuration information to obtain basic configuration information, and using the basic configuration information for local deployment of blockchain user authentication configuration. 7.The blockchain-based user authentication method of claim 1, wherein, The step of determining whether the browser service end of the target browser responds to the login request when the current client sends a login request to the target browser includes: after the current client sends a login request to the target browser, establishing an authentication handshake channel with the browser service end based on the login request; after multiple handshakes with the browser service end based on the authentication handshake channel, determining whether the browser service end responds; if yes, determining that the browser service end of the target browser responds to the login request; if no, determining that the browser service end of the target browser does not respond to the login request. 8.The blockchain-based user authentication method of any one of claims 1-7, wherein, After the step of determining whether the browser service end of the target browser responds to the login request, the method further includes: if the browser service end of the target browser responds to the login request, performing user authentication based on the regular user authentication service of the browser service end. 9.The blockchain-based user authentication method of claim 1, wherein, The current client contains a blockchain configuration architecture. 10.A blockchain-based user authentication method, characterized by, The blockchain-based user authentication method is applied to a browser service end, and the blockchain-based user authentication method includes: obtaining basic configuration information required for blockchain user authentication, and using the basic configuration information for local deployment of blockchain user authentication configuration; encrypting the basic configuration information to generate encryption configuration information, and sending a blockchain consensus broadcast containing the encryption configuration information to a client node participating in blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encryption configuration information. 11.The blockchain-based user authentication method of claim 10, wherein, After the step of encrypting the basic configuration information to generate encryption configuration information, and sending a blockchain consensus broadcast containing the encryption configuration information to a client node participating in blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encryption configuration information, the method further includes: after receiving a configuration change instruction, obtaining configuration change information determined based on the configuration change instruction; The configuration change information is used to change the basic configuration information, so as to obtain changed basic configuration information as new basic configuration information. 12.The blockchain-based user authentication method of claim 11, wherein, The step of obtaining configuration change information determined based on the configuration change instruction when the configuration change instruction is received comprises: When the configuration change instruction is received, identity information in the configuration change instruction is obtained, and the identity information is authenticated; When it is detected that the identity information authentication is passed, configuration change information in the configuration change instruction is obtained. 13.The blockchain-based user authentication method of claim 10, wherein, The basic configuration information at least comprises client range information participating in blockchain user authentication, minimum consensus number of blockchain user authentication, update frequency of blockchain user authentication, and / or encryption configuration information of blockchain user authentication. 14.The blockchain-based user authentication method of claim 10, wherein, The browser server comprises a blockchain configuration architecture.
15. A blockchain-based user authentication system, comprising a current client and a browser server, and implementing the following steps: The browser server obtains basic configuration information required for blockchain user authentication, and uses the basic configuration information for local deployment of blockchain user authentication configuration; The browser server encrypts the basic configuration information to generate encrypted configuration information, and sends a blockchain consensus broadcast comprising the encrypted configuration information to a client node participating in blockchain user authentication, so that the client node performs local deployment of blockchain user authentication configuration based on the encrypted configuration information; The current client judges whether the browser server of the target browser responds to the login request when sending the login request to the target browser, wherein The current client and the browser server have completed blockchain user authentication configuration; If the browser server does not respond to the login request, the current client sends a user authentication broadcast comprising the login request to a client node participating in blockchain user authentication, so that the client node performs consensus verification on the login request; The current client receives a verification response result of the client node on the login request, and completes user authentication and logs in the target browser when it is detected that the verification response result meets a preset consensus mechanism standard.
16. A blockchain-based user authentication device, which is arranged in a current client and comprises: A response judgment module is configured to judge whether a browser server of a target browser responds to a login request when the current client sends the login request to the target browser, wherein the current client and the browser server have completed blockchain user authentication configuration; A consensus verification module is configured to send a user authentication broadcast comprising the login request to a client node participating in blockchain user authentication if the browser server does not respond to the login request, so that the client node performs consensus verification on the login request; An authentication login module is configured to receive a verification response result of the client node on the login request, and complete user authentication and log in the target browser when it is detected that the verification response result meets a preset consensus mechanism standard.
17. The blockchain-based user authentication apparatus of claim 16, wherein, The login request comprises a first login request. The consensus verification module comprises: A node judgment unit is configured to, if the browser server does not respond to the first login request, acquire return data from the cache of the browser server based on the first login request, and judge whether the current client is the client node according to the return data; A data pulling unit is configured to, if the current client is the client node, pull user authentication data from a regular user authentication service of the browser server and encrypt the user authentication data, so as to start a blockchain user authentication service by using the encrypted user authentication data; A cutting and packaging unit is configured to cut and package the login request into a message body waiting for consensus, and encapsulate a digital signature for the message body as an initial block; A block verification unit is configured to broadcast the initial block to other client nodes participating in blockchain user authentication in a whole network, so that the other client nodes verify the initial block.
18. The blockchain-based user authentication apparatus of claim 17, wherein, After the step of judging whether the current client is the client node according to the return data, the method further comprises: If the current client is not the client node, requesting necessary information required for starting the blockchain user authentication service from a neighboring client node participating in the blockchain user authentication and adjacent to the current client in a network layer; When receiving the necessary information sent by the neighboring client node, starting the blockchain user authentication service based on the necessary information, so as to perform the steps of cutting and packaging the login request into a message body waiting for consensus, and encapsulating a digital signature for the message body as an initial block. 19.The blockchain-based user authentication apparatus of claim 17, wherein, The authentication login module comprises: A quantity judgment unit is configured to, when receiving a target block generated after the client node verifies the initial block, taking the target block as the verification response result, and judging whether the quantity of the target block is greater than or equal to a preset minimum consensus number; A quantity determination unit is configured to, if yes, determining that the verification response result meets a preset consensus mechanism standard, so as to complete user authentication and log in to the target browser. 20.The blockchain-based user authentication apparatus of claim 19, wherein, After the step of judging whether the quantity of the target block is greater than or equal to a preset minimum consensus number, the method further comprises: If no, determining that the verification response result does not meet the preset consensus mechanism standard, and generating and outputting prompt information that the blockchain user authentication is not passed.
21. The blockchain-based user authentication apparatus of claim 16, wherein, The blockchain-based user authentication device further comprises: An information acquisition module is configured to, when receiving a blockchain consensus broadcast containing encryption configuration information sent by the browser server, acquire the encryption configuration information; A local deployment module is configured to, after decrypting the encryption configuration information, obtain basic configuration information, and use the basic configuration information for local deployment of blockchain user authentication configuration.
22. The blockchain-based user authentication apparatus of claim 16, wherein, The response judgment module comprises: An authentication handshake unit is configured to, when a current client sends a login request to a target browser, establish an authentication handshake channel with the browser server based on the login request; A handshake judgment unit is configured to, after multiple handshakes with the browser server based on the authentication handshake channel, judge whether the browser server responds. The handshake determination unit is configured to determine that the browser server of the target browser responds to the login request if yes. The handshake determination unit is configured to determine that the browser server of the target browser does not respond to the login request if no.
23. The blockchain-based user authentication apparatus of any one of claims 16-22, wherein, The blockchain-based user authentication apparatus further comprises: The conventional authentication module is configured to perform user authentication based on a conventional user authentication service of the browser server if the browser server of the target browser responds to the login request.
24. The blockchain-based user authentication apparatus of claim 16, wherein, The current client comprises a blockchain configuration architecture. 25.A blockchain-based user authentication apparatus, which is arranged on a browser server, and comprises: The local deployment module is configured to acquire basic configuration information required for blockchain user authentication, and perform local deployment of blockchain user authentication configuration using the basic configuration information. The configuration broadcast module is configured to encrypt the basic configuration information to generate encrypted configuration information, and send a blockchain consensus broadcast containing the encrypted configuration information to client nodes participating in blockchain user authentication, so that the client nodes perform local deployment of blockchain user authentication configuration based on the encrypted configuration information.
26. The blockchain-based user authentication apparatus of claim 25, wherein, After the step of encrypting the basic configuration information to generate encrypted configuration information, and sending a blockchain consensus broadcast containing the encrypted configuration information to client nodes participating in blockchain user authentication, so that the client nodes perform local deployment of blockchain user authentication configuration based on the encrypted configuration information, the blockchain-based user authentication apparatus further comprises: Upon receiving a configuration change instruction, acquire configuration change information determined based on the configuration change instruction; Change the basic configuration information using the configuration change information, so as to use the changed basic configuration information as new basic configuration information.
27. The blockchain-based user authentication apparatus of claim 26, wherein, The step of acquiring configuration change information determined based on the configuration change instruction upon receiving the configuration change instruction comprises: Upon receiving the configuration change instruction, acquire identity information in the configuration change instruction, and authenticate the identity information; Upon detecting that the identity information authentication is passed, acquire configuration change information in the configuration change instruction.
28. The blockchain-based user authentication apparatus of claim 25, wherein, The basic configuration information at least comprises: client range information participating in blockchain user authentication, minimum consensus number of blockchain user authentication, update frequency of blockchain user authentication, and / or encrypted configuration information of blockchain user authentication.
29. The blockchain-based user authentication apparatus of claim 25, wherein, The browser server comprises a blockchain configuration architecture. 30.A blockchain-based user authentication device, characterized by, The blockchain-based user authentication device comprises a current client, a memory, a processor, and a blockchain-based user authentication program stored on the memory and executable on the processor, and the blockchain-based user authentication program, when executed by the processor, implements the steps of the blockchain-based user authentication method according to any one of claims 1 to 9. 31.A blockchain-based user authentication device, characterized by, The blockchain-based user authentication device comprises a browser server, a memory, a processor, and a blockchain-based user authentication program stored on the memory and executable on the processor, and the blockchain-based user authentication program, when executed by the processor, implements the steps of the blockchain-based user authentication method according to any one of claims 10 to 14.
32. A computer-readable storage medium, comprising: The computer readable storage medium stores a blockchain-based user authentication program, and the blockchain-based user authentication program, when executed by the processor, implements the steps of the blockchain-based user authentication method according to any one of claims 1 to 9.
33. A computer-readable storage medium, comprising: The computer readable storage medium stores a blockchain-based user authentication program, and the blockchain-based user authentication program, when executed by the processor, implements the steps of the blockchain-based user authentication method according to any one of claims 10 to 14.
Citation Information
Patent Citations
College student digital personal credit investigation method based on blockchain intelligent contract
CN110163607A
Non-central identity authentication method based on SGX
CN111404896A