Software license generation and verification method

By generating unique feature codes and generating license files in combination with digest algorithms, the existing software authentication technology has problems such as password leakage and high hardware costs, and the reliability and security of software-hardware binding and data encryption are achieved.

CN119848805APending Publication Date: 2025-04-18SHENZHEN AISHIDA INFORMATION TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411940012.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The existing software authentication technology has the risk of password leakage and brute force cracking, and increases hardware and management costs.

Method used

By obtaining hardware ID information and software information, generating unique feature codes, combining the digest algorithm to generate license files, and using digital envelope technology for encryption, optimizing the authorization verification process.

Benefits of technology

It realizes the binding between software and specific hardware, improves the reliability and security of data encryption, saves hardware, storage and management costs, and improves the efficiency and security of software in network electronic distribution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119848805A_ABST
    Figure CN119848805A_ABST
Patent Text Reader

Abstract

The invention discloses a software license generation and verification method, which comprises the following steps of: acquiring a feature code, reading hardware ID information and software information in a running environment, combining the hardware ID information and the software information, and processing through a digest algorithm to generate the feature code; permission application: a user fills application information and applies for a permission file through an authorization server provided by the client, and the application information comprises a feature code; file encryption: summarizing and encrypting original data and generating a license file, the original data including application information and file information; and performing authorization verification, importing the permission file into the client, decrypting the permission file and checking whether the data is tampered or not, if the data is not tampered, successfully importing the permission file into the client, and otherwise, failing to import the permission file into the client. Compared with a traditional mode, the hardware cost of encryption and verification can be saved, the data storage and management cost is saved, and the efficiency and safety of software in network electronic issuing are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data encryption and verification, and in particular to a method for generating and verifying a software license. Background Art

[0002] With the popularization and rapid development of the Internet, authorization technology has also begun to be fully integrated with Internet technology. Previous solutions also have certain limitations. For example, the registered account for software authentication sets a password, which can be used on any device, but also brings the risk of password leakage and brute force cracking; the protection technology using additional hardware devices (such as encryption locks) increases the cost of hardware and management.

[0003] Therefore, there is an urgent need for a method for generating and verifying software licenses that can save hardware, storage, and management costs. Summary of the invention

[0004] In order to solve one or more problems existing in the prior art, the present invention provides a method for generating and verifying a software license. The technical solution adopted by the present invention to solve the above problems is: a method for generating and verifying a software license, the method comprising: obtaining a feature code, after the software is deployed, reading the hardware ID information and the software information in the running environment, combining the hardware ID information and the software information, and then processing them through a digest algorithm to generate a unique feature code corresponding to the running environment;

[0005] License application: the user fills in the application information and applies for a license file through the authorization server provided by the client, and the application information includes the feature code;

[0006] File encryption, aggregating and encrypting the original data and generating the license file, the original data including the application information and file information;

[0007] Authorization verification, importing the license file into the client, decrypting the license file and verifying whether the data has been tampered with. If no tampering occurs, the import of the license file into the client is successful, otherwise it fails.

[0008] In some embodiments, the permission application includes: each communication of the permission application generates a symmetric key used only for this communication;

[0009] The file encryption includes: using the symmetric key to symmetrically encrypt the original data and form a ciphertext data; combining the original data and the symmetric key, and then using a digest algorithm to generate a ciphertext sign; asymmetrically encrypting the symmetric key to form a ciphertext key; combining the ciphertext data, the ciphertext sign and the ciphertext key to generate the license file.

[0010] Furthermore, the authorization verification includes: decrypting the license file through an asymmetric private key in the software running environment and obtaining the symmetric key, decrypting the ciphertext data through the symmetric key, combining the decrypted ciphertext data and the symmetric key and generating a new signature through a digest algorithm, using the new signature and the ciphertext sign to perform data verification and determine whether tampering has occurred.

[0011] Furthermore, the file encryption: the original data is combined with the symmetric key and specific prefix and suffix characters are added, and then a digest algorithm is used to generate a ciphertext sign.

