一种嵌入式系统的加密方法

文档序号:6636338阅读:628来源:国知局
一种嵌入式系统的加密方法
【专利摘要】一种嵌入式系统的加密方法,所述嵌入式系统的加密方法包括:嵌入式系统上电初始化后,中央处理器获取相应的产品信息;对获取到的产品信息进行加密运算以得出加密结果;将所述加密结果与嵌入式系统中预存的加密信息进行比较;当所述加密结果与所述加密信息相符时,嵌入式系统正常运行。本发明的加密方法不需要一直运行加密程序,因此可以避免现有技术中因为加密程序而导致系统无法运行的问题,此外,该加密方法方便简单,运行效率高,而且还有效地降低了成本。
【专利说明】一种嵌入式系统的加密方法

【技术领域】
[0001]本发明涉及嵌入式【技术领域】,特别涉及一种嵌入式系统的加密方法。

【背景技术】
[0002]通信市场很多厂家为了降低研发成本,经常采用在市场购买成品板,通过PCB抄板,软件反编译的方式来抄袭其它公司的产品,严重损害公司的利益。
[0003]为了达到防止产品被拷贝,不同厂家采用不同的方式去实现,常规的实现方式有三类:软件加密,硬件加密,加密芯片加密。软件加密过程中需要耗用一定的中央处理器的处理资源,硬件加密的方式保密性不是非常好,加密芯片的方式价格比较贵而且不容易量产控制。
[0004]目前市场中有的厂家采用通过在中央处理器和Flash的总线上增加一个FPGA的加密系统的方式来实现整个系统的加密运行。在这种设计中所有程序在运行的过程中都需要加密程序的运行,当产品在意外断电时,对产品中运行的加密程序没有加密完成,可能会造成产品的不能再次启动。
[0005]因此,如何合理有效地对产品进行加密就成为本领域技术人员亟待解决的问题之
O


【发明内容】

[0006]本发明解决的是现有技术中对产品加密的过程比较复杂的问题。
[0007]为解决上述问题,本发明提供一种嵌入式系统的加密方法,包括:
[0008]嵌入式系统上电初始化后,中央处理器获取相应的产品信息;
[0009]对获取到的产品信息进行加密运算以得出加密结果;
[0010]将所述加密结果与嵌入式系统中预存的加密信息进行比较;
[0011]当所述加密结果与所述加密信息相符时,嵌入式系统正常运行。
[0012]可选的,所述嵌入式系统的加密方法还包括:当所述加密结果与所述加密信息不相符时,嵌入式系统的中央处理器挂起。
[0013]可选的,所述中央处理器获取的产品信息为产品的MAC地址。
[0014]可选的,所述嵌入式系统中预存的加密信息的生成过程包括:在产品出厂时,通过接口将产品对应的检验码输入至FPGA ;FPGA对输入的检验码进行加密运算;将加密运算后的结果作为预存的加密信息存储至寄存器中。
[0015]可选的,所述检验码与产品的MAC地址相关。
[0016]可选的,所述FPGA对输入的检验码进行加密运算的过程包括:
[0017]FPGA获取其外围电路的随机数码;
[0018]FPGA以所述检验码作为基数,结合获取到的随机数码进行加密运算。
[0019]与现有技术相比,本发明的技术方案具有以下优点:
[0020]本发明技术方案中,嵌入式系统的中央处理器通过获取产品信息来进行加密运算,当得出的加密结果与预存的加密信息相符时,嵌入式系统正常运行。本发明中,只需要在初始化后进行验证,在验证通过后不需要再进行加密程序的处理,本发明的方法简单方便,提高效率,并且不需要额外增加加密芯片,降低了成本。

【专利附图】

【附图说明】
[0021]图1是本发明嵌入式系统的加密方法的流程示意图;
[0022]图2是本发明嵌入式系统的加密方法的具体实施例的示意图。

