CN110210189A - 软件验证方法、软硬件绑定方法及其可编程器件 - Google Patents

软件验证方法、软硬件绑定方法及其可编程器件 Download PDF

Info

Publication number
CN110210189A
CN110210189A CN201910500991.2A CN201910500991A CN110210189A CN 110210189 A CN110210189 A CN 110210189A CN 201910500991 A CN201910500991 A CN 201910500991A CN 110210189 A CN110210189 A CN 110210189A
Authority
CN
China
Prior art keywords
software
hardware
public key
programming device
computing device
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.)
Granted
Application number
CN201910500991.2A
Other languages
English (en)
Other versions
CN110210189B (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.)
4Paradigm Beijing Technology Co Ltd
Original Assignee
4Paradigm Beijing Technology 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 4Paradigm Beijing Technology Co Ltd filed Critical 4Paradigm Beijing Technology Co Ltd
Priority to CN201910500991.2A priority Critical patent/CN110210189B/zh
Priority to CN202110552097.7A priority patent/CN113139162A/zh
Publication of CN110210189A publication Critical patent/CN110210189A/zh
Application granted granted Critical
Publication of CN110210189B publication Critical patent/CN110210189B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/73Protecting 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

提供了一种软件验证方法、软硬件绑定方法及其可编程器件。所述软硬件绑定方法包括:获取需要与待发布软件绑定的计算装置的指定硬件的标识;生成一对公钥和私钥;将关于公钥的数据固化在可编程器件中;通过使用私钥依据数字签名算法对所述指定硬件的标识进行数字签名来生成数字证书文件,并将所述数字证书文件与所述软件一起发布。

Description

