CN113704700A - Method, device, system, electronic equipment and medium for software authorization - Google Patents
Method, device, system, electronic equipment and medium for software authorization Download PDFInfo
- Publication number
- CN113704700A CN113704700A CN202010445820.7A CN202010445820A CN113704700A CN 113704700 A CN113704700 A CN 113704700A CN 202010445820 A CN202010445820 A CN 202010445820A CN 113704700 A CN113704700 A CN 113704700A
- Authority
- CN
- China
- Prior art keywords
- identification code
- authorization
- information
- hardware information
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013475 authorization Methods 0.000 claims abstract description 167
- 230000008676 import Effects 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
Abstract
The present disclosure provides a method of software authorization performed by a first device, comprising: acquiring hardware information of first equipment, wherein the first equipment at least comprises a mainboard, a processor and a memory, and the hardware information at least comprises mainboard information, processor information and memory information; determining a first identification code according to the hardware information; requesting the authorization platform to generate an authorization file according to the first identification code; in response to the import operation aiming at the authorization file, analyzing the authorization file to obtain a second identification code; and performing an authorization operation in the case that the second identification code is identical to the first identification code. The present disclosure also provides a method of software authorization performed by a second device, a method of software authorization performed by an authorization platform, an apparatus of software authorization, an electronic device, and a medium.
Description
Technical Field
The present disclosure relates to a method, apparatus, system, electronic device, and medium for software authorization.
Background
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 generates a corresponding authorization file according to the identification information so as to unlock a specific software function in the device to be authorized.
In the related art, a network card MAC (Media Access Control Address) Address of a device to be authorized is used as identification information. However, the MAC address has a problem that it cannot uniquely identify the device to be authorized because: one device to be authorized may include multiple network cards with multiple MAC addresses. Taking a notebook computer as an example, there may be a plurality of MAC addresses such as wired, wireless, bluetooth, etc., and the MAC addresses may change with the change of the connection mode. And when the virtual machine is installed in the device to be authorized, the MAC address is even more. Also, MAC addresses are easily changed manually. Therefore, the MAC address cannot uniquely identify the device to be authorized.
If the identification information cannot uniquely identify the device to be authorized, the user can use the related functions of the software on other unauthorized devices by changing the hardware information, so that the benefit of the authorized party is damaged.
Disclosure of Invention
One aspect of the disclosure provides a method of software authorization performed by a first device, comprising: acquiring hardware information of first equipment, wherein the first equipment at least comprises a mainboard, a processor and a memory, and the hardware information at least comprises mainboard information, processor information and memory information; determining a first identification code according to the hardware information; requesting the authorization platform to generate an authorization file according to the first identification code; in response to the import operation aiming at the authorization file, analyzing the authorization file to obtain a second identification code; and performing an authorization operation in the case that the second identification code is identical to the first identification code.
Optionally, 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.
Optionally, the requesting, by the first identification code, the authorization platform to generate the authorization file includes: generating a two-dimensional code according to the first identification code; and displaying the two-dimension code to the second equipment so that the second equipment requests the authorization platform to generate an authorization file according to the two-dimension code.
Optionally, the acquiring the hardware information of the first device includes: and acquiring hardware information through a desktop management interface.
Optionally, the serializing the hardware information according to a preset rule to obtain a target sequence includes: and generating a character sequence in a JSON format as a target sequence according to the hardware information.
Optionally, the preset encryption algorithm comprises a message digest algorithm.
Another aspect of the disclosure provides a method of software authorization performed by a second device, comprising: acquiring a first identification code of first equipment; and requesting the authorization platform to generate an authorization file according to the first identification code.
Optionally, the acquiring the first identification code of the first device includes: identifying the two-dimensional code displayed by the first equipment to obtain a first identification code; the requesting, according to the first identification code, the authorization platform to generate the authorization file includes: acquiring 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.
Another aspect of the disclosure provides a method of software authorization performed by a first device, comprising: acquiring a first identification code of the first device through the second device; and generating an authorization file according to the first identification code.
Optionally, the obtaining the first identification code of the first device by the second device includes: receiving user information and a first identification code from a second device; the generating of the authorization file according to the first identification code includes: and generating an authorization file according to the user information and the first identification code.
Another aspect of the present disclosure provides an apparatus for software authorization, including: the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring hardware information of first equipment, the first equipment at least comprises a mainboard, a processor and a memory, and the hardware information at least comprises mainboard information, processor information and memory information; the determining module is used for determining the first identification code according to the hardware information; the request module is used for requesting the authorization platform to generate an authorization file according to the first identification code; the analysis module is used for responding to the import operation aiming at the authorization file and analyzing the authorization file to obtain a second identification code; and the authorization module is used for executing authorization operation under the condition that the second identification code is consistent with the first identification code.
Another aspect of the present disclosure provides a system for software authorization, comprising: the device comprises a first device and a second device, wherein the first device is used for acquiring hardware information of the first device, the first device at least comprises a mainboard, a processor and a memory, and the hardware information at least comprises mainboard information, processor information and memory information; determining a first identification code according to the hardware information; requesting the authorization platform to generate an authorization file according to the first identification code; in response to the import operation aiming at the authorization file, analyzing the authorization file to obtain a second identification code; and performing an authorization operation if the second identification code is identical to the first identification code; the second equipment is used for acquiring the first identification code of the first equipment; requesting the authorization platform to generate an authorization file according to the first identification code; the authorization platform is used for acquiring a first identification code of the first equipment through the second equipment; and generating an authorization file according to the first identification code.
Another aspect of the present disclosure provides an electronic device including: a main board; 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 motherboard; the one or more computer programs, when executed by the one or more processors, cause the one or more processors to implement the methods as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when executed.
Another aspect of the disclosure provides a computer program product comprising computer executable instructions for implementing the method as described above when executed.
According to the embodiment of the disclosure, the first identification code is calculated based on hardware information of the first device, and the hardware information at least comprises mainboard information, processor information and memory information, so that the first device can be uniquely identified. If the hardware information of the first device changes, the first identification code is invalid, so that the problem that the user bypasses authorization by replacing the hardware of the device can be avoided.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
FIG. 1 schematically illustrates an exemplary system architecture to which a method of software authorization may be applied, according to an embodiment of the disclosure;
fig. 2A schematically illustrates a flow chart of a method of software authorization performed by a first device according to an embodiment of the present disclosure;
FIG. 2B schematically illustrates a flow diagram for determining a first identification code from hardware information, according to an embodiment of the disclosure;
FIG. 2C schematically illustrates a flow diagram for requesting an authorization platform to generate an authorization file based on a first identification code, according to an embodiment of the disclosure;
fig. 3A schematically illustrates a flow chart of a method of software authorization performed by a second device according to an embodiment of the present disclosure;
FIG. 3B schematically illustrates a flow diagram for requesting an authorization platform to generate an authorization file based on a first identification code, according to an embodiment of the disclosure;
FIG. 4 schematically illustrates a flow diagram of software authorization performed by an authorization platform according to an embodiment of the disclosure;
FIG. 5 schematically shows a block diagram of an apparatus for software authorization according to an embodiment of the present disclosure; and
FIG. 6 schematically shows a block diagram of a computer system suitable for implementing the above described method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). In addition, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
Embodiments of the present disclosure provide a method of software authorization performed by a first device. The method comprises the steps of obtaining hardware information of first equipment; 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 two-dimensional code according to the first identification code; displaying the two-dimension code to second equipment so that the second equipment requests an authorization platform to generate an authorization file according to the two-dimension code; in response to the import operation aiming at the authorization file, analyzing the authorization file to obtain a second identification code; and performing an authorization operation in the case that the second identification code is identical to the first identification code.
The embodiment of the present disclosure also provides a method for software authorization executed by a second device, including identifying a two-dimensional code displayed by a first device to obtain a first identification code; acquiring 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.
In addition, embodiments of the present disclosure also provide a method of 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 according to the user information and the first identification code.
Fig. 1 schematically illustrates an exemplary system architecture 100 to which a method of software authorization may be applied, according to an embodiment of the disclosure. It should be noted that fig. 1 is only an example of a system architecture to which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, and does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, a 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 serves as a medium for providing a communication link between the second device 102 and the authorization platform 103. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
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 a variety of electronic devices having a display screen including, but not limited to, smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The user may use the second device 102 to scan the two-dimensional code displayed in the display screen of the first device 101 to obtain data from the first device 101. The user may also use the second device 102 to interact with the authorization platform 103 via the network 104 to receive or send messages or the like.
The second device 102 may be a variety of electronic devices with an image capture device (e.g., a camera), including but not limited to a smartphone, a tablet, a laptop, etc.
The authorization platform 103 may be a server that provides software authorization for terminal devices. The server can perform decryption analysis and other processing on the received data such as the data frame, and then generates an authorization file for authorizing the terminal device according to the hardware information and/or the user information contained in the processing result.
It should be noted that the software authorization apparatus provided in the embodiment of the present disclosure may be generally disposed in the first device 101. The software authorization apparatus provided by the embodiment of the present disclosure may also be disposed in other electronic devices different from the first device 101 and capable of communicating with the first device 101.
It should be understood that the number of first devices, second devices, networks, and authorization platforms in fig. 1 is merely illustrative. There may be any number of first devices, second devices, networks, and authorization platforms, as desired for an implementation.
Fig. 2A schematically shows a flow chart of a method of software authorization performed by a first device according to an embodiment of the present disclosure.
As shown in fig. 2A, the method includes operations S210 to S250.
In operation S210, hardware information of a first device is acquired.
A Desktop Management Interface (DMI) serves as an Interface between a Management tool and a system layer, and can be used to extract information of each accessory of a computer. Operation S210 may include, for example, acquiring hardware information through the DMI according to an embodiment of the present disclosure. For example, information of each hardware inside the device can be acquired by a dmidrecode instruction.
According to an embodiment of the present disclosure, the first device includes at least a motherboard, a processor, and a memory, and accordingly, the hardware information of the first device includes at least motherboard information, processor information, and memory information of the first device. The hardware information of the first device may be used to uniquely identify the first device. The motherboard information may include, for example, manufacturer, version, serial number, and the like of the motherboard. The processor information may include, for example, information on the manufacturer, version, CPU ID, type, product family, etc. of the processor (CPU). The memory information may include, for example, a disk serial number of the disk on which the system installation directory is located.
According to other embodiments of the present disclosure, the hardware information may include serial port information, parallel port information, network card information, operating system information, and other information in addition to the motherboard information, the processor information, and the memory information.
In operation S220, a first identification code is determined according to the hardware information.
Fig. 2B schematically illustrates a flowchart for determining the first identification code according to hardware information, according to an embodiment of the present disclosure.
As shown in fig. 2B, operation S220 may include, for example, operations S221 to S222.
In operation S221, the hardware information is serialized according to a preset rule to obtain a target sequence.
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 include, for example, generating a JSON-formatted character sequence as a target sequence from the hardware information.
In operation S222, the target sequence is encrypted according to a preset encryption algorithm to obtain the first identification code.
According to an embodiment of the present disclosure, the preset encryption Algorithm may include, for example, a Message-Digest Algorithm (MD 5 Algorithm).
In operation S230, the authorization platform is requested to generate an authorization file according to the first identification code.
Fig. 2C schematically shows a flowchart for requesting an authorization platform to generate an authorization file according to a first identification code according to an embodiment of the present disclosure.
As shown in fig. 2C, operation S230 may include, for example, operations S231 to S232.
In operation S231, a two-dimensional code is generated according to the first identification code.
According to the embodiment of the disclosure, the two-dimensional code is generated according to the first identification code, and the first identification code is stored in the two-dimensional code. The two-dimensional code can be a stacked/row-type two-dimensional code or a matrix-type 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, a Code 49, a Code 16K, a Code one, and the like. Illustratively, in the present embodiment, a QR Code is used to generate a two-dimensional Code.
In operation S232, the two-dimensional code is displayed to the second device, so that the second device requests the authorization platform to generate an authorization file according to the two-dimensional code. According to an embodiment of the present disclosure, the first device has a display screen, and the two-dimensional code generated in operation S240 may be displayed in the display screen of the first device. The second device may obtain the first identification code by scanning the two-dimensional code displayed by the first device, and then request the authorization platform to generate the authorization file according to the first identification code.
In operation S240, in response to the import operation for the authorization file, the authorization file is parsed to obtain the second identification code.
According to embodiments of the present disclosure, an authorization file may be stored in a memory of a first device and then imported from the memory. The imported authorization file is then parsed to obtain the second identification code therein.
In operation S250, in case that the second identification code is identical to the first identification code, an authorization operation is performed.
According to the embodiment of the disclosure, whether the second identification code acquired from the authorization file is consistent with the first identification code generated according to the hardware information of the first device is judged. And if the two are consistent, executing authorization operation to unlock the corresponding software function. If the two are not consistent, the authorization operation is refused to be executed.
According to the embodiment of the disclosure, the first identification code is calculated based on the hardware information of the first device and is bound with the hardware information of the first device. If the hardware information of the first device changes, the first identification code is invalid, and the operations S210 to S220 need to be performed again to generate a new first identification code instead of the original first identification code.
According to the embodiment of the disclosure, when the hardware information of the first device is not changed, even if the software in the first device is repeatedly uninstalled and installed for many times, the authorization effectiveness of the original authorization file to the software is not affected, and the authorization can still be performed through the original authorization file.
According to the embodiment of the disclosure, when the hardware information of the first device is changed, the first device generates a new identification code, and the identification code is inconsistent with the identification code in the original authorization file, so that the authorization is invalid, and the problem that the user bypasses the authorization by replacing the hardware of the device can be avoided.
Fig. 3A schematically illustrates a flow chart of a method of software authorization performed by a second device according to an embodiment of the disclosure.
As shown in fig. 3A, the method includes operations S310 to S320.
In operation S310, a first identification code of a first device is acquired.
According to an embodiment of the present disclosure, operation S310 may include, for example, recognizing a two-dimensional code exhibited by the first device to obtain the first identification code.
According to an embodiment of the present disclosure, the second device may comprise an image acquisition device, such as a camera. The two-dimensional code displayed by the first equipment can be shot through image acquisition equipment in the second equipment and is identified to obtain the first identification code stored in the two-dimensional code.
In operation S320, the authorization platform is requested to generate an authorization file according to the first identification code.
Fig. 3B schematically illustrates a flow chart for requesting an authorization platform to generate an authorization file according to a first identification code according to an embodiment of the present disclosure.
As shown in fig. 3B, operation S320 may include, for example, operations S321 to S322.
In operation S321, user information corresponding to the first identification code is acquired.
According to embodiments of the present disclosure, user information may be used to identify the identity of a user. The user information may be input by the user through the second device.
In operation S322, the user information and the first identification code are transmitted to the authorization platform to request the authorization platform to perform a software authorization operation for the first device.
According to the embodiment of the disclosure, the second device may upload the user information and the first identification code to the authorization platform through the network.
FIG. 4 schematically shows a flow diagram of software authorization performed by an authorization platform according to an embodiment of the disclosure.
As shown in fig. 4, the method includes operations S410 to S420.
In operation S410, a first identification code of a first device is acquired by a second device.
According to an embodiment of the present disclosure, operation S410 may include, for example, receiving user information and a first identification code from a second device.
In operation S420, an authorization file is generated according to the first identification code.
According to an embodiment of the present disclosure, operation S420 may include, for example, generating an authorization file according to the user information and the first identification code.
According to embodiments of the present disclosure, the authorization file may be used to unlock usage rights of the software and/or specific software functions.
According to an embodiment of the disclosure, the authorization platform may verify the user information after receiving the user information and the first identification code from the second device. And if the user information is verified to be correct, generating an authorization file according to the user information and the first representation code.
For the devices in the isolated network environment, because the devices cannot interact with the authorization platform through the external network, when the devices need to be authorized, the authorization platform cannot directly acquire the identification information of the devices. For these devices, if hardware information is collected manually, the error rate is high and the efficiency is low. According to the embodiment of the disclosure, the hardware information of the first device is serialized and encrypted to obtain the identification code, then the two-dimensional code is generated according to the identification code, so that the second device can identify the two-dimensional code, and the identification code in the two-dimensional code is sent to the authorization platform, so that the authorization platform generates the authorization file for the first device according to the identification code, the error probability is reduced, and the information collection efficiency in the authorization process is improved.
The method shown in fig. 2A to 4 is further explained below with reference to specific embodiments.
One example embodiment in accordance with an embodiment of the present disclosure is shown below. Those skilled in the art will appreciate that the following example embodiments are only for the understanding of the present disclosure, and the present disclosure is not limited thereto.
In this embodiment, first, the first device obtains, through the DMI, its own processor information, motherboard information, and hard disk information of a hard disk where the operating system installation directory is located. Specific information is shown in table 1.
TABLE 1
And then the first equipment generates a character sequence in a JSON format according to the processor information, the mainboard information and the hard disk information. In this embodiment, the processor information, the motherboard information, and the hard disk information are combined in sequence to obtain a character sequence in the JSON format. The character sequence of the JSON format after the serialization is shown as follows:
the cpu represents a processor, the cpu represents a processor identifier, the vendorid represents a manufacturer identifier, the cpufamily represents a family identifier of the processor, the modelname represents a model of the processor, the system represents a system, namely a mainboard, the serial _ number represents a mainboard serial number, the uuid represents a universal unique identifier, the disk represents a hard disk, and the sn represents a hard disk serial number.
Then, the first device encrypts the character sequence according to the MD5 algorithm to obtain the first identification code. And generating a two-dimensional code according to the first identification code, and displaying the two-dimensional code in a display screen.
The second equipment scans the two-dimensional code displayed by the first equipment and acquires the first identification code stored in the two-dimensional code. And then sending the first identification code and the user information input by the user to an authorization platform.
And after receiving the first identification code and the user information from the second device, the authorization platform judges whether the first identification code is already input into the authorization platform. If the first identification code is already recorded into the authorization platform, returning prompt information of the system in which the code is recorded into the second equipment; and if the first identification code is not input by the authorized platform, inputting the first identification code into the authorized platform, and returning an input result to the second equipment. And then the authorization platform generates a corresponding authorization file according to the entered identification code.
The authorization file may be imported by the user into the first device via an external storage medium. The first device obtains the identification code in the imported authorization file by analyzing the imported authorization file, then compares the identification code with the identification code generated by the hardware information of the first device, and if the identification code is consistent with the identification code generated by the hardware information of the first device, authorization is executed.
Fig. 5 schematically shows a block diagram of an apparatus for software authorization according to an embodiment of the present disclosure.
As shown in fig. 5, the software authorization apparatus 500 includes an obtaining module 510, a determining module 520, a requesting module 530, a resolving module 540, and an authorizing module 550. It should be noted that the apparatus 500 for software authorization provided by the embodiment of the present disclosure may be generally disposed in a first device. The software authorization apparatus provided by the embodiment of the present disclosure may also be disposed in other electronic devices different from the first device and capable of communicating with the first device.
The software authorizing device 500 may perform the method described above with reference to fig. 2.
Specifically, the obtaining module 510 is configured to obtain hardware information of a first device, where the first device at least includes a motherboard, a processor, and a memory, and the hardware information at least includes motherboard information, processor information, and memory information.
A determining module 520, configured to determine the first identification code according to the hardware information.
A requesting module 530, configured to request the authorization platform to generate an authorization file according to the first identification code.
The parsing module 530 is configured to parse the authorization file to obtain the second identification code in response to the import operation for the authorization file.
And an authorization module 540, configured to perform an authorization operation if the second identification code is identical to the first identification code.
According to an embodiment of the present disclosure, the apparatus at least includes a motherboard, a processor, and a memory, and the hardware information at least includes motherboard information, processor information, and memory information.
According to an embodiment of the present disclosure, the obtaining module 510 may be specifically configured to: and acquiring the hardware information through a desktop management interface.
According to an embodiment of the present disclosure, the determining module 520 may be specifically configured to serialize 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.
According to an embodiment of the present disclosure, the requesting module 530 may be specifically configured to generate a two-dimensional code according to the first identification code; and displaying the two-dimension code to second equipment so that the second equipment requests an authorization platform to generate an authorization file according to the two-dimension code. According to an embodiment of the disclosure, the determining module 520 may be further configured to: and generating a character sequence in a JSON format as the target sequence according to the hardware information.
According to an embodiment of the present disclosure, the preset encryption algorithm includes an information digest algorithm.
According to the embodiment of the disclosure, the first identification code is calculated based on hardware information of the first device, and the hardware information at least comprises mainboard information, processor information and memory information, so that the first device can be uniquely identified. If the hardware information of the first device changes, the first identification code is invalid, so that the problem that the user bypasses authorization by replacing the hardware of the device can be avoided.
In addition, for the device to be authorized which cannot be connected with the external network, if the hardware information of the device to be authorized is manually collected, the error rate is high, and the efficiency is low. According to the embodiment of the disclosure, the hardware information of the first device is serialized and encrypted to obtain the identification code, then the two-dimensional code is generated according to the identification code, so that the second device can identify the two-dimensional code, and the identification code in the two-dimensional code is sent to the authorization platform, so that the authorization platform generates the authorization file for the first device according to the identification code, the error probability is reduced, and the information collection efficiency in the authorization process is improved.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part 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 may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
For example, any of the obtaining module 510, the determining module 520, the requesting module 530, the resolving module 540, and the authorizing module 550 may be combined and implemented in one module, or any one of them may be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the obtaining module 510, the determining module 520, the requesting module 530, the parsing module 540, and the authorizing module 550 may be implemented at least partially 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 may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or in any one of three implementations of software, hardware, and firmware, or in any suitable combination of any of them. Alternatively, at least one of the obtaining module 510, the determining module 520, the requesting module 530, the resolving module 540 and the authorizing module 550 may be at least partially implemented as a computer program module, which when executed may perform a corresponding function.
FIG. 6 schematically shows a block diagram of a computer system suitable for implementing the above described method according to an embodiment of the present disclosure. The computer system illustrated in FIG. 6 is only one example and should not impose any limitations on the scope of use or functionality of embodiments of the disclosure.
As shown in fig. 6, computer system 600 includes a processor 610, a computer-readable storage medium 620, and a motherboard 630. The computer system 600 may perform a method of software authorization according to an embodiment of the present disclosure.
Specifically, the processor 610 and the computer-readable storage medium 620 are connected to the motherboard 630, and the motherboard 630 may be used to transmit various electronic signals, such as 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 associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 610 may also include onboard memory for caching purposes. The processor 610 may be a single processing unit or a plurality of processing units for performing the different actions of the method flows according to embodiments of the present disclosure.
Computer-readable storage medium 620, for example, may be a non-volatile computer-readable storage medium, specific examples including, but not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The computer-readable storage medium 620 may include a computer program 621, which computer program 621 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 disclosure, or any variation thereof.
The computer program 621 may be configured with, for example, computer program code comprising computer program modules. For example, in an example embodiment, code in computer program 621 may include one or more program modules, including 621A, 621B, … …, for example. It should be noted that the division and number of the modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, so that the processor 610 may execute the method according to the embodiment of the present disclosure or any variation thereof when the program modules are executed by the processor 610.
According to an embodiment of the present invention, at least one of the obtaining module 510, the determining module 520, the requesting module 530, the parsing module 540 and the authorizing module 550 may be implemented as a computer program module described with reference to fig. 6, which when executed by the processor 610 may implement the respective operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement a method of software authorization according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
While the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined not only by the appended claims, but also by equivalents thereof.
Claims (15)
1. A method of software authorization performed by a first device, comprising:
acquiring hardware information of the first device, wherein the first device at least comprises a mainboard, a processor and a memory, and the hardware information at least comprises mainboard information, processor information and memory information;
determining a first identification code according to the hardware information;
requesting an authorization platform to generate an authorization file according to the first identification code;
in response to an import operation for an authorization file, parsing the authorization file to obtain a second identification code; and
and executing authorization operation under the condition that the second identification code is consistent with the first identification code.
2. The method of claim 1, wherein the determining a first identification code from the hardware information comprises:
serializing the hardware information according to a preset rule to obtain a target sequence; and
and encrypting the target sequence according to a preset encryption algorithm to obtain the first identification code.
3. The method of claim 2, wherein requesting the authorization platform to generate an authorization file based on the first identification code comprises:
generating a two-dimensional code according to the first identification code; and
and displaying the two-dimension code to second equipment so that the second equipment requests an authorization platform to generate an authorization file according to the two-dimension code.
4. The method of claim 1, wherein the obtaining hardware information of the first device comprises:
and acquiring the hardware information through a desktop management interface.
5. The method of claim 1, wherein the serializing the hardware information according to a preset rule to obtain a target sequence comprises:
and generating a character sequence in a JSON format as the target sequence according to the hardware information.
6. The method of claim 1, wherein the preset encryption algorithm comprises a message digest algorithm.
7. A method of software authorization performed by a second device, comprising:
acquiring a first identification code of first equipment; and
and requesting the authorization platform to generate an authorization file according to the first identification code.
8. The method of claim 7, wherein,
the acquiring of the first identification code of the first device includes:
identifying the two-dimensional code displayed by the first equipment to obtain a first identification code;
the requesting an authorization platform to generate an authorization file according to the first identification code comprises:
acquiring user information corresponding to the first identification code; and
and sending the user information and the first identification code to an authorization platform to request the authorization platform to generate an authorization file.
9. A method of software authorization performed by an authorization platform, comprising:
acquiring a first identification code of the first device through the second device; and
and generating an authorization file according to the first identification code.
10. The method of claim 9, wherein,
the acquiring of the first identification code of the first device by the second device includes:
receiving user information and a first identification code from a second device;
generating an authorization file according to the first identification code, wherein the generating of the authorization file comprises:
and generating an authorization file according to the user information and the first identification code.
11. An apparatus for software authorization, comprising:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring hardware information of first equipment, the first equipment at least comprises a mainboard, a processor and a memory, and the hardware information at least comprises mainboard information, processor information and memory information;
the determining module is used for determining the first identification code according to the hardware information;
the request module is used for requesting the authorization platform to generate an authorization file according to the first identification code;
the analysis module is used for responding to the import operation aiming at the authorization file and analyzing the authorization file to obtain a second identification code; and
and the authorization module is used for executing authorization operation under the condition that the second identification code is consistent with the first identification code.
12. A system for software authorization, comprising:
the device comprises a first device and a second device, wherein the first device is used for acquiring hardware information of the first device, the first device at least comprises a mainboard, a processor and a memory, and the hardware information at least comprises mainboard information, processor information and memory information; determining a first identification code according to the hardware information; requesting an authorization platform to generate an authorization file according to the first identification code; in response to an import operation for an authorization file, parsing the authorization file to obtain a second identification code; and performing an authorization operation if the second identification code is identical to the first identification code;
the second equipment is used for acquiring the first identification code of the first equipment; requesting the authorization platform to generate an authorization file according to the first identification code; and
the authorization platform is used for acquiring a first identification code of the first equipment through the second equipment; and generating an authorization file according to the first identification code.
13. 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 memory are connected to the motherboard; the one or more computer programs, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1 to 10.
14. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to carry out the method of any one of claims 1 to 10.
15. A computer program product comprising computer executable instructions for implementing the method according to any one of claims 1 to 10 when executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010445820.7A CN113704700A (en) | 2020-05-22 | 2020-05-22 | Method, device, system, electronic equipment and medium for software authorization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010445820.7A CN113704700A (en) | 2020-05-22 | 2020-05-22 | Method, device, system, electronic equipment and medium for software authorization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113704700A true CN113704700A (en) | 2021-11-26 |
Family
ID=78646472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010445820.7A Pending CN113704700A (en) | 2020-05-22 | 2020-05-22 | Method, device, system, electronic equipment and medium for software authorization |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704700A (en) |
-
2020
- 2020-05-22 CN CN202010445820.7A patent/CN113704700A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900464B (en) | Electronic device, block chain-based data processing method, and computer storage medium | |
US20170230444A1 (en) | Cloud service server and method for managing cloud service server | |
US9213931B1 (en) | Matrix barcode enhancement through capture and use of neighboring environment image | |
US9125059B2 (en) | Password-free, token-based wireless access | |
US20150132984A1 (en) | Mobile otp service providing system | |
US11184174B2 (en) | System and method for decentralized digital structured data storage, management, and authentication using blockchain | |
US10701061B2 (en) | Methods for blocking unauthorized applications and apparatuses using the same | |
JP2015506153A (en) | Method and system for distributed off-line logon using one-time password | |
CN115102744A (en) | Data access method and device | |
JP5991143B2 (en) | Information processing apparatus, system, and information registration method | |
US10049222B1 (en) | Establishing application trust levels using taint propagation | |
US20130204929A1 (en) | Information Generation System And Method Therefor | |
CN114925337B (en) | Data labeling method and device and electronic equipment | |
CN110719590A (en) | One-key login method, device, equipment and storage medium based on mobile phone number | |
EP3136278A1 (en) | Dynamically loaded code analysis device, dynamically loaded code analysis method, and dynamically loaded code analysis program | |
CN114448722B (en) | Cross-browser login method and device, computer equipment and storage medium | |
CN110602700A (en) | Seed key processing method and device and electronic equipment | |
CN113704700A (en) | Method, device, system, electronic equipment and medium for software authorization | |
KR102401485B1 (en) | Method and system for processing homomorphic encrypted data | |
CN104714760A (en) | Method and device for read and write storage device | |
JP2022003327A (en) | Method, device, electronic device, computer readable storage medium, and computer program for positioning terminal | |
US20190306146A1 (en) | Coordination support system, coordination support method, and non-transitory computer-readable storage medium | |
US20190278798A1 (en) | Terminal device, method, and information processing system | |
CN112559825B (en) | Service processing method, device, computing equipment and medium | |
CN113645239B (en) | Application login method and device, user terminal and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |