CN102280133A - 一种抗截获的代码加密烧录方式 - Google Patents

一种抗截获的代码加密烧录方式 Download PDF

Info

Publication number
CN102280133A
CN102280133A CN2011102336117A CN201110233611A CN102280133A CN 102280133 A CN102280133 A CN 102280133A CN 2011102336117 A CN2011102336117 A CN 2011102336117A CN 201110233611 A CN201110233611 A CN 201110233611A CN 102280133 A CN102280133 A CN 102280133A
Authority
CN
China
Prior art keywords
burning
code
key
code1
ciphertext
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
Application number
CN2011102336117A
Other languages
English (en)
Inventor
黄权
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HANGZHOU SHENGYUAN CHIP TECHNIQUE CO Ltd
Original Assignee
HANGZHOU SHENGYUAN CHIP TECHNIQUE CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HANGZHOU SHENGYUAN CHIP TECHNIQUE CO Ltd filed Critical HANGZHOU SHENGYUAN CHIP TECHNIQUE CO Ltd
Priority to CN2011102336117A priority Critical patent/CN102280133A/zh
Publication of CN102280133A publication Critical patent/CN102280133A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种抗截获的代码加密烧录方式,具体步骤如下:被烧录芯片以内置厂商码Num、刚生成的随机数X为种子,通过运算生成烧录代码密文Code1的解密密钥Key;以厂商码Num、随机数X为种子,通过运算生成烧录代码Code0的加密密钥Key,随机数X+厂商码Num=密钥Key;PC机的烧录工具通过加解密算法把烧录代码Code0转换成密文Code1,由密文Code1生成完整性校验值CalibNum;被烧录芯片结合收到的完整性校验值CalibNum,校验密文Code1的完整性,被烧录芯片通过引导代码,解密密文Code1为烧录代码Code0,写入芯片代码存储介质。本发明有益的效果是:每次烧录时烧录代码的密文不一样,可以防止截取烧录。烧录代码集成于烧录工具,防止通过拷贝软件就可以组建相同烧录工具。

Description

