Software authentication method and device

By encrypting and decrypting the registration parameters of the user side and generating the software authorization code, the problem of insufficient security of the software authorization code in the prior art is solved, and the efficiency and security of software authentication are improved.

CN119783140APending Publication Date: 2025-04-08富盛科技股份有限公司
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510266309.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-07
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

The implementation method of existing software authorization codes has security defects and is easily cracked, resulting in the spread of software copies and infringing on the copyright and interests of software providers.

Method used

Provide a software authentication method, which can solve and encrypt the registration parameters by receiving the registration request from the user, and sending it to the authentication terminal for decryption and authorization code generation, ensuring the security of the software authorization code.

Benefits of technology

Improve the efficiency and security of software authentication, prevent criminals from cracking authorization codes, and protecting the copyright of software providers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119783140A_ABST
    Figure CN119783140A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a software authentication method and device. The method comprises the following steps: encrypting a user side registration parameter and then sending the encrypted user side registration parameter to an authentication side; after the authentication side decrypts, authorization code generation is carried out on a central processing unit serial number, initial registration time and initial expiration time of the user side in the registration parameters according to a preset authorization code rule, a software authorization code is obtained, and the software authorization code is sent to the user side; receiving a software authorization code sent by the user side, comparing the serial number of the central processing unit in the software authorization code with the serial number of the central processing unit of the user side, if the serial numbers are consistent, indicating that registration succeeds, marking an authorized label, updating the time parameter during registration according to the time parameter when registration succeeds, and when software is logged in each time, marking the authorized label with the time parameter when registration succeeds. According to the serial number of the central processing unit of the user side, the authorized label and the updated time parameter, authentication is carried out, a corresponding software authentication result is obtained, and the software authentication efficiency and safety can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing, and in particular to a software authentication method and device. Background Art

[0002] In the current software industry, software authorization codes are an important mechanism for implementing software copyright protection and usage control. The current methods for implementing software authorization codes are mainly the following based on different business scenarios and requirements: 1. Paid purchase model Users obtain the right to use the software by paying fees. The software provider generates a corresponding authorization code based on the user's payment information. The user provides the authorization code when registering the software. The software system will verify the validity of the authorization code, such as whether it has been used or expired.

[0003] 2. Fixed rule generation mode The software provider generates an authorization code based on preset fixed rules. When the user submits relevant information during registration, the software system will generate a corresponding authorization code for verification based on this information.

[0004] Although the current implementation method of software authorization code meets the needs of software copyright protection and use control to a certain extent, it still has security defects. Once the rules for generating authorization codes are cracked by criminals, they can use these rules to generate new authorization codes, thereby spreading and using software copies, seriously infringing the copyright and interests of software providers.

[0005] Therefore, there is an urgent need for a more secure and efficient software authentication method to achieve software protection. Summary of the invention

[0006] In view of the problems in the prior art, the present application provides a software authentication method and device, which can improve the efficiency and security of software authentication.

[0007] In order to solve at least one of the above problems, the present application provides the following technical solutions: In a first aspect, the present application provides a software authentication method, comprising: Receiving a registration request from the user terminal, parsing the registration request, and determining corresponding registration parameters, wherein the registration parameters include a central processing unit serial number of the user terminal, an initial registration time, and an initial expiration time; Performing an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determining corresponding encrypted registration parameters, and sending the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performing an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determining a corresponding software authorization code, and sending the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; Receive the software authorization code sent by the user terminal, compare the central processing unit serial number in the software authorization code with the central processing unit serial number of the user terminal, and if they are consistent, perform a registration success marking operation to determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software usage authentication operation according to the central processing unit serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain a corresponding software authentication result.

[0008] Further, performing an encryption operation on the registration parameters according to a set dynamic encryption algorithm to determine corresponding encrypted registration parameters includes: Perform a key generation operation according to a timestamp corresponding to the registration request time and a preset hash function to determine a corresponding first encryption key; The registration parameter is encrypted according to the first encryption key to determine a corresponding encrypted registration parameter.

[0009] Further, the authorization code generation operation is performed on the central processing unit serial number of the user terminal obtained after the decryption operation, the initial registration time and the initial expiration time according to the preset authorization code rule to determine the corresponding software authorization code, including: Performing a field item adding operation on the CPU serial number of the user terminal, the initial registration time and the initial expiration time obtained after the decryption operation according to the preset leading field item; An interval item adding operation is performed on the CPU serial number, initial registration time and initial expiration time of the user terminal after the field item adding operation to determine the corresponding software authorization code.

[0010] Furthermore, sending the software authorization code to the user terminal includes: Perform a key generation operation according to a timestamp corresponding to the software authentication time and a preset hash function to determine a corresponding second encryption key; The software authorization code is encrypted according to the second encryption key, and the encrypted software authorization code is sent to the user terminal.

[0011] Further, the receiving of the software authorization code sent by the user terminal, comparing the CPU serial number in the software authorization code with the CPU serial number of the user terminal, and if they are consistent, performing a successful registration marking operation to determine the corresponding authorized label, including: The receiving the software authorization code sent by the user terminal, parsing the software authorization code according to the authorization code rule, and determining the CPU serial number in the corresponding software authorization code; The CPU serial number in the software authorization code is compared with the CPU serial number of the user terminal. If they are consistent, a registration success marking operation is performed to determine the corresponding authorized label.

[0012] Further, the software authentication operation is performed according to the CPU serial number of the user terminal, the authorized tag, the updated registration time and the updated expiration time to obtain a corresponding software authentication result, including: Perform a static variable construction operation according to the CPU serial number of the user terminal, the authorized tag, the updated registration time, and the updated expiration time to determine the corresponding static global variable; Perform software usage authentication operations according to the static global variables and preset authentication rules to obtain corresponding software authentication results Further, performing software authentication operation according to the static global variable and the preset authentication rule to obtain the corresponding software authentication result includes: Determine whether the authorized tag exists. If not, the software authentication result is unauthorized, and the user terminal is intercepted from using the software. If it exists, a usage time judgment operation is performed according to the updated registration time and the updated expiration time. If it has expired, the software authentication result is unauthorized, and a software usage interception operation is performed on the user terminal.

[0013] In a second aspect, the present application provides a software authentication device, comprising: A registration request receiving module, used to receive a registration request sent by a user terminal, parse the registration request, and determine corresponding registration parameters, wherein the registration parameters include a central processing unit serial number of the user terminal, an initial registration time, and an initial expiration time; An authorization code generation module is used to perform an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determine the corresponding encrypted registration parameters, and send the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performs an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determines the corresponding software authorization code, and sends the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; The software authentication module is used to receive the software authorization code sent by the user terminal, compare the CPU serial number in the software authorization code with the CPU serial number of the user terminal, and if they are consistent, perform a registration success mark operation to determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software use authentication operation according to the CPU serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain the corresponding software authentication result.

[0014] In a third aspect, the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the software authentication method when executing the program.

[0015] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which implements the steps of the software authentication method when executed by a processor.

[0016] In a fifth aspect, the present application provides a computer program product, including a computer program / instruction, which implements the steps of the software authentication method when executed by a processor.

[0017] It can be seen from the above technical scheme that the present application provides a software authentication method and device, which encrypts the user-side registration parameters and sends them to the authentication side; after decryption, the authentication side generates an authorization code for the user-side CPU serial number, initial registration time and initial expiration time in the registration parameters according to a preset authorization code rule to obtain a software authorization code, and sends the software authorization code to the user side; receives the software authorization code sent by the user side, compares the CPU serial number in the software authorization code with the CPU serial number of the user side, if they are consistent, the registration is successful, marks the authorized label, and updates the time parameters at the time of registration according to the time parameters when the registration is successful, and each time the software logs in, performs authentication according to the user-side CPU serial number, the authorized label, and the updated time parameters to obtain the corresponding software authentication result, thereby improving the efficiency and security of software authentication. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0019] Figure 1 This is one of the flowcharts of the software authentication method in the embodiment of the present application; Figure 2 This is a second flowchart of the software authentication method in an embodiment of the present application; Figure 3 The third flowchart of the software authentication method in the embodiment of the present application; Figure 4 This is a fourth flowchart of the software authentication method in an embodiment of the present application; Figure 5 FIG5 is a flowchart of the software authentication method in the embodiment of the present application; Figure 6 This is a sixth flowchart of the software authentication method in an embodiment of the present application; Figure 7 FIG7 is a flowchart of the software authentication method in the embodiment of the present application; Figure 8 is a structural diagram of a software authentication device in an embodiment of the present application; Fig. 9 It is a schematic diagram of the structure of an electronic device in an embodiment of the present application.

[0020] Reference numerals: Electronic device 9600, central processing unit 9100, memory 9140, communication module 9110, input unit 9120, audio processor 9130, display 9160, power supply 9170, buffer memory 9141, application / function storage unit 9142, data storage unit 9143, driver program storage unit 9144, antenna 9111, speaker 9131, microphone 9132. DETAILED DESCRIPTION

[0021] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0022] The acquisition, storage, use, and processing of data in the technical solution of this application comply with the relevant provisions of national laws and regulations.

[0023] Considering that the authorization code used for current software authentication still has security defects. The present application provides a software authentication method and device, which encrypts the user terminal registration parameters and sends them to the authentication terminal; after the authentication terminal decrypts, the authorization code is generated for the user terminal's central processing unit serial number, initial registration time and initial expiration time in the registration parameters according to the preset authorization code rules to obtain the software authorization code, and the software authorization code is sent to the user terminal; the software authorization code sent by the user terminal is received, and the central processing unit serial number in the software authorization code is compared with the central processing unit serial number of the user terminal. If they are consistent, the registration is successful, the authorized label is marked, and the time parameter at the time of registration is updated according to the time parameter when the registration is successful. Each time the software logs in, the authentication is performed according to the user terminal's central processing unit serial number, the authorized label, and the updated time parameter to obtain the corresponding software authentication result, thereby improving the efficiency and security of software authentication.

[0024] In order to improve the efficiency and security of software authentication, the present application provides an embodiment of a software authentication method, see Figure 1 , the software authentication method specifically includes the following contents: Step S101: receiving a registration request sent by the user terminal, parsing the registration request, and determining corresponding registration parameters, wherein the registration parameters include a CPU serial number of the user terminal, an initial registration time, and an initial expiration time; Optionally, in this embodiment, the user end refers to a user who needs to use the business software; the software installation platform refers to a platform system for installing business software or a module in the business software system; the authentication end refers to a module for generating a registration code provided by the developer of the business software, preferably a web site, and the entrance is embedded in the business software.

[0025] Optionally, in this embodiment, the registration request sent by the user side refers to the user who needs to use the software downloading the software for the first time and initiating a registration application to the authentication side through the software installation platform to obtain an authorization number. At this time, the registration application interface is accompanied by the CPU serial number of the user side machine and parameters such as the effective time determined according to the price. Among them, the central processing unit serial number (CPU serial number) of the user side is the unique identifier of the user side machine (the computer on which the business software is installed), which is used to ensure that the authentication code is bound to a specific hardware; the initial registration time refers to the time when the user side machine first sends the registration application; the initial expiration time is the expiration time of the authorization code calculated based on the registration code type selected by the user (for example, trial version or official version) and the initial registration time.

[0026] Optionally, in this embodiment, it is a process in which a user performs registration before using the software, and a registration request is sent through a network interface.

[0027] Step S102: performing an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determining corresponding encrypted registration parameters, and sending the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performs an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determines a corresponding software authorization code, and sends the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; Optionally, in this embodiment, after the user sends a registration request, this step is to dynamically encrypt the registration parameters extracted from the registration request and send the encrypted registration parameters to the authentication end for decryption and authorization code generation, laying the foundation for subsequent software login authentication.

