一种内嵌可配置ip核的防复制系统及防复制方法

文档序号:6540060阅读:288来源:国知局
一种内嵌可配置ip核的防复制系统及防复制方法
【专利摘要】本发明公开一种内嵌可配置IP核的防复制系统及防复制方法,该系统包括被保护的嵌入式芯片以及与之连接的防复制电路。本发明在防复制电路中增加了可配置IP核并将嵌入式芯片中部分程序存储在其中,使得防复制电路能够协助嵌入式芯片完成部分运算工作,二者协同组成完整的防复制系统,解决了嵌入式芯片本身防护能力弱,易被不法者破解嵌入式芯片中的完整代码这一难题。本发明通过从AD模块读数的方法产生真随机数,采用完全随机的定时中断,使嵌入式芯片在运行过程中,能够随机地和防复制电路间进行多次加密验证,以防止复制者模拟启动信号,驱动嵌入式芯片正常运行。本发明的防复制系统及方法具有设计灵活、不易被破解的优点。
【专利说明】—种内嵌可配置IP核的防复制系统及防复制方法
【技术领域】
[0001]本发明涉及一种以保护嵌入式系统及其内部代码不被非法复制的装置,特别涉及一种内嵌可配置IP核以保护嵌入式系统核心代码的防复制系统,以及基于该防复制系统的防复制方法。
【背景技术】
[0002]在近些年集成电路芯片技术飞速发展,电子产品设计业也越来越像计算机行业,很多产品的硬件解决方案已成为一种公开的资料,在这样的时代背景之下,嵌入式操作系统中的核心技术大多集中在嵌入式应用软件内.在硬件技术逐渐成熟和公开的今天,保护产品的设计、版权,实际上转化成了对嵌入式应用软件的保护.然而,嵌入式系统的FLASH等存储器和信号线传输的数据对于复制者几乎是透明的,可以被轻易破解,并获得其中数据、代码,所以需要额外的防复制方法来实现对嵌入式产品版权的保护
市场上流行的防复制方式主要采用逻辑加密方式和简单的对比认证模式完成系统间(嵌入式芯片和防复制电路间)的通信验证。第一种方式通常是米用一个EEPROM加上外围逻辑电路,通过简单逻辑认证口令进行保护认证,保护效果较差。第二种方式是受保护的嵌入式芯片同防复制电路之间在上电时进行通信验证。但由于通信线路上传输的数据容易被检测,从而破解其验证过程。更高级的保护方法采用口令认证的方式.防复制电路和嵌入式芯片内置相同密钥和对称算法,通过发送数据并加密返回的方式来进行对比验证,能有效的保护芯片内的主程序。但是由于每次发送的是固定的或者周期性的数据,这种方法还具有安全隐患,例如,可通过监控通信线路并模拟数据返回来破解。

【发明内容】

