A software licenses authorization method
Patent Information
- Application Number
- CN202310370183.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-31
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-03-31
AI Technical Summary
[0002]目前使用中的Licenses授权设计较为简单,安全性较低,多种软件产品未做具体区分,且无法限制软件的连接数量
[0016]若Licenses代理模块校验成功后,目标产品与Licenses代理模块建立心跳连接失败,目标产品与Licenses代理模块继续重试建立心跳连接。建立心跳连接失败的原因为数量到达上限、掉线导致授权拒绝、授权时间到期。
Smart Images

Figure CN116305216B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software licensing technology, and in particular to a method for licensing software licenses. Background Technology
[0002] The current license system is relatively simple in design, has low security, does not differentiate between various software products, and cannot limit the number of connections a software can make. Improving the security and functionality of software licenses is an urgent problem to be solved.
[0003] Therefore, existing technologies have shortcomings and need to be improved. Summary of the Invention
[0004] The technical problem to be solved by this invention is to provide a software license authorization method that improves the security and functionality of software authorization and prevents malicious cracking of license certificates.
[0005] The technical solution of the present invention is as follows: a software licenses authorization method is provided, based on a licenses management module, a licenses agent module, and a target product, including the following steps.
[0006] S1: Submit an application for a software license and report the unique identifier of the physical machine using the software license.
[0007] S2: Approve the software license application; upon approval, a license certificate is obtained. The license certificate includes: software product code, subject, duration, quantity, certificate key, fingerprint, and activation code. The activation code is ciphertext encrypted with the certificate key to uniquely identify the physical machine. The product code identifies the software product; the subject is the customer name or purchasing company name; the duration is the valid period of the license certificate; and the quantity is the number of physical machines or service node devices the software can be applied to. The fingerprint is a signature of the license certificate content using a proxy key to prevent tampering.
[0008] S3: Deploy the Licenses certificate to the physical machine and start the Licenses agent module. The Licenses agent module verifies the unique identifier of the physical machine and the activation code. If the verification does not match, the startup fails. If the verification matches, it verifies whether the target product and the Licenses agent module have successfully established a heartbeat connection.
[0009] Based on the software product code, the target product is launched on a physical machine with a Licenses certificate. The target product then sends the software product code, current timestamp, and token to the Licenses proxy module for verification. Once the Licenses proxy module successfully verifies the information, the target product establishes a heartbeat connection with the Licenses proxy module.
[0010] S4: After the Licenses agent module successfully establishes a heartbeat connection with the target product, it begins to manage the status of the Licenses certificate; once the target product starts successfully, the target product maintains a heartbeat connection with the Licenses agent module.
[0011] The Licenses proxy module can manage the authorization of target products (software) based on Licenses certificates, which can effectively improve the security of software authorization and increase the complexity, thereby making it more difficult for malicious cracking of authorization certificates.
[0012] The software license structure includes: a license certificate, a unique identifier for the physical machine, a proxy key pair, and a token; the unique identifier for the physical machine is encrypted into an activation code using a key; the proxy key pair includes a proxy key and a proxy public key, and the proxy key is used to sign the license certificate. The token includes: a password and a random number.
[0013] In step S3, the software product code, current timestamp, and token are implicitly scrambled and then subjected to a hash operation.
[0014] In step S3, the Licenses proxy module unlocks the Licenses certificate using the proxy public key, and then the Licenses proxy module verifies the unique identifier and activation code of the physical machine.
[0015] In step S4, the available number decreases by one for each heartbeat connection maintained; and increases by one for each heartbeat connection lost.
[0016] If the Licenses proxy module successfully verifies the license, but the target product fails to establish a heartbeat connection with the Licenses proxy module, the target product and the Licenses proxy module will continue to retry establishing a heartbeat connection. Reasons for heartbeat connection failure include reaching the limit, disconnection leading to authorization rejection, and authorization expiration.
[0017] When the Licenses agent module is installed on a physical machine, it is used for offline software licensing.
[0018] Using the above scheme, the present invention provides a software license authorization method. By setting up a dedicated license agent module, the license agent module manages the authorization of the target product (software) through license certificates, which can effectively improve the security of software authorization and increase the complexity at the same time, effectively increasing the difficulty of malicious cracking of license certificates. Different controls can be implemented for different software products. Attached Figure Description
[0019] Figure 1 This is a flowchart of the method of the present invention;
[0020] Figure 2 This is a schematic diagram of the process of the present invention;
[0021] Figure 3 This is a schematic diagram of the software licenses structure. Detailed Implementation
[0022] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments.
[0023] Please see Figures 1-3 This invention provides a software licenses authorization method, based on a licenses management module, a licenses agent module, and a target product, including the following steps.
[0024] S1: Submit an application for a software license and report the unique identifier of the physical machine using the software license.
[0025] S2: Approve the software license application; upon approval, a license certificate is obtained. The license certificate includes: software product code, subject, duration, quantity, certificate key, fingerprint, and activation code. The activation code is ciphertext encrypted with the certificate key to uniquely identify the physical machine. The product code identifies the software product; the subject is the customer name or purchasing company name; the duration is the valid period of the license certificate; and the quantity is the number of physical machines or service node devices the software can be applied to. The fingerprint is a signature of the license certificate content using a proxy key to prevent tampering.
[0026] S3: Deploy the Licenses certificate to the physical machine and start the Licenses agent module. The Licenses agent module verifies the unique identifier of the physical machine and the activation code. If the verification does not match, the startup fails. If the verification matches, it verifies whether the target product and the Licenses agent module have successfully established a heartbeat connection.
[0027] Based on the software product code, the target product is launched on a physical machine with a Licenses certificate. The target product then sends the software product code, current timestamp, and token to the Licenses proxy module for verification. Once the Licenses proxy module successfully verifies the information, the target product establishes a heartbeat connection with the Licenses proxy module.
[0028] S4: After the Licenses agent module successfully establishes a heartbeat connection with the target product, it begins to manage the status of the Licenses certificate; once the target product starts successfully, the target product maintains a heartbeat connection with the Licenses agent module.
[0029] The Licenses proxy module can manage the authorization of target products (software) based on Licenses certificates, which can effectively improve the security of software authorization and increase the complexity, thereby making it more difficult for malicious cracking of authorization certificates.
[0030] The software license structure includes: a license certificate, a unique identifier for the physical machine, a proxy key pair, and a token. The unique identifier for the physical machine is encrypted into an activation code using the certificate key. The proxy key pair includes a proxy key and a proxy public key, and the proxy key is used to sign the license certificate. The token includes a password and a random number.
[0031] In step S3, the software product code, current timestamp, and token are implicitly scrambled and then subjected to a hash operation.
[0032] In step S3, the Licenses proxy module unlocks the Licenses certificate using the proxy public key, and then the Licenses proxy module verifies the unique identifier and activation code of the physical machine.
[0033] In step S4, the available number decreases by one for each heartbeat connection maintained; and increases by one for each heartbeat connection lost.
[0034] If the Licenses proxy module successfully verifies the license, but the target product fails to establish a heartbeat connection with the Licenses proxy module, the target product and the Licenses proxy module will continue to retry establishing a heartbeat connection. Reasons for heartbeat connection failure include reaching the limit, disconnection leading to authorization rejection, and authorization expiration.
[0035] When the Licenses agent module is installed on a physical machine, it is used for offline software licensing.
[0036] In summary, this invention provides a software license authorization method. By setting up a dedicated license proxy module, the license proxy module manages the authorization of the target product (software) through license certificates, which can effectively improve the security and increase the complexity of software authorization, effectively increasing the difficulty of malicious cracking of license certificates. Different controls can be implemented for different software products.
[0037] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for granting software licenses, characterized in that, Based on the Licenses management module, Licenses agent module, and target product, the following steps are included: S1: Submit an application for a software license and report the unique identifier of the physical machine using the software license; S2: Approve the software license application, and obtain the license certificate upon approval; the license certificate includes: software product code, subject, term, quantity, certificate key, fingerprint, and activation code; wherein, the activation code is ciphertext that encrypts the unique identifier of the physical machine using the certificate key; S3: Deploy the Licenses certificate to the physical machine and start the Licenses agent module. The Licenses agent module verifies the unique identifier of the physical machine and the activation code. If the verification does not match, the startup fails. If the verification matches, it verifies whether the target product and the Licenses agent module have successfully established a heartbeat connection. Based on the software product code, the target product is launched on the physical machine with the Licenses certificate. The target product then sends the software product code, current timestamp, and token to the Licenses proxy module for verification. After the Licenses proxy module successfully verifies the software product code, the target product establishes a heartbeat connection with the Licenses proxy module. S4: After the Licenses agent module successfully establishes a heartbeat connection with the target product, it begins to manage the status of the Licenses certificate; once the target product starts up successfully, the target product and the Licenses agent module maintain a heartbeat connection. The structure of the software licenses includes: a license certificate, a unique identifier of the physical machine, a proxy key pair, and a token; the unique identifier of the physical machine is encrypted into an activation code using the certificate key; the proxy key pair includes a proxy key and a proxy public key, and the proxy key is used to sign the license certificate. In step S3, the Licenses proxy module unlocks the Licenses certificate using the proxy public key, and then the Licenses proxy module verifies the unique identifier and activation code of the physical machine; In step S4, the available number decreases by one for each heartbeat connection maintained; and increases by one for each heartbeat connection lost.
2. The software licenses licensing method according to claim 1, characterized in that, The token includes: a password and a random number.
3. The software licenses licensing method according to claim 1, characterized in that, In step S3, the software product code, current timestamp, and token are implicitly scrambled and then subjected to a hash operation.
4. The software licenses licensing method according to claim 1, characterized in that, If the Licenses proxy module successfully verifies the connection, but the target product fails to establish a heartbeat connection with the Licenses proxy module, the target product and the Licenses proxy module will continue to retry establishing a heartbeat connection.
5. The software licenses licensing method according to claim 1, characterized in that, When the Licenses agent module is installed on a physical machine, it is used for offline software licensing.
Citation Information
Patent Citations
License control method and system
CN108023859A
Method for realizing license detection function based on ambari heartbeat mechanism
CN111209539A