软件验证方法、软硬件绑定方法及其可编程器件
技术领域
本申请总体说来涉及计算装置的软硬件保护的技术领域,更具体地讲,涉及软硬件绑定方法、软件验证方法及其可编程器件。
背景技术
目前,软硬件厂商利用各种措施来保护自身开发的软件和硬件的知识产权。然而,由于目前的软件可以在不同厂商所开发的设备上运行,基于软件加密的方法很容易被破解,并且在破解之后容易被大量复制,进而给厂商带来巨大的经济损失。
因此,现在越来越多的厂商将软件与硬件一起绑定出售,即,将硬件设备和相应的软件绑定在一起,达到配套软件只能在其对应的硬件平台上运行,然而现有的软硬件绑定验证方法,均由运行软件的主机在本地的CPU上执行,例如数字签名算法的验证公钥必须存储在本机上,然而,正是由于验证公钥等数据存储在本机的存储器中,因此存在验证密钥被读取或者密钥生成算法被破解的可能,进而现有的基于非对称密钥加密的软硬件绑定验证方法就会存在被破解的可能,或者,在未来算力大幅提高的情况下,现有的软硬件绑定验证方法也会存在被破解的可能。
发明内容
本发明的示例性实施例在于提供一种软件验证方法、软硬件绑定方法及其可编程器件,以至少解决现有技术存在的上述问题。
根据本发明的示例性实施例,提供一种实现软硬件绑定的方法,所述方法可包括:获取需要与待发布软件绑定的计算装置的指定硬件的标识;生成一对公钥和私钥;将关于公钥的数据固化在可编程器件中;通过使用私钥依据数字签名算法对所述指定硬件的标识进行数字签名来生成数字证书文件,并将所述数字证书文件与所述软件一起发布。
可选地,所述方法还可包括:将验证数字签名的验证程序固化在所述可编程器件中。
可选地,关于公钥的数据可以是所述公钥本身。
可选地,所述方法还可包括:在所述可编程器件中固化其物理不可克隆函数PUF对应的PUF电路;使用所述PUF电路在所述可编程器件中生成具有唯一性的PUF密钥;利用PUF密钥对所述公钥进行加密,得到所述的关于公钥的数据。
可选地,所述可编程器件可以是所述计算装置的固定的硬件组成部分;或者,所述可编程器件可以以可插拔的方式与所述计算装置结合。
可选地,所述可编程器件可以是如下中任一种:PAL、PLA、GAL、FPGA和CPLD。
根据本发明的示例性实施例,提供一种软件验证方法,所述软件验证方法可包括:获取软件的数字证书文件以及当前计算装置的指定硬件的标识;通过固化在可编程器件中的关于公钥的数据,验证所述获取的指定硬件的标识是否与所述软件的数字证书文件中包含的硬件标识匹配;当验证结果为匹配时,允许在所述计算装置上安装和运行所述软件。
可选地,可由固化在所述可编程器件中的验证程序执行所述的验证步骤。
可选地,所述软件的数字证书文件可以是通过利用与所述公钥对应的私钥对硬件标识依据数字签名算法进行数字签名而生成的。
可选地,关于公钥的数据可以是所述公钥本身。
可选地,关于公钥的数据可以是通过使用在所述可编程器件中固化的物理不可克隆函数PUF电路所产生的PUF密钥对所述公钥进行加密而生成的公钥密文。
可选地,所述验证的步骤可包括:激活固化在所述可编程器件中的PUF电路来获取PUF密钥;通过使用获取的PUF密钥对固化在所述可编程器件中的关于公钥的数据进行解密来获取所述公钥;通过使用获取的所述公钥依据数字签名算法对所述软件的数字证书文件进行解密得到其中包含的硬件标识,进而验证所述获取的指定硬件的标识是否与所述软件的数字证书文件中包含的硬件标识匹配。
可选地,所述可编程器件可以是如下中任一种:可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、通用逻辑阵列(GAL)、可编程门阵列(FPGA)和复杂可编程器件(CPLD)。
可选地,所述可编程器件可以是所述计算装置的固定的硬件组成部分,或者,所述可编程器件可以以可插拔的方式与所述计算装置结合。
根据本发明的示例性实施例,提供一种用于软硬件绑定的可编程器件,其中,所述可编程器件中可固化有关于公钥的数据,其中,所述关于公钥的数据可用于验证待安装和运行指定软件的计算装置的相关硬件标识是否与所述指定软件的数字证书文件中包含的硬件标识匹配,其中,所述数字证书可以是使用与所述公钥对应的私钥对与所述软件绑定的计算装置的相关硬件标识进行数字签名获得的。
可选地,所述可编程器件中还可固化有执行所述验证的验证程序。
可选地,所述可编程器件中还可固化有可编程器件的物理不可克隆函数PUF电路,其中,所述PUF电路可用于生成具有唯一性的PUF密钥,所述关于公钥的数据可以是用所述PUF密钥对公钥进行加密获得的公钥密文。
可选地,所述可编程器件可以是待安装和运行指定软件的计算装置的固定的硬件组成部分;或者,所述可编程器件可通过可插拔的方式与待安装和运行指定软件的计算装置结合。
所述可编程器件可以是如下中任一种:可编程阵列逻辑PAL、可编程逻辑阵列PLA、通用逻辑阵列GAL、可编程门阵列FPGA和复杂可编程器件CPLD。
根据本申请的示例性实施例的软件验证方法、软硬件绑定方法及其可编程器件,可以将关于公钥的数据、验证数据签名的验证程序等固化在可编程器件中,进而提高了绑定后的软硬件的安全性。
将在接下来的描述中部分阐述本发明总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明总体构思的实施而得知。
附图说明
从下面结合附图对本申请实施例的详细描述中,本申请的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:
图1是示出根据本申请示例性实施例的用于实现软硬件绑定的方法的流程图;
图2是示出根据本申请示例性实施例的软件验证方法的流程图;
图3是示出根据本申请示例性实施例的具体验证步骤的详细流程图。
具体实施方式
现在将详细参照本发明的实施例,所述实施例的示例在附图中示出。以下将通过参照附图来说明所述实施例,以便解释本发明。
这里,为了便于更好的理解本申请,首先对本发明的总体构思进行说明,本发明在软件和计算装置出厂时实现软硬件绑定,即,利用私钥对需要与待发布软件绑定的计算装置中的指定硬件的标识进行数字签名来得到数字证书文件,然后将关于与该私钥对应的公钥的数据固化在可编程器件中,此后,厂商将软件与该数字证书文件一起发布,其中,所述可编程器件可以是计算装置的硬件组成部分或者可以以可插拔的方式与所述计算装置结合。当将该软件安装在当前计算装置上时,本申请的技术方案获取该软件的数字证书文件以及当前计算装置的指定硬件的标识,然后利用固化在可编程器件中的关于公钥的数据对数字证书文件进行解密,此后将数字证书文件中包含的硬件标识与获取的当前计算装置的指定硬件的标识进行验证,如果验证成功,则说明当前计算装置是由厂商绑定于所述软件的计算装置,从而允许在当前计算装置上安装和运行所述软件。下面,首先参照图1描述在软硬件出厂时对软硬件进行绑定的方法。
图1是示出根据本申请示例性实施例的用于实现软硬件绑定的方法的流程图。
在步骤S101,获取需要与待发布软件绑定的计算装置的指定硬件的标识。
具体地讲,计算装置可以是任何能够安装待发布软件的计算装置,例如,台式计算机、膝上型计算机、上网本、自动柜员机、智能电话等。计算装置可包括各种硬件组件,例如,CPU、硬盘、内存、显卡等等,并且这些硬件均具有唯一的硬件标识。然而,所述方法不对被获取标识的计算装置的硬件组件进行具体的限定,换句话说,所述方法可获取计算装置的所有硬件中的任意一部分指定硬件的标识,例如,可获取计算装置的CPU、硬盘和内存的标识,或者可获取计算装置的CPU、内存和显卡的标识。
在步骤S102,生成一对公钥和私钥。
具体地讲,可采用任何已知的密钥生成算法来生成一对公钥和私钥,例如,可以采用RSA算法、Elgamal算法、背包算法、Rabin算法、D-H算法等。其中,生成的私钥将由软件厂商妥善保管,不得公开。
在步骤S103,将关于公钥的数据固化在可编程器件中。具体地讲,在本申请中,所使用的可编程器件可以是任何能够固化数据和烧录逻辑电路的可编程器件,例如,可编程器件可以是可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、通用逻辑阵列(GAL)、可编程门阵列(FPGA)和复杂可编程器件(CPLD)等中的任一种。由于可编程器件的特性,固化在可编程器件中的关于公钥的数据是无法被攻击者通过任何手段读取,保证了公钥的安全性,从而使得攻击者无法通过获取公钥来破解软件件绑定方法。
在一个实施例中,关于公钥的数据可以是在步骤S102中利用密钥生成算法生成的公钥本身。也就是说,所述方法可将公钥本身直接固化在可编程器件中。
可选地,关于公钥的数据可以是通过利用加密密钥对在步骤S102中生成的公钥进行加密而得到的加密后的公钥。具体地讲,利用可编程器件的物理不可克隆函数(PUF)电路产生的密钥作为所述加密密钥。PUF是指对于任意一个可编程器件,由于制造工艺局限性的影响,在加工生产过程中必然会产生一些由于不可控的随机物理变化而导致的随机差异,从而造成每个可编程器件在结构和特性上都会有所区别,具有不可预测的特点,而PUF电路就是利用这种不可预测的特点而设计的一种电路,换句话说,在不同的可编程器件上,PUF电路对于相同的输入将产生不同且唯一的输出,进而使得由PUF电路产生的密钥具有唯一性、不可预测性以及不可复制性。因此,可以进一步提高公钥的安全性。
具体地讲,首先,所述方法在可编程器件中固化其PUF对应的PUF电路,然后,使用PUF电路在可编程器件中生成具有唯一性的PUF密钥,再利用PUF密钥对公钥进行加密,进而得到所述关于公钥的数据(即加密后的公钥)。
所述可编程器件是所述计算装置的固定的硬件组成部分,或者,所述可编程器件以可插拔的方式与所述计算装置结合。
在步骤S104,通过使用私钥依据数字签名算法对计算装置的所述指定硬件的标识进行数字签名来生成数字证书文件,并将所述数字证书文件与所述软件一起发布。其中,所使用的数字签名算法可以是任何能够实现数字签名的数字签名算法,例如,RSA签名算法、Schnorr签名算法、椭圆曲线数字签名书算法等。
此外,所述方法还包括将验证数字签名的验证程序固化在可编程器件中,使得验证程序同样无法被攻击者盗取。因此,通过以上过程,最终将关于公钥的数据、PUF电路以及验证数据签名的验证程序固化在可编程器件中,进而提高了绑定后的软硬件的安全性。
至此,通过以上描述的步骤S101至S104就实现了软硬件绑定的过程,在以上描述中,按照步骤S101、S102、S103和S104的顺序描述了实现软硬件绑定的方法,但是所述方法不受上述顺序的限制,然而可以实现与所述方法相同的功能的步骤顺序都包括在本申请的范围内。下面,将描述如何在软件的安装或运行时对软硬件进行验证的过程。而以下认证过程的主要过程是将与软件一起发布的数字证书文件与当前计算装置的指定硬件的标识进行验证,如果数字证书文件中包括的硬件标识与当前计算装置的指定硬件的标识相匹配,则证明当前计算装置是由厂商在软硬件出厂时与该软件绑定的计算装置。下面将参照图2和图3对此进行详细描述。
图2是示出根据本申请示例性实施例的软件验证方法的流程图。
在步骤S201,获取软件的数字证书文件以及当前计算装置的指定硬件的标识。具体地讲,由于软件与其数字证书文件一起发布,因此,当软件使用者在安装或运行软件时可以一同获得该软件的数字证书文件,并且可以在安装或运行过程中获取当前计算装置的指定硬件的标识,由于以上已对计算装置以及指定硬件进行了详细描述,因此,此处不再对此进行赘述。
在步骤S202,通过固化在可编程器件中的关于公钥的数据,验证所述获取的指定硬件的标识是否与所述软件的数字证书文件中包含的硬件标识匹配。即,将获取的数字证书文件以及当前计算装置的指定硬件的标识输入到可编程器件进行验证。在本申请中,所使用的可编程器件可以是任何能够固化数据和程序并能够烧录逻辑电路的可编程器件,例如,所述可编程器件可以是PAL、PLA、GAL、FPGA和CPLD等中的任意一种。此外,所述可编程器件可以是所述计算装置的固定的硬件组成部分,或者,所述可编程器件可以以可插拔的方式与所述计算装置结合。此外,所述验证步骤可由固化在所述可编程器件中的验证程序来执行。
其中,所述软件的数字证书文件是通过利用与所述公钥对应的私钥对硬件标识依据数字签名算法进行数字签名而生成的。具体地讲,在软硬件出厂时,厂商针对软件以及待安装该软件的计算装置进行绑定,在该绑定过程中,利用私钥依据数字签名算法对待安装和运行该软件的计算装置的指定硬件的标识进行数字签名,进而生成所述数字证书文件。
在一个实施例中,关于公钥的数据可以是公钥本身。也就是说,公钥本身被直接固化在可编程器件中。
进一步地,关于公钥的数据还可以是通过使用在所述可编程器件中固化的物理不可克隆函数PUF电路所产生的PUF密钥对所述公钥进行加密而生成的公钥密文,由于以上已参照图1对此进行了详细描述,因此,这里不再进行赘述。下面,将参照图3针对关于公钥的数据是所述公钥密文的情况详细地描述所述验证步骤。
图3是示出根据本申请示例性实施例的针对关于公钥的数据是所述公钥密文的情况的所述验证步骤的详细流程图。
在步骤S301,可激活固化在所述可编程器件中的PUF电路来获取PUF密钥。具体地讲,由于PUF电路是利用可编程器件在加工生产过程中产生的一些随机差异而设计的一种电路,在不同的可编程器件上,PUF电路对于相同的输入将产生不同且唯一的输出,因此,如果计算装置中的可编程器件或者通过可插拔方式与计算装置结合的可编程器件被攻击者调换或修改,则通过该可编程器件中的PUF电路获取的PUF密钥显然是无法正常使用的。因此,本申请通过这样的方式可以进一步提高软硬件绑定后的安全性。
在步骤S302,可通过使用获取的PUF密钥对固化在所述可编程器件中的关于公钥的数据进行解密来获取所述公钥。
在步骤S303,可通过使用获取的所述公钥依据数字签名算法对所述软件的数字证书文件进行解密得到其中包含的硬件标识,进而验证所述获取的指定硬件的标识是否与所述软件的数字证书文件中包含的硬件标识匹配。
具体地讲,通过以上参照图2描述的内容可知,这里使用的数字证书文件是由厂商利用与所述公钥对应的私钥对待安装和运行该软件的计算装置的指定硬件的硬件标识依据数字签名算法进行数字签名而生成的,因此,步骤S303中所使用的数字签名算法与厂商所使用的数字签名算法相同,并且通过步骤S303中的解密过程可以得到数字证书文件中包含的硬件标识。在此基础上,可以验证获得的指定硬件的硬件标识是否与从数字证书文件中解密出的硬件标识匹配。
返回参照图2,当在步骤S202验证结果为匹配时,在步骤S203,允许在当前计算装置上安装和运行所述软件。换句话说,如果验证结果为匹配,则说明当前计算装置中的指定硬件没有被调换过,即,当前计算装置就是由厂商绑定于该软件的计算装置。当在步骤S202验证结果为不匹配时,在步骤S204,不允许在当前计算装置上安装和运行所述软件。
此外,本申请还涉及一种用于软硬件绑定的可编程器件,所述可编程器件中固化有关于公钥的数据,其中,所述关于公钥的数据用于验证待安装和运行指定软件的计算装置的相关硬件标识是否与所述指定软件的数字证书文件中包含的硬件标识匹配,其中,所述数字证书是使用与所述公钥对应的私钥对与所述软件绑定的计算装置的相关硬件标识进行数字签名获得的。所述可编程器件可以是任何能够固化数据和程序并能够烧录逻辑电路的可编程器件,例如,所述可编程器件可以是PAL、PLA、GAL、FPGA和CPLD等中的任意一种,由于以上已对此相关的内容进行了详细的描述,因此此处不再赘述。
此外,所述可编程器件中还固化有执行所述验证的验证程序。
此外,所述可编程器件中还可以固化有所述可编程器件的物理不可克隆函数PUF电路,其中,所述PUF电路用于生成具有唯一性的PUF密钥,所述关于公钥的数据是用所述PUF密钥对公钥进行加密获得的公钥密文。
此外,所述可编程器件可以是待安装和运行指定软件的计算装置的固定的硬件组成部分,或者也可以通过可插拔的方式与待安装和运行指定软件的计算装置结合,此外,所述计算装置的相关硬件标识可选择性地包括所述可编程器件的标识。
所述可编程器件可运行以上参照图1至图3描述的由可编程器件运行的操作,由于以上已对此进行了详细描述,因此此处不再进行赘述。
由于本申请可以将关于公钥的数据、验证数据签名的验证程序等固化在可编程器件中,进而提高了绑定后的软硬件的安全性。
以上描述了本发明的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本发明不限于所披露的各示例性实施例。在不偏离本发明的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的范围为准。

