CN113704700A - Method, device, system, electronic equipment and medium for software authorization - Google Patents

Method, device, system, electronic equipment and medium for software authorization Download PDF

Info

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
Application number
CN202010445820.7A
Other languages
Chinese (zh)
Inventor
胡伟平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202010445820.7A priority Critical patent/CN113704700A/en
Publication of CN113704700A publication Critical patent/CN113704700A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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/06037Record 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

Method, device, system, electronic equipment and medium for software authorization
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.
Figure BDA0002503753290000111
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:
Figure BDA0002503753290000121
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.
CN202010445820.7A 2020-05-22 2020-05-22 Method, device, system, electronic equipment and medium for software authorization Pending CN113704700A (en)

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)

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