一种基于CPLD的嵌入式软件加密防护系统的制作方法

文档序号:32573859发布日期:2022-12-17 09:26阅读:33来源:国知局
一种基于CPLD的嵌入式软件加密防护系统的制作方法
一种基于cpld的嵌入式软件加密防护系统
技术领域
1.本实用新型涉及嵌入式处理器、控制、安全防护、密码技术领域,尤其涉及一种基于cpld的嵌入式软件加密防护系统。


背景技术:

2.通常在嵌入式系统中(arm、dsp、单片机等),嵌入式软件存储在存储器中,若存储的嵌入式软件不进行加密,极易被获取并破解,导致核心设计和关键技术被窃取,威胁软件开发者的合法权益。
3.目前,为了防止未经授权访问或拷贝嵌入式软件,一般采用的安全保护方法包括以下几种方式:1、芯片打磨,隐藏芯片的型号信息;2、机械方法防拷贝,采用加固装置等进行物理防护;3、用掩膜rom存储嵌入软件;4、使用加密芯片实施加密;5、通过嵌入式芯片的器件唯一识别号作为运算密码对嵌入式软件进行加密。
4.方式1过于简单,对熟悉芯片的解密人员不起作用;方式2比较简单,但容易破解且使用场景受限;方式3价格比较高,且无法支持后续软件代码升级;方式4需要增加额外的成本,加密较为复杂,不利于软件升级;方式5安全性较低;这些措施都存在一定的缺陷,不适合用于保密存储的嵌入式软件。


技术实现要素:

5.本实用新型的目的在于提供一种基于cpld的嵌入式软件加密防护系统,解决了这些措施都存在一定的缺陷,不适合用于保密存储的嵌入式软件的问题。
6.为实现上述目的,本实用新型提供了一种基于cpld的嵌入式软件加密防护系统,包括cpld本体和加密组件,所述cpld本体利用存储的密钥、注册id信息和提取的自身id,为软件启动提供启动解密二进制文件的密钥,及启动认证过程所需要的芯片id和注册id信息;所述加密组件包括注册授权加密服务器、cpu、外置flash、注册接口、认证接口、加载接口和烧录接口;所述注册授权加密服务器通过所述注册接口和所述cpld本体相连,所述的cpu通过所述认证接口和所述cpld本体相连,所述的cpu通过所述加载接口与所述外置flash相连;所述外置flash通过所述烧录接口和所述注册授权加密服务器相连;所述注册授权加密服务器,运行注册授权软件和二进制文件加密软件,产生注册授权信息、密文二进制文件和密钥;所述cpu通过所述加载接口从所述外置flash获取启动的密文二进制文件,通过所述认证接口从所述cpld本体获得认证信息和密钥;所述注册授权加密服务器通过所述注册接口将注册授权信息和密钥发送到cpld存储;将密文二进制文件通过烧录接口烧录到flash中。
7.其中,所述cpld本体包括注册信息管理模块和内置flash,所述注册信息管理模块将注册信息、密钥存储到所述内置flash中,并在开机时读取。
8.其中,所述cpld本体还包括id提取模块,所述id提取模块提取所述cpld本体的id信息。
9.其中,所述cpu包括认证管理和解密模块;所述认证管理用于开机认证;所述解密模块用于解密密文二进制文件。
10.其中,所述cpu还包括启动控制,所述启动控制用于判断认证和解密状态,控制cpu软件启动。
11.本实用新型的一种基于cpld的嵌入式软件加密防护系统,包括cpld本体和加密组件,所述cpld本体利用存储的密钥、注册id信息和提取的自身id,为软件启动提供启动解密二进制文件的密钥,及启动认证过程所需要的芯片id和注册id信息;所述加密组件包括注册授权加密服务器、cpu、外置flash、注册接口、认证接口、加载接口和烧录接口;所述注册授权加密服务器通过所述注册接口和所述cpld本体相连,所述的cpu通过所述认证接口和所述cpld本体相连,所述的cpu通过所述加载接口与所述外置flash相连;所述外置flash通过所述烧录接口和所述注册授权加密服务器相连;所述注册授权加密服务器,运行注册授权软件和二进制文件加密软件,产生注册授权信息、密文二进制文件和密钥;所述cpu通过所述加载接口从所述外置flash获取启动的密文二进制文件,通过所述认证接口从所述cpld本体获得认证信息和密钥;所述注册授权加密服务器通过所述注册接口将注册授权信息和密钥发送到cpld存储;将密文二进制文件通过烧录接口烧录到flash中;通过专用加密算法对软件二进制文件进行加密,通过id(芯片唯一识别码)进行注册,启动过程对软件二进制文件进行解密,运行过程对id进行认证;保证嵌入式软件在解密失败或认证失败时不可使用,防止被恶意拷贝和移植,从而解决了这些措施都存在一定的缺陷,不适合用于保密存储的嵌入式软件的问题。
附图说明
12.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
13.图1是本实用新型第一实施例的硬件连接图。
14.图2-图4是本实用新型第一实施例的cpu和flash模块电路图。
15.图5是本实用新型第一实施例的cpld模块电路图。
16.图6是本实用新型第一实施例的注册授权加密流程框图。
17.图7是本实用新型第一实施例的开机认证的流程框图。
18.图8是本实用新型第一实施例的启动解密流程框图。
19.101-cpld本体、102-注册授权加密服务器、103-cpu、104-外置flash、105-注册接口、106-认证接口、107-加载接口、108-烧录接口、109-注册信息管理模块、110-内置flash、111-id提取模块、112-认证管理、113-解密模块、114-启动控制。
具体实施方式
20.下面详细描述本实用新型的实施例,所述实施例的示例在附图中示出,下面通过参考附图描述的实施例是示例性的,旨在用于解释本实用新型,而不能理解为对本实用新型的限制。
21.本技术第一实施例为:
22.请参阅图1-图8,图1是本实用新型第一实施例的硬件连接图;图2-图4是本实用新
型第一实施例的cpu103和flash模块电路图;图5是本实用新型第一实施例的cpld模块电路图;图6是本实用新型第一实施例的注册授权加密流程框图;图7是本实用新型第一实施例的开机认证的流程框图;图8是本实用新型第一实施例的启动解密流程框图;本实用新型提供了一种基于cpld的嵌入式软件加密防护系统,包括cpld本体101和加密组件,所述加密组件包括注册授权加密服务器102、cpu103、外置flash104、注册接口105、认证接口106、加载接口107和烧录接口108;所述cpld本体101包括注册信息管理模块109、内置flash110和id提取模块111,所述cpu103包括认证管理112、解密模块113和启动控制114;所述cpu103型号是at91rm9200;所述外置flash104型号为s29gl256n90tfir10。
23.在本具体实施方式中,所述cpld本体101利用存储的密钥、注册id信息和提取的自身id,为软件启动提供启动解密二进制文件的密钥,及启动认证过程所需要的芯片id和注册id信息。
24.其中,所述注册授权加密服务器102通过所述注册接口105和所述cpld本体101相连,所述的cpu103通过所述认证接口106和所述cpld本体101相连,所述的cpu103通过所述加载接口107与所述外置flash104相连;所述外置flash104通过所述烧录接口108和所述注册授权加密服务器102相连;所述注册授权加密服务器102,运行注册授权软件和二进制文件加密软件,产生注册授权信息、密文二进制文件和密钥;所述cpu103通过所述加载接口107从所述外置flash104获取启动的密文二进制文件,通过所述认证接口106从所述cpld本体101获得认证信息和密钥;所述注册授权加密服务器102通过所述注册接口105将注册授权信息和密钥发送到cpld存储;将密文二进制文件通过烧录接口108烧录到flash中;通过专用加密算法对软件二进制文件进行加密,通过id(芯片唯一识别码)进行注册,启动过程对软件二进制文件进行解密,运行过程对id进行认证;保证嵌入式软件在解密失败或认证失败时不可使用,防止被恶意拷贝和移植,从而解决了这些措施都存在一定的缺陷,不适合用于保密存储的嵌入式软件的问题。
25.其次,所述注册信息管理模块109将注册信息、密钥存储到所述内置flash110中,并在开机时读取。
26.再次,所述id提取模块111用于提取所述cpld本体101的id信息。
27.然后,所述认证管理112用于开机认证;所述解密模块113用于解密密文二进制文件。
28.最后,所述启动控制114用于判断认证和解密状态,控制cpu103软件启动。
29.在使用所述一种基于cpld的嵌入式软件加密防护系统进行保密时,所述cpu103通过地址总线(cpu103_a)、数据总线(cpu103_d)、读写信号(noenwe)和片选信号(cs)与所述外置flash104、所述cpld本体101连接,读写信号和片选信号主要用于控制,实现对所述外置flash104或所述cpld本体101的操作;所述cpld本体101可以选用lattice公司的lc4256v-75t100i;另外,为了保证安全性,所述注册授权加密服务器102采用专人管理和注册授权、密钥严格管控。所述注册授权加密服务器102用于提取所述cpld本体101的id(identity document)信息,并控制实现注册和授权过程,进行二进制文件加密产生密文二进制文件;基于上述的硬件模块,本发明的一种基于cpld的嵌入式软件加密防护系统,包括注册授权加密、开机认证和启动解密3个部分:
30.1、注册授权加密
31.所述注册认证加密服务器的加密软件和密钥,对嵌入软件的二进制文件进行加密运算,生成密文二进制文件,密文二进制文件烧录到所述cpu103的所述外置flash104(型号s29gl256n90)中。
32.所述注册认证加密服务器通过运行注册信息生成软件,获取所述cpld本体101的id信息,将id信息和加密软件生成的密钥通过注册管理写入所述cpld本体101的所述内置flash110中。
33.2、开机认证
34.开机后,开始运行id信息认证,通过所述认证接口106,获取注册在所述cpld本体101内所述内置flash中的id信息,同时获取当前所述cpld本体101的id信息,进行id信息一致性比对,如果信息不一致,则认证失败,停止启动流程;信息一致,则认证成功,运行启动引导程序。
35.3、启动解密
36.开机后,所述cpu103从所述外置flash104中读取密文二进制文件,等待开机认证结果,如果认证失败则退出启动程序,如果认证成功开始从所述cpld本体101读取密钥,对密文二进制文件进行解密,解密完成后,通过明文二进制文件判断密钥是否正确,如果不正确,则停止启动程序。如果正确则运行引导程序,启动所述cpu103软件。
37.以上所揭露的仅为本实用新型的一种较佳实施例而已,当然不能以此来限定本实用新型之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本实用新型权利要求所作的等同变化,仍属于实用新型所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1