[0028] Specifically, setting a dynamic encryption algorithm is a dynamic encryption mechanism that ensures the security of registration parameters during transmission. By dynamically generating encryption parameters, illegal cracking and replay attacks are prevented, ensuring that the generation and verification process of the authorization code is safe and reliable.

[0029] The encryption process and decryption process are used for the software installation platform and the authentication terminal.

[0030] In addition to passing parameters such as the CPU serial number, registration time, and expiration time, the registration parameters received by the software installation platform also include a timestamp of the user's registration time. The installation platform uses the timestamp as input and generates a unique encryption key through a hash function. This key will be used in the subsequent encryption and decryption process. The encryption key is encrypted and transmitted together with the transmission data through the DES encryption algorithm. The encryption algorithm combines the data and the key to generate encrypted data. The installation platform uses the registration timestamp as part of the encrypted data or as an independent field, and transmits it through a secure transmission channel (such as HTTPS, SSL / TLS, etc.) to ensure that it is not intercepted or tampered with during the transmission process.

[0031] After receiving the encrypted data, the authentication end first ensures synchronization with the timestamp of the sender. Then, after receiving the encrypted data and timestamp, it uses the same key generation algorithm as the installation platform and uses the received timestamp as input to regenerate the encryption key. It can be understood that since both the authentication end and the installation platform use the same timestamp and key generation algorithm, they can generate the same encryption key. At the same time, in order to ensure the accuracy and consistency of the timestamp, it is preferred to use the Network Time Protocol (NTP) to synchronize the system clocks of the authentication end and the installation platform.

[0032] It is understandable that since the timestamp changes dynamically, the encrypted data is time-sensitive, and the key for each time node is different, which increases the difficulty of cracking the data transmission between the software installation platform and the authentication end, making it difficult to crack the user's registration parameters.

[0033] Optionally, in this embodiment, after the authentication end successfully decrypts the data, the authentication end successfully receives the registration parameters of the user end, namely, the central processing unit serial number, initial registration time and initial expiration time of the user end.

[0034] Optionally, in this embodiment, a preset authorization code rule is formulated by the business software developer and is not developed externally, which can prevent criminals from forging the rule. For example, the following is a rule implementation method, which is a sequence obtained by encrypting the CPU serial number, registration time, and expiration time using the AES algorithm. The field item starts with $ and each item is separated by #, which is defined as: $CPU: #$CREATIME:yyyymmddHHmmss #$DUETIME:yyyymmddHHmmss.

[0035] The corresponding software authorization code can be generated by using the above authorization code generation rules and the CPU serial number, initial registration time and initial expiration time of the user terminal received by the authentication terminal. After generation, the authentication terminal sends the software authorization code to the user terminal (it can also be returned to the software platform through the interface and sent to the user terminal by the software platform). The sending method also adopts the dynamic encryption method, using the timestamp corresponding to the authorization code generation time as input, and generating a unique encryption key again through the hash function, which is encrypted and transmitted through a secure transmission channel.

[0036] After applying for registration, the user receives the corresponding authorization code. At this time, the user can enter the authorization code to register.

[0037] Step S103: Receive the software authorization code sent by the user terminal, compare the CPU serial number in the software authorization code with the CPU serial number of the user terminal, if they are consistent, perform a registration success mark operation, determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software usage authentication operation according to the CPU serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain the corresponding software authentication result.

[0038] Optionally, in this embodiment, this step is to register the authorization code and the authentication process for each software use after successful registration.

[0039] Specifically, the user terminal initiates a registration application to the business software platform again according to the authorization code generated in step S102. The business software platform decodes the received authorization code according to the authorization code rule consistent with the authorization code rule in step S102, and parses it to obtain the CPU serial number, registration time, and expiration time. The CPU serial number obtained by parsing the authorization code is compared with the CPU serial number of the user terminal in the initial global variable. If they are consistent, it is considered that the registration is successful.

[0040] When the registration is successful, the software platform will be marked with an authorized mark, and the initial registration time and initial expiration time in the authorization code will be updated with the time corresponding to the successful registration moment. Then, the authorization code will be placed somewhere in the program installation directory for loading and use by the initial filter method in the first step. This step is the process of updating the preset initial static global variables.

[0041] Optionally, in this embodiment, in the business software platform, initial static global variables are set, including the user-side central processing unit serial number (automatically read after the user-side downloads the software platform), registration time, expiration time, and an authentication flag (the initial value is set to false, indicating that the software has not been authorized at the beginning).

[0042] When a user registers with the business software platform based on the authorization code, the CPU serial number in the authorization code will be compared with the user-side CPU serial number in the initial static global variable. If they are consistent, it means that this authorization code is generated for this computer. At this time, the registration time will be updated according to the time of the successful registration, and the duration calculated based on the initial registration time and the initial expiration time will be added to the updated registration time to obtain the updated expiration time. The updated expiration time is used for subsequent software authentication interception.

[0043] It can be understood that, through the above method, a dedicated mode of one code per machine can be ensured, thereby improving the security and efficiency of software authentication and use.

[0044] Optionally, in this embodiment, steps S101-S103 describe a static process, and this embodiment is explained below through a dynamic process of initial registration.

[0045] In terms of hardware layout, it includes the user end, software service platform, and authentication end. The software service platform refers to the platform system used to install the service software. When the user end wants to use the service software, it will first download the software service platform and register and authenticate through the software service platform. After the user end downloads the software service platform, the software service platform is installed on the user end.

[0046] The software business platform initially has a global filtering module, which includes initial static global variables and initial judgment logic. Static global variables mean that these parameters are shared during the entire software operation process. The global filtering module participates in the authentication process only when the user obtains the authorization code and registers according to the authorization code.

[0047] Specifically, the initial static global variables include the user's central processor serial number (automatically read after the user downloads the software platform), registration time, expiration time, and an authentication flag (the initial value is set to false, indicating that the software has not been authorized at the beginning).

