Membership verification method, device and system of software
By dynamically generating identification codes and using asymmetric key pairs for encryption on the client side, the problem of host information being tampered with and cracked after software members register on a specific client is solved, thus achieving effective login verification for specific clients and improving security.
Patent Information
- Application Number
- CN202211500301.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-28
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2042-11-28
AI Technical Summary
In existing technologies, once a software member registers on a specific client, their host information can be easily tampered with, leading to unauthorized logins on other clients, and there is a lack of effective protection methods.
The client dynamically generates a first client identification code and sends a member login request to the server. The server then returns a second client identification code. The client checks the consistency of the two to verify the validity of the login request. Asymmetric key pairs are used to encrypt communication to enhance security.
This increases the difficulty of cracking the software membership, ensures that the software can only log in on specific clients, and enhances the security of login verification.
Smart Images

Figure CN115883176B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, in particular to a member verification method, device and system of software. BACKGROUND
[0002] When some software is developed and designed, it is often desired that the registered members of the software can only log in the members on specific clients. For example, after a user registers a member of the software through a specific computer, the user can only log in the member through the specific computer and cannot log in the member through other client devices.
[0003] However, because the host information of the client is easy to be tampered with, the interface is intercepted, and a fixed result is returned. That is to say, after the user registers a member of the software through a specific computer, when the user logs in the member through other client devices, as long as the host information of the client device is tampered with and a fixed result is obtained, the user can crack the software when checking whether the member is logged in by the specific computer, so as to successfully log in the member through other clients.
[0004] Therefore, there is a lack of a method for effectively protecting the software from logging in specific members on specific clients in the prior art. SUMMARY
[0005] To solve the above problems, the embodiments of the present application provide a member verification method, device and system of software, so as to improve the difficulty of cracking the software member and ensure that the software can only log in specific members on specific clients.
[0006] The embodiments of the present application adopt the following technical solutions:
[0007] In a first aspect, a member verification method of software is provided, the method being applied to a client, and the method comprising:
[0008] sending a member login request to a server, wherein the member login request carries at least a first client identification code generated randomly;
[0009] obtaining a verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code;
[0010] determining whether the first client identification code and the second client identification code are consistent; and if yes, logging in the software based on the verification result.
[0011] In a second aspect, a member verification method of software is provided, the method being applied to a server, and the method comprising:
[0012] obtaining a member login request from a client, wherein the member login request carries at least a first client identification code generated randomly;
[0013] determining a verification result according to the member login request and sending the verification result to the client, wherein the verification result carries at least a second client identification code, so that the client judges whether the first client identification code and the second client identification code are consistent, and logs into the software based on the verification result when they are consistent.
[0014] In a third aspect, a member verification device of software is provided, and the device comprises:
[0015] a member login request sending unit configured to send a member login request to a server, wherein the member login request carries at least a first client identification code generated randomly;
[0016] a verification result obtaining unit configured to obtain a verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code;
[0017] a judging unit configured to judge whether the first client identification code and the second client identification code are consistent; and if so, log into the software based on the verification result.
[0018] In a fourth aspect, a member verification device of software is provided, and the device comprises:
[0019] a member login request obtaining unit configured to obtain a member login request from a client, wherein the member login request carries at least a first client identification code generated randomly;
[0020] a verification result determining unit configured to determine a verification result according to the member login request and send the verification result to the client, wherein the verification result carries at least a second client identification code, so that the client judges whether the first client identification code and the second client identification code are consistent, and logs into the software based on the verification result when they are consistent.
[0021] In a fifth aspect, a member verification system of software is provided, and the system comprises a client and a server, the client and the server are communicatively connected, the client is configured to implement the steps of the member verification method of software applied to the client, and the server is configured to implement the steps of the member verification method of software applied to the server.
[0022] The above at least one technical solution adopted by the embodiments of the present application can achieve the following beneficial effects:
[0023] The membership verification method provided in this application involves a client sending a login request to a server, wherein the login request carries at least a randomly generated first client identifier; after receiving the login request, the server determines a verification result based on the login request and sends it to the client, wherein the verification result carries at least a second client identifier; after receiving the verification result, the client determines whether the first client identifier and the second client identifier are consistent; if they are consistent, the client logs in to the software based on the verification result. The membership verification method of this application uses a client that dynamically and randomly generates a first client identifier and carries this first client identifier when sending the login request to the server. After receiving the login request, the server returns the verification result to the client. The client verifies whether the second client identifier returned by the server is consistent with its locally dynamically and randomly generated first client identifier to determine whether the login request is valid. If the client's login request is sent by tampering with host information, the second client identifier carried in the verification result obtained by the server from the login request will be fixed. Therefore, the fixed second client identifier returned by the server to the client will necessarily be different from the client's dynamically and randomly generated first client identifier, thus effectively verifying that the login request is invalid. The membership verification method of the software in this application increases the difficulty of cracking the software membership, thereby ensuring that the software can only log in to specific members on specific clients. Attached Figure Description
[0024] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0025] Figure 1 A schematic diagram illustrating an application environment for a membership verification method for software according to an embodiment of this application is shown.
[0026] Figure 2 A flowchart illustrating a membership verification method for software according to an embodiment of this application is shown.
[0027] Figure 3 A flowchart illustrating a membership verification method for software according to another embodiment of this application is shown;
[0028] Figure 4 A flowchart illustrating a membership verification method for software according to another embodiment of this application is shown.
[0029] Figure 5 A schematic diagram of the structure of a member verification device for software according to an embodiment of this application is shown;
[0030] Figure 6Fig. 2 shows a structural schematic diagram of a member verification device of software according to another embodiment of the present application;
[0031] Figure 7 Fig. 1 shows a structural schematic diagram of a member verification system of software according to an embodiment of the present application;
[0032] Figure 8 Fig. 3 shows a structural schematic diagram of a computer device according to an embodiment of the present application;
[0033] Figure 9 Fig. 4 shows a structural schematic diagram of a computer device according to another embodiment of the present application. DETAILED DESCRIPTION
[0034] In order to make the objects, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be described clearly and completely below in conjunction with the embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.
[0035] In order to make those of ordinary skill in the art more clearly understand the technical solutions provided by the embodiments of the present application, first, the scenarios related to the technical solutions of the present application will be introduced.
[0036] The member verification method of software proposed in the present application is to verify whether the user logs in the member through the specific client after the user has registered as a member of the software through the specific client. That is, as a prerequisite of the technical solutions of the present application, the user has registered as a member of the software through the specific client. Generally, after the user has registered as a member of the software, the member login information such as the username and password of the user logging in the member of the software can be determined, and the member login information often corresponds to the corresponding member type and / or member benefits. The above content is the information content that can be intuitively perceived and determined by the user after the user has registered as a member of the software. The technical solutions of the present application are aimed at verifying whether the user logs in the member through the specific client, that is, the main purpose of the technical solutions of the present application is to enable the user to log in the member through the specific client, but not to log in the member through other clients, and this process is verified through the communication connection between the client and the server, which is not intuitively perceived by the user.
[0037] The member verification method of software provided by the embodiments of the present application can be applied in the environment such as Figure 1 , wherein the client and the server communicate through the network.
[0038] The client can be, but is not limited to, devices with displays and input devices such as personal computers, laptops, smartphones, tablets, and portable wearable devices. The server can be implemented using a standalone server or a service platform consisting of multiple servers.
[0039] The client has software installed. After launching the software, the client needs to send a login request to the server to log in. When sending the login request, the client includes at least a first client identifier randomly generated by the client. Upon receiving the login request, the server determines the verification result and sends it to the client. The server may store a database containing, but is not limited to, pre-stored correspondences between login information and member types and / or member benefits. The server can parse the login information from the login request to determine the corresponding member type and / or member benefits. The verification result returned by the server to the client may include, in addition to at least a second client identifier, the corresponding member type and / or member benefits. After receiving the verification result, the client checks if the first and second client identifiers match. If they match, it means the user is logging in on a specific client, and the client logs in to the software based on the verification result, granting the user the corresponding software permissions. If they do not match, it means the user is logging in on another client, and the client determines the login request is invalid and rejects it.
[0040] Figure 2 This paper illustrates a flowchart of a membership verification method for software proposed in one embodiment of this application. Figure 2 As shown, this method is applied to the client and includes steps S210 to S230:
[0041] Step S210: Send a member login request to the server, wherein the member login request carries at least a randomly generated first client identification code.
[0042] After a user launches the software through the client, they send a member login request to the server. The member login request must at least carry a randomly generated first client identification code; the member login request may also include member login information, such as username, password, and other information that can identify the user.
[0043] The first client identification code is a dynamically and randomly generated UUID (Universally Unique Identifier) on the client side. This first client identification code instructs the user to log in to the member's client during the login process. Simultaneously, as the user enters their login information through the client to send a login request to the server, the client dynamically and randomly generates a UUID and sends it to the server along with the user's login request.
[0044] Step S220: Obtain the verification result returned by the server based on the member login request, wherein the verification result carries at least the second client identification code.
[0045] The verification result is the result returned by the server to the client based on the information included in the member login request. The verification result must carry at least a second client identification code; the verification result may also include the member type and / or member benefits determined based on the member login request.
[0046] The second client identifier is another UUID returned by the server. If the user logs in through another client, they will inevitably send the login request by tampering with the host information. In this case, the second client identifier returned by the server will be fixed, indicating the host that has been tampered with by the user. Thus, the fixed second client identifier returned by the server to the client will be different from the first client identifier dynamically generated by the client. If the user logs in through a specific client, the server receives the first client identifier and directly uses it as the second client identifier before returning it to the client. In this case, the second client identifier returned by the server to the client is the same as the first client identifier dynamically generated by the client.
[0047] Step S230: Determine whether the first client identification code and the second client identification code are consistent; if they are consistent, log in to the software based on the verification result.
[0048] The client compares its dynamically generated first client identifier with the second client identifier returned by the server to determine if they match. If they match, it means the user is logging in through the specific client, and the login request is valid. The client can then grant the user the corresponding software permissions based on the server's verification result. If they differ, it means the user is logging in through another client, and the login request is invalid. The client rejects the login request, preventing the user from logging in and effectively protecting the software from being cracked.
[0049] In some optional implementations, in the above method, step S210 sends a member login request to the server, wherein the member login request carries at least a randomly generated first client identification code, including: obtaining member login information through a front-end page and randomly generating a first client identification code; packaging the member login information and the first client identification code into a member login request; generating a key pair and signing the member login request using the private key in the key pair; sending the signed member login request and the public key in the key pair to the server, so that the server can decrypt the member login request using the public key in the key pair and encrypt the verification request using the public key in the key pair.
[0050] After a user launches the software through the client, the client can provide the user with a front-end page for member login. This front-end page may include, but is not limited to, member login information input controls, such as username and password input controls. The user can enter their member login information in the corresponding positions of the member login information input controls on the front-end page. While the client obtains the member login information through the front-end page, the client backend dynamically and randomly generates a UUID as the first client identification code. The client packages the obtained member login information and the randomly generated first client identification code together into a member login request.
[0051] Before sending the login request to the server, the client generates an asymmetric key pair. The private key in this pair can be used to encrypt the login request sent by the client to the server and to decrypt the encrypted verification result sent back by the server to the client. The public key in this pair can be used to decrypt the login request sent by the client to the server and to encrypt the verification result sent back by the server to the client, thus making the communication between the client and the server more secure. The client first signs the login request using the private key and sends the signed login request along with the public key to the server. The server then decrypts the login request using the received public key, determines the verification result based on the decrypted login request, and encrypts the verification result using the received public key before returning it to the client.
[0052] In some optional implementations, in the above method, step S220 obtains the verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code, including: receiving the verification result encrypted by the server using the public key in the key pair; decrypting the verification result using the private key in the key pair to determine the member type and / or member rights, and the second client identification code.
[0053] After the client sends the signed member login request and the public key from the key pair to the server, the server uses the public key to decrypt the member login request and parses the request to determine the member login information and the first client identification code.
[0054] In some practical situations, the server first checks the member login information to determine if it includes a client signature. If the user sends a login request by tampering with host information, the login request will contain the tampered host information, i.e., the client signature. Generally, users will tamper with the host information of other clients to represent the host information of a specific client (the specific client used to register the software membership), meaning the login request will include the specific client's signature. Once the server determines that the login information includes a client signature, it uses that signature as the second client identifier. If the user logs in using a specific client, the login request will not contain tampered host information, i.e., no client signature. In this case, the server uses the first client identifier it receives as the second client identifier.
[0055] In some practical situations, the server then determines the membership type and / or membership benefits based on the member's login information. Software memberships can include multiple membership levels, each distinguished by different membership types and / or benefits. When registering for software membership, users can register for the appropriate membership level based on their needs. Therefore, once a user successfully registers, their login information is bound to their membership type and / or benefits. For example, in video software, if a user registers a VIP membership, their login information can be bound to a premium membership type, with benefits such as free access to all video sources without ad interruptions; if a user registers a regular membership, their login information can be bound to a regular membership type, with benefits such as ad-free viewing but limited access to certain video sources. The server packages the membership type and / or benefits, along with the second client identification code, into a verification result, encrypts the result using the public key in the key pair, and returns the encrypted verification result to the client.
[0056] After receiving the encrypted verification result, the client decrypts it using the private key in the key pair and parses the verification result to determine the member type and / or member benefits, as well as the second client identification code.
[0057] In some optional implementations, in the above method, step S230 determines whether the first client identification code and the second client identification code are consistent; if they are consistent, the software is logged in based on the verification result, including: determining whether the first client identification code and the second client identification code are consistent; if they are consistent, the corresponding software permissions are authorized according to the member type and / or member rights; if they are inconsistent, the member login request is rejected.
[0058] After receiving the second client identifier, the client checks if it matches the first client identifier, which it dynamically generates randomly. If the user sends a login request by tampering with host information, the returned second client identifier will be the tampered host information (i.e., the client's unique identifier). Since this unique identifier will not match the randomly generated first client identifier, the user's login on that client will be invalid, and the client rejects the login request. If the user logs in through a specific client, the returned second client identifier will be the first client identifier, which the client dynamically generates randomly. Since they match, the client will allow the user to log in on that client and grant the user the appropriate software permissions based on their membership type and / or membership benefits.
[0059] Figure 3 This illustration shows a flowchart of a membership verification method for software proposed in another embodiment of this application. Figure 3 As shown, this method is applied to the server side, and includes steps S310 to S320:
[0060] Step S310: Obtain a member login request from the client, wherein the member login request carries at least a randomly generated first client identification code.
[0061] After a user launches the software on the client, the server obtains the member login request through the client. The member login request carries at least a randomly generated first client identification code; the member login request may also include member login information, such as username, password, and other information that can identify the user.
[0062] The first client identification code is a dynamically and randomly generated UUID (Universally Unique Identifier) on the client side. This first client identification code instructs the user to log in to the member's client during the login process. When the server receives the user's login information from the client, it also receives the dynamically generated UUID from the client.
[0063] Step S320: Determine the verification result based on the member login request and send it to the client. The verification result carries at least a second client identification code so that the client can determine whether the first client identification code and the second client identification code are consistent. If they are consistent, log in to the software based on the verification result.
[0064] The server returns a verification result to the client based on the information included in the member login request. The verification result must include at least a second client identification code; the verification result may also include the member type and / or member benefits determined based on the member login request.
[0065] The second client identifier is another UUID returned by the server. If the user logs in through another client, they will inevitably send the login request by tampering with the host information. In this case, the second client identifier returned by the server will be fixed, indicating the host that has been tampered with by the user. Thus, the fixed second client identifier returned by the server to the client will be different from the first client identifier dynamically generated by the client. If the user logs in through a specific client, the server receives the first client identifier and directly uses it as the second client identifier before returning it to the client. In this case, the second client identifier returned by the server to the client is the same as the first client identifier dynamically generated by the client.
[0066] Therefore, the server returns the verification result, carrying the second client identification code, to the client. The client then compares its dynamically generated first client identification code with the second client identification code returned by the server to determine if they are the same. If they are the same, it means the user logged in through a specific client, and the login request is valid. If they are different, it means the user logged in through another client, and the login request is invalid.
[0067] In some optional implementations, in the above method, step S310 obtains a member login request from the client, wherein the member login request carries at least a randomly generated first client identification code, including: obtaining from the client a member login request signed using the private key in the key pair and the public key in the key pair; decrypting the member login request using the public key in the key pair to determine the member login information and the first client identification code.
[0068] To ensure more secure communication between the client and server, the client can generate an asymmetric key pair and use the private key in the key pair to sign the member login request. The server obtains the signed member login request and the public key from the key pair sent by the client. The server uses the received public key to decrypt the member login request and determine the member login information and the first client identification code.
[0069] In some optional implementations, in the above method, step S320 determines the verification result based on the member login request and sends it to the client. The verification result carries at least a second client identification code, enabling the client to determine whether the first client identification code and the second client identification code are consistent. If they are consistent, the client logs into the software based on the verification result. This includes: determining whether the member login information includes a client feature code; if the member login information includes a client feature code, then using the client feature code as the second client identification code; if the member login information does not include a client feature code, then using the first client identification code as the second client identification code; determining the member type and / or member benefits based on the member login information; packaging the member type and / or member benefits, and the second client identification code into a verification result; encrypting the verification result using the public key in the key pair; and sending the encrypted verification result to the client, so that the client can decrypt the verification result using the private key in the key pair.
[0070] The server first checks the member login information to determine if it includes a client signature. If the user sends the login request by tampering with host information, the request will contain the tampered host information, i.e., the client signature. Typically, users will modify the host information of other clients to match the host information of a specific client (the client used to register the software membership), meaning the login request will include the specific client's signature. Once the server detects that the login information includes a client signature, it uses that signature as the second client identifier. If the user logs in using a specific client, the login request will not contain tampered host information, i.e., no client signature. In this case, the server uses the first client identifier it receives as the second client identifier.
[0071] The server then determines the membership type and / or membership benefits based on the member's login information. The software's membership can include multiple membership levels, distinguished by different membership types and / or benefits. When registering for software membership, users can register for the corresponding membership level according to their needs. Therefore, once a user successfully registers, their login information is bound to their membership type and / or benefits. This binding relationship can, but is not limited to, being pre-stored in the server's database. For example, in video software, if a user registers a VIP membership, their login information can be bound to a premium membership type, with benefits such as free access to all video sources without ad interruptions; if a user registers a regular membership, their login information can be bound to a regular membership type, with benefits such as ad-free viewing but only access to a limited selection of video sources. The server packages the membership type and / or benefits, along with the second client identification code, into a verification result, encrypts the verification result using the public key in the key pair, and returns the encrypted verification result to the client. After receiving the encrypted verification result, the client decrypts it using the private key in the key pair and parses the verification result to determine the member type and / or member benefits, as well as the second client identification code.
[0072] If the client determines that the first client identifier and the second client identifier do not match, it means that the user's login request on that client will be invalid, so the client rejects the login request. If the client determines that the first client identifier and the second client identifier match, then the client will allow the user to log in as a member on that client.
[0073] Figure 4 This illustration shows a flowchart of a membership verification method for software proposed in another embodiment of this application. Figure 4 As shown, this method verifies software membership through a communication connection between the client and server. The method includes steps S401 to S412:
[0074] In step S401, the client obtains the member login information through the front-end page, randomly generates a first client identification code, and packages the member login information and the first client identification code into a member login request.
[0075] In step S402, the client generates a key pair, uses the private key in the key pair to sign the member login request, and sends the signed member login request and the public key in the key pair to the server.
[0076] In step S403, the server uses the public key in the key pair to decrypt the member login request and determine the member login information and the first client identification code.
[0077] Step S404: The server determines whether the member login information includes the client's signature.
[0078] Step S405: If the server determines that the member login information includes a client feature code, then the client feature code is used as the second client identification code.
[0079] Step S406: If the server determines that the member login information does not include the client feature code, then the first client identification code will be used as the second client identification code.
[0080] In step S407, the server determines the member type and / or member benefits based on the member login information, and packages the member type and / or member benefits, along with the second client identification code, into a verification result.
[0081] In step S408, the server uses the public key in the key pair to encrypt the verification result and sends the encrypted verification result to the client.
[0082] In step S409, the client uses the private key in the key pair to decrypt the encrypted verification result and determine the member type and / or member benefits, as well as the second client identification code.
[0083] In step S410, the client determines whether the first client identification code and the second client identification code are consistent.
[0084] Step S411: If the client determines that the first client identification code is consistent with the second client identification code, then the client authorizes the corresponding software permissions according to the member type and / or member rights.
[0085] In step S412, if the client determines that the first client identification code and the second client identification code are inconsistent, then the member login request is rejected.
[0086] from Figure 4 As shown in the diagram, the membership verification method of the software provided in this application dynamically and randomly generates a first client identification code on the client side. This first client identification code is included when sending a membership login request to the server. After receiving the membership login request, the server returns the verification result to the client. The client verifies whether the second client identification code returned by the server matches the first client identification code it dynamically and randomly generates locally to determine whether the membership login request is valid. Communication between the client and the server is encrypted using an asymmetric key pair. The membership verification method of the software in this application increases the difficulty of cracking the software membership, thereby ensuring that the software can only log in with specific members on specific clients.
[0087] Figure 5 A schematic diagram of the structure of a membership verification device for software according to an embodiment of this application is shown.Figure 5 As shown, the device 500 includes:
[0088] Member login request sending unit 501 is used to send a member login request to the server, wherein the member login request carries at least a randomly generated first client identification code;
[0089] The verification result acquisition unit 502 is used to acquire the verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code;
[0090] The judgment unit 503 is used to determine whether the first client identification code and the second client identification code are consistent; if they are consistent, the software is logged in based on the verification result.
[0091] In some optional embodiments, in the above-described apparatus 500, the member login request sending unit 501 is specifically used to: obtain member login information through a front-end page and randomly generate a first client identification code; package the member login information and the first client identification code into a member login request; generate a key pair and sign the member login request using the private key in the key pair; send the signed member login request and the public key in the key pair to the server, so that the server can decrypt the member login request using the public key in the key pair and encrypt the verification request using the public key in the key pair.
[0092] In some optional implementations, in the above-described apparatus 500, the verification result acquisition unit 502 is specifically used to: receive the verification result encrypted by the server using the public key in the key pair; decrypt the verification result using the private key in the key pair to determine the member type and / or member rights, as well as the second client identification code.
[0093] In some optional implementations, in the above-described device 500, the determining unit 503 is specifically used to: determine whether the first client identification code and the second client identification code are consistent; if they are consistent, then authorize the corresponding software permissions according to the member type and / or member rights; if they are inconsistent, then reject the member login request.
[0094] It should be noted that the membership verification device 500 of the above software can implement the aforementioned membership verification methods applied to the client software, which will not be elaborated further.
[0095] Figure 6 A schematic diagram of the structure of a membership verification device for software according to another embodiment of this application is shown. Figure 6 As shown, the device 600 includes:
[0096] Member login request acquisition unit 601 is used to acquire member login requests from clients, wherein the member login request carries at least a randomly generated first client identification code;
[0097] The verification result determination unit 602 is used to determine the verification result based on the member login request and send it to the client. The verification result carries at least a second client identification code so that the client can determine whether the first client identification code and the second client identification code are consistent, and log in to the software based on the verification result if they are consistent.
[0098] In some optional embodiments, in the above-described apparatus 600, the member login request acquisition unit 601 is specifically used to: acquire from the client a member login request signed using the private key in the key pair and the public key in the key pair; decrypt the member login request using the public key in the key pair to determine the member login information and the first client identification code.
[0099] In some optional embodiments, in the above-described apparatus 600, the verification result determination unit 602 is specifically used to: determine whether the member login information includes a client feature code; if the member login information includes a client feature code, then use the client feature code as a second client identification code; if the member login information does not include a client feature code, then use the first client identification code as the second client identification code; determine the member type and / or member benefits based on the member login information; package the member type and / or member benefits, and the second client identification code into a verification result, encrypt the verification result using the public key in the key pair, and send the encrypted verification result to the client so that the client can decrypt the verification result using the private key in the key pair.
[0100] It should be noted that the membership verification device 600 of the above software can implement the aforementioned membership verification methods applied to the server-side software, which will not be elaborated further.
[0101] Figure 7 A schematic diagram of the structure of a membership verification system for software according to an embodiment of this application is shown. Figure 7 As shown, the system 700 includes a client 701 and a server 702, and the client 701 and the server 702 are connected in communication.
[0102] Client 701 is used to implement the aforementioned member verification method applied to the client software, specifically implementing the following steps:
[0103] Send a member login request to the server, wherein the member login request carries at least a randomly generated first client identification code;
[0104] Obtain the verification result returned by the server based on the member login request, wherein the verification result carries at least the second client identification code;
[0105] Determine whether the first client identification code and the second client identification code are the same; if they are the same, log in to the software based on the verification result.
[0106] The server-side 702 is used to implement the aforementioned member verification method applied to the server-side software, specifically implementing the following steps:
[0107] Obtain a member login request from the client, wherein the member login request carries at least a randomly generated first client identification code;
[0108] The verification result is determined based on the member's login request and sent to the client. The verification result carries at least a second client identification code so that the client can determine whether the first client identification code and the second client identification code are consistent. If they are consistent, the client logs in to the software based on the verification result.
[0109] In one embodiment, a computer device is provided, which may be a client, and its internal structure diagram may be as follows: Figure 8 As shown, the computer device includes a processor, memory, network interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with an external server via a network connection. When the computer program is executed by the processor, it implements the client-side functions or steps of the software's membership authentication method.
[0110] In one embodiment, the computer device provided in this application includes a memory and a processor. The memory stores a computer program that can run on the processor. When the processor executes the computer program, it performs the following steps:
[0111] Send a member login request to the server, wherein the member login request carries at least a randomly generated first client identification code;
[0112] Obtain the verification result returned by the server based on the member login request, wherein the verification result carries at least the second client identification code;
[0113] Determine whether the first client identification code and the second client identification code are the same; if they are the same, log in to the software based on the verification result.
[0114] Figure 9 This application shows a schematic diagram of the structure of a computer device according to one embodiment of the present application. Figure 9As shown, the internal structure of this computer device may include a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile and / or volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with external clients via a network connection. When the computer program is executed by the processor, it implements the server-side functions or steps of the software's membership authentication method.
[0115] In one embodiment, the computer device provided in this application includes a memory and a processor. The memory stores a database and a computer program that can run on the processor. When the processor executes the computer program, it performs the following steps:
[0116] Obtain a member login request from the client, wherein the member login request carries at least a randomly generated first client identification code;
[0117] The verification result is determined based on the member's login request and sent to the client. The verification result carries at least a second client identification code so that the client can determine whether the first client identification code and the second client identification code are consistent. If they are consistent, the client logs in to the software based on the verification result.
[0118] In one embodiment, a computer-readable storage medium is also provided, on which a computer program is stored, the computer program performing the following steps when executed by a processor:
[0119] Send a member login request to the server, wherein the member login request carries at least a randomly generated first client identification code;
[0120] Obtain the verification result returned by the server based on the member login request, wherein the verification result carries at least the second client identification code;
[0121] Determine whether the first client identification code and the second client identification code are the same; if they are the same, log in to the software based on the verification result.
[0122] Alternatively, when a computer program is executed by a processor, it performs the following steps:
[0123] Obtain a member login request from the client, wherein the member login request carries at least a randomly generated first client identification code;
[0124] The verification result is determined based on the member's login request and sent to the client. The verification result carries at least a second client identification code so that the client can determine whether the first client identification code and the second client identification code are consistent. If they are consistent, the client logs in to the software based on the verification result.
[0125] It should be noted that the functions or steps that can be implemented by the computer device or computer-readable storage medium described above can be referred to the relevant descriptions on the client side and server side in the foregoing method embodiments. To avoid repetition, they will not be described one by one here.
[0126] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0127] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0128] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.
Claims
1. A software membership verification method, characterized in that, The method is applied to a client, and the method includes: If the client is a specific client for a user to register a software member, a member login request is sent to the server. The member login request carries at least member login information and a randomly generated first client identification code. The member login information does not include a client feature code, and the client feature code is host information that has been tampered with by the user. Obtain the verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code, and the server uses the received first client identification code as the second client identification code; If the first client identification code matches the second client identification code, log in to the software based on the verification result. If the client is another client, a member login request is sent to the server. The member login request carries at least member login information and a randomly generated first client identification code. The member login information includes a client feature code. Obtain the verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code, and the server uses the received client feature code as the second client identification code; If the first client identification code and the second client identification code are not consistent, the login to the software will be rejected based on the verification result.
2. The membership verification method for software according to claim 1, characterized in that, The step of sending a member login request to the server includes, at a minimum, member login information and a randomly generated first client identification code, including: Obtain member login information through the front-end page and randomly generate the first client identification code; Package the member login information and the first client identification code into a member login request; Generate a key pair, and use the private key in the key pair to sign the member login request; The signed member login request and the public key in the key pair are sent to the server so that the server can decrypt the member login request using the public key in the key pair and encrypt the verification result using the public key in the key pair.
3. The membership verification method for software according to claim 2, characterized in that, The step of obtaining the verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code, including: Receive the verification result encrypted by the server using the public key in the key pair; The verification result is decrypted using the private key in the key pair to determine the second client identification code.
4. The membership verification method for software according to claim 3, characterized in that, The step of determining that the first client identification code matches the second client identification code and logging into the software based on the verification result includes: If the first client identification code matches the second client identification code, then the corresponding software permissions are authorized according to the member type and / or member rights. Determining that the first client identification code and the second client identification code do not match, and refusing login to the software based on the verification result, includes: If the first client identification code and the second client identification code are not consistent, the member login request is rejected.
5. A membership verification method for software, characterized in that, The method is applied to the server side, and the method includes: A member login request is obtained from the client. If the client is a specific client used by the user to register a software member, the member login request carries at least member login information and a randomly generated first client identification code. The member login information does not include a client feature code, which is host information that has been tampered with by the user. If the client is another client, the member login request carries at least member login information and a randomly generated first client identification code. The member login information includes a client feature code. Determine whether the member login information includes a client signature. If the member login information includes a client feature code, then the client feature code shall be used as the second client identification code; If the member login information does not include a client feature code, then the first client identification code will be used as the second client identification code. The verification result is determined based on the member login request and sent to the client, wherein the verification result carries at least a second client identification code; so that a specific client registering a software member can determine that the first client identification code matches the second client identification code and log in to the software based on the verification result; so that other clients can determine that the first client identification code does not match the second client identification code and refuse to log in to the software based on the verification result.
6. The membership verification method for software according to claim 5, characterized in that, The step of obtaining a member login request from the client, wherein the member login request carries at least member login information and a randomly generated first client identification code, including: Obtain the member login request signed using the private key in the key pair and the public key in the key pair from the client; The member login request is decrypted using the public key in the key pair to determine the member login information and the first client identification code.
7. The membership verification method for software according to claim 6, characterized in that, The step of determining a verification result based on the member login request and sending it to the client, wherein the verification result carries at least a second client identification code, including: The verification result is encrypted using the public key in the key pair, and the encrypted verification result is sent to the client so that the client can decrypt the verification result using the private key in the key pair.
8. A software membership verification device, characterized in that, If the client is a specific client for a user to register a software membership, the device includes: A member login request sending unit is used to send a member login request to the server. The member login request carries at least member login information and a randomly generated first client identification code. The member login information does not include a client feature code. The client feature code is host information that has been tampered with by the user. The verification result acquisition unit is used to acquire the verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code, and the server uses the received first client identification code as the second client identification code; The judgment unit is used to determine whether the first client identification code and the second client identification code are consistent and to log in to the software based on the verification result; If the client is another type of client, the device includes: A member login request sending unit is used to send a member login request to the server, wherein the member login request carries at least member login information and a randomly generated first client identification code, and the member login information includes a client feature code; The verification result acquisition unit is used to acquire the verification result returned by the server based on the member login request, wherein the verification result carries at least a second client identification code, and the server uses the received client feature code as the second client identification code; The judgment unit is used to determine that the first client identification code and the second client identification code are inconsistent, and refuse to log in to the software based on the verification result.
9. A software membership verification device, characterized in that, The device includes: A member login request acquisition unit is used to acquire member login requests from a client. If the client is a specific client used by a user to register a software member, the member login request carries at least member login information and a randomly generated first client identification code. The member login information does not include a client feature code, which is host information that has been tampered with by the user. If the client is another client, the member login request carries at least member login information and a randomly generated first client identification code. The member login information includes a client feature code. The verification result determination unit is used to determine whether the member login information includes a client feature code; if the member login information includes a client feature code, then the client feature code is used as a second client identification code; if the member login information does not include a client feature code, then the first client identification code is used as the second client identification code; the verification result is determined according to the member login request and sent to the client, wherein the verification result carries at least the second client identification code; so that a specific client registering a software membership determines that the first client identification code and the second client identification code are consistent, and logs into the software based on the verification result; so that other clients determine that the first client identification code and the second client identification code are inconsistent, and refuse to log into the software based on the verification result.
10. A software membership verification system, characterized in that, The system includes a client and a server, the client and the server being communicatively connected, the client being used to implement the steps of the method according to any one of claims 1 to 4, and the server being used to implement the steps of the method according to any one of claims 5 to 7.
Citation Information
Patent Citations
A method to ensure client software security
CN102299930A
Information processing method, device and equipment
CN111899045A