[0003]本发明提供了一种增强安全性的新型防复制系统及其防复制方法,它采用动态口令(随机数据)加密对比认证的方式与嵌入式芯片进行通信验证,这种方法可以解决线路被监控的问题,很大程度上增加破解的难度。
[0004]具体采用如下技术方案:
一种内嵌可配置IP核的防复制系统,它包括嵌入式芯片和与该嵌入式芯片通过UART接口和I/O接口互连的防复制电路,其特征是:
所述嵌入式芯片通过一 AD转换模块获取随机种子生成随机数,并由此通过随机明文生成单元生成随机明文,通过随机定时中断单元生成随机定时中断时间,对生成的随机明文进行加密得到标准密文,同时根据所产生的随机定时中断时间将生成的随机明文通过UART接口发送给所述防复制电路;
所述防复制电路接收嵌入式芯片发送来的随机明文,通过一加密模块进行加密,并将加密后的密文通过UART接口发送给所述嵌入式芯片;
所述嵌入式芯片接收防复制电路发送来的密文,将其与标准密文进行对比验证,如果两者一致则该嵌入式芯片继续处理数据,否则通过一自毁单元启动自毁功能; 所述防复制电路内嵌可配置IP核,用于配置完成部分嵌入式芯片的计算处理功能,并通过I/o接口将计算处理结果送回嵌入式芯片;
所述防复制电路配有数据存储区,用于存储部分嵌入式芯片所需的重要数据。
[0005]上述内嵌可配置IP核的防复制系统的防复制方法包括如下步骤:
步骤一:在启动嵌入式芯片时,AD转换模块采样得到随机数,产生随机明文启动一次加密对比验证,随机定时中断单元根据所述真随机数,生成一个随机定时中断时间以便在主程序接下来的运行过程中产生随机定时中断继续进行加密对比验证;
步骤二:正常运行主程序,直到触发随机定时中断,改变防复制电路的标志位,使系统进行一次加密对比验证,并对随机定时中断次数进行计数,当随机定时中断次数大于预设值以后,就不再进行加密对比验证了 ;
步骤三:嵌入式芯片执行到需要使用可配置IP核中的计算处理功能时,则通过I/O接口发送相应请求与需要运算的数据给可配置的IP核,可配置的IP核接受到相应请求后利用接收到的数据进行计算处理,并将计算处理结果通过I/O接口送回到嵌入式芯片中;步骤四:若加密对比验证连续数次错误或调用可配置IP核后一段时间内未接收到送回数据,嵌入式芯片通过自毁单元启动自毁功能。
[0006]本发明在防复制电路中增加了能运行部分程序的可配置IP核并将嵌入式芯片中部分程序存储在防复制电路中,使得防复制电路能够协助嵌入式芯片完成部分运算工作,二者协同组成完整的防复制系统,解决了嵌入式芯片本身防护能力弱,易被不法者破解嵌入式芯片中的完整代码这一难题。
[0007]本发明采用动态随机数据加密对比认证的方法,在防复制电路内置硬件加密电路,被保护电路的启动代码中置入同样功能的加密算法,被保护嵌入式芯片在启动前、运行中执行多次密码校验操作,如校验密码正确则系统正常运行,而校验密码错误则系统软件中止运行。
[0008]本发明在防复制电路中嵌入可配置IP核作为嵌入式芯片的协处理器工作,协助运行被保护嵌入式芯片中的部分代码,并在防复制电路中配置数据存储区存储部分被保护嵌入式芯片中需要使用的关键数据,被保护嵌入式芯片在需要使用相应功能时调用防复制电路的相应程序和数据,并通过通信从防复制电路中得到程序运算结果和所需重要数据;这种方法使得不需要设计者在被保护嵌入式芯片中置入完整代码,因此即使电子产品中的嵌入式代码和PCB板被复制者非法获得,也会因为无法读出存储在防复制电路中的代码和数据从而无法正常破解被保护芯片。
[0009]本发明通过从AD模块读数的方法产生随机数,AD转换模块的输入端不加任何输入信号,直接从空间中读取电磁扰动,以回馈到嵌入式芯片之中作为软件产生随机数的种子来产生随机数,确保了随机数为真随机数,完全满足随机性要求。
[0010]本发明采用完全随机的定时中断,使嵌入式芯片在运行过程中,能够随机地和防复制电路间进行多次加密验证,以防止复制者模拟启动信号,驱动嵌入式芯片正常运行。中断的产生时间是完全随机的,受随机数产生电路产生的随机数控制。
[0011]本发明的防复制系统及方法具有设计灵活、不易被破解的优点。
【专利附图】

