首页> 中国专利> 一种嵌入式计算机的软硬件协同加密电路及方法

一种嵌入式计算机的软硬件协同加密电路及方法

摘要

本发明提供了一种嵌入式计算机的软硬件协同加密电路及方法,该软硬件协同加密电路包括DSP、FPGA、FLASH,所述DSP用于加密存储在FLASH中的二进制文件,并将JTAG仿真口封死;所述FPGA用于加密DSP和并行FLASH之间中转的数据线和地址线,同时用于加密本身的FPGA软件并将加密后的FPGA软件存储在FLASH中。本发明采用自带加密功能的DSP和FPGA,对计算机的硬件和软件存储进行加密处理,该加密方法稳定可靠,安全完善,满足嵌入式计算机加密的需求,防止山寨产品随意拷贝嵌入式计算机的软硬件。

著录项

  • 公开/公告号CN112860275A

    专利类型发明专利

  • 公开/公告日2021-05-28

    原文格式PDF

  • 申请/专利权人 北京自动化控制设备研究所;

    申请/专利号CN202110100874.4

  • 发明设计人 钟锋;张伟彬;袁寰;张艳芳;

    申请日2021-01-26

  • 分类号G06F8/61(20180101);G06F21/60(20130101);G06F21/72(20130101);H04L9/08(20060101);

  • 代理机构

  • 代理人

  • 地址 100074 北京市丰台区云岗北里1号院3号楼

  • 入库时间 2023-06-19 11:08:20

说明书

技术领域

本发明属于计算机加密技术领域,具体涉及一种嵌入式计算机的软硬件协同加密电路及方法。

背景技术

随着时代的发展,用户对知识产权的认知越来越高,因此对信息存储的安全需求越来越迫切,同时计算机技术的大力发展,获取信息的途径和手段也越来越方便,各种“山寨”产品应用而生,为了切实保护用户的利益,杜绝“山寨”产品,需要寻找一种有效的保护方案,这就为数据的加密处理和存储提出了更高的需求。

针对DSP+FPGA+FLASH架构的嵌入式计算机电路,传统的加密方案是加密DSP的地址线和数据线,即DSP的数据线和地址线经过FPGA中转后再接入FLASH,在FPGA软件中将数据线、地址线加密,使得存储在Flash中的程序及数据以密文方式存储。该加密方法,由于FPGA软件不加密,经过加密的软件仍有可能会被外部破解;同时,JTAG仿真口始终保持开通状态,仍可以通过连接仿真器的方式,从计算机内存中读取信息,通过反汇编的方式盗取用户软件。

综上所述,只有FPGA软件和DSP软件同时加密,才能有效可靠的完成整个计算机的加密。否则,单靠其中一者加密,是没有任何加密效果的。

发明内容

针对现有技术中存在的嵌入式计算机软硬件易被盗用的技术问题,本发明提供了一种嵌入式计算机的软硬件协同加密电路及方法,基于自带加密功能的DSP和FPGA,对计算机的硬件和软件存储设计了加密方案,该加密方案稳定可靠,安全完善,满足嵌入式计算机加密的需求,防止山寨产品随意拷贝嵌入式计算机的软硬件。该方案可以有效的保护用户的知识产权,确保其在市场竞争中的优势地位。

为了解决现有技术存在的技术问题,本发明提供了一种嵌入式计算机的软硬件协同加密电路,包括DSP、FPGA、FLASH,所述DSP用于加密存储在FLASH中的二进制文件,并将JTAG仿真口封死;所述FPGA用于加密DSP和并行FLASH之间中转的数据线和地址线,同时用于加密本身的FPGA软件并将加密后的FPGA软件存储在FLASH中。

优选的,所述FLASH包括DSP程序存储FLASH和FPGA配置FLASH。

优选的,所述软硬件协同加密电路中所有器件均为BGA封装。

优选的,所述DSP自带加密功能,加密功能启用后,不能连接仿真器;所述DSP在将可执行文件转二进制文件的过程中用芯片本身的信息进行加密处理。

优选的,所述FPGA对DSP仿真口的所有JTAG信号进行中转,功能调试时中转,调试完毕后FPGA不再中转JTAG信号。