一种抗截获的代码加密烧录方式
技术领域
本发明涉及MCU、MPU、DSP、ARM等嵌入时编程芯片的应用领域,尤其是一种抗截获的代码加密烧录方式。
背景技术
ISP(In-System Programming)在***可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。
ISP的出现大大方便了代码的在线烧录,不过正因为其实现的方便性恰恰带来了烧录代码泄露的隐患。为了解决该问题,就产生了如图1第一部分所示的密文烧录。
步骤一、PC软件通过DES/3DES、AES、SM1等加解密算法把烧录代码Code0转换成密文Code1。
步骤二、PC工具通过ISP驱动把密文(Code1)传递给待烧录芯片。
步骤三、待烧录芯片通过同样的加解密算法把接受到的密文(Code1)解密成烧录代码(Code0)存储于FLASH,烧录完成。
一个电子产品到达消费者手上存在着诸多环节,如:设计、生产、测试、销售等。随着分工的细化,很多设计厂商把产品的生产、测试外包了出去,其中就涉及到嵌入式代码烧录的安全性。PC软件的盗版一直是困扰软件行业发展的主要问题,在嵌入式应用领域,同样面临着代码被窃取的问题。上述技术的不足在于:
1.PC烧录代码软件存在拷贝隐患,虽然无法轻易破解PC软件获取烧录代码(Code0),但是工厂操作者可以窃取并安装于任何PC机进行相同烧录操作。
2.ISP烧录时以密文进行通讯传输,虽然可以避免烧录代码被截取破解,但是整个烧录时序及数据流每次都是一样的,因此存在通过特殊的数据时序捕获发送工具进行反复模拟烧录的隐患。
发明内容
本发明的目的正是要解决上述技术存在的不足,而提供一种抗截获的代码加密烧录方式,保证烧录录时代码传递的安全性、完整性以及截获无效性。
本发明解决其技术问题采用的技术方案:这种抗截获的代码加密烧录方式,该方法具体步骤如下:
第一步:被烧录芯片上电自运行进入引导模式,产生随机数X;
第二步:被烧录芯片以内置厂商码Num、刚生成的随机数X为种子,通过运算生成烧录代码密文Code1的解密密钥Key,随机数X+厂商码Num=密钥Key;
第三步:被烧录芯片通过ISP驱动向PC机发送随机数X;
第四步:PC机的烧录工具收到被烧录芯片发送的随机数X后,以厂商码Num、随机数X为种子,通过运算生成烧录代码Code0的加密密钥Key,随机数X+厂商码Num=密钥Key;
第五步:PC机的烧录工具通过加解密算法把烧录代码Code0转换成密文Code1,烧录代码Code0+密钥Key=密文Code1;
第六步:PC机的烧录工具通过ISP驱动向被烧录芯片发送密文Code1,其中包含分段、应答传输机制;
第七步:PC机的烧录工具通过CRC16/32或Hash算法由密文Code1生成完整性校验值CalibNum;
第八步:PC机的烧录工具通过ISP驱动将密文Code1完整性校验值CalibNum发送于被烧录芯片;
第九步:被烧录芯片结合收到的完整性校验值CalibNum,校验密文Code1的完整性,校验失败则进入第十步A,校验成功则进入第十步B;
第十步A:被烧录芯片进行密文完整校验失败,通过ISP驱动反馈烧录失败,进入结束或第六步密文重发状态;
第十步B:被烧录芯片通过引导代码,解密密文Code1为烧录代码Code0,写入芯片代码存储介质,密文Code1+密钥Key=烧录代码Code0;
第十一步:被烧录芯片反馈烧录成功,结束烧录。
作为优选,所述的加解密算法为DES/3DES、AES、SM1加解密算法的一种。
作为优选,所述第二步中的所述运算及第四步的所述运算为同一算法,均为杂散或对称加密算法中的一种。
作为优选,所述第四步中的加密密钥(Key)与第二步芯片生成的密文Code1的解密密钥(Key)相同。
作为优选,所述第四步中的加密密钥(Key)与第二步芯片生成的密文Code1的解密密钥(Key)不进行通讯传输。
本发明与现有技术相比,有益的效果是:
1.每次烧录时烧录代码(Code0)的密文(Code1)不一样,可以防止截取烧录。
2.烧录代码(Code0)集成于烧录工具,防止通过拷贝软件就可以组建相同烧录工具。
3.双种子密钥生成,保证密钥的安全性与可变性。
4.被烧录芯片主动交互式,保证代码来源的可靠性、完整性验证。
附图说明
图1为现有方案密文烧录示意图;
图2是本发明的***结构示意图;
图3是本发明流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
图2的标记说明:
(1)烧录工具:由软硬体两部分组成,用于对芯片进行烧录;
(2)芯片:被烧录芯片,包括MCU、MPU、DSP、ARM等嵌入式编程芯片;
(21)ISP驱动:一种简单的通讯驱动,用于数据传递;
(22)随机数(X):用于生成烧录代码Code0的动态加密密钥(Key)的种子之一;
(23)厂商码(Num):与随机数(X)通过某种运算生成烧录代码Code0的动态加密密钥(Key),
Figure BDA0000083519990000031
(24)加解密算法:用动态密钥(Key)加解密烧录代码,包括DES/3DES、AES、SM1等;
(3)PC软体:包含(31)烧录代码Code0、(32)ISP驱动、(33)厂商码(Num)、(34)加解密算法。用于生成密钥(Key)、生成密文(Code1)、数据传递处理等代码烧录操作。
(31)烧录代码Code0:需最终写入于(2)芯片存储体的执行代码;
(32)ISP驱动:被烧录(2)芯片端的驱动,与PC端的(21)ISP驱动匹配;
(33)厂商码(Num):烧录(2)芯片端被固化的厂商码与PC端的(23)厂商码(Num)对应;
(34)加解密算法:与PC端的(24)加解密算法对应;
(4)PC硬体:运行(3)PC软体的硬件平台;
(5)绑定:(3)PC软体借助(4)PC硬体的CPU、硬盘或板载设备的主要ID等进行绑定,换(4)PC硬体就无法使用该(3)PC软体。
本发明所述的这种抗截获的代码加密烧录方式,如图3所示,该方法具体步骤如下:
第一步:被烧录芯片上电自运行进入引导模式,产生随机数X;
第二步:被烧录芯片以内置厂商码Num、刚生成的随机数X为种子,通过运算(可选择杂散、对称加密等其它算法,在本实施方式中,所述运算为SM3算法)生成烧录代码密文Code1的解密密钥Key,随机数X+厂商码Num=密钥Key;
第三步:被烧录芯片通过ISP驱动向PC机发送随机数X;
第四步:PC机的烧录工具收到被烧录芯片发送的随机数X后,以厂商码Num、随机数X为种子,通过运算(可选择杂散、对称加密等其它算法,在本实施方式中,所述运算为SM3算法)生成烧录代码Code0的加密密钥Key,所述加密密钥(Key)与第二步芯片生成的密文Code1的解密密钥(Key)相同,为了安全需求,该密钥(Key)不进行通讯传输,随机数X+厂商码Num=密钥Key;
第五步:PC机的烧录工具通过DES/3DES、AES、SM1等加解密算法把烧录代码Code0转换成密文Code1,烧录代码(Code0)+密钥(Key)=密文(Code1);
第六步:PC机的烧录工具通过ISP驱动向被烧录芯片发送密文(Code1),其中包含分段、应答等传输机制;
第七步:PC机的烧录工具通过CRC16/32、Hash等算法由密文(Code1)生成完整性校验值(CalibNum);
第八步:PC机的烧录工具通过ISP驱动将密文(Code1)完整性校验值(CalibNum)发送于被烧录芯片;
第九步:被烧录芯片结合收到的完整性校验值(CalibNum)校验密文(Code1)的完整性,校验失败则进入第十步A,校验成功则进入第十步B;
第十步A:被烧录芯片进行密文完整校验失败,通过ISP驱动反馈烧录失败,进入结束或第六步密文重发状态;
第十步B:被烧录芯片通过引导代码,解密密文(Code1)为烧录代码(Code0),写入芯片代码存储介质,
密文(Code1)+密钥(Key)=烧录代码(Code0);
第十一步:被烧录芯片反馈烧录成功,结束烧录。
术语解释:
1、ISP:In-System Programming在线***可编程
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

