一种基于防复制电路的防抄板系统及方法专利名称:一种基于防复制电路的防抄板系统及方法技术领域:本发明涉及用以保护嵌入式电子产品不被非法破解克隆的装置,特别涉及一种基于防复制电路的防抄板系统,具有保障嵌入式电子产品版权作用的防复制电路和由此组建的防抄板系统背景技术:PCB软件的盗版一直是困扰软件行业发展的主要问题,俗称抄板所谓抄板,也叫克隆或仿制,是对设计出来的PCB板进行反向技术研究;目前全新的定义从狭义上来说,抄板仅指对电子产品电路板PCB文件的提取还原和利用文件进行电路板克隆的过程;从广义上来说,抄板不仅包括对电路板文件提取、电路板克隆、电路板仿制等技术过程,而且包括对电路板文件进行修改(即改板)、对电子产品电路板上的各类电子元器件进行仿制、对电路板上加密了的芯片或单片机进行解密、对电子产品的系统软件进行反汇编等电子产品全套克隆的所有技术过程由于不法分子将此技术应用到了版权受到保护的电子产品上,通过非法的复制克隆别人的产品谋取利润,对行业的发展起到了很不利的影响近些年,随着PDA,掌上电脑,机顶盒等信息终端逐渐走进人们的生活,嵌入式操作系统也像Windows —样为人们熟知,随着集成电路芯片技术的飞速发展,电子产品设计业也越来越像计算机行业,很多产品的硬件解决方案已成为一种公开的资料,产品设计者的核心技术实际上集中在嵌入式应用软件内。
所以,在硬件技术逐渐成熟和公开的今天,如何保护产品的设计,产品的版权,实际上转化成了对嵌入式应用软件的保护随着黑客技术和芯片解剖技术的发展,电子产品嵌入式系统所面临的攻击也越来越多,利用各种调试软件读出存放在嵌入式系统芯片内部R0M/EEPR0M/FLASH的二进制BIN文件,就可以简简单单的完成对嵌入式系统芯片中代码的拷贝,进而完成对整个PCB甚至整个产品的非法克隆嵌入式芯片内部一般都有内部R0M/EEPR0M/FLASH供用户存放程序为了防止未经授权访问或拷贝芯片程序,大部分嵌入式芯片都带有加密锁定位或者加密字节,以保护片内程序如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取芯片内部程序,这就是所谓拷贝保护或者说锁定功能事实上,这样的保护措施很脆弱,很容易被破解攻击者借助专用设备,利用芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取嵌入式芯片内部程序市场上流行的防抄板系统主要采用逻辑加密方式和简单的对比认证模式完成系统间(嵌入式芯片和防复制电路间)的通信验证第一种方式通常是采用一个EEPROM加上外围逻辑电路,通过简单逻辑认证口令进行保护认证,保护效果较差。
第二种方式由于受保护的嵌入式芯片同防复制电路之间仅仅在上电时进行通信验证,并且通信线路上传输的数据容易被检测从而破解其验证过程,导致其保护效果仍然不佳发明内容本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种不易破解、设计简单的基于防复制电路的防抄板系统及方法为实现上述目的,本发明可采用的技术方案是 一种基于防复制电路的防抄板系统,它包括嵌入式芯片和与该嵌入式芯片电连接的防复制电路,所述防复制电路包括微处理器以及与该微处理器连接的中断系统和加密传输模块; 所述嵌入式芯片用于在不定时中断处产生随机明文并发送给所述防复制电路,同时该嵌入式芯片根据该随机明文计算出标准密文; 该防复制电路用于接收该随机明文并通过所述中断系统产生中断,所述加密传输模块对所述随机明文进行加密并将加密后的密文发送给所述嵌入式芯片; 所述嵌入式芯片还用于将该加密后的密文与标准密文进行比较,如果两者一致则该嵌入式芯片中继续处理数据根据本发明所述的基于防复制电路的防抄板系统的一个方面所述防复制电路中的微处理器还用于处理所述嵌入式芯片中的部分数据根据本发明所述的基于防复制电路的防抄板系统的一个方面所述防复制电路还包括与所述微处理器连接的存储单元,该存储单元和所述嵌入式芯片分别存储部分数据。
根据本发明所述的基于防复制电路的防抄板系统的一个方面所述加密模块为AES加密模块本发明进一步提供一种基于防复制电路的防抄板方法,该方法采用防复制电路对与其连接的嵌入式芯片进行防护,它包括如下步骤 受保护的嵌入式芯片在不定时中断处产生随机明文并发送给防复制电路,同时该嵌入式芯片根据该随机明文计算出标准密文; 所述防复制电路接收该随机明文并通过中断系统产生中断,通过加密传输模块对所述随机明文进行加密并将加密后的密文发送给所述嵌入式芯片; 所述嵌入式芯片将该加密后的密文与标准密文进行比较,如果两者一致则继续处理数据根据本发明所述的基于防复制电路的防抄板方法的一个方面所述嵌入式芯片中的部分数据存储于所述防复制电路中根据本发明所述的基于防复制电路的防抄板方法的一个方面所述嵌入式芯片中的部分数据由所述防复制电路处理根据本发明所述的基于防复制电路的防抄板方法的一个方面所述加密传输模块采用AES算法对随机明文进行加密本发明防抄板系统的加密传输模块能够自行完成随机明文的接收、加密、发送,它不仅作为独立的IP,还可以直接被其他的电路设计使用,简化设计,提高了设计灵活性本发明的防抄板系统和方法能够不定时进行通信验证;完成多轮的不定时验证的功能,具有极强的灵活性和很强的安全性。
采用传统的破解出嵌入式CPU中的代码并采用调试手段跳过对比点的方式难以破解应当认识到,本发明以上各方面中的特征可以在本发明的范围内自由组合,而并不受其顺序的限制一只要组合后的技术方案落在本发明的实质精神内下面将结合附图及实施例对本发明作进一步说明,附图中 图1是本发明的防抄板系统中防复制电路的结构 图2是本发明的防抄板系统中防复制电路的加密传输模块的工作原理 图3飞为本发明的防抄板系统中防复制电路的加密传输模块的结构 图7是本发明的防抄板系统的电路连接关系 图8是本发明的防抄板系统的工作原理 图9是本发明的防抄板系统中嵌入式芯片的程序执行流程; 图10是本发明中的防复制电路的加密传输模块的modelsim仿真结果图具体实施例方式下面结合附图和具体实施方式,进一步阐明本发明,应理解这些实施方式仅用于说明本发明而不用于限制本发明的范围,在阅读本发明之后,本领域的技术人员对本发明的各种等价形式的修改均落于本申请的权利要求所限定的范围RIJNDAEL又称AES (先进加密标准)是一种分组密码算法,其分组长度和密钥长度相互独立,都可以改变其软件和硬件对计算环境的适应性强,性能稳定,密钥建立时间优良,密钥灵活性强。
存储需求量低,即使在空间有限的环境使用也具有良好的性能,并且以其极高的破解难度成为防复制电路中加密算法的上佳选择图1为本发明的防抄板系统中防复制电路的结构图电路内嵌微处理器,例如8051CPU,通过UART以及并行I/O和系统中的嵌入式芯片通信8051CPU是防复制电路中的核心部件之一,8位数据宽度,负责控制、指挥和调度整个单元系统协调的工作当嵌入式芯片需要和防复制电路进行数据交互时,嵌入式芯片通过I/O传递控制信号给防复制电路,防复制电路的CPU检测到控制信号后,判断控制信号是需要读取数据还是执行程序,根据控制信号的差异读取存储在扩展ROM中的不同地址空间的程序和数据,直接通过并行I/O回传数据或者运行程序并产生结果后通过并行I/O将结果回传给嵌入式芯片,完成数据交互防复制电路对扩展ROM的地址进行了若干段的分区,用户可以根据分区将不同的程序和数据写到ROM不同的地址分区中,从而在嵌入式芯片需要调用数据或者程序时可以配置对应的读取指令给防复制电路的CPU,供CPU识别需要调用ROM中的哪段地址上的程序执行或者哪段地址上的数据进行传送防复制电路的控制程序烧写在FLSAH内,包括对于I/O控制信号的读取和识别,对外部扩展ROM内程序的读取和执行以及中断程序。
防复制电路内含64K的扩展存储单元,用户可以将一部分重要数据存储在防复制电路中,需要的时候从其中进行调取,或者将产品软件中的部分程序下载到防复制电路中执行调取数据和执行程序的过程如上防复制电路和嵌入式芯片通过UART接口完成通信验证当防复制电路的UART接收端RXD检测到通信线路上的信号起始位(开始进行通信验证),中断系统就产生中断通知(PU停止当前操作,优先完成通信验证环节之后加密传输模块自主完成加密和密文发送,通信验证完成后加密传输模块将标志位拉低通知主程序回到之前的断点,CPU中的操作继续执行加密传输模块后面详述图2为本发明的防复制电路的加密传输模块的工作原理图本模块是为了完成防复制电路通过UART对128位随机明文的接收,AES加密并通过UART发还加密结果的功能而专门设计的电路模块,所以这一加密传输模块由两个子模块构成一AES加密模块和UART模块下面我们详细的说明受保护的嵌入式芯片和防复制电路之间是如何借助加密传输模块完成一轮验证的 I).受保护的嵌入式芯片部分1.嵌入式芯片在启动或不定时中断处产生128位随机明文,并通过UART发送给防复制电路,同时嵌入式芯片采用和防复制电路相同算法对明文进行加密生成标准密文后面用于比较。
2.之后嵌入式芯片中程序继续执行,等待防复制电路的加密数据发还回来·3.当嵌入式芯片收到防复制电路通过UART传输返回的数据时产生接收中断,进入中断服务程序4.嵌入式芯片在中断服务程序中调用之前生成的标准密文同接收到的返回数据进行比较,如果一致,则嵌入式芯片中程序继续执行,如果不一致则程序终止运行,至此一次验证完成2).防复制电路部分1.防复制电路初始化后等待嵌入式芯片将128位的随机明文发送过来2.检测到UART接收端的信号起始位时,开始接收明文,同时中断系统产生中断给CPU产生中断,进入中断服务程序3.中断服务程序中完成128位明文的接收,并利用存储于其内部的密钥经行加密操作,并返还给嵌入式芯片加密后的密文4.返还密文完成后加密传输模块将标志位信号拉低,通知主程序回到之前的断点,CPU中程序继续执彳丁,一轮验证完成图3-6为本发明的防复制电路中加密传输模块的结构图加密传输模块分为两个子模块一UART模块(用于接收嵌入式芯片发送来的明文,并将加密后的密文发还给嵌入式芯片);AES模块(用于完成对明文的AES加密形成密文等待传输)UART 模块包含 uart_rx, uart_txI) uart_rx 为 UART 的接收模块,包括 detect, v, speed_select. v, uart_rx_c 三个功能模块。
①.detect. V的输入连接到串行输入引脚rs232_rx,它主要检测一帧数据的第0位,也就是起始位,然后产生一个高脉冲neg_rs232_rx给uart_rx_c. v,以表示一巾贞数据接收工作已经开始②.speecLselect. V是产生波特率定时的功能模块,也就是配置波特率的模块当接收数据开始,主控模块uart_rx_c. v拉高bps_start, speed_select. v经clk_bps为uart_rx_c. v进行定时③.uart_rx_c. v是核心控制模块对串口的配置主要是I帧10位的数据,关注八位数据位,无视起始位和结束位,不设校验位当neg_rs232_rx拉高,这个模块就开始工作,将采集来自rx232_rx的数据,当完成128位数据接收的时候,就会将rx_int拉低,表明接收模块已经完成128数据的接收,并将收到的128位明文rx_data输送给下一模块2). AES模块完成对128位明文的AES加密,生成密文AES模块接收uart_rx传输来的128位明文,当rx_int信号拉低时(表明接收完成)开始加密,加密完成将done信号拉高电平,表明加密完成,并将密文tx_data传输给uart_tx. ①.当load信号有效(高电平)时,AES加密模块载入128位明文rx_data[127:0],同时密。