[0012] In some embodiments, the hardware ID information includes: the processor model of the device, the ID information of the processor, and the serial number of the hard disk drive; the software information includes: the information of the operating system.

[0013] In some embodiments, the file information includes: license generation time, license expiration time, license authorization scope and important information.

[0014] The technical effect achieved by the present invention is: on the basis of realizing the binding of software authorization with specific hardware, by optimizing encryption and authorization verification, the reliability, security and stability of data encryption are guaranteed, and the efficiency, reliability and security of authorization verification are improved; compared with traditional verification methods, it can save the hardware cost of encryption and verification, save the storage and management cost of data, improve the efficiency and security of software in network electronic distribution, and the background can conveniently manage software authorization in a unified manner, thereby improving the convenience of users in the download trial and activation process. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 A schematic diagram of the present invention between a server and a client;

[0016] Figure 2 is a schematic block diagram of the present invention;

[0017] Figure 3 Generate a schematic diagram for a license file of the present invention;

[0018] Figure 4 It is a schematic diagram of the authorization verification of the present invention. DETAILED DESCRIPTION

[0019] In order to make the above-mentioned objects, features and advantages of the present invention more understandable, the specific embodiments of the present invention are described in detail below in conjunction with the accompanying drawings. In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention can be implemented in many other ways different from this description, and those skilled in the art can make similar improvements without violating the connotation of the present invention, so the present invention is not limited by the specific embodiments disclosed below.

[0020] like Figure 1 , Figure 2 As shown, the present invention discloses a method for generating and verifying a software license, the method comprising: obtaining a feature code, after the software is deployed, reading hardware ID information and software information in the operating environment, combining the hardware ID information and the software information, and then processing them through a digest algorithm to generate a unique feature code corresponding to the operating environment, and a user can view the feature code through a client;

[0021] License application: the user fills in the application information and applies for a license file through the authorization server provided by the client. The application information includes the feature code. The authorization server can be a web page or software that is authorized to be opened;

[0022] File encryption, which aggregates and encrypts the original data and generates the license file. The original data includes the application information and file information. The encryption technology used in the aggregate encryption process is digital envelope technology, which combines the advantages of symmetric encryption and asymmetric encryption;

[0023] Authorization verification: after the user downloads the license file, the license file is imported into the client, the license file is decrypted and the data is verified to see if it has been tampered with. If no tampering has occurred, the license file is successfully imported into the client, otherwise it fails.

[0024] It should be noted that the hardware ID information includes: the device's processor model, processor ID information, hard disk drive serial number, and other hardware information (serial number, ID, etc.); the software information includes: operating system information and configuration information of other software in the current running environment, and the operating system information includes the installation date of the operating system.

[0025] Furthermore, the file information includes: license generation time, license expiration time, license authorization scope and important information, wherein the important information refers to the information set by the management end for the license file, which is set according to actual needs.

[0026] Among them, the combination of the hardware ID information and the software information can be: splicing in the order of CPU serial number, disk serial number, and software (system, deployment software) installation time, the splicing method is to remove spaces before and after each splicing segment, and there is no separator between splicing segments, and the splicing segment is the above-mentioned CPU serial number, disk serial number, and software (system, deployment software) installation time.

[0027] Specifically, Figure 3 As shown, during implementation, the permission application includes: each communication of the permission application will generate a symmetric key used only for this communication, in order to improve security. Even if the key of a session is leaked, it will not affect the security of other sessions;

[0028] The file encryption includes: using the symmetric key to symmetrically encrypt the original data and form a ciphertext data; combining the original data and the symmetric key, and then using a digest algorithm to generate a ciphertext sign; asymmetrically encrypting the symmetric key to form a ciphertext key; combining the ciphertext data, the ciphertext sign and the ciphertext key to generate the license file (lic file);

