Software license control method and device, electronic equipment and storage medium
By generating and encrypting fingerprint information based on different hardware information, the problem of software unusability caused by hardware replacement is solved, enabling normal use and simplified operation when hardware changes occur.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING TOPSEC NETWORK SECURITY TECH
- Filing Date
- 2022-09-21
- Publication Date
- 2026-08-04
AI Technical Summary
In existing technologies, the binding of software licenses to the hardware of terminal devices leads to the inability of the software to function properly when hardware fails or is upgraded, resulting in complex operation and a poor user experience.
By generating multiple fingerprints based on different hardware information and using encryption algorithms to generate software licenses, the software can still be used normally even when some hardware is replaced, and the operation is simplified when hardware changes.
Even after the hardware of the terminal device is replaced, the software can still be used normally without the need to reapply for a license, simplifying user operations and improving user experience.
Smart Images

Figure CN115455378B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of software licensing technology, and in particular to software licensing control methods, devices, electronic devices, and storage media. Background Technology
[0002] With the development of the industrial internet, there is an increasing number of business service software (To B software) for enterprises or governments. Some enterprises will require the software to be deployed privately. As software vendors, we hope to protect our software intellectual property rights. Enterprises need to pay for the software according to the functions used and the number of software installations.
[0003] Common methods for protecting software licenses involve generating a license file and verifying it upon software startup. This process protects the software. The license file is typically linked to the hardware information of the device being installed, such as the computer's network card MAC address, hard drive serial number, CPU serial number, motherboard serial number, etc. This prevents the license file from being copied and stolen.
[0004] However, this type of licensing method has a problem: if the licensed device has hardware failure or upgrades that require some hardware to be replaced, the license file verification will fail, making the software unusable. A new license file needs to be applied for, which is complicated and results in a poor user experience. Summary of the Invention
[0005] In view of the above-mentioned problems existing in the prior art, the embodiments of this application provide a software license control method, device, electronic device and storage medium, so that the original software license can still be used normally after some hardware of the terminal device is replaced.
[0006] To address the above problems, the technical solution provided in this application is as follows:
[0007] A software license control method, applied to a server, includes:
[0008] Obtain a first request; wherein the first request is used to request the server to grant the terminal device permission to use the target software;
[0009] Based on the first request, multiple first fingerprint information for identifying the identity of the terminal device is obtained; wherein, the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information;
[0010] A first encryption algorithm is used to encrypt multiple first fingerprint information to generate a software license; wherein the software license is used to write to the terminal device, and the terminal device is authorized to use the target software if at least one of the first fingerprint information is verified.
[0011] In some embodiments, obtaining multiple first fingerprint information for identifying the terminal device includes:
[0012] Obtain multiple hardware information of the terminal device;
[0013] The hardware information is divided into multiple first information groups;
[0014] The second encryption algorithm is used to generate corresponding first fingerprint information based on multiple first information groups.
[0015] In some embodiments, obtaining multiple hardware information of the terminal device includes:
[0016] Obtain the first encrypted data;
[0017] The first encrypted data is decrypted to obtain multiple pieces of hardware information.
[0018] In some embodiments, obtaining multiple first fingerprint information for identifying the terminal device includes:
[0019] Obtain the first encrypted data;
[0020] The first encrypted data is decrypted to obtain multiple pieces of the first fingerprint information.
[0021] In some embodiments, the method further includes:
[0022] Obtain a second request; wherein the second request is used to request the revocation of the software license issued to the terminal device;
[0023] Based on the second request, second fingerprint information for identifying the identity of the terminal device is obtained; wherein, the second fingerprint information is generated based on one or more hardware information of the terminal device;
[0024] The second fingerprint information is matched with the software license on the server;
[0025] If the second fingerprint information matches the first fingerprint information of the software license, it is determined that the software license corresponds to the terminal device, and the software license is revoked.
[0026] In some embodiments, obtaining the second fingerprint information used to identify the terminal device includes:
[0027] Acquire multiple second fingerprint information pieces used to identify the terminal device; wherein each second fingerprint information piece is generated based on different hardware information;
[0028] Accordingly, when the second fingerprint information matches the first fingerprint information of the software license, determining that the software license corresponds to the terminal device and revoking the software license includes:
[0029] If at least one of the second fingerprint information matches the first fingerprint information of the software license, it is determined that the software license corresponds to the terminal device, and the software license is revoked.
[0030] In some embodiments, obtaining the second fingerprint information used to identify the terminal device includes:
[0031] Obtain multiple hardware information of the terminal device;
[0032] The hardware information is divided into multiple second information groups according to the first grouping method, so that the hardware information contained in each second information group corresponds to the hardware information contained in each of the first fingerprint information.
[0033] The second fingerprint information is generated based on each of the second information groups using the second encryption algorithm.
[0034] A software license control method, applied to a terminal device, includes:
[0035] Obtain a software license; wherein the software license is generated by encrypting multiple first fingerprint information using a first encryption algorithm, the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information;
[0036] The software license is decrypted using a first encryption algorithm to obtain multiple pieces of the first fingerprint information;
[0037] Obtain multiple hardware information of the terminal device itself;
[0038] According to the first grouping method, the multiple hardware information is divided into multiple third information groups, so that the type of hardware information contained in each third information group is the same as the type of hardware information contained in each first fingerprint information.
[0039] The second encryption algorithm is used to generate corresponding third fingerprint information based on multiple third information groups;
[0040] If at least one of the third fingerprint information matches the first fingerprint information in the software license, the terminal device is authorized to use the target software.
[0041] In some embodiments, the method further includes:
[0042] Obtain a third request; wherein the third request is used to request the revocation of the software license issued to the terminal device;
[0043] Based on the third request, the software license in the terminal device is destroyed;
[0044] In response to the software license being destroyed, obtain one or more hardware information of the terminal device;
[0045] Based on the hardware information, at least one second fingerprint is generated; wherein the second fingerprint is used to write to the server so that the server can revoke the software license issued to the terminal device based on the second fingerprint.
[0046] A software licensing control device, comprising:
[0047] The first acquisition module is used to acquire a first request; wherein the first request is used to request the server to grant the terminal device permission to use the target software;
[0048] The second acquisition module is used to acquire multiple first fingerprint information for identifying the identity of the terminal device based on the first request; wherein the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information.
[0049] A first licensing module is configured to encrypt multiple sets of the first fingerprint information using a first encryption algorithm to generate a software license; wherein the software license is used to write to the terminal device and, if at least one set of the first fingerprint information is verified, to license the terminal device to use the target software.
[0050] A software licensing control device, comprising:
[0051] The third acquisition module is used to acquire a software license; wherein the software license is generated by encrypting multiple first fingerprint information using a first encryption algorithm, the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information.
[0052] Decryption and acquisition, used to decrypt the software license using a first encryption algorithm to obtain multiple pieces of the first fingerprint information;
[0053] The fourth acquisition module is used to acquire multiple hardware information of the terminal device itself;
[0054] The grouping module is used to divide the multiple hardware information into multiple third information groups according to the first grouping method, so that the type of hardware information contained in each third information group is the same as the type of hardware information contained in each first fingerprint information.
[0055] An encryption module is used to generate corresponding third fingerprint information based on multiple third information groups using a second encryption algorithm.
[0056] The second licensing module is used to license the terminal device to use the target software if at least one of the third fingerprint information matches the first fingerprint information in the software license.
[0057] An electronic device includes at least a memory and a processor, wherein the memory stores a program, and the processor implements the method described above when executing the program in the memory.
[0058] A computer-readable storage medium storing computer-executable instructions, wherein executing the computer-executable instructions in the computer-readable storage medium implements the method described above.
[0059] The software license control method of this application embodiment allows the terminal device to still use the target software normally even when partial hardware replacement of the terminal device causes some of the first fingerprint information in the software license to fail verification, while the verification of the remaining first fingerprint information passes, without the need to apply for a software license again. This simplifies user operation and improves user experience. Attached Figure Description
[0060] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0061] Figure 1 This is a flowchart of a software licensing control method according to a first embodiment of this application;
[0062] Figure 2 This is a flowchart illustrating the software license revocation process in the software license control method of the first embodiment of this application.
[0063] Figure 3 This is a flowchart of a software licensing control method according to a second embodiment of this application;
[0064] Figure 4 This is a flowchart illustrating the software license revocation process in the software license control method of the second embodiment of this application;
[0065] Figure 5 This is a structural block diagram of a software licensing control device according to a third embodiment of this application;
[0066] Figure 6 This is a structural block diagram of a software licensing control device according to the fourth embodiment of this application;
[0067] Figure 7 This is a structural block diagram of an electronic device according to the fifth embodiment of this application. Detailed Implementation
[0068] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.
[0069] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0070] The first embodiment of this application provides a software license control method applied to a server, which can be deployed on the side closer to the software vendor or on the side closer to the software user.
[0071] Figure 1 A flowchart of the software licensing control method according to the first embodiment of this application is provided. Figure 1 As shown, the software licensing control method in this application embodiment may specifically include the following steps.
[0072] S110, Obtain a first request; wherein the first request is used to request the server to grant the terminal device permission to use the target software.
[0073] Optionally, in offline licensing scenarios, the first request can be generated by the server itself. For example, users can run a software licensing program deployed on the server using operable devices such as a mouse, keyboard, or touch panel, and generate the first request by selecting specific options within the software licensing program.
[0074] Optionally, in online licensing applications, the first request can be sent from the terminal device to the server.
[0075] Optionally, the server can be hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server is software, it can be implemented as multiple software programs or software modules, or as a single software program or software module. No specific limitations are made here.
[0076] Optionally, the terminal device includes, but is not limited to, electronic devices capable of running the target software, such as desktop computers, laptops, and tablets. The target software can be various types of software, such as office software, drafting software, and enterprise service software, and is not specifically limited here.
[0077] S120, based on the first request, obtain multiple first fingerprint information for identifying the terminal device. The first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information.
[0078] Optionally, in offline licensed application scenarios, if a user needs to use the target software on a terminal device, the target software can be run to obtain the hardware information of the terminal device and generate multiple first fingerprint information based on the hardware information. Then, the multiple first fingerprint information can be copied to a target location on the server, which can be configured to retrieve the multiple first fingerprint information from the target location in response to a first request.
[0079] Optionally, in online licensing applications, the first request may include the multiple first fingerprint information entries. The server may be configured to parse the multiple first fingerprint information entries from the first request in response to the first request.
[0080] Optionally, the hardware may include various components inside the electronic device, such as the motherboard, central processing unit (CPU), graphics processing unit (GPU), BIOS, UEFI, memory, hard drive, network card, etc. Accordingly, the hardware information includes, but is not limited to, the motherboard serial number, CPU serial number, GPU serial number, BIOS serial number, etc., which will not be listed here.
[0081] It should be noted that each of the first fingerprint information is generated based on different hardware information. This may include generating each first fingerprint information based on completely different hardware information. For example, first fingerprint information 1 is generated based on hardware information A, hardware information B, and hardware information C, and first fingerprint information 2 is generated based on hardware information D and hardware information E. It may also include combinations of hardware information used to generate each first fingerprint information where at least one piece of hardware information is different. For example, first fingerprint information 1 is generated based on hardware information A, hardware information B, and hardware information C, and first fingerprint information 2 is generated based on hardware information A, hardware information D, and hardware information E.
[0082] S130, encrypting multiple sets of the first fingerprint information using a first encryption algorithm to generate a software license. The software license is used to write to the terminal device, and if at least one set of the first fingerprint information is verified successfully, the terminal device is authorized to use the target software.
[0083] The first encryption algorithm may include various reversible encryption algorithms, including but not limited to Data Encryption Standard (DES), Triple DES, International Data Encryption Algorithm, etc.
[0084] Optionally, when multiple first fingerprint information pieces are obtained, the first encryption algorithm can be used to uniformly encrypt the multiple first fingerprint information pieces to generate a software license. Alternatively, the first encryption algorithm can be used to encrypt the multiple first fingerprint information pieces separately to form multiple encrypted files, which together constitute the software license.
[0085] Optionally, in offline licensing scenarios, the licensed software can be copied to the terminal device. The user can operate the terminal device to run the target software and perform software activation. The target software can decrypt the software license to obtain multiple first fingerprints. The target software can also obtain the terminal device's hardware information, generate multiple third fingerprints based on the hardware information, and match these third fingerprints with the multiple first fingerprints. If at least one pair of first and third fingerprints matches, the software license verification is successful, and the target software is activated.
[0086] Optionally, upon startup, the target software can also verify whether the terminal device has a software license and whether the software license matches the hardware information of the terminal device. For example, upon startup, the target software can obtain the current hardware information of the terminal device and generate third fingerprint information based on the current hardware information. Multiple first fingerprints parsed from the software license are then matched with the multiple third fingerprints. If some hardware of the target device is replaced, causing changes to some hardware information, the corresponding third fingerprint information cannot be verified. However, the third fingerprint information generated from the unchanged hardware information can still be verified. Therefore, after the software license is generated, if hardware replacement within a certain range does not cause changes to all the third fingerprint information, the target software can still be used normally based on the software license.
[0087] The software license control method of this application embodiment, based on a first request, obtains multiple first fingerprint information for identifying the identity of a terminal device. The first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information. The multiple first fingerprint information are encrypted using a first encryption algorithm to generate a software license. The software license can be written to the terminal device, and the terminal device is authorized to use the target software if at least one first fingerprint information is verified successfully. Thus, even if partial hardware replacement of the terminal device causes some first fingerprint information in the software license to fail verification, the terminal device can still use the target software normally if the remaining first fingerprint information passes verification, without needing to reapply for a software license. This simplifies user operation and improves user experience.
[0088] In some embodiments, step S120, obtaining multiple first fingerprint information for identifying the identity of the terminal device, may include the following steps.
[0089] S121, Obtain the first encrypted data.
[0090] S122, decrypt the first encrypted data to obtain multiple first fingerprint information.
[0091] Optionally, after generating multiple first fingerprint information entries, the terminal device can encrypt these entries using a reversible encryption algorithm to generate first encrypted data. This first encrypted data can then be sent to a server, or copied to the server using a removable storage device. The server can then use a software license program to decrypt the first encrypted data using the same algorithm to obtain the multiple first fingerprint information entries. This improves the security of the first fingerprint information transmission process.
[0092] Optionally, the first encrypted data can be extracted from the first request. For example, in an offline licensing scenario, the terminal device can generate a first request file based on the first encrypted data. The user can copy the first request file to the server using a portable storage device such as a USB flash drive. The server can parse the first encrypted data from the first request file and obtain multiple first fingerprint information based on the first encrypted data.
[0093] In some embodiments, step S120, obtaining multiple first fingerprint information for identifying the identity of the terminal device, may include the following steps.
[0094] S121, Obtain multiple hardware information of the terminal device.
[0095] S122, the multiple pieces of hardware information are divided into multiple first information groups.
[0096] S123, using the second encryption algorithm, corresponding first fingerprint information is generated based on multiple first information groups respectively.
[0097] In other words, the server can obtain multiple hardware information pieces from the terminal device, divide this information into multiple first information groups, and use a second encryption algorithm to generate corresponding first fingerprint information based on each of these first information groups. This simplifies the operation of the terminal device, simplifies the target software, and reduces its data volume.
[0098] Optionally, step S121, obtaining multiple pieces of hardware information from the terminal device, includes: obtaining first encrypted data; and decrypting the first encrypted data to obtain multiple pieces of hardware information. After obtaining the multiple pieces of hardware information, the terminal device can encrypt the multiple pieces of hardware information using a reversible encryption algorithm to generate the first encrypted data. Then, the first encrypted data is sent to the server, or the first encrypted data is copied to the server using a USB flash drive or other removable storage device. The server then decrypts the first encrypted data using the same algorithm to obtain the multiple pieces of hardware information. This improves the security of hardware information transmission.
[0099] Optionally, after acquiring multiple pieces of hardware information, the server can divide the hardware information into multiple first information groups according to preset rules. For example, the server can use a random algorithm to divide the hardware information into multiple first information groups.
[0100] Optionally, the second encryption algorithm can be either a reversible or irreversible encryption algorithm. Of course, an irreversible encryption algorithm is preferred to improve the security of the software license. The second encryption algorithm includes, but is not limited to, Message Digest (MD5), Secure Scrambled Message Standard (SHS), etc.
[0101] Cooperate Figure 2 As shown, in some embodiments, the method may further include the following steps.
[0102] S140, Obtain a second request; wherein the second request is used to request the revocation of the software license issued to the terminal device.
[0103] Similar to the first request, the second request can be generated by the server itself or obtained from the terminal device. For example, in an offline licensing application scenario, the user can run a software licensing program deployed on the server and generate the second request by selecting specific options within the software licensing program.
[0104] S150, based on the second request, obtain second fingerprint information for identifying the identity of the terminal device; wherein, the second fingerprint information is generated based on one or more hardware information of the terminal device.
[0105] Optionally, one or more second fingerprint information can be obtained based on the second request. When obtaining one second fingerprint information, the hardware information combination used to generate that second fingerprint information can be the same as multiple hardware information combinations used to generate the first fingerprint information. For example, when generating the first fingerprint information based on a first information group and generating the second fingerprint information based on a second information group, the hardware information type of the second information group used to generate the second fingerprint information can be the same as one of multiple first information groups.
[0106] Optionally, the terminal device can determine a target information combination from multiple hardware information combinations used to generate the first fingerprint information, based on historical information, where the hardware information has not changed. The second fingerprint information is then generated based on the hardware information of this target information combination. Thus, only one second fingerprint information needs to be generated. It is understood that "not changed" means that it has not changed from the time the software license was generated to the present time.
[0107] Optionally, when multiple second fingerprint information is obtained, the multiple hardware information combinations used to generate the second fingerprint information can correspond one-to-one with the multiple hardware information combinations used to generate the first fingerprint information. For example, the terminal device can determine the hardware information combinations used to generate each first fingerprint information based on historical information, and generate multiple second fingerprint information based on the same hardware information combinations.
[0108] Optionally, the server can obtain the second encrypted data, decrypt it, and then obtain the second fingerprint information. That is, after the terminal device generates the second fingerprint information, it can encrypt it using a reversible encryption algorithm. Then, the second encrypted data is sent to the server, or the second encrypted data can be copied to the server using a USB flash drive or other removable storage device. The server then decrypts the second encrypted data using the same algorithm to obtain the second fingerprint information. This improves the security of the second fingerprint information transmission process.
[0109] S160, the second fingerprint information is matched with the software license on the server.
[0110] Optionally, the server may store software licenses and first fingerprint information used to generate the software licenses. Second fingerprint information can be matched against the first fingerprint information of each software license. For example, when the first and second fingerprint information are generated based on the MD5 algorithm, both the first and second fingerprint information are 128-bit strings, and the string used as the second fingerprint information can be matched against the strings of the software license.
[0111] S170, if the second fingerprint information matches the first fingerprint information of the software license, determine that the software license corresponds to the terminal device, and revoke the software license.
[0112] Optionally, upon obtaining a second fingerprint, if the second fingerprint matches one of the multiple first fingerprints in a software license, the software license is determined to be a license issued to the terminal device, and the software license is revoked. For example, the software license can be deleted, or its license period can be changed to expire. If the user has a software license pool, the software license can be returned to the pool. For example, the remaining number of licenses in the software license pool can be incremented.
[0113] Optionally, if multiple second fingerprints are obtained, and one of the second fingerprints matches the first fingerprint of the software license, then the software license is determined to correspond to the terminal device, and the software license is revoked. This ensures that even if the hardware information changes due to hardware replacement, the software license already issued to the terminal device can still be successfully revoked, preventing the software license from being invalidally used and improving the utilization rate of the software license.
[0114] In some embodiments, step S150, obtaining second fingerprint information for identifying the identity of the terminal device, may include the following steps.
[0115] S151, obtain multiple hardware information of the terminal device.
[0116] S152, the multiple hardware information is divided into multiple second information groups according to the first grouping method, so that the hardware information contained in each second information group corresponds to the hardware information contained in each first fingerprint information.
[0117] S153, the second fingerprint information is generated based on each of the second information groups using the second encryption algorithm.
[0118] The first grouping method refers to the hardware information grouping method used to generate the first fingerprint information. The server can obtain multiple hardware information pieces from the terminal device and automatically divide these pieces of hardware information into multiple second information groups according to the first grouping method. The hardware information types of the multiple second information groups are the same as those of the multiple first information groups. Using the same encryption algorithm as used to generate the first fingerprint information, the second fingerprint information is generated based on each second information group. In this way, the terminal device only needs to provide hardware information and does not need to perform the second fingerprint information generation operation, which simplifies the operation of the terminal device.
[0119] Optionally, after obtaining multiple pieces of hardware information, the terminal device can encrypt the hardware information using a reversible encryption algorithm to generate second encrypted data. Then, the second encrypted data is sent to the server, or copied to the server using a USB flash drive or other removable storage device. After receiving the second encrypted data, the server can decrypt it to obtain the multiple pieces of hardware information. This improves the security of hardware information transmission.
[0120] The second embodiment of this application provides a software licensing control method applied to a terminal device, which includes, but is not limited to, desktop computers, laptops, tablets, and other electronic devices capable of running target software.
[0121] Figure 3 A flowchart of the software licensing control method according to the second embodiment of this application is provided. Figure 2 As shown, the software licensing control method in this application embodiment may specifically include the following steps.
[0122] S201, Obtain software license. The software license is generated by encrypting multiple first fingerprint information using a first encryption algorithm. The first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information.
[0123] Optionally, before obtaining a software license, the terminal device can acquire multiple pieces of its own hardware information. This hardware information can be sent to a server, or copied to the server using a removable storage device. The server divides the hardware information into multiple first information groups, and then generates corresponding first fingerprint information based on each of the multiple first information groups. A software license is then generated based on the multiple first fingerprint information. Optionally, after acquiring its own hardware information, the terminal device can also generate multiple first fingerprint information itself.
[0124] Optionally, the terminal device may receive the software license based on its communication path with the server, or it may obtain the software license through a removable storage device.
[0125] S202, the software license is decrypted using the first encryption algorithm to obtain multiple copies of the first encryption algorithm.
[0126] After obtaining the software license, the terminal device can decrypt it. For example, if the software license was generated using the DES algorithm, it can also be decrypted using the DES algorithm.
[0127] S203, obtain multiple hardware information of the terminal device itself.
[0128] For example, it can obtain the motherboard serial number, CPU serial number, GPU serial number, BIOS serial number, etc.
[0129] S204, the multiple hardware information items are divided into multiple third information groups according to the first grouping method, so that the type of hardware information contained in each third information group is the same as the type of hardware information contained in each first fingerprint information.
[0130] S205, using the second encryption algorithm, corresponding third fingerprint information is generated based on multiple third information groups.
[0131] S206, if at least one of the third fingerprint information matches the first fingerprint information in the software license, the terminal device is authorized to use the target software.
[0132] It should be noted that the permission granted to the terminal device to use the target software here can be an initial permission, or it can be a permission to launch the target software each time it is launched.
[0133] The software license control method of this application embodiment allows the terminal device to still use the target software normally even when partial hardware replacement of the terminal device causes some of the first fingerprint information in the software license to fail verification, while the verification of the remaining first fingerprint information passes, without the need to apply for a software license again. This simplifies user operation and improves user experience.
[0134] Cooperate Figure 4 As shown, in some embodiments, the method may further include the following steps.
[0135] S207, Obtain a third request; wherein the third request is used to request the revocation of the software license issued to the terminal device.
[0136] S208, Based on the third request, destroy the software license in the terminal device.
[0137] S209, in response to the software license being destroyed, obtain one or more hardware information of the terminal device.
[0138] S210, based on the hardware information, at least one second fingerprint information is generated; wherein, the second fingerprint information is used to write to the server so that the server revokes the software license issued to the terminal device based on the second fingerprint information.
[0139] This ensures that software licenses on terminal devices are destroyed, preventing the server from unilaterally destroying software licenses and causing the actual number of software licenses to exceed the user's purchase limit.
[0140] See Figure 5As shown, a third embodiment of this application provides a software licensing control device, including:
[0141] The first acquisition module 301 is used to acquire a first request; wherein the first request is used to request the server to grant the terminal device permission to use the target software;
[0142] The second acquisition module 302 is used to acquire multiple first fingerprint information for identifying the identity of the terminal device based on the first request; wherein the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information.
[0143] The first licensing module 303 is used to encrypt multiple first fingerprint informations using a first encryption algorithm to generate a software license; wherein the software license is used to write to the terminal device and, if at least one of the first fingerprint information is verified, the terminal device is authorized to use the target software.
[0144] In some embodiments, the second acquisition module 302 is specifically used for:
[0145] Obtain multiple hardware information of the terminal device;
[0146] The hardware information is divided into multiple first information groups;
[0147] The second encryption algorithm is used to generate corresponding first fingerprint information based on multiple first information groups.
[0148] In some embodiments, the second acquisition module 302 is specifically used for:
[0149] Obtain the first encrypted data;
[0150] The first encrypted data is decrypted to obtain multiple pieces of hardware information.
[0151] In some embodiments, the second acquisition module 302 is specifically used for:
[0152] Obtain the first encrypted data;
[0153] The first encrypted data is decrypted to obtain multiple pieces of the first fingerprint information.
[0154] In some embodiments, the first acquisition module 301 is further configured to: acquire a second request; wherein the second request is configured to request the revocation of the software license issued to the terminal device;
[0155] The second acquisition module 302 is further configured to: acquire second fingerprint information for identifying the identity of the terminal device based on the second request; wherein the second fingerprint information is generated based on one or more hardware information of the terminal device;
[0156] The first licensing module 303 is further configured to: match the second fingerprint information with the software license on the server; and if the second fingerprint information matches the first fingerprint information of the software license, determine that the software license corresponds to the terminal device and revoke the software license.
[0157] In some embodiments, the second acquisition module 302 is specifically used for:
[0158] Acquire multiple second fingerprint information pieces used to identify the terminal device; wherein each second fingerprint information piece is generated based on different hardware information;
[0159] Accordingly, the first licensing module 303 is specifically used for:
[0160] If at least one of the second fingerprint information matches the first fingerprint information of the software license, it is determined that the software license corresponds to the terminal device, and the software license is revoked.
[0161] In some embodiments, the second acquisition module 302 is specifically used for:
[0162] Obtain multiple hardware information of the terminal device;
[0163] The hardware information is divided into multiple second information groups according to the first grouping method, so that the hardware information contained in each second information group corresponds to the hardware information contained in each of the first fingerprint information.
[0164] The second fingerprint information is generated based on each of the second information groups using the second encryption algorithm.
[0165] See Figure 6 As shown, a fourth embodiment of this application provides a software licensing control device, including:
[0166] The third acquisition module 401 is used to acquire a software license; wherein the software license is generated by encrypting multiple first fingerprint information using a first encryption algorithm, the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information.
[0167] Decryption to obtain 402 is used to decrypt the software license using the first encryption algorithm to obtain multiple first fingerprint information;
[0168] The fourth acquisition module 403 is used to acquire multiple hardware information of the terminal device itself;
[0169] Grouping module 404 is used to divide the multiple hardware information into multiple third information groups according to the first grouping method, so that the type of hardware information contained in each third information group is the same as the type of hardware information contained in each first fingerprint information.
[0170] Encryption module 405 is used to generate corresponding third fingerprint information based on multiple third information groups using a second encryption algorithm;
[0171] The second licensing module 406 is configured to license the terminal device to use the target software if at least one of the third fingerprint information matches the first fingerprint information in the software license.
[0172] In some embodiments, the apparatus further includes:
[0173] The fifth acquisition module is used to acquire a third request; wherein the third request is used to request the revocation of the software license issued to the terminal device;
[0174] The destruction module is used to destroy the software license in the terminal device based on the third request;
[0175] The sixth acquisition module is used to acquire one or more hardware information of the terminal device in response to the destruction of the software license;
[0176] A generation module is configured to generate at least one second fingerprint based on the hardware information; wherein the second fingerprint is used to write to a server so that the server can revoke the software license issued to the terminal device based on the second fingerprint.
[0177] See Figure 7 As shown, a fifth embodiment of this application also provides an electronic device, including at least a memory 501 and a processor 502. The memory 501 stores a program, and the processor 502, when executing the program in the memory 501, implements the method described in any of the above embodiments. When implementing the method described in the first embodiment, the electronic device is a server. When implementing the method described in the second embodiment, the electronic device is a terminal device.
[0178] The sixth embodiment of this application also provides a computer-readable storage medium storing computer-executable instructions, wherein executing the computer-executable instructions in the computer-readable storage medium implements the method described in any of the above embodiments.
[0179] Those skilled in the art will understand that embodiments of this application can be provided as methods, electronic devices, computer-readable storage media, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware. Furthermore, this application can take the form of a computer program product implemented on one or more computer-readable storage media containing computer-readable program code. When implemented in software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium.
[0180] The aforementioned processor can be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0181] The aforementioned memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0182] The aforementioned readable storage medium may be a magnetic disk, optical disk, DVD, USB, read-only memory (ROM) or random access memory (RAM), etc. This application does not limit the specific form of storage medium.
[0183] The above embodiments are merely exemplary embodiments of this application and are not intended to limit this application. The scope of protection of this application is defined by the claims. Those skilled in the art can make various modifications or equivalent substitutions to this application within its substance and scope of protection, and such modifications or equivalent substitutions should also be considered to fall within the scope of protection of this application.
Claims
1. A software license control method, applied to a server, characterized in that, include: Obtain a first request; wherein the first request is used to request the server to grant the terminal device permission to use the target software; Based on the first request, multiple first fingerprint information for identifying the terminal device is obtained; wherein, the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information; the corresponding terminal device can perform the following method: dividing the multiple hardware information into multiple third information groups according to a first grouping method, so that the type of hardware information contained in each third information group is the same as the type of hardware information contained in each first fingerprint information; and generating corresponding third fingerprint information based on the multiple third information groups using a second encryption algorithm. A first encryption algorithm is used to encrypt multiple first fingerprint information to generate a software license; wherein the software license is used to write to the terminal device, and the terminal device is authorized to use the target software if at least one first fingerprint information is verified. Furthermore, the software license is configured such that when verifying the terminal device, multiple third information groups, which are divided into multiple hardware information groups according to a first grouping method, are matched, and if at least one of the third fingerprint information matches the first fingerprint information in the software license, the terminal device is permitted to use the target software. The acquisition of multiple first fingerprint information used to identify the terminal device includes: Obtain multiple hardware information of the terminal device; The hardware information is divided into multiple first information groups; The second encryption algorithm is used to generate corresponding first fingerprint information based on multiple first information groups.
2. The method according to claim 1, characterized in that, The acquisition of multiple hardware information of the terminal device includes: Obtain the first encrypted data; The first encrypted data is decrypted to obtain multiple pieces of hardware information.
3. The method according to claim 1, characterized in that, The acquisition of multiple first fingerprint information used to identify the terminal device includes: Obtain the first encrypted data; The first encrypted data is decrypted to obtain multiple pieces of the first fingerprint information.
4. The method according to claim 1, characterized in that, The method further includes: Obtain a second request; wherein the second request is used to request the revocation of the software license issued to the terminal device; Based on the second request, second fingerprint information for identifying the identity of the terminal device is obtained; wherein, the second fingerprint information is generated based on one or more hardware information of the terminal device; The second fingerprint information is matched with the software license on the server; If the second fingerprint information matches the first fingerprint information of the software license, it is determined that the software license corresponds to the terminal device, and the software license is revoked.
5. The method according to claim 4, characterized in that, The step of obtaining the second fingerprint information used to identify the terminal device includes: Acquire multiple second fingerprint information pieces used to identify the terminal device; wherein each second fingerprint information piece is generated based on different hardware information; Accordingly, when the second fingerprint information matches the first fingerprint information of the software license, determining that the software license corresponds to the terminal device and revoking the software license includes: If at least one of the second fingerprint information matches the first fingerprint information of the software license, it is determined that the software license corresponds to the terminal device, and the software license is revoked.
6. The method according to claim 4, characterized in that, The step of obtaining the second fingerprint information used to identify the terminal device includes: Obtain multiple hardware information of the terminal device; The hardware information is divided into multiple second information groups according to the first grouping method, so that the hardware information contained in each second information group corresponds to the hardware information contained in each of the first fingerprint information. The second fingerprint information is generated based on each of the second information groups using the second encryption algorithm.
7. A software license control method, applied to a terminal device, characterized in that, include: Obtain a software license; wherein the software license is generated by encrypting multiple first fingerprint information using a first encryption algorithm, the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information; The software license is decrypted using a first encryption algorithm to obtain multiple pieces of the first fingerprint information; Obtain multiple hardware information of the terminal device itself; According to the first grouping method, the multiple hardware information is divided into multiple third information groups, so that the type of hardware information contained in each third information group is the same as the type of hardware information contained in each first fingerprint information. The second encryption algorithm is used to generate corresponding third fingerprint information based on multiple third information groups; The software license is configured such that, when verifying the terminal device, multiple third information groups, which are divided into multiple hardware information groups according to a first grouping method, are matched, and if at least one of the third fingerprint information matches the first fingerprint information in the software license, the terminal device is permitted to use the target software.
8. The method according to claim 7, characterized in that, The method further includes: Obtain a third request; wherein the third request is used to request the revocation of the software license issued to the terminal device; Based on the third request, the software license in the terminal device is destroyed; In response to the software license being destroyed, obtain one or more hardware information of the terminal device; Based on the hardware information, at least one second fingerprint is generated; wherein the second fingerprint is used to write to the server so that the server can revoke the software license issued to the terminal device based on the second fingerprint.
9. A software-licensed control device, characterized in that, include: The first acquisition module is used to acquire a first request; wherein the first request is used to request the server to grant the terminal device permission to use the target software; The second acquisition module is configured to acquire, based on the first request, multiple first fingerprint information for identifying the identity of the terminal device; wherein the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information; the corresponding terminal device may execute the following method: dividing the multiple hardware information into multiple third information groups according to a first grouping method, so that the type of hardware information contained in each third information group is the same as the type of hardware information contained in each first fingerprint information; and generating corresponding third fingerprint information based on the multiple third information groups using a second encryption algorithm. A first licensing module is configured to encrypt multiple first fingerprint informations using a first encryption algorithm to generate a software license; wherein the software license is used to write to the terminal device, and if at least one of the first fingerprint informations is verified, the terminal device is permitted to use the target software; and the software license is configured to: when verifying the terminal device, match multiple third information groups divided by the multiple hardware informations according to a first grouping method, and if at least one of the third fingerprint informations matches the first fingerprint information in the software license, the terminal device is permitted to use the target software.
10. A software-licensed control device, characterized in that, include: The third acquisition module is used to acquire a software license; wherein the software license is generated by encrypting multiple first fingerprint information using a first encryption algorithm, the first fingerprint information is generated based on one or more hardware information of the terminal device, and each first fingerprint information is generated based on different hardware information. Decryption and acquisition, used to decrypt the software license using a first encryption algorithm to obtain multiple pieces of the first fingerprint information; The fourth acquisition module is used to acquire multiple hardware information of the terminal device itself; The grouping module is used to divide the multiple hardware information into multiple third information groups according to the first grouping method, so that the type of hardware information contained in each third information group is the same as the type of hardware information contained in each first fingerprint information. An encryption module is used to generate corresponding third fingerprint information based on multiple third information groups using a second encryption algorithm. The second licensing module is configured to: when verifying the terminal device, match multiple third information groups that divide the multiple hardware information according to a first grouping method, and if at least one of the third fingerprint information matches the first fingerprint information in the software license, the terminal device is permitted to use the target software.
11. An electronic device comprising at least a memory and a processor, wherein the memory stores a program, characterized in that, When the processor executes a program on the memory, it implements the method as described in any one of claims 1-6, or the method as described in claim 7 or 8.
12. A computer-readable storage medium storing computer-executable instructions, characterized in that, The method of any one of claims 1-6, or the method of claim 7 or 8, is implemented when the computer-executable instructions in the computer-readable storage medium are executed.