CN110162317B - 一种提高单片机固件升级安全性的单片机结构和方法 - Google Patents
一种提高单片机固件升级安全性的单片机结构和方法 Download PDFInfo
- Publication number
- CN110162317B CN110162317B CN201910263179.2A CN201910263179A CN110162317B CN 110162317 B CN110162317 B CN 110162317B CN 201910263179 A CN201910263179 A CN 201910263179A CN 110162317 B CN110162317 B CN 110162317B
- Authority
- CN
- China
- Prior art keywords
- firmware
- secret key
- decryption
- upgrading
- chip microcomputer
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000005192 partition Methods 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种提高单片机固件升级安全性的单片机结构,包括暂存数据的RAM单元和完成固件升级的ROM单元,ROM单元包括包含解密和加密算法的引导区和进行固件升级的应用区。本发明还提供了一种提高单片机固件升级安全性的方法,包括导入、认证、解密和加载。本发明通过在ROM底层分区固化一段包含解密和加密算法的引导程序,配合加密过的固件升级包,在避免用户错误升级的同时,保护了固件知识产权的安全性。
Description
技术领域
本发明涉及单片机技术领域,尤其涉及一种提高单片机固件升级安全性的单片机结构和方法。
背景技术
现有芯片固件升级的方式主要有两种,一种是通过芯片自带的固件升级,另一种是在固件中分区,固化一段引导程序代码,通过引导程序将新固件加载到ROM中。
第一种方法升级流程和指令都是透明的,芯片固件容易被恶意篡改,用户很容易将不适用于产品的固件错误的更新进芯片,同时,客户在得到固件升级包后可以烧录到任一相同芯片的产品,不利于知识产权的保护。
第二种方法通过个性化的引导程序能有效避免错误的固件升级包更新进入芯片,但客户在得到升级包后,升级包生产厂商同样面临被破解、知识产权遭到损害的风险。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种提高单片机固件升级安全性的单片机结构和方法。
为实现上述目的,本发明提供了一种提高单片机固件升级安全性的单片机结构,包括暂存数据的RAM单元和完成固件升级的ROM单元,所述ROM单元包括包含解密和加密算法的引导区和进行固件升级的应用区。
较佳地,所述应用区包括多个应用分区。
本发明还提供了一种提高单片机固件升级安全性的方法,包括以下步骤:
S1.将加密过的固件升级包导入具有如上所述单片机结构的单片机,该固件升级包前段包含秘钥;
S2.秘钥被加载到RAM单元后,引导区对秘钥进行认证;
S3.当秘钥认证通过时,引导区使用秘钥约定的解密算法对固件升级包中秘钥后面的内容进行解密;
S4.解密完成后,引导区将解密获得的明文加载到应用区,直到加载结束。
较佳地,应用区包括多个应用分区,步骤S4中引导区将解密获得的明文加载到对应的应用分区。
较佳地,步骤S3中解密获得的明文暂存在RAM单元。
与现有技术相比,本发明的有益效果为:通过在ROM底层分区固化一段包含解密和加密算法的引导程序,配合加密过的固件升级包,在避免用户错误升级的同时,保护了固件知识产权的安全性。
附图说明
图1为本发明一实施例的一种提高单片机固件升级安全性的单片机结构的结构示意图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
请参见图1,本发明提供了一种提高单片机固件升级安全性的单片机结构,包括暂存数据的RAM单元1和完成固件升级的ROM单元2,ROM单元2包括包含解密和加密算法的引导区21和进行固件升级的应用区22。
优选地,应用区22包括多个应用分区,以使各应用功能之间有效区分,同时便于固件升级。
本发明还提供了一种提高单片机固件升级安全性的方法,包括以下步骤:
S1.将加密过的固件升级包导入具有如上所述单片机结构的单片机,该固件升级包前段包含秘钥;
S2.秘钥被加载到RAM单元后,引导区对秘钥进行认证;
S3.当秘钥认证通过时,引导区使用秘钥约定的解密算法对固件升级包中秘钥后面的内容进行解密;
S4.解密完成后,引导区将解密获得的明文加载到应用区,直到加载结束。
优选地,应用区包括多个应用分区,步骤S4中引导区将解密获得的明文加载到对应的应用分区。
优选地,步骤S3中解密获得的明文暂存在RAM单元。
由上所述,本发明通过在ROM底层分区固化一段包含解密和加密算法的引导程序,配合加密过的固件升级包,在避免用户错误升级的同时,保护了固件知识产权的安全性。
本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。
Claims (5)
1.一种提高单片机固件升级安全性的单片机结构,其特征在于,包括暂存数据的RAM单元和完成固件升级的ROM单元,所述ROM单元包括包含解密和加密算法的引导区和进行固件升级的应用区,所述RAM单元用于加载加密过的固件升级包的秘钥,所述引导区对所述RAM单元加载的秘钥进行认证,当认证通过时,所述引导区使用所述秘钥约定的解密算法对固件升级包进行解密,解密完成后,所述引导区将解密获得的明文加载到所述应用区。
2.如权利要求1所述的一种提高单片机固件升级安全性的单片机结构,其特征在于,所述应用区包括多个应用分区。
3.一种提高单片机固件升级安全性的方法,其特征在于,包括以下步骤:
S1. 将加密过的固件升级包导入具有如权利要求1或2所述的单片机结构的单片机,所述固件升级包前段包含秘钥;
S2. 秘钥被加载到RAM单元后,引导区对秘钥进行认证;
S3. 当秘钥认证通过时,引导区使用秘钥约定的解密算法对固件升级包中秘钥后面的内容进行解密;
S4. 解密完成后,引导区将解密获得的明文加载到应用区,直到加载结束。
4.如权利要求3所述的一种提高单片机固件升级安全性的方法,其特征在于,所述应用区包括多个应用分区,步骤S4中引导区将解密获得的明文加载到对应的应用分区。
5.如权利要求3所述的一种提高单片机固件升级安全性的方法,其特征在于,步骤S3中解密获得的明文暂存在RAM单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910263179.2A CN110162317B (zh) | 2019-04-02 | 2019-04-02 | 一种提高单片机固件升级安全性的单片机结构和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910263179.2A CN110162317B (zh) | 2019-04-02 | 2019-04-02 | 一种提高单片机固件升级安全性的单片机结构和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162317A CN110162317A (zh) | 2019-08-23 |
CN110162317B true CN110162317B (zh) | 2022-11-18 |
Family
ID=67638836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910263179.2A Active CN110162317B (zh) | 2019-04-02 | 2019-04-02 | 一种提高单片机固件升级安全性的单片机结构和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162317B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442067B1 (en) * | 2000-05-23 | 2002-08-27 | Compaq Information Technologies Group, L.P. | Recovery ROM for array controllers |
CN102201044A (zh) * | 2011-04-08 | 2011-09-28 | 山东华芯半导体有限公司 | 一种usb安全密钥 |
CN102611555A (zh) * | 2011-01-17 | 2012-07-25 | 株式会社理光 | 数据处理设备 |
CN102802036A (zh) * | 2012-07-26 | 2012-11-28 | 深圳创维-Rgb电子有限公司 | 一种数字电视认证的系统及方法 |
CN103279372A (zh) * | 2013-05-23 | 2013-09-04 | 青岛海信宽带多媒体技术有限公司 | 机顶盒软件升级方法及机顶盒 |
CN104573528A (zh) * | 2014-12-31 | 2015-04-29 | 湖南国科微电子有限公司 | 一种防拷贝Soc启动方法及芯片 |
CN105184196A (zh) * | 2015-09-02 | 2015-12-23 | 四川九洲电器集团有限责任公司 | 电子系统信息安全保护系统及方法 |
CN106776133A (zh) * | 2016-12-09 | 2017-05-31 | 浪潮电子信息产业股份有限公司 | 一种操作系统恢复的系统及方法 |
CN107908942A (zh) * | 2017-11-30 | 2018-04-13 | 北京集创北方科技股份有限公司 | 电子设备、显示系统、集成控制装置和生物特征验证方法 |
CN108196867A (zh) * | 2018-03-08 | 2018-06-22 | 深圳市文鼎创数据科技有限公司 | 设备的固件升级装置、设备及其固件升级方法 |
CN108287999A (zh) * | 2017-01-10 | 2018-07-17 | 厦门雅迅网络股份有限公司 | 一种基于TrustZone的系统可信启动方法 |
CN109343873A (zh) * | 2018-08-28 | 2019-02-15 | 九阳股份有限公司 | 一种智能家电远程升级控制方法 |
CN109543435A (zh) * | 2018-11-29 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种fpga加密保护方法、系统及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4302113B2 (ja) * | 2006-03-24 | 2009-07-22 | 三菱電機株式会社 | 車載制御装置 |
US10481900B2 (en) * | 2016-04-11 | 2019-11-19 | Endress+Hauser Conducta Gmbh+Co. Kg | Method for updating a firmware component and device of measurement and control technology |
-
2019
- 2019-04-02 CN CN201910263179.2A patent/CN110162317B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442067B1 (en) * | 2000-05-23 | 2002-08-27 | Compaq Information Technologies Group, L.P. | Recovery ROM for array controllers |
CN102611555A (zh) * | 2011-01-17 | 2012-07-25 | 株式会社理光 | 数据处理设备 |
CN102201044A (zh) * | 2011-04-08 | 2011-09-28 | 山东华芯半导体有限公司 | 一种usb安全密钥 |
CN102802036A (zh) * | 2012-07-26 | 2012-11-28 | 深圳创维-Rgb电子有限公司 | 一种数字电视认证的系统及方法 |
CN103279372A (zh) * | 2013-05-23 | 2013-09-04 | 青岛海信宽带多媒体技术有限公司 | 机顶盒软件升级方法及机顶盒 |
CN104573528A (zh) * | 2014-12-31 | 2015-04-29 | 湖南国科微电子有限公司 | 一种防拷贝Soc启动方法及芯片 |
CN105184196A (zh) * | 2015-09-02 | 2015-12-23 | 四川九洲电器集团有限责任公司 | 电子系统信息安全保护系统及方法 |
CN106776133A (zh) * | 2016-12-09 | 2017-05-31 | 浪潮电子信息产业股份有限公司 | 一种操作系统恢复的系统及方法 |
CN108287999A (zh) * | 2017-01-10 | 2018-07-17 | 厦门雅迅网络股份有限公司 | 一种基于TrustZone的系统可信启动方法 |
CN107908942A (zh) * | 2017-11-30 | 2018-04-13 | 北京集创北方科技股份有限公司 | 电子设备、显示系统、集成控制装置和生物特征验证方法 |
CN108196867A (zh) * | 2018-03-08 | 2018-06-22 | 深圳市文鼎创数据科技有限公司 | 设备的固件升级装置、设备及其固件升级方法 |
CN109343873A (zh) * | 2018-08-28 | 2019-02-15 | 九阳股份有限公司 | 一种智能家电远程升级控制方法 |
CN109543435A (zh) * | 2018-11-29 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种fpga加密保护方法、系统及服务器 |
Non-Patent Citations (2)
Title |
---|
LEO: Low Overhead Encryption GRAM for Non-Volatile Memories;Joydeep Rakshit 等;《IEEE COMPUTER ARCHITECTURE LETTERS》;20180118;第100-104页 * |
基于闪存器的可下载固件方法(下);电子产品世界;《嵌入式系统》;20030331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110162317A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9628277B2 (en) | Methods, systems and apparatus to self authorize platform code | |
US8856553B2 (en) | Managing self-encrypting drives in decentralized environments | |
JP5992457B2 (ja) | オペレーティングシステムのコンフィグレーション値の保護 | |
US8775784B2 (en) | Secure boot up of a computer based on a hardware based root of trust | |
CN101576944B (zh) | 基于可信平台模块的计算机安全启动系统和方法 | |
CN104008342B (zh) | 一种通过bios和内核实现安全可信认证的方法 | |
US20130254906A1 (en) | Hardware and Software Association and Authentication | |
US8839451B1 (en) | Activation and security of software | |
US20110246778A1 (en) | Providing security mechanisms for virtual machine images | |
US20080025503A1 (en) | Security method using self-generated encryption key, and security apparatus using the same | |
KR102030858B1 (ko) | 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법 | |
EP2051181A1 (en) | Information terminal, security device, data protection method, and data protection program | |
KR20090034359A (ko) | 사용자 인증에 기초하여 무결성을 수정하는 방법 및 컴퓨터시스템 | |
US11182469B2 (en) | Application security authentication method, terminal and storage medium | |
CA2925733A1 (en) | Encryption and decryption processing method, apparatus, and device | |
CN105678162B (zh) | 一种基于tpm的操作系统安全启动控制方法 | |
US20170286665A1 (en) | Devices and methods for facilitating software signing by more than one signing authority | |
US20080114685A1 (en) | System and method for preventing unauthorized installation of a software program | |
CN104715208A (zh) | 一种基于tpm芯片的平台完整性校验方法 | |
US10192047B2 (en) | Provisioning of identity information | |
CN110674525A (zh) | 一种电子设备及其文件处理方法 | |
CN110162317B (zh) | 一种提高单片机固件升级安全性的单片机结构和方法 | |
CN114816549B (zh) | 一种保护bootloader及其环境变量的方法及系统 | |
CN115509587B (zh) | 固件升级方法、装置、电子设备及计算机可读存储介质 | |
TWI675340B (zh) | 程式驗證方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |