CN104331646A - 一种嵌入式系统的加密方法 - Google Patents
一种嵌入式系统的加密方法 Download PDFInfo
- Publication number
- CN104331646A CN104331646A CN201410706186.2A CN201410706186A CN104331646A CN 104331646 A CN104331646 A CN 104331646A CN 201410706186 A CN201410706186 A CN 201410706186A CN 104331646 A CN104331646 A CN 104331646A
- Authority
- CN
- China
- Prior art keywords
- embedded system
- encryption
- encryption method
- encrypted
- product
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Storage Device Security (AREA)
Abstract
一种嵌入式系统的加密方法,所述嵌入式系统的加密方法包括:嵌入式系统上电初始化后,中央处理器获取相应的产品信息;对获取到的产品信息进行加密运算以得出加密结果;将所述加密结果与嵌入式系统中预存的加密信息进行比较;当所述加密结果与所述加密信息相符时,嵌入式系统正常运行。本发明的加密方法不需要一直运行加密程序,因此可以避免现有技术中因为加密程序而导致系统无法运行的问题,此外,该加密方法方便简单,运行效率高,而且还有效地降低了成本。
Description
技术领域
本发明涉及嵌入式技术领域,特别涉及一种嵌入式系统的加密方法。
背景技术
通信市场很多厂家为了降低研发成本,经常采用在市场购买成品板,通过PCB抄板,软件反编译的方式来抄袭其它公司的产品,严重损害公司的利益。
为了达到防止产品被拷贝,不同厂家采用不同的方式去实现,常规的实现方式有三类:软件加密,硬件加密,加密芯片加密。软件加密过程中需要耗用一定的中央处理器的处理资源,硬件加密的方式保密性不是非常好,加密芯片的方式价格比较贵而且不容易量产控制。
目前市场中有的厂家采用通过在中央处理器和Flash的总线上增加一个FPGA的加密系统的方式来实现整个系统的加密运行。在这种设计中所有程序在运行的过程中都需要加密程序的运行,当产品在意外断电时,对产品中运行的加密程序没有加密完成,可能会造成产品的不能再次启动。
因此,如何合理有效地对产品进行加密就成为本领域技术人员亟待解决的问题之一。
发明内容
本发明解决的是现有技术中对产品加密的过程比较复杂的问题。
为解决上述问题,本发明提供一种嵌入式系统的加密方法,包括:
嵌入式系统上电初始化后,中央处理器获取相应的产品信息;
对获取到的产品信息进行加密运算以得出加密结果;
将所述加密结果与嵌入式系统中预存的加密信息进行比较;
当所述加密结果与所述加密信息相符时,嵌入式系统正常运行。
可选的,所述嵌入式系统的加密方法还包括:当所述加密结果与所述加密信息不相符时,嵌入式系统的中央处理器挂起。
可选的,所述中央处理器获取的产品信息为产品的MAC地址。
可选的,所述嵌入式系统中预存的加密信息的生成过程包括:在产品出厂时,通过接口将产品对应的检验码输入至FPGA;FPGA对输入的检验码进行加密运算;将加密运算后的结果作为预存的加密信息存储至寄存器中。
可选的,所述检验码与产品的MAC地址相关。
可选的,所述FPGA对输入的检验码进行加密运算的过程包括:
FPGA获取其外围电路的随机数码;
FPGA以所述检验码作为基数,结合获取到的随机数码进行加密运算。
与现有技术相比,本发明的技术方案具有以下优点:
本发明技术方案中,嵌入式系统的中央处理器通过获取产品信息来进行加密运算,当得出的加密结果与预存的加密信息相符时,嵌入式系统正常运行。本发明中,只需要在初始化后进行验证,在验证通过后不需要再进行加密程序的处理,本发明的方法简单方便,提高效率,并且不需要额外增加加密芯片,降低了成本。
附图说明
图1是本发明嵌入式系统的加密方法的流程示意图;
图2是本发明嵌入式系统的加密方法的具体实施例的示意图。
具体实施方式
正如背景技术中所述的,现有的一种加密方案中,所有程序在运行的过程中都需要在加密程序的运行,这样当产品在意外断电时,可能对产品中运行的加密程序没有加密完成,从而造成产品的不能再次启动的问题。
本发明提供了一种嵌入式系统的加密方法,该方法只是针对中央处理器启动初始时,通过校验本身的通过加密算法的数值和FPGA加密算后的值做比较,正常运行后和加密程序没有关系,所以不会出现因为加密程序造成系统不能存储和启动的几率。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1示出了本发明嵌入式系统的加密方法的流程示意图。参考图1,所述嵌入式系统的加密方法包括以下步骤:
步骤S1、嵌入式系统上电初始化后,中央处理器获取相应的产品信息;在具体实施例中,所述中央处理器获取的产品信息为产品的MAC地址。
步骤S2、对获取到的产品信息进行加密运算以得出加密结果;
步骤S3、将所述加密结果与嵌入式系统中预存的加密信息进行比较;
在本实施例中,所述嵌入式系统中预存的加密信息的生成过程包括:在产品出厂时,通过接口将产品对应的检验码输入至FPGA;FPGA对输入的检验码进行加密运算;将加密运算后的结果作为预存的加密信息存储至寄存器中。
所述检验码与产品的MAC地址相关。比如说,将产品的MAC地址的前两位作为检验码。由于MAC地址都是按照既定规则进行编码的,所以MAC地址是唯一的,而且在批量购买时,通常可以选择按照顺序排列多个MAC地址。因此,在批量的MAC地址中,可以将MAC地址中的某几位作为检验码来进行加密运算,从而简化运算过程,提高加密效率。
步骤S4、当所述加密结果与所述加密信息相符时,嵌入式系统正常运行。
在具体实施例中,所述嵌入式系统的加密方法还包括:当所述加密结果与所述加密信息不相符时,嵌入式系统的中央处理器挂起。
在其他实施例中,所述FPGA对输入的检验码进行加密运算的过程还可以包括:FPGA获取其外围电路的随机数码;FPGA以所述检验码作为基数,结合获取到的随机数码进行加密运算。
通过检验码与随机数码的两个数值进行加密后,可以有效地提高安全性。
本发明采用FPGA和硬件相结合的方式对中央处理器的启动程序加密,产品出厂前通过接口对FPGA设定好的寄存器位写入特定的值(检验码),FPGA通过给定的值结合外围硬件的接口信息做相关逻辑算法计算后获得一个加密的值,中央处理器的SPI接口会通过读写获得本产品的MAC地址,MAC地址通过和FPGA类似算法计算后获得一个加密值,将FPGA加密值和中央处理器计算的加密值相比较,如果两个加密后的值相同则程序继续运行,如果加密后值不同则中央处理器挂起。
图2示出了本发明嵌入式系统的加密方法的具体实现方式的示意图。
参考图2,本发明的嵌入式系统的加密方法中,嵌入式系统中中央处理器在上电后对整个系统做初始化,本设计要求系统程序在做完最基本的初始化后获取系统处理器的MAC地址,通过给定的算法对MAC地址做加密运算。产品在出厂前通过接口把产品对应的加密的校验码输入到FPGA的,FPGA以输入的校验码作为基数结合FPGA的外围电路的设定随机数码,通过预先设定的算法对两个数字做加密计算,计算后的结果存储在FPGA的指定的寄存器中。中央处理器完成自身有关MAC的加密运算后通过相关接口获取FPGA中的加密计算结果并和自己获得的加密结果做比较,如果两个结果相同则判定为产品为合法的运行程序继续加载系统文件实现产品的软件功能,如果两个加密结果不同则判定为非法的运行程序中央处理器将挂起,整个系统不能正常运行。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (6)
1.一种嵌入式系统的加密方法,其特征在于,包括:
嵌入式系统上电初始化后,中央处理器获取相应的产品信息;
对获取到的产品信息进行加密运算以得出加密结果;
将所述加密结果与嵌入式系统中预存的加密信息进行比较;
当所述加密结果与所述加密信息相符时,嵌入式系统正常运行。
2.如权利要求1所述的嵌入式系统的加密方法,其特征在于,还包括:当所述加密结果与所述加密信息不相符时,嵌入式系统的中央处理器挂起。
3.如权利要求1所述的嵌入式系统的加密方法,其特征在于,所述中央处理器获取的产品信息为产品的MAC地址。
4.如权利要求1所述的嵌入式系统的加密方法,其特征在于,所述嵌入式系统中预存的加密信息的生成过程包括:
在产品出厂时,通过接口将产品对应的检验码输入至FPGA;
FPGA对输入的检验码进行加密运算;
将加密运算后的结果作为预存的加密信息存储至寄存器中。
5.如权利要求4所述的嵌入式系统的加密方法,其特征在于,所述检验码与产品的MAC地址相关。
6.如权利要求4所述的嵌入式系统的加密方法,其特征在于,所述FPGA对输入的检验码进行加密运算的过程包括:
FPGA获取其外围电路的随机数码;
FPGA以所述检验码作为基数,结合获取到的随机数码进行加密运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410706186.2A CN104331646A (zh) | 2014-11-27 | 2014-11-27 | 一种嵌入式系统的加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410706186.2A CN104331646A (zh) | 2014-11-27 | 2014-11-27 | 一种嵌入式系统的加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104331646A true CN104331646A (zh) | 2015-02-04 |
Family
ID=52406369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410706186.2A Pending CN104331646A (zh) | 2014-11-27 | 2014-11-27 | 一种嵌入式系统的加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104331646A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765987A (zh) * | 2015-04-17 | 2015-07-08 | 深圳市西迪特科技有限公司 | 嵌入式设备软件加密的系统及方法 |
CN104778383A (zh) * | 2015-04-17 | 2015-07-15 | 浪潮电子信息产业股份有限公司 | 一种基于国产处理器刀片服务器管理子卡的硬件加密方法 |
CN104966003A (zh) * | 2015-06-12 | 2015-10-07 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
CN106355050A (zh) * | 2016-08-25 | 2017-01-25 | 睿芯信息科技(上海)有限公司 | 一种利用fuse保护固件的方法 |
CN107967413A (zh) * | 2017-11-28 | 2018-04-27 | 深圳进化动力数码科技有限公司 | 软件加密方法及装置 |
CN109543423A (zh) * | 2018-11-05 | 2019-03-29 | 上海新时达电气股份有限公司 | 控制板加密和解密方式、终端设备及计算机可读存储介质 |
CN109902452A (zh) * | 2018-11-01 | 2019-06-18 | 北京旷视科技有限公司 | Fpga授权验证方法、装置及处理设备 |
CN111191196A (zh) * | 2020-01-02 | 2020-05-22 | 日立楼宇技术(广州)有限公司 | 嵌入式程序运行方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155990A1 (en) * | 2003-06-30 | 2006-07-13 | Sony Corporation | Device authentication information installation system |
CN101741562A (zh) * | 2008-11-25 | 2010-06-16 | 中国联合网络通信集团有限公司 | 嵌入式设备的软件安装方法、装置和系统 |
CN102982264A (zh) * | 2012-12-24 | 2013-03-20 | 上海斐讯数据通信技术有限公司 | 一种嵌入式设备软件保护方法 |
-
2014
- 2014-11-27 CN CN201410706186.2A patent/CN104331646A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155990A1 (en) * | 2003-06-30 | 2006-07-13 | Sony Corporation | Device authentication information installation system |
CN101741562A (zh) * | 2008-11-25 | 2010-06-16 | 中国联合网络通信集团有限公司 | 嵌入式设备的软件安装方法、装置和系统 |
CN102982264A (zh) * | 2012-12-24 | 2013-03-20 | 上海斐讯数据通信技术有限公司 | 一种嵌入式设备软件保护方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765987A (zh) * | 2015-04-17 | 2015-07-08 | 深圳市西迪特科技有限公司 | 嵌入式设备软件加密的系统及方法 |
CN104778383A (zh) * | 2015-04-17 | 2015-07-15 | 浪潮电子信息产业股份有限公司 | 一种基于国产处理器刀片服务器管理子卡的硬件加密方法 |
CN104966003A (zh) * | 2015-06-12 | 2015-10-07 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
CN104966003B (zh) * | 2015-06-12 | 2018-02-06 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
CN106355050A (zh) * | 2016-08-25 | 2017-01-25 | 睿芯信息科技(上海)有限公司 | 一种利用fuse保护固件的方法 |
CN107967413A (zh) * | 2017-11-28 | 2018-04-27 | 深圳进化动力数码科技有限公司 | 软件加密方法及装置 |
CN109902452A (zh) * | 2018-11-01 | 2019-06-18 | 北京旷视科技有限公司 | Fpga授权验证方法、装置及处理设备 |
CN109543423A (zh) * | 2018-11-05 | 2019-03-29 | 上海新时达电气股份有限公司 | 控制板加密和解密方式、终端设备及计算机可读存储介质 |
CN109543423B (zh) * | 2018-11-05 | 2021-07-23 | 上海新时达电气股份有限公司 | 控制板加密和解密方式、终端设备及计算机可读存储介质 |
CN111191196A (zh) * | 2020-01-02 | 2020-05-22 | 日立楼宇技术(广州)有限公司 | 嵌入式程序运行方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104331646A (zh) | 一种嵌入式系统的加密方法 | |
US10091000B2 (en) | Techniques for distributing secret shares | |
US9749141B2 (en) | Secure boot devices, systems, and methods | |
CN108898005B (zh) | 一种硬盘识别的方法、系统、设备及计算机可读存储介质 | |
WO2017133559A1 (zh) | 安全启动方法及装置 | |
CN105450620A (zh) | 一种信息处理方法及装置 | |
US11228421B1 (en) | Secure secrets to mitigate against attacks on cryptographic systems | |
WO2016154496A1 (en) | Challenge response authentication for self encrypting drives | |
CN105095097B (zh) | 随机化的存储器访问 | |
CN107704730B (zh) | 一种电子设备内嵌软件自加密方法 | |
CN110555309A (zh) | 启动方法、装置、终端以及计算机可读存储介质 | |
CN113709115B (zh) | 认证方法及装置 | |
CN111177693A (zh) | 一种验证终端根证书的方法、装置、设备和介质 | |
CN111628863B (zh) | 一种数据签名的方法、装置、电子设备及存储介质 | |
US9590810B2 (en) | Device security | |
CN104023009B (zh) | 一种Web系统许可证验证方法 | |
CN106355077B (zh) | 认证应用处理器的显示驱动器集成电路和移动装置 | |
WO2018033017A1 (zh) | 一种授信的终端状态转换方法和系统 | |
CN114499859A (zh) | 密码验证方法、装置、设备及存储介质 | |
US10242175B2 (en) | Method and system for authentication of a storage device | |
CN109150813B (zh) | 一种设备的验证方法及装置 | |
CN110990846B (zh) | 信息存储方法、设备及计算机可读存储介质 | |
CN117708794A (zh) | 设备授权方法和设备授权装置 | |
CN107391970B (zh) | Flash应用程序中的函数访问控制方法及装置 | |
CN105574429A (zh) | 一种文件数据加解密处理的方法、装置以及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20190719 |