Claims (5)

1.一种抗截获的代码加密烧录方式,其特征在于:该方法具体步骤如下:
第一步:被烧录芯片上电自运行进入引导模式,产生随机数X;
第二步:被烧录芯片以内置厂商码Num、刚生成的随机数X为种子,通过运算生成烧录代码密文Code1的解密密钥Key,随机数X+厂商码Num=密钥Key;
第三步:被烧录芯片通过ISP驱动向PC机发送随机数X;
第四步:PC机的烧录工具收到被烧录芯片发送的随机数X后,以厂商码Num、随机数X为种子,通过运算生成烧录代码Code0的加密密钥Key,随机数X+厂商码Num=密钥Key;
第五步:PC机的烧录工具通过加解密算法把烧录代码Code0转换成密文Code1, 烧录代码Code0+密钥Key=密文Code1;
第六步:PC机的烧录工具通过ISP驱动向被烧录芯片发送密文Code1,其中包含分段、应答传输机制;
第七步:PC机的烧录工具通过CRC16/32或Hash算法由密文Code1生成完整性校验值CalibNum;
第八步:PC机的烧录工具通过ISP驱动将密文Code1完整性校验值CalibNum发送于被烧录芯片;
第九步:被烧录芯片结合收到的完整性校验值CalibNum,校验密文Code1的完整性,校验失败则进入第十步A,校验成功则进入第十步B;
第十步A:被烧录芯片进行密文完整校验失败,通过ISP驱动反馈烧录失败,进入结束或第六步密文重发状态;
第十步B:被烧录芯片通过引导代码,解密密文Code1为烧录代码Code0,写入芯片代码存储介质,密文Code1+密钥Key=烧录代码Code0;
第十一步:被烧录芯片反馈烧录成功,结束烧录。
2.根据权利要求1所述的抗截获的代码加密烧录方式,其特征在于:所述的加解密算法为DES/3DES、AES、SM1加解密算法的一种。
3.根据权利要求1所述的抗截获的代码加密烧录方式,其特征在于:所述第二步中的所述运算及第四步的所述运算为同一算法,均为杂散或对称加密算法中的一种。
4.根据权利要求1所述的抗截获的代码加密烧录方式,其特征在于:所述第四步中的加密密钥Key与第二步芯片生成的密文Code1的解密密钥Key相同。
5.根据权利要求1所述的抗截获的代码加密烧录方式,其特征在于:所述第四步中的加密密钥Key与第二步芯片生成的密文Code1的解密密钥Key不进行通讯传输。
CN2011102336117A 2011-08-16 2011-08-16 一种抗截获的代码加密烧录方式 Pending CN102280133A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102336117A CN102280133A (zh) 2011-08-16 2011-08-16 一种抗截获的代码加密烧录方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102336117A CN102280133A (zh) 2011-08-16 2011-08-16 一种抗截获的代码加密烧录方式

Publications (1)

Publication Number Publication Date
CN102280133A true CN102280133A (zh) 2011-12-14

Family

ID=45105535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102336117A Pending CN102280133A (zh) 2011-08-16 2011-08-16 一种抗截获的代码加密烧录方式

Country Status (1)

