CN113139162A - Software verification method, software and hardware binding method and programmable device thereof - Google Patents
Software verification method, software and hardware binding method and programmable device thereof Download PDFInfo
- Publication number
- CN113139162A CN113139162A CN202110552097.7A CN202110552097A CN113139162A CN 113139162 A CN113139162 A CN 113139162A CN 202110552097 A CN202110552097 A CN 202110552097A CN 113139162 A CN113139162 A CN 113139162A
- Authority
- CN
- China
- Prior art keywords
- software
- hardware
- programmable device
- public key
- programmable
- 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 58
- 238000012795 verification Methods 0.000 claims description 18
- 238000013514 software validation Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Technology Law (AREA)
- Radar, Positioning & Navigation (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
Abstract
A software verification method, a software and hardware binding method and a programmable device thereof are provided. The software and hardware binding method comprises the following steps: acquiring an identifier of appointed hardware of a computing device needing to be bound with software to be released; generating a pair of public key and private key; solidifying data about the public key in the programmable device; generating a digital certificate file by digitally signing the identity of the designated hardware according to a digital signature algorithm using a private key, and issuing the digital certificate file with the software.
Description
The application is a divisional application of patent applications with application date of 2019, 6 and 11 months and application number of 201910500991.2, entitled software verification method, software and hardware binding method and programmable device thereof.
Technical Field
The present application relates generally to the field of software and hardware protection for computing devices, and more particularly to software and hardware binding methods, software verification methods, and programmable devices thereof.
Background
At present, software and hardware manufacturers use various measures to protect intellectual property of software and hardware developed by themselves. However, since the current software can run on devices developed by different manufacturers, the method based on software encryption is easy to crack and is easy to be copied in large quantities after cracking, thereby bringing huge economic loss to manufacturers.
Therefore, more and more manufacturers currently sell software and hardware in a bound manner, that is, bind hardware devices and corresponding software together, so that the supporting software can only run on a corresponding hardware platform, while existing software and hardware binding verification methods are all executed on a local CPU by a host running the software, for example, a verification public key of a digital signature algorithm must be stored in a local computer, however, just because data such as the verification public key is stored in a memory of the local computer, there is a possibility that a verification key is read or a key generation algorithm is cracked, and further, the existing software and hardware binding verification method based on asymmetric key encryption has a possibility of being cracked, or, under the condition that the calculation power is greatly improved in the future, the existing software and hardware binding verification method also has a possibility of being cracked.
Disclosure of Invention
An exemplary embodiment of the present invention is directed to a software verification method, a software and hardware binding method, and a programmable device thereof, which at least solve the above-mentioned problems of the prior art.
According to an exemplary embodiment of the present invention, there is provided a method for implementing software and hardware binding, which may include: acquiring an identifier of appointed hardware of a computing device needing to be bound with software to be released; generating a pair of public key and private key; solidifying data about the public key in the programmable device; generating a digital certificate file by digitally signing the identity of the designated hardware according to a digital signature algorithm using a private key, and issuing the digital certificate file with the software.
Optionally, the method may further comprise: and solidifying a verification program for verifying the digital signature in the programmable device.
Alternatively, the data about the public key may be the public key itself.
Optionally, the method may further comprise: solidifying a PUF circuit corresponding to a physical unclonable function PUF in the programmable device; generating a PUF key having uniqueness in the programmable device using the PUF circuit; and encrypting the public key by using the PUF secret key to obtain the data about the public key.
Alternatively, the programmable device may be a fixed hardware component of the computing apparatus; alternatively, the programmable device may be combined with the computing apparatus in a pluggable manner.
Alternatively, the programmable device may be any one of: PAL, PLA, GAL, FPGA, and CPLD.
According to an exemplary embodiment of the present invention, there is provided a software verification method, which may include: acquiring a digital certificate file of software and an identifier of specified hardware of a current computing device; verifying whether the acquired identifier of the specified hardware is matched with the hardware identifier contained in the digital certificate file of the software through data about a public key solidified in a programmable device; when the verification result is a match, the software is allowed to be installed and run on the computing device.
Alternatively, the verifying step may be performed by a verification program that is solidified in the programmable device.
Alternatively, the digital certificate file of the software may be generated by digitally signing the hardware identifier according to a digital signature algorithm by using a private key corresponding to the public key.
Alternatively, the data about the public key may be the public key itself.
Alternatively, the data about the public key may be a public key cryptogram generated by encrypting the public key using a PUF key produced by a physically unclonable function, PUF, circuit that is hardened in the programmable device.
Optionally, the step of verifying may comprise: activating a PUF circuit solidified in the programmable device to obtain a PUF key; obtaining a public key by decrypting data regarding the public key, which is solidified in the programmable device, using the obtained PUF key; and decrypting the digital certificate file of the software by using the acquired public key according to a digital signature algorithm to obtain a hardware identifier contained in the digital certificate file of the software, and further verifying whether the acquired identifier of the specified hardware is matched with the hardware identifier contained in the digital certificate file of the software.
Alternatively, the programmable device may be any one of: programmable Array Logic (PAL), Programmable Logic Array (PLA), generic logic array (GAL), programmable gate array (FPGA), and complex programmable device (CPLD).
Alternatively, the programmable device may be a fixed hardware component of the computing device, or the programmable device may be removably coupled to the computing device.
According to an exemplary embodiment of the present invention, a programmable device for software and hardware binding is provided, wherein the programmable device may be configured to have data related to a public key, wherein the data related to the public key may be used to verify whether a hardware identifier related to a computing device to be installed and run a specific software matches a hardware identifier contained in a digital certificate file of the specific software, wherein the digital certificate may be obtained by digitally signing the hardware identifier related to the computing device bound to the software using a private key corresponding to the public key.
Optionally, a verification program for performing the verification may be further fixed in the programmable device.
Optionally, the physical unclonable function PUF circuit of the programmable device may be further fixed in the programmable device, where the PUF circuit may be configured to generate a PUF key with uniqueness, and the data about the public key may be a public key ciphertext obtained by encrypting the public key with the PUF key.
Alternatively, the programmable device may be a fixed hardware component of the computing device on which the specified software is to be installed and run; alternatively, the programmable device may be combined in a pluggable manner with a computing device on which the specified software is to be installed and run.
The programmable device may be any one of: programmable array logic PAL, programmable logic array PLA, general logic array GAL, programmable gate array FPGA and complex programmable device CPLD.
According to the software verification method, the software and hardware binding method and the programmable device thereof, data about a public key, a verification program for verifying a data signature and the like can be solidified in the programmable device, so that the security of bound software and hardware is improved.
Additional aspects and/or advantages of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the general inventive concept.
Drawings
These and/or other aspects and advantages of the present application will become more apparent and more readily appreciated from the following detailed description of the embodiments of the present application, taken in conjunction with the accompanying drawings of which:
FIG. 1 is a flow chart illustrating a method for implementing software and hardware binding according to an exemplary embodiment of the present application;
FIG. 2 is a flowchart illustrating a software validation method according to an exemplary embodiment of the present application;
fig. 3 is a detailed flowchart illustrating specific verification steps according to an exemplary embodiment of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings. The embodiments are described below in order to explain the present invention by referring to the figures.
Here, in order to facilitate better understanding of the present application, the present invention is first described in terms of a general concept, which implements software and hardware binding when software and a computing apparatus are shipped from a factory, that is, a private key is used to digitally sign an identifier of specified hardware in the computing apparatus that needs to be bound with software to be issued to obtain a digital certificate file, then data regarding a public key corresponding to the private key is fixed in a programmable device, and thereafter, a manufacturer issues the software together with the digital certificate file, wherein the programmable device may be a hardware component of the computing apparatus or may be combined with the computing apparatus in a pluggable manner. When the software is installed on the current computing device, the technical scheme of the application acquires a digital certificate file of the software and the identification of the specified hardware of the current computing device, then decrypts the digital certificate file by using data which is solidified in the programmable device and is related to the public key, then verifies the hardware identification contained in the digital certificate file and the acquired identification of the specified hardware of the current computing device, and if the verification is successful, the current computing device is the computing device bound to the software by a manufacturer, so that the software is allowed to be installed and run on the current computing device. Hereinafter, a method of binding software and hardware at the time of shipment will be described with reference to fig. 1.
Fig. 1 is a flowchart illustrating a method for implementing software and hardware binding according to an exemplary embodiment of the present application.
In step S101, an identification of the designated hardware of the computing device that needs to be bound with the software to be released is obtained.
In particular, the computing device may be any computing device capable of installing the software to be distributed, such as a desktop computer, a laptop computer, a netbook, an automated teller machine, a smart phone, and the like. The computing device may include various hardware components, such as a CPU, hard disk, memory, graphics card, etc., and each of these hardware components has a unique hardware identification. However, the method is not particularly limited to the hardware component of the computing device that is obtained the identification, in other words, the method may obtain the identification of any part of the designated hardware in all the hardware of the computing device, for example, may obtain the identification of the CPU, the hard disk and the memory of the computing device, or may obtain the identification of the CPU, the memory and the graphics card of the computing device.
In step S102, a pair of a public key and a private key is generated.
In particular, any known key generation algorithm may be employed to generate a pair of public and private keys, for example, an RSA algorithm, an Elgamal algorithm, a knapsack algorithm, a Rabin algorithm, a D-H algorithm, etc. may be employed. The generated private key is kept properly by a software manufacturer and is not disclosed.
In step S103, data on the public key is solidified in the programmable device. Specifically, in the present application, the programmable device used may be any programmable device capable of solidifying data and burning a logic circuit, for example, the programmable device may be any one of Programmable Array Logic (PAL), Programmable Logic Array (PLA), general logic array (GAL), programmable gate array (FPGA), complex programmable device (CPLD), and the like. Due to the characteristics of the programmable device, data about the public key solidified in the programmable device cannot be read by an attacker through any means, so that the safety of the public key is ensured, and the attacker cannot crack the software binding method by acquiring the public key.
In one embodiment, the data about the public key may be the public key itself generated with the key generation algorithm in step S102. That is, the method may solidify the public key itself directly in the programmable device.
Alternatively, the data on the public key may be an encrypted public key obtained by encrypting the public key generated in step S102 with an encryption key. In particular, a key generated by a Physically Unclonable Function (PUF) circuit of the programmable device is utilized as the encryption key. The PUF refers to any programmable device, which inevitably generates some random differences due to uncontrollable random physical changes in the manufacturing process due to the influence of manufacturing process limitations, so that each programmable device has an unpredictable characteristic in structure and characteristics, and the PUF circuit is a circuit designed by using the unpredictable characteristic, in other words, on different programmable devices, the PUF circuit generates different and unique outputs for the same input, so that the key generated by the PUF circuit has uniqueness, unpredictability and irreproducibility. Therefore, the security of the public key can be further improved.
Specifically, the method first solidifies the PUF circuit corresponding to the PUF in the programmable device, then generates a unique PUF key in the programmable device using the PUF circuit, and encrypts the public key using the PUF key to obtain the data about the public key (i.e., the encrypted public key).
The programmable device is a fixed hardware component of the computing device, or alternatively, the programmable device is removably coupled to the computing device.
In step S104, a digital certificate file is generated by digitally signing the identity of the specified hardware of the computing device in accordance with a digital signature algorithm using a private key, and the digital certificate file is issued with the software. The digital signature algorithm used may be any digital signature algorithm capable of implementing digital signature, for example, RSA signature algorithm, Schnorr signature algorithm, elliptic curve digital signature book algorithm, and the like.
In addition, the method further includes solidifying a verification program that verifies the digital signature in the programmable device such that the verification program is likewise not stolen by an attacker. Therefore, through the above processes, the data about the public key, the PUF circuit, and the verification program for verifying the data signature are finally solidified in the programmable device, thereby improving the security of the bound software and hardware.
So far, the software and hardware binding process is realized through the above-described steps S101 to S104, in the above description, the method for realizing the software and hardware binding is described in the order of the steps S101, S102, S103 and S104, but the method is not limited by the above-described order, and the order of the steps that can realize the same functions as the method is included in the scope of the present application. Next, a process of how to verify software and hardware at the installation or runtime of the software will be described. The following authentication process mainly verifies the digital certificate file issued together with the software and the identifier of the specified hardware of the current computing device, and if the hardware identifier included in the digital certificate file is matched with the identifier of the specified hardware of the current computing device, the current computing device is proved to be the computing device bound with the software by a manufacturer when the software and the hardware leave the factory. This will be described in detail below with reference to fig. 2 and 3.
Fig. 2 is a flowchart illustrating a software verification method according to an exemplary embodiment of the present application.
In step S201, a digital certificate file for the software is obtained along with an identification of the specified hardware of the current computing device. Specifically, since the software is issued together with its digital certificate file, the digital certificate file of the software can be obtained together when the software user installs or runs the software, and the identifier of the specified hardware of the current computing device can be obtained during the installation or running process.
In step S202, it is verified whether the acquired identifier of the specified hardware matches the hardware identifier contained in the digital certificate file of the software by means of data on the public key solidified in the programmable device. That is, the acquired digital certificate file and the identity of the designated hardware of the current computing device are input to the programmable device for verification. In the present application, the programmable device used may be any programmable device capable of solidifying data and programs and burning logic circuits, for example, the programmable device may be any one of PAL, PLA, GAL, FPGA, CPLD, and the like. Furthermore, the programmable device may be a fixed hardware component of the computing apparatus, or the programmable device may be combined with the computing apparatus in a pluggable manner. Further, the verifying step may be performed by a verification program that is solidified in the programmable device.
The digital certificate file of the software is generated by digitally signing the hardware identifier according to a digital signature algorithm by using a private key corresponding to the public key. Specifically, when software and hardware are shipped from a factory, a manufacturer binds the software and a computing device on which the software is to be installed, and in the binding process, digitally signs an identifier of specified hardware of the computing device on which the software is to be installed and operated according to a digital signature algorithm by using a private key, thereby generating the digital certificate file.
In one embodiment, the data about the public key may be the public key itself. That is, the public key itself is directly solidified in the programmable device.
Further, the data about the public key may also be a public key ciphertext generated by encrypting the public key using a PUF key generated by a physically unclonable function PUF circuit solidified in the programmable device, which is described in detail above with reference to fig. 1, and therefore, will not be described herein again. Hereinafter, the verification step will be described in detail with reference to fig. 3 for the case where the data on the public key is the public key ciphertext.
Fig. 3 is a detailed flowchart illustrating the verification step for the case where data on a public key is the public key ciphertext according to an exemplary embodiment of the present application.
In step S301, a PUF circuit solidified in the programmable device may be activated to obtain a PUF key. In particular, since a PUF circuit is a circuit designed using some random differences generated by a programmable device during manufacturing, and different and unique outputs will be generated by the PUF circuit for the same input on different programmable devices, if the programmable device in a computing device or a programmable device that is combined with the computing device in a pluggable manner is exchanged or modified by an attacker, the PUF key obtained by the PUF circuit in the programmable device is obviously not normally used. Therefore, the security of the bound software and hardware can be further improved through the mode.
In step S302, the public key may be acquired by decrypting data regarding the public key, which is solidified in the programmable device, using the acquired PUF key.
In step S303, the acquired public key may be used to decrypt the digital certificate file of the software according to a digital signature algorithm to obtain a hardware identifier included therein, and then it is verified whether the acquired identifier of the designated hardware matches the hardware identifier included in the digital certificate file of the software.
Specifically, as is apparent from the above description with reference to fig. 2, the digital certificate file used herein is generated by the vendor digitally signing the hardware identifier of the designated hardware of the computing device on which the software is to be installed and run using the private key corresponding to the public key according to a digital signature algorithm, and therefore, the digital signature algorithm used in step S303 is the same as the digital signature algorithm used by the vendor, and the hardware identifier included in the digital certificate file can be obtained by the decryption process in step S303. On this basis, it can be verified whether the obtained hardware identification of the specified hardware matches the hardware identification decrypted from the digital certificate file.
Referring back to fig. 2, when the verification result is a match at step S202, the software is allowed to be installed and run on the current computing device at step S203. In other words, if the verification result is a match, it indicates that the specified hardware in the current computing device has not been swapped, i.e., the current computing device is the computing device bound to the software by the vendor. When the verification result is not matched at step S202, the software is not allowed to be installed and run on the current computing device at step S204.
The application also relates to a programmable device for binding software and hardware, wherein data related to a public key is solidified in the programmable device, wherein the data related to the public key is used for verifying whether a related hardware identifier of a computing device to be installed and run with specified software is matched with a hardware identifier contained in a digital certificate file of the specified software, and the digital certificate is obtained by digitally signing the related hardware identifier of the computing device bound with the software by using a private key corresponding to the public key. The programmable device may be any programmable device capable of solidifying data and programs and burning a logic circuit, for example, the programmable device may be any one of PAL, PLA, GAL, FPGA, CPLD, and the like, and details of the related contents are not described herein since they are described in detail above.
In addition, a verification program for performing the verification is also solidified in the programmable device.
In addition, a Physically Unclonable Function (PUF) circuit of the programmable device can be solidified in the programmable device, wherein the PUF circuit is used for generating a PUF key with uniqueness, and the data about the public key is a public key ciphertext obtained by encrypting the public key by using the PUF key.
Furthermore, the programmable device may be a fixed hardware component of the computing apparatus to be installed and run the specified software, or may be combined with the computing apparatus to be installed and run the specified software in a pluggable manner, and furthermore, the related hardware identifier of the computing apparatus may optionally include the identifier of the programmable device.
The programmable device may perform the operations performed by the programmable device described above with reference to fig. 1 to 3, and since the above description has been given in detail, the details are not repeated here.
According to the method and the device, data about the public key, a verification program for verifying the data signature and the like can be solidified in the programmable device, so that the safety of bound software and hardware is improved.
While exemplary embodiments of the invention have been described above, it should be understood that the above description is illustrative only and not exhaustive, and that the invention is not limited to the exemplary embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. Therefore, the protection scope of the present invention should be subject to the scope of the claims.
Claims (10)
1. A method of implementing software and hardware binding, the method comprising:
acquiring an identifier of appointed hardware of a computing device needing to be bound with software to be released;
generating a pair of public key and private key;
solidifying data about the public key in the programmable device;
generating a digital certificate file by digitally signing the identity of the designated hardware according to a digital signature algorithm using a private key, and issuing the digital certificate file with the software.
2. The method of claim 1, wherein the method further comprises:
and solidifying a verification program for verifying the digital signature in the programmable device.
3. The method of claim 1, wherein,
the data about the public key is the public key itself.
4. The method of claim 1, wherein the method further comprises:
solidifying a PUF circuit corresponding to a physical unclonable function PUF in the programmable device;
generating a PUF key having uniqueness in the programmable device using the PUF circuit;
and encrypting the public key by using the PUF secret key to obtain the data about the public key.
5. The method of any one of claims 1-4,
the programmable device is a fixed hardware component of the computing apparatus;
alternatively, the programmable device is removably coupled to the computing device.
6. The method of any one of claims 1-4,
the programmable device is any one of the following: programmable array logic PAL, programmable logic array PLA, general logic array GAL, programmable gate array FPGA and complex programmable device CPLD.
7. A software validation method, the software validation method comprising:
acquiring a digital certificate file of software and an identifier of specified hardware of a current computing device;
verifying whether the acquired identifier of the specified hardware is matched with the hardware identifier contained in the digital certificate file of the software through data about a public key solidified in a programmable device;
when the verification result is a match, the software is allowed to be installed and run on the computing device.
8. The software validation method of claim 7,
the verifying step is performed by a verification program that is solidified in the programmable device.
9. A software verification method as defined in claim 7, wherein the digital certificate file for the software is generated by digitally signing the hardware identification according to a digital signature algorithm with a private key corresponding to the public key.
10. A programmable device for software and hardware binding, wherein,
and solidifying data related to a public key in the programmable device, wherein the data related to the public key is used for verifying whether a related hardware identifier of a computing device to be installed and run with specified software is matched with a hardware identifier contained in a digital certificate file of the specified software, and the digital certificate is obtained by digitally signing the related hardware identifier of the computing device bound with the software by using a private key corresponding to the public key.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552097.7A CN113139162A (en) | 2019-06-11 | 2019-06-11 | Software verification method, software and hardware binding method and programmable device thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110552097.7A CN113139162A (en) | 2019-06-11 | 2019-06-11 | Software verification method, software and hardware binding method and programmable device thereof |
CN201910500991.2A CN110210189B (en) | 2019-06-11 | 2019-06-11 | Software verification method, software and hardware binding method and programmable device thereof |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910500991.2A Division CN110210189B (en) | 2019-06-11 | 2019-06-11 | Software verification method, software and hardware binding method and programmable device thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113139162A true CN113139162A (en) | 2021-07-20 |
Family
ID=67791981
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910500991.2A Active CN110210189B (en) | 2019-06-11 | 2019-06-11 | Software verification method, software and hardware binding method and programmable device thereof |
CN202110552097.7A Pending CN113139162A (en) | 2019-06-11 | 2019-06-11 | Software verification method, software and hardware binding method and programmable device thereof |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910500991.2A Active CN110210189B (en) | 2019-06-11 | 2019-06-11 | Software verification method, software and hardware binding method and programmable device thereof |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110210189B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259347A (en) * | 2020-01-19 | 2020-06-09 | 苏州浪潮智能科技有限公司 | Authorization method and device for judging machine uniqueness |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168657A1 (en) * | 2004-04-08 | 2007-07-19 | International Business Machines Corporation | Method and system for linking certificates to signed files |
CN103684786A (en) * | 2013-12-10 | 2014-03-26 | 北京天威诚信电子商务服务有限公司 | Method and system for storing digital certificate and binding digital certificate to hardware carrier |
CN105007285A (en) * | 2015-08-19 | 2015-10-28 | 南京万道电子技术有限公司 | Key protection method and safety chip based on physical no-cloning function |
CN107832589A (en) * | 2017-11-29 | 2018-03-23 | 苏州科达科技股份有限公司 | Software copyright protecting method and its system |
CN108885658A (en) * | 2016-03-30 | 2018-11-23 | 西门子股份公司 | By voucher to the proof of equipment authenticity |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916344B (en) * | 2010-08-31 | 2013-09-25 | 北京深思洛克软件技术股份有限公司 | Method and system for verifying legality of software protection device |
US20120124369A1 (en) * | 2010-11-09 | 2012-05-17 | Jose Castejon Amenedo | Secure publishing of public-key certificates |
CN102663325A (en) * | 2012-03-12 | 2012-09-12 | 苏州阔地网络科技有限公司 | A method and system for binding of software and hardware |
CN103995991B (en) * | 2014-05-07 | 2017-02-15 | 华中师范大学 | Method for binding hardware information and secret keys in software copyright protection |
CN104780445A (en) * | 2015-03-18 | 2015-07-15 | 福建新大陆通信科技股份有限公司 | Method and system for preventing set top box software from malicious upgrade |
CN109818745B (en) * | 2017-11-21 | 2022-04-01 | 佛山芯珠微电子有限公司 | Internet of things information security chip |
-
2019
- 2019-06-11 CN CN201910500991.2A patent/CN110210189B/en active Active
- 2019-06-11 CN CN202110552097.7A patent/CN113139162A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168657A1 (en) * | 2004-04-08 | 2007-07-19 | International Business Machines Corporation | Method and system for linking certificates to signed files |
CN103684786A (en) * | 2013-12-10 | 2014-03-26 | 北京天威诚信电子商务服务有限公司 | Method and system for storing digital certificate and binding digital certificate to hardware carrier |
CN105007285A (en) * | 2015-08-19 | 2015-10-28 | 南京万道电子技术有限公司 | Key protection method and safety chip based on physical no-cloning function |
CN108885658A (en) * | 2016-03-30 | 2018-11-23 | 西门子股份公司 | By voucher to the proof of equipment authenticity |
CN107832589A (en) * | 2017-11-29 | 2018-03-23 | 苏州科达科技股份有限公司 | Software copyright protecting method and its system |
Also Published As
Publication number | Publication date |
---|---|
CN110210189A (en) | 2019-09-06 |
CN110210189B (en) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107743067B (en) | Method, system, terminal and storage medium for issuing digital certificate | |
EP2659373B1 (en) | System and method for secure software update | |
JP4638912B2 (en) | Method for transmitting a direct proof private key in a signed group to a device using a distribution CD | |
EP3001598B1 (en) | Method and system for backing up private key in electronic signature token | |
CN112514321A (en) | Shared secret establishment | |
CN103988464A (en) | System and method for key management for issuer security domain using global platform specifications | |
CN108595198B (en) | Safe firmware updating method | |
US20240179005A1 (en) | Advanced crypto token authentication | |
JP2010514000A (en) | Method for securely storing program state data in an electronic device | |
CN104992082B (en) | Software authorization method, device and electronic equipment | |
CN110414248B (en) | Method for debugging microprocessor and microprocessor | |
CN112241527B (en) | Secret key generation method and system of terminal equipment of Internet of things and electronic equipment | |
US20130173923A1 (en) | Method and system for digital content security cooperation | |
CN115374405A (en) | Software authorization method, license authorization method, device, equipment and storage medium | |
CN102270285B (en) | Key authorization information management method and device | |
CN112528236A (en) | Application software authorization method based on virtual machine | |
CN110210189B (en) | Software verification method, software and hardware binding method and programmable device thereof | |
WO2018033017A1 (en) | Terminal state conversion method and system for credit granting | |
JP2009251977A (en) | Software installation system | |
CN105873043B (en) | Method and system for generating and applying network private key for mobile terminal | |
CN103281188A (en) | Method and system for backing up private key in electronic signature token | |
KR101711024B1 (en) | Method for accessing temper-proof device and apparatus enabling of the method | |
CN1987716A (en) | System and method for enciphering and protecting software using right | |
CN107070648B (en) | Key protection method and PKI system | |
CN114726539B (en) | Trusted Cryptography Module (TCM) -based offline upgrading method |
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 |