[0029] On the basis of this embodiment, in order to further improve security, optionally: the original data is combined with the symmetric key and specific prefix and suffix characters are added, and then a digest algorithm is used to generate a ciphertext sign, and the specific prefix and suffix characters are set as needed.

[0030] Specifically, Figure 4 As shown, during implementation, the authorization verification includes: decrypting the license file through an asymmetric private key in the software running environment, decrypting the ciphertext key using the asymmetric private key to obtain the symmetric key, decrypting the ciphertext data through the symmetric key, combining the decrypted ciphertext data and the symmetric key and generating a new signature through a digest algorithm, using the new signature and the ciphertext sign to perform data verification and determine whether tampering occurs, if no tampering occurs, the license file is successfully imported on the client, otherwise it fails.

[0031] The asymmetric private key is stored in a file of the deployment service and is generated in advance before importing.

[0032] It should be noted that the digest algorithm for generating the feature code is SHA-256, the digest algorithm for generating the ciphertext sign is SHA1, and the digest algorithm for generating the new signature is SHA1; the symmetric encryption algorithm for forming the ciphertext data is AES (Advanced Encryption Standard); the asymmetric encryption algorithm for forming the ciphertext key is RSA (Rivest-Shamir-Adleman).

[0033] To summarize, this application, on the basis of realizing the binding of software authorization with specific hardware, ensures the reliability, security and stability of data encryption and improves the efficiency, reliability and security of authorization verification by optimizing encryption and authorization verification; compared with traditional verification methods, it can effectively save the hardware costs of encryption and verification, save the storage and management costs of data, improve the efficiency and security of software in network electronic distribution, and the background can easily manage software authorization in a unified manner, thereby improving the convenience of users in the download trial and activation process.

[0034] The above-described embodiments only express one or more implementation modes of the present invention, and the description thereof is relatively specific and detailed, but it cannot be understood as limiting the patent of the present invention. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the attached claims.

Claims

1. A method for generating and verifying a software license, characterized in that: The method comprises: obtaining a feature code, after the software is deployed, reading hardware ID information and software information in the operating environment, combining the hardware ID information and the software information, and then processing them through a digest algorithm to generate a unique feature code corresponding to the operating environment; License application: the user fills in the application information and applies for a license file through the authorization server provided by the client, and the application information includes the feature code; File encryption, aggregating and encrypting the original data and generating the license file, the original data including the application information and file information; Authorization verification, importing the license file into the client, decrypting the license file and verifying whether the data has been tampered with. If no tampering occurs, the import of the license file into the client is successful, otherwise it fails.

2. The method for generating and verifying a software license according to claim 1, characterized in that: The permission application includes: each communication of the permission application generates a symmetric key used only for this communication; The file encryption includes: using the symmetric key to symmetrically encrypt the original data and form a ciphertext data; combining the original data and the symmetric key, and then using a digest algorithm to generate a ciphertext sign; asymmetrically encrypting the symmetric key to form a ciphertext key; combining the ciphertext data, the ciphertext sign and the ciphertext key to generate the license file.

3. The method for generating and verifying a software license according to claim 2, wherein: The authorization verification includes: decrypting the license file through an asymmetric private key in the software running environment and obtaining the symmetric key, decrypting the ciphertext data through the symmetric key, combining the decrypted ciphertext data and the symmetric key and generating a new signature through a digest algorithm, using the new signature and the ciphertext sign to perform data verification and determine whether tampering has occurred.

4. The method for generating and verifying a software license according to claim 2, wherein: The file encryption: the original data is combined with the symmetric key and specific prefix and suffix characters are added, and then a digest algorithm is used to generate a ciphertext sign.

5. The method for generating and verifying a software license according to claim 1, wherein: The hardware ID information includes: the processor model of the device, the ID information of the processor, and the serial number of the hard disk drive; the software information includes: the information of the operating system.

6. The method for generating and verifying a software license according to claim 1, wherein: The file information includes: license generation time, license expiration time, license authorization scope and important information.