Country Link
CN (1) CN102280133A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020532A (zh) * 2012-12-28 2013-04-03 深圳市航盛电子股份有限公司 一种车载终端Flash加密方法及其装置
CN103475463A (zh) * 2013-08-19 2013-12-25 华为技术有限公司 加密实现方法及装置
CN104486355A (zh) * 2014-12-30 2015-04-01 大连楼兰科技股份有限公司 防止代码被恶意篡改的方法和装置
TWI499929B (zh) * 2012-03-09 2015-09-11 Nuvoton Technology Corp 燒錄系統
CN105468935A (zh) * 2015-11-13 2016-04-06 福州瑞芯微电子股份有限公司 一种保证key安全烧录的方法、发送端、工具端及烧录端
CN109783299A (zh) * 2018-12-03 2019-05-21 北京深思数盾科技股份有限公司 一种用于核心板的生产测试方法和装置
CN110047181A (zh) * 2019-04-20 2019-07-23 广东珠江智联信息科技股份有限公司 一种基于Zigbee的智能门锁安全控制方法
CN111262910A (zh) * 2020-01-09 2020-06-09 杭州涂鸦信息技术有限公司 一种无线设备固件保护方法及***
CN111814139A (zh) * 2020-07-02 2020-10-23 深圳市法拉第电驱动有限公司 汽车电机控制器程序安全加载***及方法
CN112398647A (zh) * 2020-11-03 2021-02-23 武汉先同科技有限公司 一种用于渠道分销管理的耗材动态加密方法
CN112989356A (zh) * 2021-03-08 2021-06-18 广州安凯微电子股份有限公司 空白安全芯片烧录方法、***、空白安全芯片及存储介质
CN113091224A (zh) * 2021-04-07 2021-07-09 青岛海信日立空调***有限公司 一种空调装置及空调控制装置
CN113505399A (zh) * 2021-07-23 2021-10-15 深圳英集芯科技股份有限公司 一种加密芯片的烧录方法及其防篡改方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023771A1 (en) * 2001-07-30 2003-01-30 Erickson Michael John Method for accessing scan chains and updating EEPROM-resident FPGA code through a system mangement processor and JTAG bus
CN1677346A (zh) * 2004-04-01 2005-10-05 迈普(四川)通信技术有限公司 可编程器件程序更新方法及可更新程序的板卡
CN101055525A (zh) * 2006-04-15 2007-10-17 无锡盈泰科技有限公司 一种电子产品的新颖的***及应用软件下载方法
CN101232506A (zh) * 2008-01-24 2008-07-30 中国科学院计算技术研究所 一种安全的现场可编程门阵列网络配置方法和配置***
CN101266548A (zh) * 2007-03-14 2008-09-17 中兴通讯股份有限公司 对可编程逻辑器件进行在***编程的装置和方法
CN101398874A (zh) * 2008-10-23 2009-04-01 彭增金 利用散列函数装入程序到微处理器内部sram并运行的方法
CN101859351A (zh) * 2009-04-08 2010-10-13 北京芯技佳易微电子科技有限公司 保证存储器存储的数据安全读取的***及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023771A1 (en) * 2001-07-30 2003-01-30 Erickson Michael John Method for accessing scan chains and updating EEPROM-resident FPGA code through a system mangement processor and JTAG bus
CN1677346A (zh) * 2004-04-01 2005-10-05 迈普(四川)通信技术有限公司 可编程器件程序更新方法及可更新程序的板卡
CN101055525A (zh) * 2006-04-15 2007-10-17 无锡盈泰科技有限公司 一种电子产品的新颖的***及应用软件下载方法
CN101266548A (zh) * 2007-03-14 2008-09-17 中兴通讯股份有限公司 对可编程逻辑器件进行在***编程的装置和方法
CN101232506A (zh) * 2008-01-24 2008-07-30 中国科学院计算技术研究所 一种安全的现场可编程门阵列网络配置方法和配置***
CN101398874A (zh) * 2008-10-23 2009-04-01 彭增金 利用散列函数装入程序到微处理器内部sram并运行的方法
CN101859351A (zh) * 2009-04-08 2010-10-13 北京芯技佳易微电子科技有限公司 保证存储器存储的数据安全读取的***及方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI499929B (zh) * 2012-03-09 2015-09-11 Nuvoton Technology Corp 燒錄系統
CN103020532A (zh) * 2012-12-28 2013-04-03 深圳市航盛电子股份有限公司 一种车载终端Flash加密方法及其装置
CN103020532B (zh) * 2012-12-28 2016-04-27 深圳市航盛电子股份有限公司 一种车载终端Flash加密方法及其装置
CN103475463A (zh) * 2013-08-19 2013-12-25 华为技术有限公司 加密实现方法及装置
CN103475463B (zh) * 2013-08-19 2017-04-05 华为技术有限公司 加密实现方法及装置
CN104486355A (zh) * 2014-12-30 2015-04-01 大连楼兰科技股份有限公司 防止代码被恶意篡改的方法和装置
CN105468935A (zh) * 2015-11-13 2016-04-06 福州瑞芯微电子股份有限公司 一种保证key安全烧录的方法、发送端、工具端及烧录端
CN109783299A (zh) * 2018-12-03 2019-05-21 北京深思数盾科技股份有限公司 一种用于核心板的生产测试方法和装置
CN110047181A (zh) * 2019-04-20 2019-07-23 广东珠江智联信息科技股份有限公司 一种基于Zigbee的智能门锁安全控制方法
CN110047181B (zh) * 2019-04-20 2022-05-20 广东珠江智联信息科技股份有限公司 一种基于Zigbee的智能门锁安全控制方法
CN111262910A (zh) * 2020-01-09 2020-06-09 杭州涂鸦信息技术有限公司 一种无线设备固件保护方法及***
CN111262910B (zh) * 2020-01-09 2022-11-15 杭州涂鸦信息技术有限公司 一种无线设备固件保护方法及***
CN111814139A (zh) * 2020-07-02 2020-10-23 深圳市法拉第电驱动有限公司 汽车电机控制器程序安全加载***及方法
CN112398647A (zh) * 2020-11-03 2021-02-23 武汉先同科技有限公司 一种用于渠道分销管理的耗材动态加密方法
CN112989356A (zh) * 2021-03-08 2021-06-18 广州安凯微电子股份有限公司 空白安全芯片烧录方法、***、空白安全芯片及存储介质
CN112989356B (zh) * 2021-03-08 2023-11-10 广州安凯微电子股份有限公司 空白安全芯片烧录方法、***、空白安全芯片及存储介质
CN113091224A (zh) * 2021-04-07 2021-07-09 青岛海信日立空调***有限公司 一种空调装置及空调控制装置
CN113505399A (zh) * 2021-07-23 2021-10-15 深圳英集芯科技股份有限公司 一种加密芯片的烧录方法及其防篡改方法
CN113505399B (zh) * 2021-07-23 2023-07-25 深圳英集芯科技股份有限公司 一种加密芯片的烧录方法及其防篡改方法