[0048] Specifically, the initial judgment logic is to read the software authorization code from the specified installation directory, parse the authorization code to obtain the CPU serial number, and compare it with the initial CPU value in the initial static global variable. Only when they match, the registration time and expiration time are updated. At the same time, an interception function is also provided to check all software requests. If the software has been authorized (that is, whether the authentication flag is true) and the expiration time has not yet arrived, the software will run normally; otherwise, the user will be prompted that the software is not registered or the authorization code has expired.

[0049] In terms of implementation steps: The first step is that the user downloads the software service platform through the user end and installs it; (after installation, the service platform will read the user end CPU serial number and store it into the initial static global variables of the global filtering module. The initial static global variables include the user end CPU serial number: , registration time 0, expiration time 0, and initial authentication flag value false, indicating that the software has not been authorized at the beginning) In the second step, the user sends the first registration request to the software business platform through the user terminal; (the registration request does not pass through the global filtering module of the software business platform, because the global filtering module participates in the identification process only when the user terminal obtains the authorization code and sends the second registration application according to the authorization code. Therefore, the first registration request is for the user terminal to send some registration parameters to the software business platform and obtain the authorization code entry, so as to facilitate the subsequent authentication terminal to generate a unique authorization code according to the registration parameters. The registration parameters include the user terminal CPU serial number, initial registration time, initial expiration time and timestamp, among which the initial registration time and initial expiration time are used to represent the user time parameters. Specifically, the duration calculated according to the initial registration time and initial expiration time represents the registration code type selected by the user, such as the purchased usage time, etc.) In the third step, the software service platform dynamically encrypts the registration parameters in the first registration request and transmits them to the authentication end through the communication port; In the fourth step, the authentication end obtains the registration parameters in the first registration request through the same dynamic decryption method, generates a unique authorization code accordingly, and then dynamically encrypts it and sends it to the user end (or returns it to the software business platform and then returns it to the user end); Step 5: The user sends a second registration application to the software service platform through the user terminal using the authorization code obtained in step 4; Step 6: The software business platform parses the authorization code from the specified installation directory, and compares the CPU serial number in the authorization code with the CPU serial number of the initial static global variable in the global filtering module (i.e., the user-side CPU serial number) through the logic judgment program of the global filtering module. If they are consistent, it means that this authorization code is generated for this computer. At this time, the registration is successful, and the registration time of the initial static global variable is updated according to the registration time at the moment of successful registration, and the expiration time of the initial static global variable is updated according to the expiration time calculated by the registration code type selected by the user, and then the initial authentication flag value false of the initial static global variable is marked as true. At this time, the software business platform completes the overall update of the global filtering module according to the authorization code sent by the user; Step 7: Registration is completed. Since the parameters in the global filtering module are global static parameters, if the program is not restarted, successful registration has marked successful authentication. If it is restarted, the global filtering module initialization method will also load the authentication code from the specified installation directory to mark successful authentication, thereby achieving the purpose of verifying whether the authentication is successful. In the eighth step, when the user continues to use the software, the updated global filtering module uses a logical judgment program to determine whether the authentication mark true exists. If not, the user is not authorized and the use is blocked. If they are consistent, the updated expiration time is further compared with the current time to determine whether it has expired. If it has expired, the user is not authorized and the use is blocked. If it has not expired, the software usage page is entered.

[0050] This example shows how this embodiment performs unique authentication based on the CPU serial number, and uses a dynamic encryption algorithm to encrypt and transmit data during the process, thereby preventing the software from being illegally copied and used.

[0051] From the above description, it can be seen that the software authentication method provided in the embodiment of the present application can encrypt the user-side registration parameters and send them to the authentication end; after decryption, the authentication end generates an authorization code for the user-side CPU serial number, initial registration time and initial expiration time in the registration parameters according to the preset authorization code rules to obtain a software authorization code, and send the software authorization code to the user end; receive the software authorization code sent by the user end, compare the CPU serial number in the software authorization code with the CPU serial number of the user end, if they are consistent, the registration is successful, mark the authorized label, and update the time parameter at the time of registration according to the time parameter when the registration is successful. Each time the software logs in, authentication is performed according to the CPU serial number of the user end, the authorized label, and the updated time parameter to obtain the corresponding software authentication result, thereby improving the efficiency and security of software authentication.

[0052] In one embodiment of the software authentication method of the present application, see Figure 2 , and can also include the following: Step S201: performing a key generation operation according to a timestamp corresponding to the registration request time and a preset hash function to determine a corresponding first encryption key; Step S202: performing an encryption operation on the registration parameter according to the first encryption key to determine a corresponding encrypted registration parameter.

[0053] Optionally, in this embodiment, the core is to use the timestamp of the registration request time in combination with a preset hash function to dynamically generate an encryption key, and use the key to encrypt the registration parameters.

[0054] Specifically, first, extract the precise timestamp from the registration request. When the user initiates a registration request, the system records the current precise timestamp (accurate to milliseconds), for example: 20241010143025123.

[0055] Secondly, select a secure hash function SHA-256. The function of the hash function is to convert the timestamp into a hash value of fixed length while ensuring the irreversibility and uniqueness of the hash value. Input the extracted timestamp into the hash function to generate a hash value of fixed length. For example: Timestamp = 20241010143025123 Hash value = 3f6d3f3f8b5f9a8b7e6d7f6d3f3f8b5f9a8b7e6d7f6d3f3f8b5f9a8b7e6d7f6d Extract part of the data from the hash value as the encryption key. For example, take the first 16 characters of the hash value as the first encryption key: 3f6d3f3f8b5f9a8b Preferably, in order to further enhance security, the extracted key may be subjected to secondary processing, such as combining it with a preset static key fragment through an XOR operation to generate a final first encryption key.

[0056] After obtaining the first encryption key, prepare the registration parameters, which include: the CPU serial number of the user end, the initial registration time, and the initial expiration time. The first encryption key and the registration parameters are encrypted and transmitted together through the DES encryption algorithm, which combines the data and the key to generate encrypted data.