优选的,所述FPGA自带加密功能。

本发明还提供了一种嵌入式计算机的软硬件协同加密方法,包括如下步骤:

S1、烧写FPGA密钥文件:将嵌入式计算机和调试计算机连接,嵌入式计算机供电,将密钥文件烧写到FPGA的一次可编程寄存器中,烧写完毕后断电;

S2、烧写调试用FPGA软件:嵌入式计算机供电,将加密后的调试用FPGA软件烧写到FPGA配置的FLASH芯片中;

S3、存储器测试:将嵌入式计算机UART通讯口与调试计算机的RS-422通讯口相连,先解密DSP,后连接仿真器,加载存储器测试软件,测试DSP存储器读写是否正常,测试完成后断电;

S4、加密应用软件:将嵌入式计算机UART通讯口与调试计算机的RS-422通讯口相连,先解密DSP,后连接仿真器,加载DSP的key读取软件,自动读取key,并用读取到的key将用户密钥加密,在调试计算机中用加密后的用户密钥加密应用软件;

S5、烧写应用软件:将嵌入式计算机UART通讯口与调试计算机的RS-422通讯口相连,先解密DSP,后连接仿真器,加载应用软件烧写软件,将加密的应用软件烧写入DSP并行的FLASH存储器中,烧写完成后断电;

S6、烧写加密后的最终版FPGA软件:嵌入式计算机供电,将机密后的FPGA软件烧写到FPGA配置的FLASH芯片中。

本发明与现有技术相比的有益效果:

本发明提供的一种嵌入式计算机的软硬件协同加密电路及方法,将DSP的数据总线和地址总线经过FPGA中转并加密后再转接到FLASH,使得FLASH没有直接和DSP连接,即FLASH中的数据均为密文存储。储存在外部FLASH中的bin文件已经加密,第三方无法通过拆卸FLASH的方式从外部拷贝客户软件和数据。本发明选用的器件均为BGA封装,外部无法通过系统运行时,测量管脚信号以记录信息。本发明加密算法均由FPGA实现,选用自带加密功能的FPGA芯片,完成对FPGA软件的加密,保证嵌入式计算机的安全性。

本发明通过软件和硬件的协同加密,能有效的防止“山寨”产品随意拷贝嵌入式计算机的软硬件,提升产品的安全性,切实保护软硬件开发者的知识产权。

附图说明

所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施例,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明具体实施例提供的一种嵌入式计算机的软硬件协同加密电路示意图。

具体实施方式

下面对本发明的具体实施例进行详细说明。在下面的描述中,出于解释而非限制性的目的,阐述了具体细节,以帮助全面地理解本发明。然而,对本领域技术人员来说显而易见的是,也可以在脱离了这些具体细节的其它实施例中实践本发明。

在此需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

本发明将DSP的数据线和地址线经过FPGA中转并加密后再转接到FLASH,同时,采用软硬件协同加密的方案,将FPGA软件加密,并将DSP的仿真口封死,这样既可以保护数据地址加密算法,又可以防止第三方通过仿真口读取内存中运行的软件和数据。例如可以采用本身自带加密功能的DSP和FPGA,这样通过软件和硬件的协同加密,能有效的防止“山寨”产品随意拷贝嵌入式计算机的软硬件,提升产品的安全性,切实保护软硬件开发者的知识产权。

本发明提供的一种嵌入式计算机的软硬件协同加密电路,如图1所示,包括数字信号处理器DSP,可编程逻辑器件FPGA以及程序存储器FLASH。所述DSP用于加密存储在FLASH中的二进制bin文件,并将JTAG仿真口封死。所述FPGA用于加密DSP和并行FLASH之间中转的数据线和地址线,同时用于加密本身的FPGA软件并将加密后的FPGA软件存储在FLASH中。

如图1所示,FLASH设置两个,分别为DSP程序存储FLASH和FPGA配置FLASH。

DSP的数据线和地址线均经过FPGA中转加密,不直接与FLASH相连,FLASH端信号全部为密文。DSP配置DDR2。

所有器件(包括DSP,FPGA,DDR2,FLASH)均为BGA(球状引脚栅格阵列封装)封装,无法通过外部信号测量的方式,监测任何器件的管脚信号。