Similar Documents

Publication Publication Date Title
CN102280133A (zh) 一种抗截获的代码加密烧录方式
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
CN101231622B (zh) 基于闪存的数据存储方法和设备、及数据读取方法和设备
JP5275482B2 (ja) ストレージメディア、ホスト装置、メモリ装置、及びシステム
CN106250721A (zh) 一种基于区块链的电子版权保护方法
WO2007120215A3 (en) Secure electronic commerce using mutating identifiers
CN103988464A (zh) 利用全球平台规范对发行者安全域进行密钥管理的***和方法
CN103782538A (zh) 认证器
CN103873440A (zh) 一种应用程序的升级方法和***
CN102801730A (zh) 一种用于通讯及便携设备的信息防护方法及装置
CN103338219A (zh) 终端设备性能评价信息的获取、处理方法及相应装置、处理***
CN109522758B (zh) 硬盘数据管理方法及硬盘
CN104732159A (zh) 一种文件处理方法及装置
CN103606223B (zh) 一种卡片认证方法及装置
WO2008099909A1 (ja) Icタグシステム
CN104077243A (zh) Sata硬盘设备加密方法及***
CN101883357A (zh) 一种终端与智能卡之间的相互认证方法、装置及***
CN109150813A (zh) 一种设备的验证方法及装置
US10057054B2 (en) Method and system for remotely keyed encrypting/decrypting data with prior checking a token
SG158757A1 (en) Method and apparatus for protecting data in computers
CN101349999A (zh) 一种用于移动存储的安全适配器装置及其操作方法
CN203232424U (zh) 一种usb外设
CN103346886B (zh) 一种发送签名数据的方法和电子签名令牌
CN105159611A (zh) 一种具有数据抽取加密功能的微控制器芯片
CN101251885A (zh) 一种保护mcu内软件程序安全的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: The city of Hangzhou in West Zhejiang province 311121 No. 998 Building 9 East Sea Park

Applicant after: Hangzhou Shengyuan Chip Technique Co., Ltd.

Address before: 310012, room 17, building 176, 203 Tianmu Mountain Road, Hangzhou, Zhejiang, Xihu District

Applicant before: Hangzhou Shengyuan Chip Technique Co., Ltd.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111214