[0057] For example: First encryption key: 3f6d3f3f8b5f9a8b Encrypted result (Base64 encoding): QzVjQkQyM0Q1NkQ3OEQ5MEIyN0QyM0Q1NkQ3OEQ5MEI= It is understandable that the timestamp of each registration request is different, and the generated encryption key is also different, thus ensuring the uniqueness and security of each registration request. At the same time, the key is generated using a hash function to ensure the irreversibility and uniqueness of the key and prevent the key from being cracked.

[0058] In addition, the solution can adjust the hash function, encryption algorithm and key generation logic according to different business needs, with high flexibility and scalability. For example, the hash function can be SHA-3, and the encryption algorithm can be AES-128 or AES-256.

[0059] Through step S202, this embodiment dynamically encrypts the registration parameters transmitted by the user terminal to ensure the uniqueness and security of each registration request.

[0060] In one embodiment of the software authentication method of the present application, see Figure 3 , and can also include the following: Step S301: performing a field item adding operation on the CPU serial number of the user terminal, the initial registration time and the initial expiration time obtained after the decryption operation according to the preset beginning field item; Step S302: performing an interval item adding operation on the CPU serial number, initial registration time and initial expiration time of the user terminal after the field item adding operation, and determining the corresponding software authorization code.

[0061] Optionally, in this embodiment, this step is the generation rule of the authorization code, which is formulated by the business software developer and is not open to the public, so as to prevent criminals from forging the rules. For example, the following is a rule implementation method, which is a sequence obtained by encrypting the CPU serial number, registration time, and expiration time using the AES algorithm. The field item starts with $ and each item is separated by #, which is defined as: $CPU: #$CREATIME:yyyymmddHHmmss #$DUETIME:yyyymmddHHmmss.

[0062] The corresponding software authorization code can be generated by using the above authorization code generation rules and the CPU serial number, initial registration time and initial expiration time of the user terminal received by the authentication terminal.

[0063] It is understandable that the above are only some examples of the rules, and the specific rules can be flexibly changed according to different projects.

[0064] Through step S302, this embodiment generates a software authorization code using preset rules, laying a foundation for subsequent software registration and use authentication based on the authorization code.

[0065] In one embodiment of the software authentication method of the present application, see Figure 4 , and can also include the following: Step S401: performing a key generation operation according to a timestamp corresponding to the generation time of the software authorization code and a preset hash function to determine a corresponding second encryption key; Step S402: encrypting the software authorization code according to the second encryption key, and sending the encrypted software authorization code to the user terminal.

[0066] Optionally, the difference between this step and step S201 is that the encryption method in step S201 is implemented by the software platform and the authentication end, while the encryption method in this step is implemented by the authentication end and the user end.

[0067] Specifically, the timestamp corresponding to the authorization code generation time is used as input, and a unique second encryption key is generated again through a hash function for dynamic encryption. At this time, the authentication end and the user end must keep the timestamps exactly the same.

[0068] It is understandable that by inputting the dynamically encrypted registration parameters to the authentication end and outputting the dynamically encrypted authorization code, the two work together to effectively isolate the data theft attacks that the authentication end may encounter, and protect the security of user data, authentication codes, and subsequent software use.

[0069] Through step S402, this embodiment successfully dynamically encrypts the authorization code output by the authentication end, thereby protecting the security of user data and the authentication code as well as subsequent software use.

[0070] In one embodiment of the software authentication method of the present application, see Figure 5 , and can also include the following: Step S501: receiving the software authorization code sent by the user terminal, parsing the software authorization code according to the authorization code rule, and determining the CPU serial number in the corresponding software authorization code; Step S502: Compare the CPU serial number in the software authorization code with the CPU serial number of the user terminal. If they are consistent, perform a successful registration marking operation to determine the corresponding authorized label.

[0071] Optionally, in this embodiment, the software authorization code generation rule is uniformly preset by the authentication end and the software platform. The software business platform receives the authorization code, stores it in the specified installation directory, and reads the specified installation directory through the logic judgment program of the global filtering module for parsing to obtain the central processing unit serial number in the authorization code. Then, the central processing unit serial number in the authorization code and the central processing unit serial number of the initial static global variable in the global filtering module (that is, the user-side central processing unit serial number) are compared to determine whether they are consistent. If they are consistent, it means that this authorization code is generated for this computer. At this time, the registration is successful, and the initial authentication flag value false of the initial static global variable is marked as true.

[0072] Through step S502, this embodiment completes the initial registration of the software, laying the foundation for subsequent software usage authentication.

[0073] In one embodiment of the software authentication method of the present application, see Figure 6 , and can also include the following: Step S601: performing a static variable construction operation according to the CPU serial number of the user terminal, the authorized tag, the updated registration time, and the updated expiration time to determine the corresponding static global variable; Step S602: Perform software usage authentication operation according to the static global variables and preset authentication rules to obtain a corresponding software authentication result.

[0074] Optionally, this step is a process of updating the initial static global variables of the software service platform and performing software usage authentication through the updated static global variables.

[0075] Specifically, after the software is successfully registered, the registration time of the initial static global variable is updated according to the registration time at the moment of successful registration, and the expiration time of the initial static global variable is updated according to the expiration time calculated by the registration code type selected by the user.

[0076] At this time, the updated static global variables are obtained, namely, the CPU serial number of the user end, the authorized tag (authentication flag value true), the updated registration time, and the updated expiration time.

[0077] Since the parameters in the global filtering module are global static parameters, if the program is not restarted, successful registration has marked successful authentication. If it is restarted, the global filtering module initialization method will also load the authentication code from the specified installation directory to mark successful authentication, thereby achieving the purpose of verifying whether authentication is successful.

[0078] Through step S602, this embodiment successfully updates the initial static global variables of the software service platform through the time parameters after successful registration, and implements software usage authentication through the updated static global variables.