Claims (10)

1.一种实现软硬件绑定的方法,所述方法包括:
获取需要与待发布软件绑定的计算装置的指定硬件的标识;
生成一对公钥和私钥;
将关于公钥的数据固化在可编程器件中;
通过使用私钥依据数字签名算法对所述指定硬件的标识进行数字签名来生成数字证书文件,并将所述数字证书文件与所述软件一起发布。
2.如权利要求1所述的方法,其中,所述方法还包括:
将验证数字签名的验证程序固化在所述可编程器件中。
3.如权利要求1所述的方法,其中,
关于公钥的数据是所述公钥本身。
4.如权利要求1所述的方法,其中,所述方法还包括:
在所述可编程器件中固化其物理不可克隆函数PUF对应的PUF电路;
使用所述PUF电路在所述可编程器件中生成具有唯一性的PUF密钥;
利用PUF密钥对所述公钥进行加密,得到所述的关于公钥的数据。
5.如权利要求1-4中任一项所述的方法,其中,
所述可编程器件是所述计算装置的固定的硬件组成部分;
或者,所述可编程器件以可插拔的方式与所述计算装置结合。
6.如权利要求1-4中任一项所述的方法,其中,
所述可编程器件为如下中任一种:可编程阵列逻辑PAL、可编程逻辑阵列PLA、通用逻辑阵列GAL、可编程门阵列FPGA和复杂可编程器件CPLD。
7.一种软件验证方法,所述软件验证方法包括:
获取软件的数字证书文件以及当前计算装置的指定硬件的标识;
通过固化在可编程器件中的关于公钥的数据,验证所述获取的指定硬件的标识是否与所述软件的数字证书文件中包含的硬件标识匹配;
当验证结果为匹配时,允许在所述计算装置上安装和运行所述软件。
8.如权利要求7所述的软件验证方法,其中,
由固化在所述可编程器件中的验证程序执行所述的验证步骤。
9.如权利要求7所述的软件验证方法,其中,所述软件的数字证书文件是通过利用与所述公钥对应的私钥对硬件标识依据数字签名算法进行数字签名而生成的。
10.一种用于软硬件绑定的可编程器件,其中,
所述可编程器件中固化有关于公钥的数据,其中,所述关于公钥的数据用于验证待安装和运行指定软件的计算装置的相关硬件标识是否与所述指定软件的数字证书文件中包含的硬件标识匹配,其中,所述数字证书是使用与所述公钥对应的私钥对与所述软件绑定的计算装置的相关硬件标识进行数字签名获得的。
CN201910500991.2A 2019-06-11 2019-06-11 软件验证方法、软硬件绑定方法及其可编程器件 Active CN110210189B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910500991.2A CN110210189B (zh) 2019-06-11 2019-06-11 软件验证方法、软硬件绑定方法及其可编程器件
CN202110552097.7A CN113139162A (zh) 2019-06-11 2019-06-11 软件验证方法、软硬件绑定方法及其可编程器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910500991.2A CN110210189B (zh) 2019-06-11 2019-06-11 软件验证方法、软硬件绑定方法及其可编程器件

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110552097.7A Division CN113139162A (zh) 2019-06-11 2019-06-11 软件验证方法、软硬件绑定方法及其可编程器件

