Software authorization method, device, system, electronic device and medium
By obtaining the hardware information of the device to be authorized, a unique identification code is generated and passed to the authorization platform through a QR code, which solves the problem of the MAC address being unable to uniquely identify the device and achieves effective management of the device and security of authorization.
Patent Information
- Application Number
- CN202010445820.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-05-22
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2040-05-22
AI Technical Summary
In the prior art, the network card MAC address of the device to be authorized is used as identification information, and the MAC address is easily changed manually, making it difficult for the authorized platform to effectively manage and protect software functions.
By obtaining the hardware information of the first device, including the information of the motherboard, processor and memory, a unique first identification code is generated, and the identification code is transmitted to the authorization platform through the QR code to generate a corresponding authorization file.
It realizes the unique identification and management of devices to be authorized, avoids the problem of users bypassing authorization by replacing hardware, and improves the security and efficiency of the authorization process.
Smart Images

Figure CN113704700B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a method, device, system, electronic device and medium for software authorization. Background Art
[0002] In the process of authorizing the device to be authorized, the authorization platform needs to collect the identification information of the device to be authorized, and then generate a corresponding authorization file based on the identification information to unlock the specific software functions in the device to be authorized.
[0003] The related technology uses the MAC (Media Access Control Address) address of the network card of the device to be authorized as identification information. However, there is a problem that the MAC address cannot uniquely identify the device to be authorized. The reason is that: a device to be authorized may include multiple network cards with multiple MAC addresses. Taking a laptop as an example, it may have multiple MAC addresses such as wired, wireless, and Bluetooth, and its MAC address will change with the change of connection method. When a virtual machine is installed in the device to be authorized, its MAC address will be even more. Moreover, the MAC address can be easily changed manually. Therefore, the MAC address cannot uniquely identify the device to be authorized.
[0004] If the identification information cannot uniquely identify the device to be authorized, the user can use the relevant functions of the software on other unauthorized devices by changing the hardware information, thereby damaging the interests of the licensor. Summary of the invention
[0005] One aspect of the present disclosure provides a method for software authorization performed by a first device, comprising: obtaining hardware information of the first device, wherein the first device includes at least a mainboard, a processor and a memory, and the hardware information includes at least mainboard information, processor information and memory information; determining a first identification code based on the hardware information; requesting an authorization platform to generate an authorization file based on the first identification code; in response to an import operation for the authorization file, parsing the authorization file to obtain a second identification code; and performing an authorization operation when the second identification code is consistent with the first identification code.
[0006] Optionally, determining the first identification code according to the hardware information includes: serializing the hardware information according to a preset rule to obtain a target sequence; and encrypting the target sequence according to a preset encryption algorithm to obtain the first identification code.
[0007] Optionally, requesting the authorization platform to generate an authorization file based on the first identification code includes: generating a QR code based on the first identification code; and displaying the QR code to the second device, so that the second device requests the authorization platform to generate an authorization file based on the QR code.
[0008] Optionally, the obtaining of hardware information of the first device includes: obtaining hardware information through a desktop management interface.
[0009] Optionally, the above-mentioned serializing the hardware information according to a preset rule to obtain a target sequence includes: generating a character sequence in JSON format as the target sequence according to the hardware information.
[0010] Optionally, the preset encryption algorithm includes an information digest algorithm.
[0011] Another aspect of the present disclosure provides a method for software authorization executed by a second device, comprising: acquiring a first identification code of a first device; and requesting an authorization platform to generate an authorization file according to the first identification code.
[0012] Optionally, the above-mentioned obtaining of the first identification code of the first device includes: identifying the QR code displayed by the first device to obtain the first identification code; the above-mentioned requesting the authorization platform to generate an authorization file based on the first identification code includes: obtaining user information corresponding to the first identification code; and sending the user information and the first identification code to the authorization platform to request the authorization platform to generate an authorization file.
[0013] Another aspect of the present disclosure provides a method for software authorization performed by a first device, comprising: acquiring a first identification code of the first device through a second device; and generating an authorization file according to the first identification code.
[0014] Optionally, the obtaining of the first identification code of the first device through the second device includes: receiving user information and the first identification code from the second device; the generating of the authorization file based on the first identification code includes: generating the authorization file based on the user information and the first identification code.
[0015] Another aspect of the present disclosure provides a software authorization apparatus, comprising: an acquisition module, used to acquire hardware information of a first device, wherein the first device includes at least a mainboard, a processor and a memory, and the hardware information includes at least mainboard information, processor information and memory information; a determination module, used to determine a first identification code according to the hardware information; a request module, used to request an authorization platform to generate an authorization file according to the first identification code; a parsing module, used to parse the authorization file in response to an import operation on the authorization file to obtain a second identification code; and an authorization module, used to perform an authorization operation when the second identification code is consistent with the first identification code.
[0016] Another aspect of the present disclosure provides a system for software authorization, including: a first device, used to obtain hardware information of the first device, wherein the first device includes at least a mainboard, a processor and a memory, and the hardware information includes at least mainboard information, processor information and memory information; determining a first identification code based on the hardware information; requesting an authorization platform to generate an authorization file based on the first identification code; parsing the authorization file in response to an import operation for the authorization file to obtain a second identification code; and performing an authorization operation when the second identification code is consistent with the first identification code; a second device, used to obtain the first identification code of the first device; and requesting the authorization platform to generate an authorization file based on the first identification code; and the authorization platform, used to obtain the first identification code of the first device through the second device; and generate an authorization file based on the first identification code.
[0017] Another aspect of the present disclosure provides an electronic device, comprising: a main board; one or more processors; a memory for storing one or more computer programs, wherein the one or more processors and the memory are connected to the main board; when the one or more computer programs are executed by the one or more processors, the one or more processors implement the method as described above.
[0018] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the above method when executed.
[0019] Another aspect of the present disclosure provides a computer program product, which includes computer executable instructions, and when the instructions are executed, are used to implement the method as described above.
[0020] According to an embodiment of the present disclosure, the first identification code is calculated based on the hardware information of the first device, and the hardware information includes at least motherboard information, processor information and memory information, so as to uniquely identify the first device. If the hardware information of the first device changes, the first identification code becomes invalid, so as to avoid the problem that the user bypasses the authorization by replacing the hardware of the device. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] For a more complete understanding of the present disclosure and its advantages, reference will now be made to the following description taken in conjunction with the accompanying drawings, in which:
[0022] Figure 1 An exemplary system architecture to which a method for software authorization can be applied according to an embodiment of the present disclosure is schematically shown;
[0023] Figure 2A A flowchart schematically illustrates a method for software authorization performed by a first device according to an embodiment of the present disclosure;
[0024] Figure 2BA flowchart of determining a first identification code according to hardware information according to an embodiment of the present disclosure is schematically shown;
[0025] Figure 2C A flowchart of requesting an authorization platform to generate an authorization file according to a first identification code according to an embodiment of the present disclosure is schematically shown;
[0026] Figure 3A A flowchart schematically illustrates a method for software authorization performed by a second device according to an embodiment of the present disclosure;
[0027] Figure 3B A flowchart of requesting an authorization platform to generate an authorization file according to a first identification code according to an embodiment of the present disclosure is schematically shown;
[0028] Figure 4 A flowchart of software authorization performed by an authorization platform according to an embodiment of the present disclosure is schematically shown;
[0029] Figure 5 A block diagram schematically shows a software authorization apparatus according to an embodiment of the present disclosure; and
[0030] Figure 6 A block diagram of a computer system suitable for implementing the method described above according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0031] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0032] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.
[0033] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.
[0034] In the case of using expressions such as "at least one of A, B, and C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.). In the case of using expressions such as "at least one of A, B, or C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, or C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0035] Some block diagrams and / or flow charts are shown in the accompanying drawings. It should be understood that some boxes or combinations thereof in the block diagrams and / or flow charts can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that these instructions can create a device for implementing the functions / operations described in these block diagrams and / or flow charts when executed by the processor. The technology of the present disclosure can be implemented in the form of hardware and / or software (including firmware, microcode, etc.). In addition, the technology of the present disclosure can take the form of a computer program product on a computer-readable storage medium storing instructions, which can be used by an instruction execution system or used in conjunction with an instruction execution system.
[0036] The embodiment of the present disclosure provides a method for software authorization performed by a first device. The method includes obtaining hardware information of the first device; serializing the hardware information according to a preset rule to obtain a target sequence; encrypting the target sequence according to a preset encryption algorithm to obtain a first identification code; generating a QR code according to the first identification code; displaying the QR code to a second device so that the second device requests an authorization platform to generate an authorization file according to the QR code; parsing the authorization file in response to an import operation for the authorization file to obtain a second identification code; and performing an authorization operation when the second identification code is consistent with the first identification code.
[0037] An embodiment of the present disclosure also provides a method for software authorization executed by a second device, including identifying a QR code displayed by a first device to obtain a first identification code; obtaining user information corresponding to the first identification code; and sending the user information and the first identification code to an authorization platform to request the authorization platform to generate an authorization file.
[0038] In addition, an embodiment of the present disclosure also provides a method for software authorization performed by an authorization platform, including receiving user information and a first identification code from a second device; and generating an authorization file based on the user information and the first identification code.
[0039] Figure 1 The exemplary system architecture 100 to which the method for software authorization can be applied according to an embodiment of the present disclosure is schematically shown. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0040] like Figure 1 As shown, the system architecture 100 according to this embodiment may include a first device 101, a second device 102, an authorization platform 103, and a network 104. The network 104 is used to provide a medium for a communication link between the second device 102 and the authorization platform 103. The network 104 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0041] The first device 101 is located in an isolated network environment and cannot directly interact with the authorization platform 103. Various client applications, such as application software to be authorized, may be installed on the first device 101. The first device 101 may be various electronic devices with a display screen, including but not limited to a smart phone, a tablet computer, a laptop computer, a desktop computer, and the like.
[0042] The user can use the second device 102 to scan the QR code displayed on the display screen of the first device 101, thereby obtaining data from the first device 101. The user can also use the second device 102 to interact with the authorization platform 103 through the network 104 to receive or send messages, etc.
[0043] The second device 102 may be any electronic device having an image acquisition device (eg, a camera), including but not limited to a smart phone, a tablet computer, a laptop computer, and the like.
[0044] The authorization platform 103 may be a server that provides software authorization for terminal devices. The server may perform decryption analysis and other processing on received data frames and other data, and then generate an authorization file based on the hardware information and / or user information contained in the processing result for authorization of the terminal device.
[0045] It should be noted that the software authorization apparatus provided in the embodiment of the present disclosure can generally be set in the first device 101. The software authorization apparatus provided in the embodiment of the present disclosure can also be set in other electronic devices that are different from the first device 101 and can communicate with the first device 101.
[0046] It should be understood that Figure 1 The number of the first device, the second device, the network and the authorization platform in the embodiment is only for illustration. According to the implementation requirements, there may be any number of the first device, the second device, the network and the authorization platform.
[0047] Figure 2A The flowchart of the method for software authorization executed by the first device according to an embodiment of the present disclosure is schematically shown.
[0048] like Figure 2A As shown, the method includes operations S210 to S250.
[0049] In operation S210, hardware information of a first device is acquired.
[0050] The Desktop Management Interface (DMI) serves as an interface between the management tool and the system layer, and can be used to extract information about various computer accessories. According to an embodiment of the present disclosure, operation S210 may include, for example, obtaining hardware information through DMI. For example, information about various hardware inside the device may be obtained through a dmidecode instruction.
[0051] According to an embodiment of the present disclosure, the first device includes at least a mainboard, a processor and a memory, and accordingly, the hardware information of the first device includes at least mainboard information, processor information and memory information of the first device. The hardware information of the first device can be used to uniquely identify the first device. Among them, the mainboard information can include, for example, information such as the manufacturer, version, and serial number of the mainboard. The processor information can include, for example, information such as the manufacturer, version, CPU ID, type, and product family of the processor (CPU). The memory information can include, for example, the disk serial number of the disk where the system installation directory is located.
[0052] According to some other embodiments of the present disclosure, in addition to motherboard information, processor information and memory information, hardware information may also include other information such as serial port information, parallel port information, network card information, operating system information, etc.
[0053] In operation S220, a first identification code is determined according to the hardware information.
[0054] Figure 2B The flowchart of determining the first identification code according to hardware information according to an embodiment of the present disclosure is schematically shown.
[0055] like Figure 2B As shown, operation S220 may include operations S221 to S222, for example.
[0056] In operation S221, the hardware information is serialized according to a preset rule to obtain a target sequence.
[0057] According to an embodiment of the present disclosure, the preset rule may be, for example, a JSON (JavaScript Object Notation) rule. Based on this, operation S220 may, for example, include generating a character sequence in JSON format as a target sequence according to the hardware information.
[0058] In operation S222, the target sequence is encrypted according to a preset encryption algorithm to obtain a first identification code.
[0059] According to an embodiment of the present disclosure, the preset encryption algorithm may include, for example, a message digest algorithm (Message-Digest Algorithm), such as the MD5 algorithm.
[0060] In operation S230, the authorization platform is requested to generate an authorization file according to the first identification code.
[0061] Figure 2C The flowchart of requesting the authorization platform to generate an authorization file according to the first identification code according to an embodiment of the present disclosure is schematically shown.
[0062] like Figure 2C As shown, operation S230 may include operations S231 to S232, for example.
[0063] In operation S231, a two-dimensional code is generated according to the first identification code.
[0064] According to an embodiment of the present disclosure, a two-dimensional code is generated according to the first identification code, so that the first identification code is stored in the two-dimensional code. The two-dimensional code may be a stacked / row-type two-dimensional code or a matrix two-dimensional code. Accordingly, the code system of the two-dimensional code may include, for example, a G-commerce two-dimensional code, a PDF417 two-dimensional barcode, a Datamatrix two-dimensional barcode, a Maxicode two-dimensional barcode, a QR Code, Code 49, Code 16K, Code one, etc. Exemplarily, in this embodiment, a QR Code is used to generate a two-dimensional code.
[0065] In operation S232, the QR code is displayed to the second device, so that the second device requests the authorization platform to generate an authorization file according to the QR code. According to an embodiment of the present disclosure, the first device has a display screen, and the QR code generated in operation S240 can be displayed on the display screen of the first device. The second device can obtain the first identification code by scanning the QR code displayed by the first device, and then request the authorization platform to generate an authorization file according to the first identification code.
[0066] In operation S240, in response to the import operation on the authorization file, the authorization file is parsed to obtain a second identification code.
[0067] According to an embodiment of the present disclosure, the authorization file may be stored in a memory of the first device, and then the authorization file may be imported from the memory, and then the imported authorization file may be parsed to obtain the second identification code therein.
[0068] In operation S250, when the second identification code is consistent with the first identification code, an authorization operation is performed.
[0069] According to an embodiment of the present disclosure, it is determined whether the second identification code obtained from the authorization file is consistent with the first identification code generated according to the hardware information of the first device. If the two are consistent, the authorization operation is performed to unlock the corresponding software function. If the two are inconsistent, the authorization operation is refused.
[0070] According to an embodiment of the present disclosure, the first identification code is calculated based on the hardware information of the first device and is bound to the hardware information. If the hardware information of the first device changes, the first identification code becomes invalid and the above operations S210 to S220 need to be performed again to generate a new first identification code to replace the original first identification code.
[0071] According to an embodiment of the present disclosure, when the hardware information of the first device has not changed, even if the software in the first device is uninstalled and installed repeatedly, it will not affect the authorization validity of the original authorization file on the software, and authorization can still be performed through the original authorization file.
[0072] According to an embodiment of the present disclosure, when the hardware information of the first device changes, the first device will generate a new identification code, which is inconsistent with the identification code in the original authorization file, resulting in invalid authorization, thereby avoiding the problem of users bypassing authorization by replacing the hardware of the device.
[0073] Figure 3A The flowchart of the method for software authorization executed by the second device according to an embodiment of the present disclosure is schematically shown.
[0074] like Figure 3A As shown, the method includes operations S310 to S320.
[0075] In operation S310, a first identification code of a first device is acquired.
[0076] According to an embodiment of the present disclosure, operation S310 may, for example, include identifying a two-dimensional code displayed by the first device to obtain a first identification code.
[0077] According to an embodiment of the present disclosure, the second device may include an image acquisition device, such as a camera. The image acquisition device in the second device may be used to capture the QR code displayed by the first device and identify the QR code to obtain the first identification code stored in the QR code.
[0078] In operation S320, the authorization platform is requested to generate an authorization file according to the first identification code.
[0079] Figure 3B The flowchart of requesting the authorization platform to generate an authorization file according to the first identification code according to an embodiment of the present disclosure is schematically shown.
[0080] like Figure 3B As shown, operation S320 may include operations S321 to S322, for example.
[0081] In operation S321, user information corresponding to the first identification code is acquired.
[0082] According to an embodiment of the present disclosure, the user information may be used to identify the identity of the user. The user information may be input by the user through the second device.
[0083] In operation S322, the user information and the first identification code are sent to the authorization platform to request the authorization platform to perform a software authorization operation for the first device.
[0084] According to an embodiment of the present disclosure, the second device may upload the user information and the first identification code to the authorization platform through the network.
[0085] Figure 4 The flowchart of software authorization performed by the authorization platform according to the embodiment of the present disclosure is schematically shown.
[0086] like Figure 4 As shown, the method includes operations S410 to S420.
[0087] In operation S410, a first identification code of a first device is acquired through a second device.
[0088] According to an embodiment of the present disclosure, operation S410 may, for example, include receiving user information and a first identification code from a second device.
[0089] In operation S420, an authorization file is generated according to the first identification code.
[0090] According to an embodiment of the present disclosure, operation S420 may, for example, include generating an authorization file according to the user information and the first identification code.
[0091] According to an embodiment of the present disclosure, the authorization file may be used to unlock the use rights of the software and / or specific software functions.
[0092] According to an embodiment of the present disclosure, after receiving the user information and the first identification code from the second device, the authorization platform can verify the user information. If the user information is verified to be correct, an authorization file is generated according to the user information and the first identification code.
[0093] For devices in an isolated network environment, since they cannot interact with the authorization platform through an external network, the authorization platform cannot directly obtain their identification information when these devices need to be authorized. For these devices, if their hardware information is collected manually, the error rate is high and the efficiency is low. According to an embodiment of the present disclosure, by serializing and encrypting the hardware information of the first device to obtain an identification code, and then generating a QR code based on the identification code, so that the second device can recognize the QR code, and sending the identification code in the QR code to the authorization platform, the authorization platform generates an authorization file for the first device based on the identification code, thereby reducing the probability of error and improving the efficiency of collecting information during the authorization process.
[0094] The following is a detailed description of the embodiments of the present invention. Figure 2A to Figure 4 The method shown is further explained.
[0095] An exemplary embodiment according to an embodiment of the present disclosure is shown below. Those skilled in the art can understand that the following exemplary embodiment is only used to understand the present disclosure, and the present disclosure is not limited thereto.
[0096] In this embodiment, first, the first device obtains its own processor information, motherboard information and hard disk information of the hard disk where the operating system installation directory is located through DMI. The specific information is shown in Table 1.
[0097]
[0098] Table 1
[0099] Then the first device generates a character sequence in JSON format according to the processor information, motherboard information and hard disk information. In this embodiment, the processor information, motherboard information and hard disk information are combined in sequence to obtain a character sequence in JSON format. The serialized character sequence in JSON format is shown below:
[0100]
[0101] Among them, cpu represents the processor, cpuid represents the processor ID, vendorid represents the manufacturer ID, cpufamily represents the processor family ID, modelname represents the processor model, system represents the system (i.e., motherboard), serial_number represents the motherboard serial number, uuid represents the universal unique identifier, disk represents the hard disk, and sn represents the hard disk serial number.
[0102] Next, the first device encrypts the character sequence according to the MD5 algorithm to obtain a first identification code, generates a QR code according to the first identification code, and displays the QR code on a display screen.
[0103] The second device scans the QR code displayed by the first device to obtain the first identification code stored in the QR code, and then sends the first identification code and the user information entered by the user to the authorization platform.
[0104] After receiving the first identification code and user information from the second device, the authorization platform determines whether the first identification code has been entered into the authorization platform. If the first identification code has been entered into the authorization platform, a prompt message is returned to the second device indicating that the code has been entered into the system; if the first identification code has not been entered into the authorization platform, the first identification code is entered into the authorization platform, and the entry result is returned to the second device. The authorization platform then generates a corresponding authorization file based on the entered identification code.
[0105] The authorization file can be imported into the first device by the user through an external storage medium. The first device parses the imported authorization file, obtains the identification code therein, and then compares it with the identification code generated by its own hardware information. If the two are consistent, authorization is performed.
[0106] Figure 5 A block diagram schematically shows a software authorization apparatus according to an embodiment of the present disclosure.
[0107] like Figure 5 As shown, the software authorization device 500 includes an acquisition module 510, a determination module 520, a request module 530, a parsing module 540 and an authorization module 550. It should be noted that the software authorization device 500 provided in the embodiment of the present disclosure can generally be set in the first device. The software authorization device provided in the embodiment of the present disclosure can also be set in other electronic devices that are different from the first device and can communicate with the first device.
[0108] The software authorization device 500 can execute the method described above with reference to FIG. 2 .
[0109] Specifically, the acquisition module 510 is used to acquire hardware information of a first device, wherein the first device includes at least a mainboard, a processor and a memory, and the hardware information includes at least mainboard information, processor information and memory information.
[0110] The determination module 520 is configured to determine a first identification code according to the hardware information.
[0111] The request module 530 is used to request the authorization platform to generate an authorization file according to the first identification code.
[0112] The parsing module 530 is used to parse the authorization file in response to the import operation on the authorization file to obtain the second identification code.
[0113] The authorization module 540 is used to perform an authorization operation when the second identification code is consistent with the first identification code.
[0114] According to an embodiment of the present disclosure, the above-mentioned device includes at least a mainboard, a processor and a memory, and the hardware information includes at least mainboard information, processor information and memory information.
[0115] According to an embodiment of the present disclosure, the acquisition module 510 may be specifically used to: acquire the hardware information through a desktop management interface.
[0116] According to an embodiment of the present disclosure, the determination module 520 may be specifically configured to serialize the hardware information according to a preset rule to obtain a target sequence; and to encrypt the target sequence according to a preset encryption algorithm to obtain the first identification code.
[0117] According to an embodiment of the present disclosure, the request module 530 can be specifically used to generate a QR code according to the first identification code; and to display the QR code to the second device, so that the second device requests the authorization platform to generate an authorization file according to the QR code. According to an embodiment of the present disclosure, the determination module 520 can also be used to: generate a character sequence in JSON format according to the hardware information as the target sequence.
[0118] According to an embodiment of the present disclosure, the above-mentioned preset encryption algorithm includes an information digest algorithm.
[0119] According to an embodiment of the present disclosure, the first identification code is calculated based on the hardware information of the first device, and the hardware information includes at least motherboard information, processor information and memory information, so as to uniquely identify the first device. If the hardware information of the first device changes, the first identification code becomes invalid, so as to avoid the problem that the user bypasses the authorization by replacing the hardware of the device.
[0120] In addition, for devices to be authorized that cannot connect to an external network, if the hardware information of the devices to be authorized is collected manually, the error rate is high and the efficiency is low. According to an embodiment of the present disclosure, by serializing and encrypting the hardware information of the first device to obtain an identification code, and then generating a QR code based on the identification code, so that the second device can recognize the QR code, and send the identification code in the QR code to the authorization platform, so that the authorization platform generates an authorization file for the first device based on the identification code, reducing the error probability and improving the efficiency of collecting information during the authorization process.
[0121] According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits, or at least part of the functions of any one of them can be implemented in one module. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be split into multiple modules for implementation. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be at least partially implemented as hardware circuits, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), systems on chips, systems on substrates, systems on packages, application specific integrated circuits (ASICs), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, according to the embodiments of the present invention, one or more of the modules, submodules, units, and subunits can be at least partially implemented as computer program modules, and when the computer program modules are run, the corresponding functions can be performed.
[0122] For example, any multiple of the acquisition module 510, the determination module 520, the request module 530, the parsing module 540, and the authorization module 550 can be combined in one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the acquisition module 510, the determination module 520, the request module 530, the parsing module 540, and the authorization module 550 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware or in an appropriate combination of any of them. Alternatively, at least one of the acquisition module 510, the determination module 520, the request module 530, the parsing module 540 and the authorization module 550 may be at least partially implemented as a computer program module, and when the computer program module is executed, the corresponding function may be performed.
[0123] Figure 6 A block diagram of a computer system suitable for implementing the method described above according to an embodiment of the present disclosure is schematically shown. Figure 6 The computer system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0124] like Figure 6 As shown, the computer system 600 includes a processor 610, a computer-readable storage medium 620, and a mainboard 630. The computer system 600 can execute the software authorization method according to the embodiment of the present disclosure.
[0125] Specifically, the processor 610 and the computer-readable storage medium 620 are connected to the mainboard 630, and the mainboard 630 can be used to transmit various electronic signals, such as transmitting data such as control instructions between the processor 610 and the computer-readable storage medium 620. The processor 610 may include, for example, a general-purpose microprocessor, an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 610 may also include an onboard memory for caching purposes. The processor 610 may be a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0126] The computer-readable storage medium 620 may be, for example, a non-volatile computer-readable storage medium, and specific examples include but are not limited to: a magnetic storage device, such as a magnetic tape or a hard disk (HDD); an optical storage device, such as a compact disk (CD-ROM); a memory, such as a random access memory (RAM) or flash memory; and the like.
[0127] The computer-readable storage medium 620 may include a computer program 621 , which may include code / computer-executable instructions that, when executed by the processor 610 , cause the processor 610 to perform a method according to an embodiment of the present disclosure or any variation thereof.
[0128] The computer program 621 may be configured to have, for example, a computer program code including a computer program module. For example, in an example embodiment, the code in the computer program 621 may include one or more program modules, for example, including 621A, module 621B, ... It should be noted that the division method and number of modules are not fixed, and those skilled in the art may use appropriate program modules or program module combinations according to actual conditions, and when these program module combinations are executed by the processor 610, the processor 610 may execute the method according to the embodiment of the present disclosure or any variation thereof.
[0129] According to an embodiment of the present invention, at least one of the acquisition module 510, the determination module 520, the request module 530, the parsing module 540 and the authorization module 550 may be implemented as a reference. Figure 6 The computer program modules described herein, when executed by the processor 610, can implement the corresponding operations described above.
[0130] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method for software authorization according to the embodiments of the present disclosure is implemented.
[0131] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0132] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0133] It will be appreciated by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations and / or combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways without departing from the spirit and teachings of the present disclosure. All of these combinations and / or combinations fall within the scope of the present disclosure.
[0134] Although the present disclosure has been shown and described with reference to specific exemplary embodiments of the present disclosure, it should be understood by those skilled in the art that various changes in form and details may be made to the present disclosure without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents. Therefore, the scope of the present disclosure should not be limited to the above-mentioned embodiments, but should be determined not only by the appended claims, but also by the equivalents of the appended claims.
Claims
1. A method for software authorization performed by a first device, comprising: Acquire hardware information of the first device, wherein the first device includes at least a mainboard, a processor and a memory, the hardware information includes at least mainboard information, processor information and memory information, the hardware information is used to uniquely identify the first device, and the first device is located in an isolated network environment and cannot interact with the authorization platform through an external network; Determine a first identification code according to the hardware information; the determining the first identification code according to the hardware information includes: serializing the hardware information according to a preset rule to obtain a target sequence; and encrypting the target sequence according to a preset encryption algorithm to obtain the first identification code; the preset rule includes a JS object notation rule; Requesting the authorization platform to generate an authorization file according to the first identification code, wherein the authorization file is used to unlock the use rights of the software and / or specific software functions; requesting the authorization platform to generate an authorization file according to the first identification code includes: generating a QR code according to the first identification code; and displaying the QR code to a second device, so that the second device requests the authorization platform to generate an authorization file according to the QR code; In response to an import operation on the authorization file, parsing the authorization file to obtain a second identification code; and When the second identification code is consistent with the first identification code, an authorization operation is performed.
2. The method according to claim 1, wherein: The obtaining the hardware information of the first device includes: The hardware information is obtained through a desktop management interface.
3. The method according to claim 1, wherein: The step of serializing the hardware information according to a preset rule to obtain a target sequence includes: A character sequence in JSON format is generated according to the hardware information as the target sequence.
4. The method according to claim 1, wherein: The preset encryption algorithm includes an information digest algorithm.
5. A method for software authorization performed by a second device, comprising: Obtain a first identification code of a first device, where the first identification code is determined based on hardware information of the first device, where the first device includes at least a mainboard, a processor and a memory, where the hardware information includes at least mainboard information, processor information and memory information, where the hardware information is used to uniquely identify the first device, and where the first device is located in an isolated network environment and cannot interact with an authorization platform through an external network, wherein determining the first identification code based on the hardware information of the first device includes: serializing the hardware information according to a preset rule to obtain a target sequence; and encrypting the target sequence according to a preset encryption algorithm to obtain the first identification code; the preset rule includes a JS object notation rule; and Requesting the authorization platform to generate an authorization file according to the first identification code, wherein the authorization file is used to unlock the use rights of the software and / or specific software functions; The obtaining of the first identification code of the first device includes: Identify the QR code displayed by the first device to obtain a first identification code; The requesting the authorization platform to generate an authorization file according to the first identification code includes: Acquiring user information corresponding to the first identification code; and The user information and the first identification code are sent to an authorization platform to request the authorization platform to generate an authorization file.
6. A method for software authorization performed by an authorization platform, comprising: Acquiring a first identification code of a first device through a second device, wherein the first identification code is determined according to hardware information of the first device, wherein the first device includes at least a mainboard, a processor and a memory, wherein the hardware information includes at least mainboard information, processor information and memory information, and the hardware information is used to uniquely identify the first device, and the first device is located in an isolated network environment and cannot interact with the authorization platform through an external network, wherein the first identification code is determined according to the hardware information of the first device, including: serializing the hardware information according to a preset rule to obtain a target sequence; and encrypting the target sequence according to a preset encryption algorithm to obtain the first identification code; the preset rule includes a JS object notation rule; and Generate an authorization file according to the first identification code, wherein the authorization file is generated by the authorization platform and is used to unlock software usage rights and / or specific software functions; The obtaining the first identification code of the first device by using the second device includes: receiving user information and a first identification code from a second device; The step of generating an authorization document according to the first identification code includes: An authorization file is generated according to the user information and the first identification code.
7. A software authorization device, comprising: An acquisition module, used to acquire hardware information of a first device, wherein the first device includes at least a mainboard, a processor and a memory, the hardware information includes at least mainboard information, processor information and memory information, the hardware information is used to uniquely identify the first device, and the first device is located in an isolated network environment and cannot interact with the authorization platform through an external network; A determination module is used to determine a first identification code according to the hardware information; the determination of the first identification code according to the hardware information includes: serializing the hardware information according to a preset rule to obtain a target sequence; and encrypting the target sequence according to a preset encryption algorithm to obtain the first identification code; the preset rule includes a JS object notation rule; A request module, configured to request the authorization platform to generate an authorization file according to the first identification code, wherein the authorization file is used to unlock the use rights of the software and / or specific software functions; the requesting the authorization platform to generate an authorization file according to the first identification code includes: generating a QR code according to the first identification code; and displaying the QR code to a second device, so that the second device requests the authorization platform to generate an authorization file according to the QR code; a parsing module, configured to parse the authorization file in response to an import operation on the authorization file to obtain a second identification code; and The authorization module is used to perform an authorization operation when the second identification code is consistent with the first identification code.
8. A system for software authorization, comprising: A first device is used to obtain hardware information of the first device, wherein the first device includes at least a mainboard, a processor and a memory, and the hardware information includes at least mainboard information, processor information and memory information, and the hardware information is used to uniquely identify the first device, and the first device is located in an isolated network environment and cannot interact with an authorization platform through an external network; a first identification code is determined according to the hardware information; the first identification code is determined according to the hardware information, including: serializing the hardware information according to a preset rule to obtain a target sequence; and encrypting the target sequence according to a preset encryption algorithm to obtain the first identification code; the preset rule includes a JS object notation rule; according to the first identification code, requesting the authorization platform to generate an authorization file, and the authorization file is used to unlock the use rights of the software and / or specific software functions; in response to an import operation for the authorization file, parsing the authorization file to obtain a second identification code; and performing an authorization operation when the second identification code is consistent with the first identification code; The second device is configured to obtain a first identification code of the first device; and request an authorization platform to generate an authorization file according to the first identification code; the requesting the authorization platform to generate an authorization file according to the first identification code includes: generating a QR code according to the first identification code; and displaying the QR code to the second device, so that the second device requests the authorization platform to generate an authorization file according to the QR code; and The authorization platform is used to obtain a first identification code of a first device through a second device; and generate an authorization file according to the first identification code.
9. An electronic device, comprising: Motherboard; one or more processors; a memory for storing one or more computer programs, Wherein, the one or more processors and memory are connected to the mainboard; when one or more computer programs are executed by one or more processors, the one or more processors implement any one of the methods of claims 1 to 6.
10. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to implement the method of any one of claims 1 to 6.
11. A computer program product, comprising computer executable instructions for implementing the method according to any one of claims 1 to 6 when the instructions are executed.
Citation Information
Patent Citations
Industrial application software verification and authorization method and system, medium and client / server
CN110046477A
Method for software copyright protection
CN1621992A