[0079] In one embodiment of the software authentication method of the present application, see Figure 7 , and can also include the following: Step S701: Determine whether the authorized tag exists. If not, the software authentication result is unauthorized, and the software use interception operation is performed on the user terminal; Step S702: If it exists, the usage time is judged according to the updated registration time and the updated expiration time. If it has expired, the software authentication result is unauthorized, and the software usage is intercepted for the user terminal.

[0080] Optionally, this step describes the authentication decision logic during the use of the software.

[0081] Specifically, when the user continues to use the software, the updated global filtering module uses a logical judgment program to determine whether the authentication mark true exists. If not, the user is not authorized and the use is blocked. If they are consistent, the updated expiration time is further compared with the current time to determine whether it has expired. If it has expired, the user is not authorized and the use is blocked. If it has not expired, the software usage page is entered.

[0082] Through step S702, this embodiment successfully implements software authentication according to the logic determination program of the global filtering module, thereby improving the security of software use and the efficiency of the authentication process.

[0083] In order to improve the efficiency and security of software authentication, the present application provides an embodiment of a software authentication device for implementing all or part of the content of the software authentication method, see Figure 8 , the software authentication device specifically includes the following contents: The registration request receiving module 10 is used to receive the registration request sent by the user terminal, parse the registration request, and determine the corresponding registration parameters, wherein the registration parameters include the central processing unit serial number of the user terminal, the initial registration time, and the initial expiration time; The authorization code generation module 20 is used to perform an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determine the corresponding encrypted registration parameters, and send the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performs an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determines the corresponding software authorization code, and sends the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; The software authentication module 30 is used to receive the software authorization code sent by the user terminal, compare the CPU serial number in the software authorization code with the CPU serial number of the user terminal, and if they are consistent, perform a registration success mark operation to determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software use authentication operation according to the CPU serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain the corresponding software authentication result.

[0084] From the above description, it can be seen that the software authentication device provided in the embodiment of the present application can encrypt the user-side registration parameters and send them to the authentication end; after decryption, the authentication end generates an authorization code for the user-side CPU serial number, initial registration time and initial expiration time in the registration parameters according to the preset authorization code rules to obtain a software authorization code, and sends the software authorization code to the user end; receive the software authorization code sent by the user end, compare the CPU serial number in the software authorization code with the CPU serial number of the user end, if they are consistent, the registration is successful, mark the authorized label, and update the time parameter at the time of registration according to the time parameter when the registration is successful. Each time the software logs in, authentication is performed according to the CPU serial number of the user end, the authorized label, and the updated time parameter to obtain the corresponding software authentication result, thereby improving the efficiency and security of software authentication.

[0085] From the hardware level, in order to improve the efficiency and security of software authentication, the present application provides an embodiment of an electronic device for implementing all or part of the content of the software authentication method, and the electronic device specifically includes the following content: Processor, memory, communication interface and bus; wherein the processor, memory and communication interface communicate with each other through the bus; the communication interface is used to realize information transmission between the software authentication method and related devices such as the core business system, user terminal and related database; the logic controller can be a desktop computer, a tablet computer and a mobile terminal, etc., but the present embodiment is not limited thereto. In the present embodiment, the logic controller can be implemented with reference to the embodiment of the software authentication method in the embodiment and the embodiment of the software authentication method, and the contents thereof are incorporated herein, and the repeated parts are not repeated.

[0086] It is understandable that the user terminal may include a smart phone, a tablet electronic device, a network set-top box, a portable computer, a desktop computer, a personal digital assistant (PDA), a vehicle-mounted device, a smart wearable device, etc. Among them, the smart wearable device may include smart glasses, a smart watch, a smart bracelet, etc.

[0087] In practical applications, part of the software authentication method can be executed on the electronic device side as described above, or all operations can be completed in the client device. The specific selection can be based on the processing capability of the client device and the limitations of the user's usage scenario. This application does not limit this. If all operations are completed in the client device, the client device may also include a processor.

[0088] The client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission with the server. The server may include a server on the task scheduling center side, and other implementation scenarios may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, or a server cluster consisting of multiple servers, or a server structure of a distributed device.

[0089] Fig. 9 FIG. 9 is a schematic block diagram of the system structure of the electronic device 9600 according to an embodiment of the present application. Fig. 9 As shown, the electronic device 9600 may include a central processor 9100 and a memory 9140; the memory 9140 is coupled to the central processor 9100. It is worth noting that Fig. 9 is exemplary; other types of structures may also be used to supplement or replace this structure to implement telecommunication functions or other functions.

[0090] In one embodiment, the software authentication method function may be integrated into the central processing unit 9100. The central processing unit 9100 may be configured to perform the following control: Step S101: receiving a registration request sent by the user terminal, parsing the registration request, and determining corresponding registration parameters, wherein the registration parameters include a CPU serial number of the user terminal, an initial registration time, and an initial expiration time; Step S102: performing an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determining corresponding encrypted registration parameters, and sending the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performs an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determines a corresponding software authorization code, and sends the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; Step S103: Receive the software authorization code sent by the user terminal, compare the CPU serial number in the software authorization code with the CPU serial number of the user terminal, if they are consistent, perform a registration success mark operation, determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software usage authentication operation according to the CPU serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain the corresponding software authentication result.

[0091] From the above description, it can be seen that the electronic device provided in the embodiment of the present application encrypts the user-side registration parameters and sends them to the authentication end; after decryption, the authentication end generates an authorization code for the user-side CPU serial number, initial registration time and initial expiration time in the registration parameters according to the preset authorization code rules to obtain a software authorization code, and sends the software authorization code to the user end; receives the software authorization code sent by the user end, compares the CPU serial number in the software authorization code with the CPU serial number of the user end, if they are consistent, the registration is successful, marks the authorized label, and updates the time parameters at the time of registration according to the time parameters when the registration is successful. Each time the software logs in, authentication is performed according to the user-side CPU serial number, the authorized label, and the updated time parameters to obtain the corresponding software authentication result, thereby improving the efficiency and security of software authentication.

