电子产品的防抄板加密方法及装置
技术领域
本发明涉及加密技术领域,由于涉及一种电子产品的防抄板加密方法及装置。
背景技术
随着目前国内各种嵌入式电子产品,如机顶盒、平板电脑、车载导航、网络摄像机、无线路由、行车记录仪等电子产品研发生产的迅速发展,通过抄板技术对原厂的电子产品进行复制拷贝的行为日益增多,上述行为不仅对原厂造成巨大的经济损失,还对原厂的知识产权造成严重侵害。
电子产品的核心构成主要包括电路板和系统程序两部分。对应地,抄板行为也主要包括电路板的复制和系统程序的盗取。为了抵制他人的抄板行为,保护原厂的知识产权,现有技术提供了多种防抄板方式,用来防止电子产品内系统程序的盗取。例如,在电子产品内设置存储有相同数据的MCU(MicroControlUnit,微控制单元)和存储器,电子产品启动时,首先比对MCU内存储的数据和存储器内存储的数据是否一致,若比对一致,则电子产品正常运行,否则电子产品自动关机。当他人拷贝该电子产品中的程序时,若只拷贝了MCU中的程序而没有拷贝存储器内的数据,或者MCU和存储器中的数据拷贝出现失误,则会导致复制出来的电子产品启动时数据比对失败,从而导致电子产品抄板失败。
然而,通过现有技术中的方法防抄板时,具有防抄方法简单、破解可能性较高、保密性较低的问题,他人很有可能将防抄板方法破解掉,从而导致防抄板失败,他人抄板成功。
发明内容
有鉴于此,本发明提供了电子产品的防抄板加密方法及装置,具有防抄过程复杂、破解困难的优点,具有较高的保密性,能够达到较好的防抄板效果。
第一方面,本发明实施例提供了电子产品的防抄板加密方法,所述方法包括:
为电子产品配置加密芯片,所述加密芯片内和所述电子产品的MCU内分别存储有加密验证算法;
根据所述电子产品的标识符生成加密数据;其中,所述电子产品的标识符包括所述MCU的物理ID码;
将所述加密数据分别存储在所述电子产品的MCU内以及所述电子产品的存储器内;
当所述电子产品运行时,根据所述MCU内存储的加密数据、所述存储器内存储的加密数据以及所述加密验证算法,对所述电子产品进行逐层验证;
若所述逐层验证均成功,则允许所述电子产品正常运行;否则,停止运行所述电子产品。
结合第一方面,本发明实施例提供了第一方面第一种可能的实施方式,其中,所述根据所述电子产品的标识符生成加密数据,包括:
对所述MCU的物理ID码进行标准化处理,生成ID散列值;
利用非对称加密算法对所述ID散列值进行加密处理,生成加密数据。
结合第一方面,本发明实施例提供了第一方面第二种可能的实施方式,其中,所述根据所述MCU内存储的加密数据、所述存储器内存储的加密数据以及所述加密验证算法,对所述电子产品进行逐层验证,包括:
比对所述MCU内存储的加密数据与所述存储器内存储的加密数据是否一致;
若所述比对一致,则利用所述MCU内存储的加密数据、所述存储器内存储的加密数据检测所述加密验证算法;
若检测所述加密验证算法成功,则利用所述MCU内存储的加密数据、所述存储器内存储的加密数据以及所述加密验证算法,对所述电子产品的标识符进行验证;
若验证所述电子产品的标识符成功,则确定逐层验证均成功。
结合第一方面第二种可能的实施方式,本发明实施例提供了第一方面第三种可能的实施方式,其中,所述利用所述MCU内存储的加密数据、所述存储器内存储的加密数据检测所述加密验证算法,包括:
利用所述MCU内存储的加密验证算法以及所述加密芯片内存储的加密验证算法,对所述MCU内存储的加密数据或者所述存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据;
将所述处理过的数据与所述MCU内存储的加密数据,或者与所述存储器内存储的加密数据进行比对,若比对成功,则确定检测所述加密验证算法成功,否则,确定检测所述加密验证算法失败。
结合第一方面第二种可能的实施方式,本发明实施例提供了第一方面第四种可能的实施方式,其中,所述利用所述MCU内存储的加密数据、所述存储器内存储的加密数据以及所述加密验证算法,对所述电子产品的标识符进行验证,包括:
利用所述MCU内存储的加密验证算法以及所述加密芯片内存储的加密验证算法,对所述MCU内存储的加密数据或者所述存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据;
利用所述MCU内存储的公钥或者所述存储器内存储的公钥,分别对所述MCU内存储的加密数据、所述存储器内存储的加密数据、以及所述处理过的数据中的一种或多种进行解密,得到至少一种原始数据;
将所述至少一种原始数据分别与所述电子产品的标识符进行比对,若比对成功,则确定验证所述电子产品的标识符成功,否则,确定验证所述电子产品的标识符失败。
第二方面,本发明实施例提供了电子产品的防抄板加密装置,所述装置包括:
配置模块,用于为电子产品配置加密芯片,所述加密芯片内和所述电子产品的MCU内分别存储有加密验证算法;
生成模块,用于根据所述电子产品的标识符生成加密数据;其中,所述电子产品的标识符包括所述MCU的物理ID码;
存储模块,用于将所述加密数据分别存储在所述电子产品的MCU内以及所述电子产品的存储器内;
逐层验证模块,用于当所述电子产品运行时,根据所述MCU内存储的加密数据、所述存储器内存储的加密数据以及所述加密验证算法,对所述电子产品进行逐层验证;
控制模块,用于若所述逐层验证均成功,则允许所述电子产品正常运行;否则,停止运行所述电子产品。
结合第二方面,本发明实施例提供了第二方面第一种可能的实施方式,其中,所述生成模块包括:
ID散列值生成单元,用于对所述MCU的物理ID码进行标准化处理,生成ID散列值;
加密数据生成单元,用于利用非对称加密算法对所述ID散列值进行加密处理,生成加密数据。
结合第二方面,本发明实施例提供了第二方面第二种可能的实施方式,其中,所述逐层验证模块包括:
比对单元,用于比对所述MCU内存储的加密数据与所述存储器内存储的加密数据是否一致;
检测单元,用于若所述比对一致,则利用所述MCU内存储的加密数据、所述存储器内存储的加密数据检测所述加密验证算法;
验证单元,用于若检测所述加密验证算法成功,则利用所述MCU内存储的加密数据、所述存储器内存储的加密数据以及所述加密验证算法,对所述电子产品的标识符进行验证;
确定单元,用于若验证所述电子产品的标识符成功,则确定逐层验证均成功。
结合第二方面第二种可能的实施方式,本发明实施例提供了第二方面第三种可能的实施方式,其中,所述检测单元包括:
第一检测子单元,用于利用所述MCU内存储的加密验证算法以及所述加密芯片内存储的加密验证算法,对所述MCU内存储的加密数据或者所述存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据;
第二检测子单元,用于将所述处理过的数据与所述MCU内存储的加密数据,或者与所述存储器内存储的加密数据进行比对,若比对成功,则确定检测所述加密验证算法成功,否则,确定检测所述加密验证算法失败。
结合第二方面第二种可能的实施方式,本发明实施例提供了第二方面第四种可能的实施方式,其中,所述验证单元包括:
第一验证子单元,用于利用所述MCU内存储的加密验证算法以及所述加密芯片内存储的加密验证算法,对所述MCU内存储的加密数据或者所述存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据;
第二验证子单元,用于利用所述MCU内存储的公钥或者所述存储器内存储的公钥,分别对所述MCU内存储的加密数据、所述存储器内存储的加密数据、以及所述处理过的数据中的一种或多种进行解密,得到至少一种原始数据;
第三验证子单元,用于将所述至少一种原始数据分别与所述电子产品的标识符进行比对,若比对成功,则确定验证所述电子产品的标识符成功,否则,确定验证所述电子产品的标识符失败。
本发明实施例中,加密数据是根据电子产品的标识符生成的,电子产品的标识符是表征每个电子产品的唯一的识别符,具有唯一性,因此根据电子产品的标识符生成的加密数据也具有唯一性。根据MCU内存储的加密数据、存储器内存储的加密数据以及上述加密验证算法,对电子产品进行逐层验证,能够为电子产品提供多层防抄保护,从而提高防抄的可靠性与电子产品的保密性。因此与现有技术中简单的防抄方法相比,本实施例中的电子产品的防抄板加密方法及装置,具有加密数据唯一、防抄过程复杂、破解困难的优点,具有较高的保密性和可靠性,能够达到较好的防抄板效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出本发明第一实施例所提供的电子产品的防抄板加密方法的流程示意图;
图2示出本发明第一实施例所提供的电子产品的结构示意图;
图3示出本发明第一实施例所提供的强比对的过程示意图;
图4示出本发明第一实施例所提供的强比对的数据比对路径示意图;
图5示出本发明第一实施例所提供的电子产品标识符验证的数据比对路径示意图;
图6示出本发明第二实施例所提供的电子产品的防抄板加密装置的结构示意图;
图7示出本发明第二实施例所提供的逐层验证模块的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到通过现有技术中的方法防抄板时,具有防抄方法简单、破解可能性较高、保密性较低的问题,他人很有可能将防抄板方法破解掉,从而导致防抄板失败,他人抄板成功,本发明提供了电子产品的防抄板加密方法及装置,采用逐层防抄的方式,具有防抄过程复杂、破解困难的优点,具有较高的保密性,能够达到较好的防抄板效果。下面结合实施例进行详细描述。
实施例一
如图1所示,本发明第一实施例提供了电子产品的防抄板加密方法,该方法至少包括以下步骤:
步骤102,为电子产品配置加密芯片,该加密芯片内和电子产品的MCU内分别存储有加密验证算法;
步骤104,根据电子产品的标识符生成加密数据;其中,电子产品的标识符包括上述MCU的物理ID(identity,身份标识)码;
步骤106,将上述加密数据分别存储在电子产品的MCU内以及电子产品的存储器内;
步骤108,当电子产品运行时,根据MCU内存储的加密数据、存储器内存储的加密数据以及上述加密验证算法,对电子产品进行逐层验证;
步骤110,若逐层验证均成功,则允许电子产品正常运行;否则,停止运行电子产品。
本发明实施例中,加密数据是根据电子产品的标识符生成的,电子产品的标识符是表征每个电子产品的唯一的识别符,具有唯一性,因此根据电子产品的标识符生成的加密数据也具有唯一性。根据MCU内存储的加密数据、存储器内存储的加密数据以及上述加密验证算法,对电子产品进行逐层验证,能够为电子产品提供多层防抄保护,从而提高防抄的可靠性与电子产品的保密性。因此与现有技术中简单的防抄方法相比,本实施例中的电子产品的防抄板加密方法具有加密数据唯一、防抄过程复杂、破解困难的优点,具有较高的保密性和可靠性,能够达到较好的防抄板效果。
步骤102中,为电子产品配置的加密芯片优选ALPU芯片,ALPU芯片是目前使用比较广泛的加密芯片,具有保密性高的优点。加密芯片内和电子产品的MCU内分别存储有加密验证算法,加密芯片内的加密验证算法和MCU内的加密验证算法相互配合,共同起到加密验证的作用。
步骤104中,根据电子产品的标识符生成加密数据,具体包括以下过程(1)和过程(2)。过程(1):对电子产品的MCU的物理ID码进行标准化处理,生成ID散列值,这里可以通过MD5算法或者SHA算法将MCU的物理ID码计算成ID散列值。过程(2):利用非对称加密算法对上述ID散列值进行加密处理,生成加密数据,优选非对称加密算法为RSA算法。
由于每个MCU的物理ID码长度不统一,有8位的物理ID码,还有10位的物理ID码,而ID散列值则是标准的128位编码,因此通过上述过程(1)将MCU的物理ID码标准化为ID散列值能够便于后续处理。非对称加密算法具有加密私钥和解密公钥不相同的特点,利用非对称加密算法将MCU的ID散列值计算为加密数据,能够保证加密数据的安全性,即使抄板电子产品的黑客获取到解密公钥,根据加密数据解密得到MCU的ID散列值,也无法利用解密公钥再次生成加密数据,从而提高了加密数据的可靠性。本实施例中,通过上述过程(1)和过程(2),能够得到唯一的、可靠的加密数据,从而保证本实施例中的方法的可靠性。
步骤106中,电子产品的存储器可以是加密存储器,也可以是普通存储器,由于加密存储器本身具有防抄加密的效果,因此优选加密存储器。一种优选的实施方式中,在原厂电子产品出厂前,在MCU内烧录根据MCU的物理ID码生成的加密数据,同时也将该加密数据烧录到电子产品的存储器内。当原厂电子产品运行时,无需再次生成加密数据,能够直接调用预先存储的加密数据。
步骤108中,根据MCU内存储的加密数据、存储器内存储的加密数据以及上述加密验证算法,对电子产品进行逐层验证,具体包括以下过程(a)、(b)(c)和(d)。过程(a):比对MCU内存储的加密数据与存储器内存储的加密数据是否一致;过程(b):若该比对一致,则利用MCU内存储的加密数据、存储器内存储的加密数据检测上述加密验证算法;过程(c):若检测上述加密验证算法成功,则利用MCU内存储的加密数据、存储器内存储的加密数据以及上述加密验证算法,对电子产品的标识符进行验证;过程(d):若验证电子产品的标识符成功,则确定逐层验证均成功。
具体地,黑客抄板电子产品的方式通常为,首先复制出与原厂电子产品相同的硬件电路,然后将原厂电子产品内的程序读取出来,对应地存储到黑客的硬件电路内,如果黑客复制出来的电子产品运行程序成功,则抄板成功,否则抄板失败。在黑客抄板电子产品的过程中,如果出现读取原厂电子产品内的程序读取失误的情况,则在黑客复制的电子产品内,MCU内存储的加密数据和存储器内存储的加密数据可能不同,因此本实施例中的方法在对电子产品进行逐层验证时,首先通过过程(a)比对MCU内存储的加密数据与存储器内存储的加密数据是否一致,如果存储的加密数据不一致,则说明该电子产品为黑客抄板的电子产品,此时确定逐层验证失败,控制电子产品停止运行,从而达到防抄板的效果。如果存储的加密数据一致,则有两种可能,一种是该电子产品为原厂电子产品,另一种是该电子产品为黑客复制出来的电子产品,并且MCU内的数据和存储器内的数据复制成功。
由此可见,仅通过过程(a)还不足以保证使黑客复制出来的电子产品运行失败,还达不到防抄板的目的,因此本实施例中将上述过程(a)称为第一层验证,也叫做弱比对,在弱比对成功的基础上,本实施例中的方法还提出过程(b),利用MCU内存储的加密数据、存储器内存储的加密数据检测上述加密验证算法,过程(b)也叫做强比对。
具体地,过程(b)的实现方式如下:首先,利用MCU内存储的加密验证算法以及加密芯片内存储的加密验证算法,对MCU内存储的加密数据或者存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据;其次,将该处理过的数据与MCU内存储的加密数据,或者与存储器内存储的加密数据进行比对,若比对成功,则确定检测上述加密验证算法成功,否则,确定检测上述加密验证算法失败。
实际操作中,为了实施上述过程(b)可以如图2所示,在电子产品内设置MCU21、分别与MCU21连接的存储器22和加密芯片23,其中,MCU21、存储器22和加密芯片23之间通过I2C总线通信。MCU21内和存储器22内分别存储有上述加密数据,MCU21内和加密芯片23内还分别存储有配对使用的加密验证算法。如图3所示,过程(b)中,首先执行步骤302,选择MCU21内存储的加密数据,或者选择存储器22内存储的加密数据,当选择存储器22内的存储的加密数据时,可由MCU21读取得到。其次执行步骤304,MCU21利用其存储的加密验证算法,对选择的加密数据进行第一次加密,并将第一次加密后的数据发送至加密芯片23。其次执行步骤306,加密芯片23利用其存储的加密验证算法对第一次加密后的数据进行解密,接着对解密得到的数据进行第二次加密,并将第二次加密后的数据返回至MCU21。然后执行步骤308,MCU21接收到第二次加密后的数据后,利用其存储的加密验证算法对第二次加密后的数据进行解密操作,得到上述处理过的数据。能够理解,若该电子产品为原厂电子产品,则加密数据经过MCU21和加密芯片23两次加密两次解密操作后,得到的处理过的数据仍为加密数据本身。若该电子产品为黑客抄板得到的,则很有可能由于黑客在抄板过程中没能完整复制MCU21内的加密验证算法,或者没能完整复制加密芯片23内的加密验证算法,导致处理过的数据与加密数据不一致。因此过程(b)中,得到处理过的数据后,还执行步骤310,将处理过的数据与MCU内存储的加密数据比对,若比对一致,则确定检测上述加密验证算法成功。步骤310还能够是将处理过的数据与存储器内存储的加密数据比对,若比对一致,则确定检测上述加密验证算法成功。
本实施例中,利用MCU内存储的加密验证算法以及加密芯片内存储的加密验证算法,对MCU内存储的加密数据或者存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据的过程中,并不限于上述的对加密数据进行两次加密两次解密操作,还能够对加密数据进行四次加密四次解密操作,总之,只要保证MCU21和加密芯片23之间传输的数据是密文数据即可。
本实施例中,优选存储器22为加密存储器,由于加密存储器本身数据难以读取和复制,因此进一步提高了防抄板的可靠性。本实施例中,优选加密芯片23为ALPU芯片,ALPU芯片本身具有很高的保密性,黑客复制ALPU芯片内的加密验证算法非常困难,因此在黑客抄板得到的电子产品中,过程(b)的比对结果很大可能为不一致。当比对结果不一致时,黑客抄板得到的电子产品立刻停止运行,从而使黑客的抄板失败,保证了原厂电子产品的保密性。本实施例中,MCU21、存储器22和加密芯片23之间采用I2C总线通信,由于I2C总线通信协议的复杂性和难以破解性,进一步保证了电子产品的保密和安全。
在上述过程(b)中,得到处理过的数据时,数据来源有两种,一种是MCU内存储的加密数据,另一种是存储器内存储的加密数据;在将处理过的数据做比对处理时,比对数据有两种来源,一种是MCU内存储的加密数据,另一种是存储器内存储的加密数据,因此如图4所示,过程(b)最多包括四种数据比对路径。
本实施例中,过程(b)最多包括四种数据比对路径,并且对应这四种比对路径的程序散落分布在MCU21内,若黑客向阻断某一路径对应的程序,则MCU21立刻转向下一条路径,以此能够保证数据比对的灵活性和防抄板的可靠性。对于黑客而言,即使黑客破解了之前的过程(a),即弱比对过程,由于ALPU芯片的难以复制性以及数据比对的灵活性,黑客也很难破解过程(b)所示的强比对过程。与现有技术相比,上述过程(b),即强比对过程,具有数据来源多种、比对路径多种、比对灵活的特点,利用上述过程(b)能够很好的防止黑客抄板电子产品。
过程(b)中的强比对过程和上述过程(a)中的弱比对过程共用电子产品内的总线信号,黑客难以分辨出是哪种比对信号。并且,强比对过程和弱比对过程相互配合,形成了完整的三角验证关系,能够大幅度提高电子产品的保密性。
即使这样,仍不能够排除黑客成功复制了MCU内的加密验证算法和加密芯片内的加密验证算法,从而导致上述过程(b)检测成功的可能性,为了排除上述可能,更全面的保证电子产品的保密性,本实施例中的方法还提供了过程(c),又称为标识符验证过程。
过程(c)中,利用MCU内存储的加密数据、存储器内存储的加密数据以及上述加密验证算法,对电子产品的标识符进行验证,具体包括:首先利用MCU内存储的加密验证算法以及加密芯片内存储的加密验证算法,对MCU内存储的加密数据或者存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据;然后利用MCU内存储的公钥或者存储器内存储的公钥,分别对MCU内存储的加密数据、存储器内存储的加密数据、以及上述处理过的数据中的一种或多种进行解密,得到至少一种原始数据;最后将至少一种原始数据分别与电子产品的标识符进行比对,若比对成功,则确定验证电子产品的标识符成功,否则,确定验证电子产品的标识符失败。
具体地,过程(c)中,利用MCU内存储的加密验证算法以及加密芯片内存储的加密验证算法,对MCU内存储的加密数据或者存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据,该过程已经在过程(b)中详细描述过,这里不再赘述。MCU和存储器内均存储有公钥,该公钥是用来解密加密数据的。能够知道,由于加密数据是根据电子产品的标识符生成的,因此利用公钥解密加密数据得到的原始数据,应当能够与电子产品的标识符比对成功。本领域技术人员能够理解,电子产品的标识符是表征电子产品的具有唯一性的数据,对于原厂电子产品,其标识符是固定的,当黑客将程序抄板到新的硬件电路中时,电子产品的标识符会随新的硬件电路更换,因此过程(c)中,如果原始数据与电子产品的标识符比对成功,则说明该电子产品为原厂电子产品,如果比对不成功则说明该电子产品为黑客抄板得到的。
实际情况中,在执行过程(c)时,如果电子产品的标识符为MCU的物理ID码,由于根据MCU的物理ID码能够生成散列值,无法根据散列值得到物理ID码,因此利用公钥对加密数据或者处理过的数据进行解密时,能够将加密数据或者处理过的数据解密为MCU的ID散列值,另一方面,提取当前电子产品的MCU的物理ID码,将该物理ID码计算成ID散列值,比对两种散列值之间是否一致。
过程(c)中,如果比对成功,则确定验证电子产品的标识符成功,进一步结合过程(d),确定逐层验证成功,电子产品正常运行,否则,确定验证电子产品的标识符失败,确定逐层验证失败,电子产品停止运行。
过程(c)中,公钥有两种来源,一种是来自MCU,另一种是来自存储器,加密数据由三种来源,一种是MCU内存储的,一种是存储器存储的,一种是处理过的数据(由于此时电子产品已经通过强比对,说明处理过的数据就是加密数据),因此根据公钥解密得到的原始数据就有六种可能,将这六种可能的数据分别与电子产品的标识符进行比对,最多有六种比对路径,因此如图5所示,过程(c)提供了六种数据比对路径用于验证电子产品的标识符。对应这六种比对路径的程序散落分布在电子产品内,若黑客向阻断某一路径对应的程序,则电子产品立刻转向下一条路径,以此保证数据比对的灵活性和防抄板的可靠性。
黑客在抄板过程中,即使能够将原厂电子产品中各器件内的程序数据以及加密验证算法完好无损的复制到新的电路当中,也无法复制原厂电子产品的标识符,因此过程(c)中,利用电子产品的标识符的唯一性,能够彻底防止黑客的抄板行为,使得黑客复制出来的电子产品停止运行,从而从根源上杜绝黑客的抄板行为。
本实施例中,通过上述过程(a)(b)(c)(d),首先对电子产品进行弱比对,若弱比对成功,则对电子产品进行强比对,若强比对成功,则对电子产品进行标识符验证,能够起到逐层保护电子产品的作用,过程(a)(b)(c)(d)中任意一环失败,电子产品均停止运行,从而保证电子产品的保密性和防抄板的可靠性。
另外,本实施例中,还提供了另外一种电子标识符的验证方式,包括:利用MCU内存储的公钥或者存储器内存储的公钥,分别对MCU内存储的加密数据、存储器内存储的加密数据、以及处理过的数据中进行解密,得到多种原始数据;将多种原始数据分别两两比对,若比对成功,则确定验证电子产品的标识符成功,否则,确定验证电子产品的标识符失败。具体地。对于原厂电子产品,由于加密数据和公钥都相同,因此原始数据之间的比对也一致,而对于黑客抄板得到的电子产品,若在抄板过程中公钥复制出现失误,则可能会导致多种原始数据两两比对时出现不一致的情况,而由于原始数据与电子产品的标识符对应,因此通过这种方式同样能够起到验证电子产品的标识符的作用。
一方面,对于原厂电子产品而言,将电子产品的标识符加密成加密数据时所使用的私钥只存在于厂家内部,电子产品内只存储有解密加密数据所使用的公钥。由于将电子标识符加密成加密数据时使用的是非对称加密算法,因此公钥和私钥不用互换使用,对于黑客而言,只能够利用公钥将加密数据解密为电子产品的标识符,却无法根据电子产品的标识符加密生成加密数据。另一方面,由于电子产品的标识符是唯一的,因此黑客无法根据不同的电子产品标识符生成相同的加密数据。因此本实施例中,采用非对称加密算法生成加密数据进一步保证了本实施例中的方法的可靠性。
本实施例中,私钥只存在于厂家内部,公钥存在于电子产品中,若有黑客复制原厂的电子产品成功,则说明黑客掌握了私钥。私钥是厂家按产品批次订制的,不同批次的产品对应不同的私钥,根据流露给客户的私钥能够获知是哪批产品出现了问题,从而能够找到这批产品的相关负责人进行追责。
上述步骤110中,若过程(a)(b)(c)(d)均成功,则确认电子产品逐层验证成功,则允许电子产品正常运行,否则,电子产品停止运行,另外,当逐层验证失败一定次数,如5-10次以上时,能够清除电子产品内的数据,写入随机数据,从而彻底使黑客无法抄板,杜绝黑客的防抄板行为。
将本实施例中的方法应用到实际生产中时,上述提到的弱比对过程、强比对过程和电子产品标识符验证过程,既可以按照上述的逐层顺序运行,也可以不按照上述的逐层顺序运行,根据用户的需求任意设定。甚至,可以只选择其中的一种或两种验证方式进行验证。如,对于保密性要求一般的电子产品,可以只使用弱比对过程进行保护。对于保密性要求偏高的电子产品,优选将弱比对过程和强比对过程结合起来进行验证。对于保密性要求最高的电子产品,优选将强比对、弱比对和电子产品标识符验证三种方式结合起来进行验证。
本实施例中的电子产品的防抄板加密方法,能够应用在电子产品启动时,或者应用在电子产品运行过程中。本实施例中的方法具有防抄性能高、可靠性强、成本低、编程简单的优势,适用于大力普遍推广使用。
实施例二
在实施例一的基础上,本发明还提供了实施例二,特别提供了电子产品的防抄板加密装置。如图6所示,一种电子产品的防抄板加密装置,该述装置包括:
配置模块61,用于为电子产品配置加密芯片,该加密芯片内和电子产品的MCU内分别存储有加密验证算法;
生成模块62,用于根据电子产品的标识符生成加密数据;其中,电子产品的标识符包括上述MCU的物理ID码;
存储模块63,用于将加密数据分别存储在电子产品的MCU内以及电子产品的存储器内;
逐层验证模块64,用于当电子产品运行时,根据MCU内存储的加密数据、存储器内存储的加密数据以及加密验证算法,对电子产品进行逐层验证;
控制模块65,用于若逐层验证均成功,则允许电子产品正常运行;否则,停止运行电子产品。
本发明实施例中,加密数据是根据电子产品的标识符生成的,电子产品的标识符是表征每个电子产品的唯一的识别符,具有唯一性,因此根据电子产品的标识符生成的加密数据也具有唯一性。根据MCU内存储的加密数据、存储器内存储的加密数据以及上述加密验证算法,对电子产品进行逐层验证,能够为电子产品提供多层防抄保护,从而提高防抄的可靠性与电子产品的保密性。因此与现有技术中简单的防抄方法相比,本实施例中的电子产品的防抄板加密装置具有加密数据唯一、防抄过程复杂、破解困难的优点,具有较高的保密性和可靠性,能够达到较好的防抄板效果。
本实施例中,生成模块62包括:ID散列值生成单元,用于对MCU的物理ID码进行标准化处理,生成ID散列值;加密数据生成单元,用于利用非对称加密算法对ID散列值进行加密处理,生成加密数据。本实施例中,通过上述ID散列值生成单元和加密数据生成单元,能够得到唯一的、可靠的加密数据,从而保证本实施例中的方法的可靠性。
如图7所示,本实施例中,逐层验证模块64包括:比对单元71,用于比对MCU内存储的加密数据与存储器内存储的加密数据是否一致;检测单元72,用于若比对一致,则利用MCU内存储的加密数据、存储器内存储的加密数据检测加密验证算法;验证单元73,用于若检测加密验证算法成功,则利用MCU内存储的加密数据、存储器内存储的加密数据以及加密验证算法,对电子产品的标识符进行验证;确定单元74,用于若验证电子产品的标识符成功,则确定逐层验证均成功。
其中,上述检测单元72包括:第一检测子单元,用于利用MCU内存储的加密验证算法以及加密芯片内存储的加密验证算法,对MCU内存储的加密数据或者存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据;第二检测子单元,用于将处理过的数据与MCU内存储的加密数据,或者与存储器内存储的加密数据进行比对,若比对成功,则确定检测加密验证算法成功,否则,确定检测加密验证算法失败。
其中,上述验证单元73包括:第一验证子单元,用于利用MCU内存储的加密验证算法以及加密芯片内存储的加密验证算法,对MCU内存储的加密数据或者存储器内存储的加密数据进行多次加密解密处理,得到处理过的数据;第二验证子单元,用于利用MCU内存储的公钥或者存储器内存储的公钥,分别对MCU内存储的加密数据、存储器内存储的加密数据、以及上述处理过的数据中的一种或多种进行解密,得到至少一种原始数据;第三验证子单元,用于将至少一种原始数据分别与电子产品的标识符进行比对,若比对成功,则确定验证电子产品的标识符成功,否则,确定验证电子产品的标识符失败。
本实施例中,通过上述比对单元71、检测单元72、验证单元73、以及确定单元74,首先对电子产品进行弱比对,若弱比对成功,则对电子产品进行强比对,若强比对成功,则对电子产品进行标识符验证,能够起到逐层保护电子产品的作用,比对单元、检测单元、验证单元、以及确定单元中任意一环失败,电子产品均停止运行,从而保证电子产品的保密性和防抄板的可靠性。
综上,与现有技术中简单的防抄方法相比,本实施例中的电子产品的防抄板加密方法及装置,具有加密数据唯一、防抄过程复杂、破解困难的优点,具有较高的保密性和可靠性,能够达到较好的防抄板效果。
本发明实施例所提供的电子产品的防抄板加密装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。