CN115563589B - 一种芯片防盗版方法、装置、电子设备及存储介质 - Google Patents

一种芯片防盗版方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115563589B
CN115563589B CN202211551280.6A CN202211551280A CN115563589B CN 115563589 B CN115563589 B CN 115563589B CN 202211551280 A CN202211551280 A CN 202211551280A CN 115563589 B CN115563589 B CN 115563589B
Authority
CN
China
Prior art keywords
chip
encryption
software
ciphertext
key
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.)
Active
Application number
CN202211551280.6A
Other languages
English (en)
Other versions
CN115563589A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211551280.6A priority Critical patent/CN115563589B/zh
Publication of CN115563589A publication Critical patent/CN115563589A/zh
Application granted granted Critical
Publication of CN115563589B publication Critical patent/CN115563589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种芯片防盗版方法、装置、电子设备及存储介质,所述方法包括:通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;通过软件研发人员非对称公钥对第一加密密钥信息进行非对称加密、生成非对称加密密文,并将软件密文与非对称加密密文打包生成第一加密软件包;根据待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中的软件密文重新打包生成代理重加密软件包。通过上述技术方案,可解决目前芯片嵌入式软件易被盗版的问题。

Description

一种芯片防盗版方法、装置、电子设备及存储介质
技术领域
本发明涉及芯片防盗版技术领域,尤其是指一种芯片防盗版方法、装置、电子设备及存储介质。
背景技术
随着集成电路技术的高速发展,越来越多的嵌入式电子产品推向市场,广泛应用在国民经济的各个领域,特别是在工业生产、医疗设备、通讯器材、家用电器中更为突出。
如今集成电路存储容量不断提高、功能日趋多样化,嵌入式软件的规模也越来越大,应用越来越广泛。这些电子产品基本由集成电路芯片和嵌入其中的嵌入式软件组成。很多公司费劲心血研发的产品,投放市场不久,就被竞争对手分析透了,从硬件到软件原封不动地被克隆,甚至更换一个外壳即投放市场;还有一些公司在委托生产厂商进行产品生产时,被生产厂商额外地生产出大量的相同产品,换个品牌投放市场,严重损害了产品研发者的权益。
因此,防盗版保护电子产品的知识产权、芯片防盗版技术已经成为很多公司和产品设计者日益关注的问题。
发明内容
为了解决上述技术问题,本发明提供了一种芯片防盗版方法、装置、电子设备及存储介质,所述芯片防盗版方法用于解决目前芯片嵌入式软件易被盗版的问题。
为实现上述目的,本发明提供一种芯片防盗版方法,包括:
通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;
通过软件研发人员非对称公钥对所述第一加密密钥信息进行非对称加密、生成非对称加密密文,并将所述软件密文与所述非对称加密密文打包生成第一加密软件包;
根据所述待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;
通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包。
进一步的,通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包,具体包括:
通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成所述代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中对称加密的所述软件密文按照第二预设软件包格式重新进行打包、生成所述代理重加密软件包。
进一步的,所述方法还包括:
在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码;其中,所述待解密芯片与所述待加密芯片一一对应。
进一步的,在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码,具体包括:
通过所述芯片非对称私钥解密所述代理重加密密文,以获取并解密对称加密的所述软件密文后获得芯片软件二进制代码。
进一步的,在通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息之前,所述方法还包括:
为每个待加密芯片生成唯一的芯片ID以及芯片非对称公私钥对;其中,所述芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;
将每个待加密芯片的芯片非对称私钥烧录至芯片EFUSE存储器中。
进一步的,在通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息之前,所述方法还包括:
根据每个待加密芯片的芯片ID生成对应的芯片二维码,并将对应的芯片二维码设于每个待加密芯片的芯片外封装上。
进一步的,在通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息之前,所述方法还包括:
将所有待加密芯片的芯片ID、芯片二维码、芯片非对称公钥、芯片生产信息建立关联关系并保存至芯片数据库中。
进一步的,根据所述待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥,具体包括:
根据所述待加密芯片的芯片二维码获取所述待加密芯片的芯片ID以及芯片非对称公钥;
以只读取不存储的形式从软件研发人员获取所述软件研发人员非对称私钥;
根据所述待加密芯片的芯片非对称公钥、所述软件研发人员非对称私钥生成所述代理重加密密钥。
进一步的,在通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息之前,所述方法还包括:
根据每个芯片的芯片ID分配唯一的非对称公私钥对,所述芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;根据每个软件研发人员ID分配唯一的软件研发人员非对称公私钥对;所述软件研发人员非对称公私钥对包括软件研发人员非对称公钥、软件研发人员非对称私钥。
进一步的,在通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包之后,所述方法还包括:
将所述代理重加密软件包烧写至所述待加密芯片的存储设备中。
进一步的,在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码之前,所述方法还包括:
在所述待解密芯片上电后,根据芯片ROM中的固化代码依次执行指令,并根据芯片boot管脚选择启动设备来读取外设的加密软件包。
进一步的,在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码之前,所述方法还包括:
按照预设软件包格式对芯片上电后读取的加密软件包进行校验。
进一步的,在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码之前,所述方法还包括:
在芯片上电后读取的加密软件包校验通过后,读取所述待解密芯片的芯片非对称私钥。
本发明还提供一种芯片防盗版装置,所述装置包括:
随机密钥加密单元,用于通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;
第一加密软件包生成单元,用于通过软件研发人员非对称公钥对所述第一加密密钥信息进行非对称加密、生成非对称加密密文,并将所述软件密文与所述非对称加密密文打包生成第一加密软件包;
代理重加密密钥生成单元,用于根据所述待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;
代理重加密软件包生成单元,用于通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包。
进一步的,所述随机密钥加密单元还用于通过随机获取的第一对称密钥对所述软件进行对称加密、生成所述软件密文以及所述第一加密密钥信息;
所述第一加密软件包生成单元还用于通过所述软件研发人员非对称公钥对所述第一加密密钥信息进行非对称加密、生成所述非对称加密密文,并将所述非对称加密密文与对称加密的所述软件密文按照第一预设软件包格式进行打包、生成所述第一加密软件包。
本发明又提供一种计算机设备,包括存储器、处理器及计算机程序,所述计算机程序存储在所述存储器上并可在所述处理器上运行,所述处理器执行所述计算机程序时实现以下步骤:
通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;
通过软件研发人员非对称公钥对所述第一加密密钥信息进行非对称加密、生成非对称加密密文,并将所述软件密文与所述非对称加密密文打包生成第一加密软件包;
根据所述待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;
通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包。
本发明再提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;
通过软件研发人员非对称公钥对所述第一加密密钥信息进行非对称加密、生成非对称加密密文,并将所述软件密文与所述非对称加密密文打包生成第一加密软件包;
根据所述待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;
通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包。
本发明再提供一种芯片,包括芯片本体、以及由前述所述的芯片防盗版方法实现的软件。
本发明的上述技术方案,相比现有技术具有以下技术效果:
本发明的芯片防盗版方法中,依次通过随机获取的第一密钥、软件研发过程中的非对称公钥、代理重加密密钥对芯片的嵌入式软件分别进行加密,生成代理重加密软件包;
其中,先通过随机获取的第一密钥对芯片的嵌入式软件进行加密,生成软件密文以及第一加密密钥信息;
再通过软件研发过程中的非对称公钥单独对第一加密密钥信息进行非对称加密,生成非对称加密密文;并将非对称加密密文与软件密文打包生成第一加密软件包;
然后,先根据芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;再通过代理重加密密钥对非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中的软件密文重新打包生成代理重加密软件包;
由此,当需要对芯片软件进行解密时,只需要获取芯片非对称公钥对应的芯片非对称私钥,即可基于代理重加密技术来解密代理重加密密文,进而可对代理重加密软件包中的软件密文进行解密、从而获得芯片软件;
上述芯片防盗版方法,通过代理重加密方式来实现芯片的防盗版保护功能,代理重加密技术在可靠加密的基础上可避免软件研发人员非对称私钥的泄露、并且只需芯片本身非对称私钥即可进行解密,从而有效可靠地保护芯片软件版权、防止芯片软件被盗版。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例一中芯片防盗版方法的流程示意图;
图2是本发明具体实施例中芯片软件加密的整体流程示意图;
图3是本发明具体实施例中芯片软件解密的整体流程示意图;
图4是本发明实施例二中芯片防盗版装置的结构框图;
图5是本发明实际实施例中云生产管理系统的结构框图;
图6为本发明实施例二中计算机设备的内部结构图。
具体实施方式
电子产品基本由集成电路芯片和嵌入其中的嵌入式软件组成。嵌入式软件是固化在集成电路芯片中的计算机程序,对芯片硬件的依赖性很强。
现有技术中,已经有比较多的技术方案防止盗版,方案一是采用ESAM(EmbeddedSecure Access Module)嵌入式安全控制模块,将ESAM嵌入到其他专用或通用设备中,完成数据的加密解密实现软件版权保护等功能;方案二是代码加密,硬件存储的是经过加密的程序,系统启动时对程序进行解密后放到内存中,然后开始运行。
前述两种方案在一定程度都可以保护嵌入式电子产品的知识产权。但是,方案一由于需要增加ESAM模块,一方面增加成本需要占产品的空间,另一方面由于批量化制造的要求,存在低成本采购到仿制的硬件可能。方案二则由于成本的原因,一个批次或一个型号采用的密钥都是相同的,一旦密钥泄露则整批芯片的防盗版的效果就完全失效了。
为此,本发明提供一种芯片防盗版方法、装置、电子设备及存储介质,来解决上述问题。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
如图1所示,本发明实施例提供一种芯片防盗版方法,包括:
S31通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;
S32通过软件研发人员非对称公钥对第一加密密钥信息进行非对称加密、生成非对称加密密文,并将软件密文与非对称加密密文打包生成第一加密软件包;
S41根据待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;
S42通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中的软件密文重新打包生成代理重加密软件包。
在具体实施例中,依次通过随机获取的第一密钥、软件研发过程中的非对称公钥、代理重加密密钥对芯片的嵌入式软件分别进行加密,生成代理重加密软件包;
其中,先通过随机获取的第一密钥对芯片的嵌入式软件进行加密,生成软件密文以及第一加密密钥信息;
再通过软件研发过程中的非对称公钥单独对第一加密密钥信息进行非对称加密,生成非对称加密密文;并将非对称加密密文与软件密文打包生成第一加密软件包;
然后,先根据芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;再通过代理重加密密钥对非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中的软件密文重新打包生成代理重加密软件包;
由此,当需要对芯片软件进行解密时,只需要获取芯片非对称公钥对应的芯片非对称私钥,即可基于代理重加密技术来解密代理重加密密文,进而可对代理重加密软件包中的软件密文进行解密、从而获得芯片软件;
上述芯片防盗版方法,通过代理重加密方式来实现芯片的防盗版保护功能,代理重加密技术在可靠加密的基础上可避免软件研发人员非对称私钥的泄露、并且只需芯片本身非对称私钥即可进行解密,从而有效可靠地保护芯片软件版权、防止芯片软件被盗版。
在实际实施例中,随机获取的第一密钥可以是对称密钥,也可以是非对称密钥;软件研发人员非对称公钥可以是分配给软件研发人员或软件生产人员的非对称私钥。
其中,由于芯片本身信息和其它人员没有软件研发人员/生产人员的私钥,因此不能通过芯片本身私钥信息将软件解密、其他人员也不能解密,从而保护了软件的知识产权。
需要说明的是,本申请中,上述芯片既包括芯片硬件本身,也包括芯片嵌入式软件。软件研发人员包括软件开发人员、软件烧录人员等研发相关人员。
在具体实施例中,当第一密钥为AES或DES密钥等对称密钥时,使用该对称密钥对软件利用AES或DES算法进行对称加密,即可生成对称加密的软件密文以及对称加密密钥(即第一加密密钥信息)。
一般情况下,软件数据量较大,相较于非对称密钥,通过对称密钥对软件进行对称加密,加密速度更快、加密效率更高。
同时,可将对称加密的软件包密文、对称加密密钥的非对称加密密文按照芯片的约定格式(即第一预设软件包格式)进行打包、生成第一加密软件包。
在一个优选的实施方式中,S42具体包括:
S420通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中对称加密的软件密文按照第二预设软件包格式重新进行打包、生成代理重加密软件包。
如图2所示,在具体实施例中,当第一密钥为AES或DES密钥等对称密钥时,使用该对称密钥对软件利用AES或DES算法进行对称加密,即可生成对称加密的软件密文以及对称加密密钥(即第一加密密钥信息)。
同时,将对称加密的软件包密文、对称加密密钥的非对称加密密文按照芯片的约定格式(即第一预设软件包格式)进行打包、生成第一加密软件包。
然后,采用代理重加密密钥对上述加密软件包中对称加密密钥的非对称加密密文进行代理重加密,生成对称加密密钥的代理重加密密文,并重新进行打包;即,将AES/DES密钥进行代理重加密后、与对称加密的软件密文重新打包。
由此,可基于代理重加密技术来有效保护芯片软件版权。
其中,可先获取芯片的非对称公钥以及软件烧写人员的私钥(只读取不保存)来生成代理重加密密钥,从而避免软件研发人员非对称私钥的泄露。
在一个优选的实施方式中,上述方法还包括:
S5在对待解密芯片进行解密时,通过芯片非对称私钥解密代理重加密密文,以获取第一加密密钥信息并解密软件密文后获得芯片软件二进制代码;其中,待解密芯片与待加密芯片一一对应。
在具体实施例中,当需要对芯片软件进行解密时,只需要获取芯片自身非对称私钥即可基于代理重加密技术来解密代理重加密密文,进而可以对代理重加密软件包中的软件密文进行解密,从而获得可以执行的芯片软件二进制代码。
在一个优选的实施方式中,S5具体包括:
S50通过芯片非对称私钥解密代理重加密密文,以获取并解密对称加密的软件密文后获得芯片软件二进制代码。
如图2所示,在具体实施例中,当第一密钥为AES或DES密钥等对称密钥时,使用该对称密钥对软件利用AES或DES算法进行对称加密,即可生成对称加密的软件密文以及对称加密密钥(即第一加密密钥信息)。
同时,将对称加密的软件包密文、对称加密密钥的非对称加密密文按照芯片的约定格式(即第一预设软件包格式)进行打包、生成第一加密软件包。
然后,采用代理重加密密钥对上述加密软件包中对称加密密钥的非对称加密密文进行代理重加密,生成对称加密密钥的代理重加密密文,并重新进行打包;即,将AES/DES密钥进行代理重加密后、与对称加密的软件密文重新打包。
如图3所示,当需要对芯片软件进行解密时,只需要获取芯片自身非对称私钥即可基于代理重加密技术来解密AES/DES密钥的代理重加密密文(即对称加密密钥的代理重加密密文),进而可以使用AES/DES密钥对软件进行解密,从而获得可以执行的软件二进制代码。
在一个优选的实施方式中,在S31之前,上述方法还包括:
S11为每个待加密芯片生成唯一的芯片ID以及芯片非对称公私钥对;其中,芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;
S12将每个待加密芯片的芯片非对称私钥烧录至芯片EFUSE存储器中。
在具体实施例中,可先为每一颗芯片生成唯一的芯片ID、非对称公钥和非对称私钥(例如RSA),并将非对称私钥烧录至芯片的EFUSE中。
在一个优选的实施方式中,在S31之前,上述方法还包括:
S13根据每个待加密芯片的芯片ID生成对应的芯片二维码,并将对应的芯片二维码设于每个待加密芯片的芯片外封装上。
在一个优选的实施方式中,在S31之前,上述方法还包括:
S14将所有待加密芯片的芯片ID、芯片二维码、芯片非对称公钥、芯片生产信息建立关联关系并保存至芯片数据库中。
在具体实施例中,芯片ID、芯片二维码、芯片非对称公钥、芯片的生产信息一一对应;可先将芯片二维码印刷或刻写在芯片的外封装上,并将芯片的ID、非对称公钥、芯片的生产信息关联并保存在芯片数据库中;由此,可通过芯片外封装上的二维码获得芯片ID信息,进而获得芯片非对称公钥等信息。
在一个优选的实施方式中,S41具体包括:
S411根据待加密芯片的芯片二维码获取待加密芯片的芯片ID以及芯片非对称公钥;
S412以只读取不存储的形式从软件研发人员获取软件研发人员非对称私钥;
S413根据待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥。
在具体实施例中,在生成代理重加密密钥时,可先通过摄像头扫描芯片的二维码,进而从系统中获取芯片ID、并获取该芯片的非对称公钥;接着,从芯片数据库中以只读取不保存形式来读取软件研发人员/生产人员的私钥;然后再利用芯片的公钥以及软件烧写人员的私钥生成代理重加密密钥。
在一个优选的实施方式中,在S31之前,上述方法还包括:
S2根据每个芯片的芯片ID分配唯一的非对称公私钥对,所述芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;根据每个软件研发人员ID分配唯一的软件研发人员非对称公私钥对;软件研发人员非对称公私钥对包括软件研发人员非对称公钥、软件研发人员非对称私钥。
在具体实施例中,为了防止研发过程中的软件版权泄露,还可为软件研发人员分配权限。
在一个优选的实施方式中,在S42之后,上述方法还包括:
S43将代理重加密软件包烧写至待加密芯片的存储设备中。
在具体实施例中,代理重加密软件包打包完成后,可烧写到芯片的存储设备上,以便后续调用。
在一个优选的实施方式中,在S5之前,上述方法还包括:
在待解密芯片上电后,根据芯片ROM中的固化代码依次执行指令,并根据芯片boot管脚选择启动设备来读取外设的加密软件包。
在一个优选的实施方式中,在S5之前,上述方法还包括:
按照预设软件包格式对芯片上电后读取的加密软件包进行校验。
在一个优选的实施方式中,在S5之前,上述方法还包括:
在芯片上电后读取的加密软件包校验通过后,读取待解密芯片的芯片非对称私钥。
在具体实施例中,芯片至少拥有一个CPU核(例如A53)、EFUSE和ROM。EFUSE用来存储芯片的非对称私钥,ROM里面保存了一段启动代码。
当芯片上电以后,即可启动解密功能,先从ROM固化的代码中依次执行指令,读取EFUSE中的芯片非对称私钥;然后根据芯片boot管脚选择启动设备(包括网络、Flash芯片等),来读取外设的软件包。
先按照默认软件包格式进行校验;校验通过后,读取芯片的非对称私钥并用该芯片非对称私钥来解密代理重加密密文、进而对u-boot进行解密,并将解密后的软件程序放到内存中去,并跳转执行软件。
需要注意的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二:
如图4所示,本发明实施例还提供一种芯片防盗版装置,包括:
随机密钥加密单元,用于通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;
第一加密软件包生成单元,用于通过软件研发人员非对称公钥对第一加密密钥信息进行非对称加密、生成非对称加密密文,并将软件密文与非对称加密密文打包生成第一加密软件包;
代理重加密密钥生成单元,用于根据待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;
代理重加密软件包生成单元,用于通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中的软件密文重新打包生成代理重加密软件包。
在一个优选的实施方式中,上述装置还包括代理重加密密文解密单元,其用于在对待解密芯片进行解密时,通过芯片非对称私钥解密代理重加密密文,以获取第一加密密钥信息并解密软件密文后获得芯片软件二进制代码;其中,待解密芯片与待加密芯片一一对应。
在一个优选的实施方式中,代理重加密软件包生成单元还用于通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中对称加密的软件密文按照第二预设软件包格式重新进行打包、生成代理重加密软件包。
在一个优选的实施方式中,代理重加密密文解密单元还用于通过芯片非对称私钥解密代理重加密密文,以获取并解密对称加密的软件密文后获得芯片软件二进制代码;
在一个优选的实施方式中,上述装置还包括:
芯片唯一标识生成单元,用于为每个待加密芯片生成唯一的芯片ID以及芯片非对称公私钥对;其中,芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;
芯片非对称私钥烧录单元,用于将每个待加密芯片的芯片非对称私钥烧录至芯片EFUSE存储器中。
在一个优选的实施方式中,上述装置还包括:
芯片二维码设置单元,用于根据每个待加密芯片的芯片ID生成对应的芯片二维码,并将对应的芯片二维码设于每个待加密芯片的芯片外封装上。
在一个优选的实施方式中,上述装置还包括:
芯片信息关联单元,用于将所有待加密芯片的芯片ID、芯片二维码、芯片非对称公钥、芯片生产信息建立关联关系并保存至芯片数据库中。
在一个优选的实施方式中,代理重加密密钥生成单元包括:
芯片二维码信息识别单元,用于根据待加密芯片的芯片二维码获取待加密芯片的芯片ID以及芯片非对称公钥;
软件研发人员非对称私钥获取单元,用于以只读取不存储的形式从软件研发人员获取软件研发人员非对称私钥。
在一个优选的实施方式中,上述装置还包括:
软件研发人员非对称公私钥对分配单元,用于根据每个芯片的芯片ID分配唯一的非对称公私钥对,所述芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;根据每个软件研发人员ID分配唯一的软件研发人员非对称公私钥对;软件研发人员非对称公私钥对包括软件研发人员非对称公钥、软件研发人员非对称私钥。
在一个优选的实施方式中,上述装置还包括:
代理重加密软件包烧写单元,用于将代理重加密软件包烧写至待加密芯片的存储设备中。
在一个优选的实施方式中,上述装置还包括:
加密软件包读取单元,用于在待解密芯片上电后,根据芯片ROM中的固化代码依次执行指令,并根据芯片boot管脚选择启动设备来读取外设的加密软件包。
在一个优选的实施方式中,上述装置还包括:
加密软件包校验单元,用于按照预设软件包格式对芯片上电后读取的加密软件包进行校验。
在一个优选的实施方式中,上述装置还包括:
芯片非对称私钥读取单元,用于在芯片上电后读取的加密软件包校验通过后,读取待解密芯片的芯片非对称私钥。
关于上述装置的具体限定,可以参见上文中对于方法的限定,在此不再赘述。
在实际实施例中,通过云生产管理系统来实现上述基于代理重加密的嵌入式芯片防盗版方法。
如图5所示,云生产管理系统包括芯片印刷子系统、密钥烧写子系统、软件烧录子系统、ID与密钥生成子系统、二维码扫码子系统、身份认证子系统和数据库子系统。
数据库子系统是整个生产管理系统的核心,保存着芯片ID、非对称公钥和非对称私钥,以及用户身份及权限控制信息。
ID与密钥生成子系统负责为新生产出来的芯片生成ID、非对称私钥和非对称公钥。芯片印刷子系统主要是将芯片ID生成二维码图片,并通过喷墨印刷装置将二维码喷在芯片表面或是将用打印机将二维码图片打印出来,然后贴在芯片上面。
密钥烧录子系统负责将芯片的非对称私钥烧录至芯片。软件烧录子系统负责调取二维码扫码子系统获取芯片的ID,然后从数据库子系统读取芯片的非对称公钥,并利用该非对称公钥将用户上传的软件进行加密、生成密文数据包,然后通过烧录设备将软件包烧录至嵌入式存储设备中。
二维码扫码子系统主要通过摄像头采集图像并利用图像识别技术将二维码转化为芯片ID。
身份认证子系统主要负责增加用户、删除用户、修改用户密码、生成用户的公私钥对,以及控制用户的权限等。
当芯片正常生产流片之后,云生产管理系统通过ID与密钥生成子系统为每一颗芯片生成唯一的芯片ID、非对称公钥和非对称私钥(例如RSA),并将非对称私钥通过密钥烧写子系统烧录至芯片的EFUSE中,同时通过印刷子系统将二维码印刷或刻写在芯片的外封装上,同时将芯片的ID、非对称公钥、芯片的生产信息关联并保存在云生产管理系统的数据库中。通过为不同的芯片烧录不同的非对称私钥来实现芯片的唯一性。每颗芯片的非对称公钥不同,每颗芯片烧录的软件密文也必然不相同。
当嵌入式软件开发好之后,软件开发人员/生产人员通过打包软件将软件进行打包。该打包软件首先随机生成一个AES或DES密钥(即对称密钥),然后使用该对称密钥对软件利用AES或DES算法进行对称加密,生成对称加密的软件密文以及对称加密密钥;然后将对称加密密钥单独采用软件开发人员自己的公钥进行非对称加密、并生成对称加密密钥的非对称加密密文;然后将对称加密的软件包密文和对称加密密钥的非对称加密密文按照芯片的约定格式进行打包、生成加密软件包。由于芯片本身信息和其它人员没有软件开发人员/生产人员的私钥,因此不能通过芯片本身私钥信息将软件解密、其他人员也不能解密,从而保护了软件的知识产权。
下一步需要在保护软件知识产权的前提下、以及在软件开发人员/生产人员的私钥无需共享的情况下,其他人员也可以解密该软件包、让芯片能够运行该软件包。本发明采用了代理重加密算法来解决这个问题。软件开发人员/生产人员将加密软件包发至云生产管理系统,然后通过操作软件烧录子系统进行烧录。首先通过摄像头扫描芯片的二维码,从系统中获取芯片ID并获取该芯片的非对称公钥;然后读取软件开发人员/生产人员的私钥(只读取不保存),软件烧录子系统利用芯片的公钥以及软件烧写人员的私钥生成代理重加密密钥;然后用代理重加密密钥对上述加密软件包中对称加密密钥的非对称加密密文进行代理重加密,生成对称加密密钥的代理重加密密文,即将AES/DES密钥进行代理重加密后、与对称加密的软件密文重新打包;然后再将代理重加密后的软件包烧写到芯片的存储设备上。这时,芯片通过自己的私钥可以解密AES/DES密钥的代理重加密密文(即对称加密密钥的代理重加密密文),进而可以使用AES/DES密钥对软件进行解密,从而获得可以执行的软件二进制代码。
通过上述方式,可实现软硬件的唯一性,每一颗芯片的非对称公私钥都不同,每一颗芯片烧录的软件都不同,可以在控制成本的前提下大大提高嵌入式系统的仿制及盗版的难度,保护知识产权。
当嵌入式产品主芯片启动之后,可进行解密流程:
芯片至少拥有一个CPU核(例如A53)、EFUSE和ROM。EFUSE用来存储芯片的非对称私钥,ROM里面保存了一段启动代码。
当芯片上电以后,从ROM固化的代码中依次执行指令,读取EFUSE中的芯片非对称私钥;然后根据芯片boot管脚选择启动设备(包括网络、Flash芯片等),来读取外设的软件包;按照默认软件包格式进行校验,软件包内容包括采用AES或DES加密(即对称加密)的u-boot代码密文以及使用芯片非对称公钥加密的AES或DES密钥(即对称加密密钥)的密文;
校验通过后,读取芯片的非对称私钥并用该芯片非对称私钥解密AES或DES密钥;然后用解密的AES或DES密钥对u-boot进行解密,并将解密后的程序放到内存中去,并跳转执行。
由于每一颗芯片都烧入了唯一的非对称私钥,因此每颗芯片烧录的软件包都不同。
综上,通过云生产管理系统可让每一颗芯片拥有唯一的ID、非对称公钥和非对称私钥,每一个产品上运行的软件拷贝也是唯一的,保证了每一个嵌入式产品的软硬件唯一性,有效防止非法复制盗版保护嵌入式系统的知识产权;
同时,通过云生产管理系统可以实现芯片ID印刷自动化、公钥烧录自动化、件烧录自动化,用户生产和售后复杂度也基本不变;同时,在一定程度上降低了技术人员流动引起的技术机密泄露的风险。
上述装置中的各个模块,可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于、或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
其中,如图6所示,上述计算机设备可以是终端,其包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
可以理解的是,上述图中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
实施例三:
本发明实施例又提供一种计算机设备,包括存储器、处理器及计算机程序,计算机程序存储在存储器上并可在处理器上运行,处理器执行计算机程序时实现以下步骤:
S31通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;
S32通过软件研发人员非对称公钥对第一加密密钥信息进行非对称加密、生成非对称加密密文,并将软件密文与非对称加密密文打包生成第一加密软件包;
S41根据待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;
S42通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中的软件密文重新打包生成代理重加密软件包。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
S42具体包括:S420通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中对称加密的软件密文按照第二预设软件包格式重新进行打包、生成代理重加密软件包。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
S5在对待解密芯片进行解密时,通过芯片非对称私钥解密代理重加密密文,以获取第一加密密钥信息并解密软件密文后获得芯片软件二进制代码;其中,待解密芯片与待加密芯片一一对应。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
S5具体包括:S50通过芯片非对称私钥解密代理重加密密文,以获取并解密对称加密的软件密文后获得芯片软件二进制代码。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
在S31之前,还包括:S11为每个待加密芯片生成唯一的芯片ID以及芯片非对称公私钥对;其中,芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;S12将每个待加密芯片的芯片非对称私钥烧录至芯片EFUSE存储器中。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
在S31之前,还包括:S13根据每个待加密芯片的芯片ID生成对应的芯片二维码,并将对应的芯片二维码设于每个待加密芯片的芯片外封装上。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
在S31之前,还包括:S14将所有待加密芯片的芯片ID、芯片二维码、芯片非对称公钥、芯片生产信息建立关联关系并保存至芯片数据库中。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
S41具体包括:S411根据待加密芯片的芯片二维码获取待加密芯片的芯片ID以及芯片非对称公钥;S412以只读取不存储的形式从软件研发人员获取软件研发人员非对称私钥;S413根据待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
在S31之前,还包括:S2根据每个芯片的芯片ID分配唯一的非对称公私钥对,所述芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;根据每个软件研发人员ID分配唯一的软件研发人员非对称公私钥对;软件研发人员非对称公私钥对包括软件研发人员非对称公钥、软件研发人员非对称私钥。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
在S42之后,还包括:S43将代理重加密软件包烧写至待加密芯片的存储设备中。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
在S5之前,还包括:在待解密芯片上电后,根据芯片ROM中的固化代码依次执行指令,并根据芯片boot管脚选择启动设备来读取外设的加密软件包。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
在S5之前,还包括:按照预设软件包格式对芯片上电后读取的加密软件包进行校验。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
在S5之前,还包括:在芯片上电后读取的加密软件包校验通过后,读取待解密芯片的芯片非对称私钥。
实施例四:
本发明实施例再提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S31通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文以及第一加密密钥信息;
S32通过软件研发人员非对称公钥对第一加密密钥信息进行非对称加密、生成非对称加密密文,并将软件密文与非对称加密密文打包生成第一加密软件包;
S41根据待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;
S42通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中的软件密文重新打包生成代理重加密软件包。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
S42具体包括:S420通过代理重加密密钥对第一加密软件包中的非对称加密密文进行代理重加密、生成代理重加密密文,并将代理重加密密文与第一加密软件包中对称加密的软件密文按照第二预设软件包格式重新进行打包、生成代理重加密软件包。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
S5在对待解密芯片进行解密时,通过芯片非对称私钥解密代理重加密密文,以获取第一加密密钥信息并解密软件密文后获得芯片软件二进制代码;其中,待解密芯片与待加密芯片一一对应。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
S5具体包括:S50通过芯片非对称私钥解密代理重加密密文,以获取并解密对称加密的软件密文后获得芯片软件二进制代码。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
在S31之前,还包括:S11为每个待加密芯片生成唯一的芯片ID以及芯片非对称公私钥对;其中,芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;S12将每个待加密芯片的芯片非对称私钥烧录至芯片EFUSE存储器中。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
在S31之前,还包括:S13根据每个待加密芯片的芯片ID生成对应的芯片二维码,并将对应的芯片二维码设于每个待加密芯片的芯片外封装上。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
在S31之前,还包括:S14将所有待加密芯片的芯片ID、芯片二维码、芯片非对称公钥、芯片生产信息建立关联关系并保存至芯片数据库中。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤
S41具体包括:S411根据待加密芯片的芯片二维码获取待加密芯片的芯片ID以及芯片非对称公钥;S412以只读取不存储的形式从软件研发人员获取软件研发人员非对称私钥;S413根据待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
在S31之前,还包括:S2根据每个芯片的芯片ID分配唯一的非对称公私钥对,所述芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;根据每个软件研发人员ID分配唯一的软件研发人员非对称公私钥对;软件研发人员非对称公私钥对包括软件研发人员非对称公钥、软件研发人员非对称私钥。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
在S42之后,还包括:S43将代理重加密软件包烧写至待加密芯片的存储设备中。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
在S5之前,还包括:在待解密芯片上电后,根据芯片ROM中的固化代码依次执行指令,并根据芯片boot管脚选择启动设备来读取外设的加密软件包。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
在S5之前,还包括:按照预设软件包格式对芯片上电后读取的加密软件包进行校验。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
在S5之前,还包括:在芯片上电后读取的加密软件包校验通过后,读取待解密芯片的芯片非对称私钥。
可以理解的是,上述实施例方法中的全部或部分流程的实现,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要注意的是,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (16)