[0092] In another embodiment, the software authentication method may be configured separately from the central processor 9100. For example, the software authentication method may be configured as a chip connected to the central processor 9100, and the function of the software authentication method may be implemented under the control of the central processor.

[0093] like Fig. 9 As shown, the electronic device 9600 may also include: a communication module 9110, an input unit 9120, an audio processor 9130, a display 9160, and a power supply 9170. It is worth noting that the electronic device 9600 does not necessarily have to include Fig. 9 In addition, the electronic device 9600 may also include Fig. 9 For components not shown, reference may be made to the prior art.

[0094] like Fig. 9 As shown, the central processing unit 9100 is sometimes also referred to as a controller or an operation control, and may include a microprocessor or other processor device and / or logic device. The central processing unit 9100 receives input and controls the operation of various components of the electronic device 9600.

[0095] The memory 9140 may be, for example, one or more of a cache, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory or other suitable devices. The above-mentioned information related to the failure may be stored, and a program for executing the relevant information may also be stored. The CPU 9100 may execute the program stored in the memory 9140 to implement information storage or processing, etc.

[0096] The input unit 9120 provides input to the central processing unit 9100. The input unit 9120 is, for example, a key or a touch input device. The power supply 9170 is used to provide power to the electronic device 9600. The display 9160 is used to display display objects such as images and texts. The display may be, for example, an LCD display, but is not limited thereto.

[0097] The memory 9140 may be a solid-state memory, such as a read-only memory (ROM), a random access memory (RAM), a SIM card, etc. It may also be a memory that saves information even when the power is off, can be selectively erased, and is provided with more data, examples of which are sometimes referred to as EPROMs, etc. The memory 9140 may also be some other type of device. The memory 9140 includes a buffer memory 9141 (sometimes referred to as a buffer). The memory 9140 may include an application / function storage unit 9142, which is used to store application programs and function programs or processes for executing the operation of the electronic device 9600 through the central processor 9100.

[0098] The memory 9140 may also include a data storage unit 9143 for storing data, such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. The driver storage unit 9144 of the memory 9140 may include various drivers for communication functions of the electronic device and / or for executing other functions of the electronic device (such as messaging applications, address book applications, etc.).

[0099] The communication module 9110 is a transmitter / receiver that sends and receives signals via the antenna 9111. The communication module 9110 is coupled to the central processor 9100 to provide input signals and receive output signals, which may be the same as the case of a conventional mobile communication terminal.

[0100] Based on different communication technologies, multiple communication modules 9110 may be provided in the same electronic device, such as a cellular network module, a Bluetooth module and / or a wireless local area network module, etc. The communication module 9110 is also coupled to a speaker 9131 and a microphone 9132 via an audio processor 9130 to provide an audio output via the speaker 9131 and receive an audio input from the microphone 9132, thereby realizing a common telecommunication function. The audio processor 9130 may include any suitable buffer, decoder, amplifier, etc. In addition, the audio processor 9130 is also coupled to the central processor 9100, so that recording can be performed on the machine through the microphone 9132, and the sound stored on the machine can be played through the speaker 9131.

[0101] The embodiments of the present application also provide a computer-readable storage medium capable of implementing all the steps of the software authentication method in the above embodiment in which the execution subject is a server or a client. The computer-readable storage medium stores a computer program. When the computer program is executed by a processor, all the steps of the software authentication method in the above embodiment in which the execution subject is a server or a client are implemented. For example, when the processor executes the computer program, the following steps are implemented: Step S101: receiving a registration request sent by the user terminal, parsing the registration request, and determining corresponding registration parameters, wherein the registration parameters include a CPU serial number of the user terminal, an initial registration time, and an initial expiration time; Step S102: performing an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determining corresponding encrypted registration parameters, and sending the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performs an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determines a corresponding software authorization code, and sends the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; Step S103: Receive the software authorization code sent by the user terminal, compare the CPU serial number in the software authorization code with the CPU serial number of the user terminal, if they are consistent, perform a registration success mark operation, determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software usage authentication operation according to the CPU serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain the corresponding software authentication result.

[0102] From the above description, it can be seen that the computer-readable storage medium provided in the embodiment of the present application encrypts the user-side registration parameters and sends them to the authentication side; after decryption, the authentication side generates an authorization code for the user-side CPU serial number, initial registration time and initial expiration time in the registration parameters according to the preset authorization code rules to obtain a software authorization code, and sends the software authorization code to the user side; receives the software authorization code sent by the user side, compares the CPU serial number in the software authorization code with the CPU serial number of the user side, if they are consistent, the registration is successful, marks the authorized label, and updates the time parameters at the time of registration according to the time parameters when the registration is successful, and each time the software logs in, performs authentication according to the CPU serial number of the user side, the authorized label, and the updated time parameters to obtain the corresponding software authentication result, thereby improving the efficiency and security of software authentication.

[0103] The embodiments of the present application also provide a computer program product capable of implementing all the steps of the software authentication method in the above embodiments, where the execution subject is a server or a client. When the computer program / instruction is executed by a processor, the steps of the software authentication method are implemented. For example, the computer program / instruction implements the following steps: Step S101: receiving a registration request sent by the user terminal, parsing the registration request, and determining corresponding registration parameters, wherein the registration parameters include a CPU serial number of the user terminal, an initial registration time, and an initial expiration time; Step S102: performing an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determining corresponding encrypted registration parameters, and sending the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performs an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determines a corresponding software authorization code, and sends the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; Step S103: Receive the software authorization code sent by the user terminal, compare the CPU serial number in the software authorization code with the CPU serial number of the user terminal, if they are consistent, perform a registration success mark operation, determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software usage authentication operation according to the CPU serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain the corresponding software authentication result.