Publications (2)

Publication Number Publication Date
CN110210189A true CN110210189A (zh) 2019-09-06
CN110210189B CN110210189B (zh) 2021-06-04

Family

ID=67791981

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110552097.7A Pending CN113139162A (zh) 2019-06-11 2019-06-11 软件验证方法、软硬件绑定方法及其可编程器件
CN201910500991.2A Active CN110210189B (zh) 2019-06-11 2019-06-11 软件验证方法、软硬件绑定方法及其可编程器件

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110552097.7A Pending CN113139162A (zh) 2019-06-11 2019-06-11 软件验证方法、软硬件绑定方法及其可编程器件

Country Status (1)

Country Link
CN (2) CN113139162A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259347A (zh) * 2020-01-19 2020-06-09 苏州浪潮智能科技有限公司 一种判断机器唯一性的授权方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916344A (zh) * 2010-08-31 2010-12-15 北京深思洛克软件技术股份有限公司 一种验证软件保护装置合法性的方法及系统
US20120124369A1 (en) * 2010-11-09 2012-05-17 Jose Castejon Amenedo Secure publishing of public-key certificates
CN102663325A (zh) * 2012-03-12 2012-09-12 苏州阔地网络科技有限公司 一种软件绑定硬件的方法及系统
CN103995991A (zh) * 2014-05-07 2014-08-20 华中师范大学 一种软件版权保护中绑定硬件信息与密钥的方法
CN104780445A (zh) * 2015-03-18 2015-07-15 福建新大陆通信科技股份有限公司 一种机顶盒软件防恶意升级的方法及系统
CN105007285A (zh) * 2015-08-19 2015-10-28 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片
CN109818745A (zh) * 2017-11-21 2019-05-28 佛山芯珠微电子有限公司 物联网信息安全芯片

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2561335C (en) * 2004-04-08 2013-03-19 International Business Machines Corporation Method and system for linking certificates to signed files
CN103684786A (zh) * 2013-12-10 2014-03-26 北京天威诚信电子商务服务有限公司 数字证书的存储与硬件载体绑定的方法及系统
DE102016205198A1 (de) * 2016-03-30 2017-10-05 Siemens Aktiengesellschaft Nachweisen einer Authentizität eines Gerätes mithilfe eines Berechtigungsnachweises
CN107832589B (zh) * 2017-11-29 2020-05-12 苏州科达科技股份有限公司 软件版权保护方法及其系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916344A (zh) * 2010-08-31 2010-12-15 北京深思洛克软件技术股份有限公司 一种验证软件保护装置合法性的方法及系统
US20120124369A1 (en) * 2010-11-09 2012-05-17 Jose Castejon Amenedo Secure publishing of public-key certificates
CN102663325A (zh) * 2012-03-12 2012-09-12 苏州阔地网络科技有限公司 一种软件绑定硬件的方法及系统
CN103995991A (zh) * 2014-05-07 2014-08-20 华中师范大学 一种软件版权保护中绑定硬件信息与密钥的方法
CN104780445A (zh) * 2015-03-18 2015-07-15 福建新大陆通信科技股份有限公司 一种机顶盒软件防恶意升级的方法及系统
CN105007285A (zh) * 2015-08-19 2015-10-28 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片
CN109818745A (zh) * 2017-11-21 2019-05-28 佛山芯珠微电子有限公司 物联网信息安全芯片

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李雄伟等: "《安全集成电路与系统》", 30 April 2019 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259347A (zh) * 2020-01-19 2020-06-09 苏州浪潮智能科技有限公司 一种判断机器唯一性的授权方法及装置