1.一种芯片防盗版方法,其特征在于,包括:
通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文,以及根据所述第一密钥生成第一加密密钥信息;
通过软件研发人员非对称公钥对所述第一加密密钥信息进行非对称加密、生成非对称加密密文,并将所述软件密文与所述非对称加密密文打包生成第一加密软件包;其中,将所述软件密文与所述非对称加密密文按照第一预设软件包格式进行打包;
根据所述待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;其中,以只读取不存储的形式从软件研发人员获取所述软件研发人员非对称私钥;
通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包;其中,将所述代理重加密密文与所述第一加密软件包中对称加密的所述软件密文按照第二预设软件包格式重新进行打包、生成所述代理重加密软件包。
2.根据权利要求1所述的芯片防盗版方法,其特征在于,所述方法还包括:
在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码;其中,所述待解密芯片与所述待加密芯片一一对应,所述芯片软件二进制代码为所述待加密芯片软件的执行代码。
3.根据权利要求2所述的芯片防盗版方法,其特征在于,在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码,包括:
通过所述芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密对称加密的所述软件密文后获得芯片软件二进制代码。
4.根据权利要求1所述的芯片防盗版方法,其特征在于,在通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文,以及根据所述第一密钥生成第一加密密钥信息之前,所述方法还包括:
为每个待加密芯片生成芯片ID以及芯片非对称公私钥对;其中,所述芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;
将每个待加密芯片的芯片非对称私钥烧录至芯片EFUSE存储器中。
5.根据权利要求4所述的芯片防盗版方法,其特征在于,在通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文,以及根据所述第一密钥生成第一加密密钥信息之前,所述方法还包括:
根据每个待加密芯片的芯片ID生成对应的芯片二维码,并将对应的芯片二维码设于每个待加密芯片的芯片外封装上。
6.根据权利要求4所述的芯片防盗版方法,其特征在于,在通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文,以及根据所述第一密钥生成第一加密密钥信息之前,所述方法还包括:
将所有待加密芯片的芯片ID、芯片二维码、芯片非对称公钥、芯片生产信息建立关联关系并保存至芯片数据库中。
7.根据权利要求6所述的芯片防盗版方法,其特征在于,根据所述待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥,具体包括:
根据所述待加密芯片的芯片二维码获取所述待加密芯片的芯片ID以及芯片非对称公钥;
根据所述待加密芯片的芯片非对称公钥、所述软件研发人员非对称私钥生成所述代理重加密密钥。
8.根据权利要求4所述的芯片防盗版方法,其特征在于,在通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文,以及根据所述第一密钥生成第一加密密钥信息之前,所述方法还包括:
根据每个芯片的芯片ID分配非对称公私钥对,所述芯片非对称公私钥对包括芯片非对称公钥、芯片非对称私钥;根据每个软件研发人员ID分配软件研发人员非对称公私钥对;所述软件研发人员非对称公私钥对包括软件研发人员非对称公钥、软件研发人员非对称私钥。
9.根据权利要求1所述的芯片防盗版方法,其特征在于,在通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包之后,所述方法还包括:
将所述代理重加密软件包烧写至所述待加密芯片的存储设备中。
10.根据权利要求2所述的芯片防盗版方法,其特征在于,在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码之前,所述方法还包括:
在所述待解密芯片上电后,根据芯片ROM中的固化代码依次执行指令,并根据芯片boot管脚选择启动设备来读取外设的第二加密软件包;其中,所述第二加密软件包包括所述代理重加密软件包。
11.根据权利要求10所述的芯片防盗版方法,其特征在于,在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码之前,所述方法还包括:
按照预设软件包校验格式对芯片上电后读取的第二加密软件包进行校验。
12.根据权利要求11所述的芯片防盗版方法,其特征在于,在对待解密芯片进行解密时,通过芯片非对称私钥解密所述代理重加密密文,以获取所述第一加密密钥信息并解密所述软件密文后获得芯片软件二进制代码之前,所述方法还包括:
在芯片上电后读取的第二加密软件包校验通过后,读取所述待解密芯片的芯片非对称私钥。
13.一种芯片防盗版装置,其特征在于,所述装置包括:
随机密钥加密单元,用于通过随机获取的第一密钥对待加密芯片的软件进行加密、生成软件密文,以及根据所述第一密钥生成第一加密密钥信息;
第一加密软件包生成单元,用于通过软件研发人员非对称公钥对所述第一加密密钥信息进行非对称加密、生成非对称加密密文,并将所述软件密文与所述非对称加密密文打包生成第一加密软件包;其中,将所述软件密文与所述非对称加密密文按照第一预设软件包格式进行打包;
代理重加密密钥生成单元,用于根据所述待加密芯片的芯片非对称公钥、软件研发人员非对称私钥生成代理重加密密钥;其中,以只读取不存储的形式从软件研发人员获取所述软件研发人员非对称私钥;
代理重加密软件包生成单元,用于通过所述代理重加密密钥对所述第一加密软件包中的所述非对称加密密文进行代理重加密、生成代理重加密密文,并将所述代理重加密密文与所述第一加密软件包中的所述软件密文重新打包生成代理重加密软件包;其中,将所述代理重加密密文与所述第一加密软件包中对称加密的所述软件密文按照第二预设软件包格式重新进行打包、生成所述代理重加密软件包。
14.一种计算机设备,包括存储器、处理器及计算机程序,所述计算机程序存储在所述存储器上并可在所述处理器上运行,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-12中任一项所述的芯片防盗版方法的步骤。
15.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-12中任一项所述的芯片防盗版方法的步骤。
16.一种芯片,其特征在于,包括芯片本体、以及由权利要求1-12中任一项所述的芯片防盗版方法实现的软件。
CN202211551280.6A 2022-12-05 2022-12-05 一种芯片防盗版方法、装置、电子设备及存储介质 Active CN115563589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211551280.6A CN115563589B (zh) 2022-12-05 2022-12-05 一种芯片防盗版方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211551280.6A CN115563589B (zh) 2022-12-05 2022-12-05 一种芯片防盗版方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115563589A CN115563589A (zh) 2023-01-03
CN115563589B true CN115563589B (zh) 2023-05-26