【具体实施方式】
[0023]正如【背景技术】中所述的,现有的一种加密方案中,所有程序在运行的过程中都需要在加密程序的运行,这样当产品在意外断电时,可能对产品中运行的加密程序没有加密完成,从而造成产品的不能再次启动的问题。
[0024]本发明提供了一种嵌入式系统的加密方法,该方法只是针对中央处理器启动初始时,通过校验本身的通过加密算法的数值和FPGA加密算后的值做比较,正常运行后和加密程序没有关系,所以不会出现因为加密程序造成系统不能存储和启动的几率。
[0025]为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0026]图1示出了本发明嵌入式系统的加密方法的流程示意图。参考图1,所述嵌入式系统的加密方法包括以下步骤:
[0027]步骤S1、嵌入式系统上电初始化后,中央处理器获取相应的产品信息;在具体实施例中,所述中央处理器获取的产品信息为产品的MAC地址。
[0028]步骤S2、对获取到的产品信息进行加密运算以得出加密结果;
[0029]步骤S3、将所述加密结果与嵌入式系统中预存的加密信息进行比较;
[0030]在本实施例中,所述嵌入式系统中预存的加密信息的生成过程包括:在产品出厂时,通过接口将产品对应的检验码输入至FPGA ;FPGA对输入的检验码进行加密运算;将加密运算后的结果作为预存的加密信息存储至寄存器中。
[0031]所述检验码与产品的MAC地址相关。比如说,将产品的MAC地址的前两位作为检验码。由于MAC地址都是按照既定规则进行编码的,所以MAC地址是唯一的,而且在批量购买时,通常可以选择按照顺序排列多个MAC地址。因此,在批量的MAC地址中,可以将MAC地址中的某几位作为检验码来进行加密运算,从而简化运算过程,提高加密效率。
[0032]步骤S4、当所述加密结果与所述加密信息相符时,嵌入式系统正常运行。
[0033]在具体实施例中,所述嵌入式系统的加密方法还包括:当所述加密结果与所述加密信息不相符时,嵌入式系统的中央处理器挂起。
[0034]在其他实施例中,所述FPGA对输入的检验码进行加密运算的过程还可以包括:FPGA获取其外围电路的随机数码;FPGA以所述检验码作为基数,结合获取到的随机数码进行加密运算。
[0035]通过检验码与随机数码的两个数值进行加密后,可以有效地提高安全性。
[0036]本发明采用FPGA和硬件相结合的方式对中央处理器的启动程序加密,产品出厂前通过接口对FPGA设定好的寄存器位写入特定的值(检验码),FPGA通过给定的值结合外围硬件的接口信息做相关逻辑算法计算后获得一个加密的值,中央处理器的SPI接口会通过读写获得本产品的MAC地址,MAC地址通过和FPGA类似算法计算后获得一个加密值,将FPGA加密值和中央处理器计算的加密值相比较,如果两个加密后的值相同则程序继续运行,如果加密后值不同则中央处理器挂起。
[0037]图2示出了本发明嵌入式系统的加密方法的具体实现方式的示意图。
[0038]参考图2,本发明的嵌入式系统的加密方法中,嵌入式系统中中央处理器在上电后对整个系统做初始化,本设计要求系统程序在做完最基本的初始化后获取系统处理器的MAC地址,通过给定的算法对MAC地址做加密运算。产品在出厂前通过接口把产品对应的加密的校验码输入到FPGA的,FPGA以输入的校验码作为基数结合FPGA的外围电路的设定随机数码,通过预先设定的算法对两个数字做加密计算,计算后的结果存储在FPGA的指定的寄存器中。中央处理器完成自身有关MAC的加密运算后通过相关接口获取FPGA中的加密计算结果并和自己获得的加密结果做比较,如果两个结果相同则判定为产品为合法的运行程序继续加载系统文件实现产品的软件功能,如果两个加密结果不同则判定为非法的运行程序中央处理器将挂起,整个系统不能正常运行。
[0039]虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
【权利要求】
1.一种嵌入式系统的加密方法,其特征在于,包括: 嵌入式系统上电初始化后,中央处理器获取相应的产品信息; 对获取到的产品信息进行加密运算以得出加密结果; 将所述加密结果与嵌入式系统中预存的加密信息进行比较; 当所述加密结果与所述加密信息相符时,嵌入式系统正常运行。
2.如权利要求1所述的嵌入式系统的加密方法,其特征在于,还包括:当所述加密结果与所述加密信息不相符时,嵌入式系统的中央处理器挂起。
3.如权利要求1所述的嵌入式系统的加密方法,其特征在于,所述中央处理器获取的产品信息为产品的MAC地址。
4.如权利要求1所述的嵌入式系统的加密方法,其特征在于,所述嵌入式系统中预存的加密信息的生成过程包括: 在产品出厂时,通过接口将产品对应的检验码输入至FPGA ; FPGA对输入的检验码进行加密运算; 将加密运算后的结果作为预存的加密信息存储至寄存器中。
5.如权利要求4所述的嵌入式系统的加密方法,其特征在于,所述检验码与产品的MAC地址相关。
6.如权利要求4所述的嵌入式系统的加密方法,其特征在于,所述FPGA对输入的检验码进行加密运算的过程包括: FPGA获取其外围电路的随机数码; FPGA以所述检验码作为基数,结合获取到的随机数码进行加密运算。
【文档编号】G06F21/12GK104331646SQ201410706186
【公开日】2015年2月4日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】陈奎 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1