[0104] From the above description, it can be seen that the computer program product provided in the embodiment of the present application encrypts the user-side registration parameters and sends them to the authentication end; after decryption, the authentication end generates an authorization code for the user-side CPU serial number, initial registration time and initial expiration time in the registration parameters according to the preset authorization code rules to obtain a software authorization code, and sends the software authorization code to the user end; receives the software authorization code sent by the user end, compares the CPU serial number in the software authorization code with the CPU serial number of the user end, if they are consistent, the registration is successful, marks the authorized label, and updates the time parameters at the time of registration according to the time parameters when the registration is successful. Each time the software logs in, it is authenticated according to the CPU serial number of the user end, the authorized label, and the updated time parameters to obtain the corresponding software authentication result, thereby improving the efficiency and security of software authentication.

[0105] It should be understood by those skilled in the art that embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0106] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (apparatus), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0107] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0108] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0109] The present invention uses specific embodiments to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A software authentication method, characterized in that: Applied to a software installation platform, the software installation platform is in communication connection with a user terminal and an authentication terminal, the method comprises: Receiving a registration request from the user terminal, parsing the registration request, and determining corresponding registration parameters, wherein the registration parameters include a central processing unit serial number of the user terminal, an initial registration time, and an initial expiration time; Performing an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determining corresponding encrypted registration parameters, and sending the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performing an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determining a corresponding software authorization code, and sending the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; Receive the software authorization code sent by the user terminal, compare the central processing unit serial number in the software authorization code with the central processing unit serial number of the user terminal, and if they are consistent, perform a registration success marking operation to determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software usage authentication operation according to the central processing unit serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain a corresponding software authentication result.

2. The software authentication method according to claim 1, characterized in that: The step of performing an encryption operation on the registration parameters according to a set dynamic encryption algorithm to determine corresponding encrypted registration parameters includes: Perform a key generation operation according to a timestamp corresponding to the registration request time and a preset hash function to determine a corresponding first encryption key; The registration parameter is encrypted according to the first encryption key to determine a corresponding encrypted registration parameter.

3. The software authentication method according to claim 1, characterized in that: The step of performing an authorization code generation operation on the central processing unit serial number of the user terminal, the initial registration time, and the initial expiration time obtained after the decryption operation according to a preset authorization code rule to determine a corresponding software authorization code includes: Performing a field item adding operation on the CPU serial number of the user terminal, the initial registration time and the initial expiration time obtained after the decryption operation according to the preset leading field item; An interval item adding operation is performed on the CPU serial number, initial registration time and initial expiration time of the user terminal after the field item adding operation to determine the corresponding software authorization code.

4. The software authentication method according to claim 1, characterized in that: The sending the software authorization code to the user terminal includes: Perform a key generation operation according to a timestamp corresponding to the generation time of the software authorization code and a preset hash function to determine a corresponding second encryption key; The software authorization code is encrypted according to the second encryption key, and the encrypted software authorization code is sent to the user terminal.

5. The software authentication method according to claim 1, characterized in that: The receiving of the software authorization code sent by the user terminal, comparing the CPU serial number in the software authorization code with the CPU serial number of the user terminal, and if they are consistent, performing a registration success marking operation to determine a corresponding authorized label, including: Receive the software authorization code sent by the user terminal, parse the software authorization code according to the authorization code rule, and determine the central processing unit serial number in the corresponding software authorization code; The CPU serial number in the software authorization code is compared with the CPU serial number of the user terminal. If they are consistent, a registration success marking operation is performed to determine the corresponding authorized label.

6. The software authentication method according to claim 1, characterized in that: The software authentication operation is performed according to the CPU serial number of the user terminal, the authorized tag, the updated registration time and the updated expiration time to obtain a corresponding software authentication result, including: Perform a static variable construction operation according to the CPU serial number of the user terminal, the authorized tag, the updated registration time, and the updated expiration time to determine the corresponding static global variable; The software usage authentication operation is performed according to the static global variables and the preset authentication rules to obtain the corresponding software authentication result.

7. The software authentication method according to claim 6, characterized in that: The software authentication operation is performed according to the static global variable and the preset authentication rule to obtain the corresponding software authentication result, including: Determine whether the authorized tag exists. If not, the software authentication result is unauthorized, and the user terminal is intercepted from using the software. If it exists, a usage time judgment operation is performed according to the updated registration time and the updated expiration time. If it has expired, the software authentication result is unauthorized, and a software usage interception operation is performed on the user terminal.

8. A software authentication device, characterized in that: The device comprises: A registration request receiving module, used to receive a registration request sent by a user terminal, parse the registration request, and determine corresponding registration parameters, wherein the registration parameters include a central processing unit serial number of the user terminal, an initial registration time, and an initial expiration time; An authorization code generation module is used to perform an encryption operation on the registration parameters according to a set dynamic encryption algorithm, determine the corresponding encrypted registration parameters, and send the encrypted registration parameters to the authentication terminal, so that the authentication terminal performs a decryption operation on the encrypted registration parameters according to a dynamic decryption algorithm corresponding to the set dynamic encryption algorithm, and performs an authorization code generation operation on the central processor serial number of the user terminal obtained after the decryption operation, the initial registration time, and the initial expiration time according to a preset authorization code rule, determines the corresponding software authorization code, and sends the software authorization code to the user terminal, so that the user terminal performs a software login operation according to the software authorization code; The software authentication module is used to receive the software authorization code sent by the user terminal, compare the CPU serial number in the software authorization code with the CPU serial number of the user terminal, and if they are consistent, perform a registration success mark operation to determine the corresponding authorized label, and update the initial registration time and the initial expiration time according to the time parameter when the registration is successful, determine the corresponding updated registration time and updated expiration time, perform a software use authentication operation according to the CPU serial number of the user terminal, the authorized label, the updated registration time and the updated expiration time, and obtain the corresponding software authentication result.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps of the software authentication method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the software authentication method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Universal method for carrying out authorization protection on software

    CN112328976A

  • Equipment authentication method and device, electronic equipment and storage medium

    CN112487502A

  • Software authorization file generation and verification method

    CN117540348A

  • Temporary authorization method and device, server and medium

    CN118157950A

  • Offline software authorization method and device, electronic equipment and storage medium

    CN119150258A