Also Published As

Publication number Publication date
CN110210189B (zh) 2021-06-04
CN113139162A (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
CN109313690B (zh) 自包含的加密引导策略验证
EP2965254B1 (en) Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
US10395012B2 (en) Media client device authentication using hardware root of trust
CN103210396B (zh) 包括用于保护敏感代码和数据的架构的方法和装置
US8171306B2 (en) Universal secure token for obfuscation and tamper resistance
KR101010040B1 (ko) 파일의 암호화·복호화 방법, 장치, 프로그램 및 이프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US10797868B2 (en) Shared secret establishment
JP5097130B2 (ja) 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
US20090276829A1 (en) System for copying protected data from one secured storage device to another via a third party
US20090276474A1 (en) Method for copying protected data from one secured storage device to another via a third party
CN105468940B (zh) 软件保护方法及装置
US20180204004A1 (en) Authentication method and apparatus for reinforced software
CN102289632A (zh) 一种在软件源代码未知情况下对可执行文件进行加密方法
CN113434853A (zh) 一种将固件烧录至存储设备的方法及控制器
CN107911221B (zh) 固态盘数据安全存储的密钥管理方法
JPH1131105A (ja) データカプセル生成装置および方法
CN102270285B (zh) 密钥授权信息管理方法及装置
CN109728912A (zh) 播放内容安全传输方法、系统以及终端
CN100437422C (zh) 软件使用权加密保护的系统和方法
CN110210189A (zh) 软件验证方法、软硬件绑定方法及其可编程器件
CN105022651B (zh) 一种设备生产过程中的防盗版方法及固件烧写装置
CN107070648A (zh) 一种密钥保护方法及pki系统
KR101054075B1 (ko) 보호키 사용 제한 방법 및 장치
CN113508380A (zh) 用于终端实体认证的方法
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及系统

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
GR01 Patent grant
GR01 Patent grant