选用的DSP自带加密功能,加密功能启用后,不能连接仿真器,即不能通过FPGA的JTAG仿真口访问处理内存空间,不能通过仿真器读取内存中的指令,切实有效的保护了用户的知识产权。选用的DSP在将其可执行out文件转二进制bin文件的过程中用芯片本身的信息进行加密处理,使得最终烧写到FLASH中的bin文件为密文,即每一套计算机的bin文件单独生成,无法通过拷贝bin的方式制作“山寨”版计算机。

DSP仿真口所有JTAG信号会通过FPGA中转,仅在功能调试时开放该仿真口,调试完毕后,最终产品FPGA信号不会再中转JTAG信号,即JTAG信号对外无接口,该措施将DSP的JTAG信号和外部接口与从物理层断开,与DSP主动关闭JTAG仿真口有相同的效果,两者综合后,安全性更高。

选用的FPGA自带加密功能,存储在外部FLASH芯片中的FPGA软件为密文。FPGA启动加载时,从外部读取加密后的FPGA软件,用eFUSE寄存器中密钥解密,若解密成功,则FPGA正常工作。因此盗版用户无法通过拆卸外部FLASH芯片的方式读取FPGA软件,该措施既保护了FPGA软件的版权,又保护了DSP数据线和地址线经FPGA中转的算法。

本发明提供的一种嵌入式计算机的软硬件协同加密方法,包括如下步骤:

S1、烧写FPGA密钥文件。将带有上述软硬件协同加密电路的嵌入式计算机和调试计算机连接后,嵌入式计算机供电,将密钥文件烧写到FPGA芯片的一次可编程寄存器中,烧写完毕后断电。

S2、烧写调试用FPGA软件。嵌入式计算机供电,将加密后的调试用FPGA软件烧写到FPGA配置的FLASH芯片中。

调试用FPGA软件,用于调试过程,仿真口所有JTAG信号会通过FPGA中转到DSP。注意保存密钥文件,否则FPGA将失去加密功能。

S3、存储器测试。将嵌入式计算机UART通讯口与调试计算机的RS-422通讯口相连,先解密DSP,后连接仿真器,加载存储器测试软件,测试DSP存储器读写是否正常,测试完成后断电。

DSP存储器包括并行FLASH和DDR2。

S4、加密应用软件。将嵌入式计算机UART通讯口与调试计算机的RS-422通讯口相连,先解密DSP,后连接仿真器,加载DSP的key读取软件,该软件自动读取DSP的key,并用读取到的key将用户密钥加密并存储在调试计算机中,完毕后断电;最后在调试计算机中用加密后的用户密钥加密应用软件。

S5、烧写应用软件。将嵌入式计算机UART通讯口与调试计算机的RS-422通讯口相连,先解密DSP,后连接仿真器,加载应用软件烧写软件,将加密的应用软件烧写入DSP并行的FLASH存储器,烧写完成后断电。

S6、烧写加密后的最终版FPGA软件。嵌入式计算机供电,将加密后的FPGA软件烧写到FPGA配置FLASH芯片中。

最终版FPGA软件不会再中转JTAG信号,即JTAG信号对外无接口。

此时,嵌入式计算机已完成加密,无法通过读取外部FLASH的方法破解FPGA软件和DSP软件。重新通电后,嵌入式计算机将在加密状态下运行,此后DSP以安全模式运行,用户不能连接仿真器,即不能读取处理器DSP内部各控制寄存器、状态寄存器,也无法读取存储器里面的的指令和数据。

通过以上对地址总线和数据总线的中转和加密以及DSP、FPGA的合理选型,从而实现整个计算机的软硬件协同加密,使得加密方案稳定可靠,能切实有效的保护开发者的知识产权。

如上针对一种实施例描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施例中使用,和/或与其它实施例中的特征相结合或替代其它实施例中的特征使用。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤、组件或其组合的存在或附加。

这些实施例的许多特征和优点根据该详细描述是清楚的,因此所附权利要求旨在覆盖这些实施例的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施例限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

本发明未详细说明部分为本领域技术人员公知技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号