【附图说明】[0012]下面将结合附图及实施例对本发明作进一步说明。
[0013]附图1是本发明的防复制电路系统结构图;
附图2是本发明的防复制电路系统单次加密流程图;
附图3是本发明的防复制电路系统运行流程图;
附图4是本发明的防复制电路系统的实测平台图;
【具体实施方式】
[0014]下面结合附图和【具体实施方式】,进一步阐明本发明,应理解这些实施方式仅用于说明本发明而不用于限制本发明的范围,在阅读本发明之后,本领域的技术人员对本发明的各种等价形式的修改均落于本申请的权利要求所限定的范围。
[0015]本发明设计了一款软硬件协同的新型防复制系统,用以实现对嵌入式软件版权的保护。防复制电路采用硬件实现的加密算法与嵌入式芯片进行多次随机动态加密验证,使破解者无法通过监控通信数据来破解验证保护.防复制电路中内置可配置IP核和数据存储器,用来存储关键数据以及执行部分嵌入式程序,让破解者无法获得嵌入式芯片中完整的程序,从软硬件两方面实现了对嵌入式产品版权的充分保护。
[0016]图1为本发明的防复制系统结构图,整个系统由被保护嵌入式芯片和防复制电路组成,在防复制电路中内置硬件加密电路,被保护嵌入式芯片的软件启动代码中置入同样的加密算法。本具体实施例以常用的AES加密算法为例。防复制电路同被保护嵌入式芯片之间通过UART接口互联用于对比验证中加密明文和密文的传输;通过并行I/O互联用于被保护嵌入式芯片调用防复制电路中可配置IP核时向防复电路传输控制信号,也用于防复制电路向被保护嵌入式芯片传输存储的重要数据和可配置IP核调用的运算结果。被保护嵌入式芯片利用从AD 口读入的随机种子,软件生成真随机数,并产生随机明文;被保护的嵌入式芯片将随机明文传递至防复制电路,并接收防复制电路加密完成的密文;通过被保护嵌入式芯片在启动前、运行中执行多次对比加密验证操作来保护嵌入式芯片中的程序不被非法复制。同时,在防复制电路中植入可配置IP核,并配有数据存储区,将嵌入式芯片中需要运行的部分功能函数和需要使用的重要数据放入可配置IP核中使用,以此来阻止复制者对芯片中嵌入式程序的非法盗用.下面对主要的的功能模块进行具体的说明:
1.AES加密模块
本实施例中采用128位的AES加密算法,是当前主流的开放性加密算法,对给定明文依据一定的密钥进行加密.该算法是迭代分组密码算法,其分组长度和密钥长度都可改变.该算法的主要优点是:设计简单,密钥安装快,需要的内存空间少,在所有平台上运行良好.系统运行时,在相同密钥的作用下,将明文同时在嵌入式芯片和防复制电路中进行AES加密,以供比较电路将两次加密结果进行比较来决定系统是否正常运行,AES加密电路作为现有很成熟的IP,这里仅对AES加密模块在本发明中的作用以及工作方式加以阐述,对于其内部电路结构,不再过多赘述。.2.可配置IP核
为了防止复制者以更高的技术破解加密算法来强行驱动嵌入式程序,在进行加密的防复制电路中置入可配置IP核。然后将嵌入式芯片中所需要运行的程序分成两个独立的部分,一部分放在嵌入式芯片中,另一部分放在防复制电路中运行.每次当嵌入式芯片运行至需要防复制电路中所放置的部分程序的功能时,就改变防复制电路中的标志位,使这段程序在防复制电路中正常运行,并将结果送回嵌入式芯片中。
[0017]本发明中的可配置IP核可以是一个处理器核,帮助嵌入式芯片运行部分程序,配置完成嵌入式芯片需要其帮助完成的功能;也可以是一个硬件IP电路,可以对该电路进行配置完成嵌入式芯片需要其协助实现的特定功能。
[0018]利用这种将关键数据甚至部分重要代码置于防复制电路中执行的方式,让防复制电路成为整个嵌入式系统运行过程中必不可少的一部分。不论复制者如何破解嵌入式芯片,都只能得到不完整的代码,使得程序不能正确运行从而无法完成不法复制。
[0019]真随机数产生单元
不同于一般的嵌入式系统调用相关函数来产生伪随机数,本设计通过从AD转换模块读数的方法产生真随机数。AD转换模块的输入端不加任何输入信号,直接从空间中读取电磁扰动生成随机种子,以回馈到嵌入式芯片之中供真随机数生成单元产生随机数.这种读取方法确保了随机数为真随机数,完全满足随机性。
[0020]将采集获得的真随机数分为两部分使用:
I).作为AES加密算法的明文,并通过相应的AES加密电路对之进行加密,产生密文。[0021 ] 2).设定一定时间区间,控制当随机数落在区间内时,启动随机中断进行中断AES加密验证。
[0022]随机定时中断单元
通过运行中断,使嵌入式芯片在运行受保护程序过程中,能够随机地和防复制电路间进行多次加密验证,以防止复制者模拟启动信号,驱动嵌入式芯片正常运行。中断的产生时间是完全随机的,受随机数产生电路产生的随机数控制。
[0023]每次中断产生后,都重新将新的随机数放入随机定时中断单元中,调整下一次定时中断产生的时间。通过这样定时验证的方法,很好的防范了复制者单纯模拟、复制启动信号来驱动芯片的情况,很大程度上提高了不法复制的难度。
[0024]自毁单元
若AES加密对比验证连续数次错误(可按需设定)或调用可配置IP核后一段时间内(可按需设定)未接收到送回数据,嵌入式芯片通过自毁单元启动自毁功能。由于本发明中的系统采用可擦除的FLASH存储器存放关键数据,系统在需要进行数据自毁的时候,可以采用编程来实现对存储芯片中的关键数据的销毁,可以通过芯片关键数据区域擦除方式,或者采用系统函数对关键数据文件进行数据覆写实现数据销毁;同样,程序也存放在可擦除的FLASH存储芯片的固定区域内,当系统接收到程序自毁指令时,启动擦除程序,对存储芯片中程序的存储区域分别进行擦除,进而销毁关键的程序模块。
[0025]图2为本发明的防复制系统的单次加密验证流程,首先由嵌入式芯片中通过AD转换模块读取的数据来产生128位随机明文,并将产生的128位随机明文通过UART接口发送到防复制电路中,同时自身对随机明文进行AES加密。防复制电路接收到从嵌入式芯片中发来的随机明文后,利用事先装载的密钥对随机明文进行同步AES加密,并将生成的密文传回嵌入式芯片中。此时,嵌入式芯片将得到的密文同自身加密产生的密文相互比较,当密文完全一致时,则控制程序继续运行,若两边密文并不一致,则判定芯片状态为错误,代表此时的嵌入式系统正不受防复制电路的保护,可能正在被不法分子企图破坏或者复制,嵌入式芯片停止工作或进入死循环,到此,完成一次完整的AES加密对比验证流程.图3为本发明的完整防复制系统流程图,在单次加密验证的基础上,增加了多次随机对比过程,进一步增强了安全性。
[0026]首先,在启动嵌入式芯片进行工作时,先进行一次启动AES加密验证,然后通过产生随机明文时的随机数,设定一个中断时间以产生随机中断;接着就可以正常运行主程序,直到触发定时中断,并对定时中断进行计数;然后改变标志位,使系统进行一次AES加密。当定时中断验证的次数大于阈值次数N (阈值次数N可配置),就不再进行中断验证了。为了保证随机验证不至于过于频繁影响嵌入式芯片对本来任务的响应速度,需要设定一个随机认证区间,只有当随机数落在给定区间内才会触发对比验证环节,从而保证随机定时对比验证的间隔性。
[0027]在主程序正常运行的过程中,当需要使用放在防复制电路中的那部分代码时,则通过嵌入式芯片发送相应请求与需要运算的数据给防复制电路,防复制电路在接受到相应请求后利用所得数据进行运算,并将运算结果送回到嵌入式芯片中,并使嵌入式芯片继续正常运行,从而防复制电路以协处理器的方式协助嵌入式芯片完成功能,并保证嵌入式芯片中代码的不完整性,进而提高防复制能力。
[0028]图4为本发明的防复制电路系统的实测平台图。图中MP430单片机模拟本系统中被保护的嵌入式芯片;FPGA开发板模拟本系统中的防复制电路,通过编码键盘对防复制电路中嵌入的可配置IP进行配置完成特定的功能。系统运行的中间结果和状态用LCD屏显
/Jn ο
【权利要求】
1.一种内嵌可配置IP核的防复制系统,它包括嵌入式芯片和与该嵌入式芯片通过UART接口和I/O接口互连的防复制电路,其特征是: 所述嵌入式芯片通过一 AD转换模块获取随机种子生成随机数,并由此通过随机明文生成单元生成随机明文,通过随机定时中断单元生成随机定时中断时间,对生成的随机明文进行加密得到标准密文,同时根据所产生的随机定时中断时间将生成的随机明文通过UART接口发送给所述防复制电路; 所述防复制电路接收嵌入式芯片发送来的随机明文,通过一加密模块进行加密,并将加密后的密文通过UART接口发送给所述嵌入式芯片; 所述嵌入式芯片接收防复制电路发送来的密文,将其与标准密文进行对比验证,如果两者一致则该嵌入式芯片继续处理数据,否则通过一自毁单元启动自毁功能; 所述防复制电路内嵌可配置IP核,用于配置完成部分嵌入式芯片的计算处理功能,并通过I/O接口将计算处理结果送回嵌入式芯片; 所述防复制电路配有数据存储区,用于存储部分嵌入式芯片所需的重要数据。
2.根据权利要求1所述的内嵌可配置IP核的防复制系统,其特征是AD转换模块的输入端不加任何输入信号,直接从空间中读取电磁扰动生成随机种子。
3.根据权利要求1所述的内嵌可配置IP核的防复制系统,其特征是自毁单元提供擦除FLASH代码区功能。
4.根据权利要求1所述内嵌可配置IP核的防复制系统的防复制方法,其特征是: 步骤一:在启 动嵌入式芯片时,AD转换模块采样得到随机数,产生随机明文启动一次加密对比验证,随机定时中断单元根据所述真随机数,生成一个随机定时中断时间以便在主程序接下来的运行过程中产生随机定时中断继续进行加密对比验证; 步骤二:正常运行主程序,直到触发随机定时中断,改变防复制电路的标志位,使系统进行一次加密对比验证,并对随机定时中断次数进行计数,当随机定时中断次数大于预设值以后,就不再进行加密对比验证了 ; 步骤三:嵌入式芯片执行到需要使用可配置IP核中的计算处理功能时,则通过I/O接口发送相应请求与需要运算的数据给可配置的IP核,可配置的IP核接受到相应请求后利用接收到的数据进行计算处理,并将计算处理结果通过I/O接口送回到嵌入式芯片中;步骤四:若加密对比验证连续数次错误或调用可配置IP核后一段时间内未接收到送回数据,嵌入式芯片通过自毁单元启动自毁功能。
5.根据权利要求4所述的防复制方法,其特征是可配置IP核提供C语言代码写入功能,嵌入式芯片中所需要运行的程序分成两个独立的部分,一部分放在嵌入式芯片中,另一部分放在可配置IP核中,当嵌入式芯片运行至需要可配置IP核中所放置的部分程序的功能时,就改变防复制电路的标志位,使这段程序在可配置IP核中正常运行。
6.根据权利要求4所述的防复制方法,其特征是每次随机定时中断产生后,都重新将新的随机数放入随机定时中断单元中,生成下一个随机定时中断时间,通过随机定时中断驱动加密对比验证在随机时间反复进行。
7.根据权利要求4所述的防复制方法,其特征是AD转换模块的输入端不加任何输入信号,直接从空间中读取电磁扰动生成随机种子。
8.根据权利要求4所述的防复制方法,其特征是自毁单元提供擦除FLASH代码区功能。
9.根据权利要求4所述的防复制方法,其特征是设定一个随机认证区间,当随机数落在随机认证区间内触发加密`对比验证中断。
【文档编号】G06F21/78GK103824005SQ201410087187
【公开日】2014年5月28日 申请日期:2014年3月11日 优先权日:2014年3月11日
【发明者】单伟伟, 徐志鹏, 张玉浩, 胡航, 黄新锐, 戴文韬 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1