Family

ID=84770104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211551280.6A Active CN115563589B (zh) 2022-12-05 2022-12-05 一种芯片防盗版方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115563589B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155491B (zh) * 2023-02-02 2024-03-08 广州万协通信息技术有限公司 安全芯片的对称密钥同步方法及安全芯片装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020495B (zh) * 2012-12-17 2015-06-10 马驹 一种嵌入式软件防盗版加密方法
CN109218010B (zh) * 2017-07-04 2021-11-30 阿波罗智能技术(北京)有限公司 数据加密方法和装置、数据解密方法和装置
CN109802947A (zh) * 2018-12-27 2019-05-24 石更箭数据科技(上海)有限公司 数据处理方法、设备及交易系统

Also Published As

Publication number Publication date
CN115563589A (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
CN103210396B (zh) 包括用于保护敏感代码和数据的架构的方法和装置
JP4267065B2 (ja) 無許可使用に対するソフトウェアの保護
KR101091465B1 (ko) 프로세서의 가상 머신 내 기밀 콘텐츠의 보안 처리를 위한 방법 및 장치
JP4073913B2 (ja) 開放型汎用耐攻撃cpu及びその応用システム
CN102576391B (zh) 嵌入在shell代码中的软件许可
US20080025503A1 (en) Security method using self-generated encryption key, and security apparatus using the same
MXPA06013927A (es) Aparato y metodo de envio y recepcion de objetos de derechos digitales en formato convertido entre dispositivo y almacenamiento portatil.
CN104581214A (zh) 基于ARM TrustZone系统的多媒体内容保护方法和装置
KR20060025159A (ko) 라이센스 수신용 사용자 단말
TWI526866B (zh) 利用線上認證與經加密碼執行的碼保護
TWI490724B (zh) 用於加載至少一個軟體模組的代碼的方法
CN111656345B (zh) 启用容器文件中加密的软件模块
CN115563589B (zh) 一种芯片防盗版方法、装置、电子设备及存储介质
CN103971034A (zh) 一种保护Java软件的方法及装置
CN111159658B (zh) 字节码处理方法、系统、装置、计算机设备和存储介质
US20070198857A1 (en) Software execution protection using an active entity
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
Mana et al. A framework for secure execution of software
US9166783B2 (en) Protection method, decryption method, player, storage medium, and encryption apparatus of digital content
Bahaa-Eldin et al. A comprehensive software copy protection and digital rights management platform
JP6013233B2 (ja) コンテンツ配信システム、装置及びプログラム
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及系统
CN111291389B (zh) 一种计算机核心程序全生命周期的保护方法及系统
KR20120068543A (ko) 화이트박스 암호를 이용한 소프트웨어 설치 장치 및 방법
TWI465957B (zh) 以終端裝置執行的之版權管理離線授權之方法與終端裝置

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