CN111709019A - 带主动防御功能的在线烧录的mcu设计方法 - Google Patents

带主动防御功能的在线烧录的mcu设计方法 Download PDF

Info

Publication number
CN111709019A
CN111709019A CN202010504062.1A CN202010504062A CN111709019A CN 111709019 A CN111709019 A CN 111709019A CN 202010504062 A CN202010504062 A CN 202010504062A CN 111709019 A CN111709019 A CN 111709019A
Authority
CN
China
Prior art keywords
mcu
burning
online
data
circuit
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.)
Withdrawn
Application number
CN202010504062.1A
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.)
Xiyi Microelectronics Jiaxing Co ltd
Original Assignee
Xiyi Microelectronics Jiaxing 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 Xiyi Microelectronics Jiaxing Co ltd filed Critical Xiyi Microelectronics Jiaxing Co ltd
Priority to CN202010504062.1A priority Critical patent/CN111709019A/zh
Publication of CN111709019A publication Critical patent/CN111709019A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31728Optical aspects, e.g. opto-electronics used for testing, optical signal transmission for testing electronic circuits, electro-optic components to be tested in combination with electronic circuits, measuring light emission of digital circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/40Testing power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种带主动防御功能的在线烧录的MCU设计方法,将包括步骤S1:MCU上电运行并且对各个侦测电路进行可信度量;步骤S2:MCU在通过各个侦测电路可信度量后,MCU对各个存储电路的数据进行可信度量:步骤S3:MCU在启动烧录接口时检查烧录接口的配置状态,对烧录电路进行可信度量,并且记录非法侵入信息。本发明公开的一种带主动防御功能的在线烧录的MCU设计方法,其先启动内部的主动防御电路,启动的每一个步骤都对于相关电路模块进行逐级度量之后,确认MCU各功能电路模块,特别是集成的烧录电路是安全可信的,在确保系统自主可控状态下,才允许MCU芯片进行在线烧录。

Description

带主动防御功能的在线烧录的MCU设计方法
技术领域
本发明属于MCU在线烧录安全防护技术领域,具体涉及一种带主动防御功能的在线烧录的MCU设计方法。
背景技术
现在的通用MCU启动时缺失信息安全确认,无主动防御功能的弊端,容易被黑客入侵系统,系统容易出现无法自主可控的风险。我国金融、电信、能源、物联网等关键领域的对于MCU的依赖度非常高,一旦出现安全问题,甚至会直接威胁到社会安全。通用MCU在启动时,硬件POR电路发现上电之后,CPU就开始读取flash的数据,并执行程序,系统开始运行。在线烧录时,上位机软件(比如PC端程序)通过烧录器可以实时烧录开发,一般客户在调试开发之后为了安全性,会把烧录接口电路关闭,这样非授权客户无法接触或者修改客户的嵌入式软件。但同时合法用户也无法对MCU,对系统进行在线烧录。特别是遇到比较复杂得工业控制,系统需要不断跟踪,监控,烧录,不断升级优化系统。类似于现在主流的通用MCU,就无法进行高安全性的在线烧录。开放烧录接口,会引入安全问题,关闭烧录接口,系统无法烧录,升级程序。
在通用MCU开发烧录时,使用通用烧录器,无法实现高信息安全,甚至在一些高安全需求的MCU系统中,设计人员简单粗暴,矫枉过正的关闭了在线烧录功能。通用MCU的在线烧录功能,要么什么安全防御体系都没有,要么类似于智能卡就简单粗暴的在第一次烧录程序之后就直接关闭在线烧录功能。这样对于合法的授权人员,无法进行在线烧录,无法在线升级,更无法对于系统的稳定性进行提升,所以不能矫枉过正的简单粗暴关闭在线烧录功能。
授权公告号为:CN104777761B,主题名称为实现MCU安全性的方法及电路的发明专利,其技术方案公开了“MCU上电后,利用电源监测电路把MCU芯片内部的总复位信号置位“1”,然后,启动MCU芯片内部的RC振荡电路,同时启动上电复位自适应电路;该上电复位自适应电路立即读取存放于Flash安全位置的128位安全密钥;并将该安全密钥存放在密码匹配电路,之后释放所述总复位信号;JTAG调试接口默认是关闭状态;当MCU芯片工作后,所述密码匹配电路开始工作;当外部输入密码时,所述密码匹配电路对该密码与其保存的安全密钥进行匹配确认,当匹配确认为正确后,所述JTAG调试接口打开,否则进行全MCU芯片的擦除;在所述上电复位自适应电路的控制下,根据所述RC振荡电路输出的时钟,每经过1024个时钟进行flash的读操作,读取flash内的flash校验码;如果无法读取到正确的flash校验码,则再经过1024个时钟之后,继续读取flash校验码,直到能够正常读取到正确的flash检测码,之后读取128位安全密钥”。
以上述发明专利为例,其虽然也提及了MCU的安全保护,但是其技术方案更多涉及的是硬件本质上对MCU进行可靠性方面的安全保护,而本发明不仅仅在硬件本质上进行安全保护,还通过多重认证之后,在MCU在线烧录上通过主动防御使之具有主动性、智能化和安全可控性。因此,针对上述问题,予以进一步改进。
发明内容
本发明的主要目的在于提供带主动防御功能的在线烧录的MCU设计方法,其先启动内部的主动防御电路,启动的每一个步骤都对于相关电路模块进行逐级度量之后,确认MCU各功能电路模块,特别是集成的烧录电路是安全可信的,在确保系统自主可控状态下,才允许MCU芯片进行在线烧录,并确认一切安全之后才允许整体系统的运行,对于在线烧录功能进行主动防御,多重认证,实现在线烧录,同时保证信息安全的设计架构。
本发明的另一目的在于提供带主动防御功能的在线烧录的MCU设计方法,带主动防御功能的在线烧录功能既能保障信息安全,又能保障系统的在线烧录,在线升级,提升系统的稳定性和安全性。
本发明的另一目的在于提供带主动防御功能的在线烧录的MCU设计方法,其在启动每一个新功能模块之前,都会对于这个功能模块进行可信度量,即先确认这个功能模块没有受到破坏,没有木马嵌入,没有非法数据探测状态,一步一度量,直到MCU正常启动运行程序。
为达到以上目的,本发明提供一种带主动防御功能的在线烧录的MCU设计方法,上位机通过在线烧录器(为调试器,采用调试器的在线烧录功能)对MCU进行在线烧录,包括以下步骤:
步骤S1:MCU上电运行并且对各个侦测电路进行可信度量;
步骤S2:MCU在通过各个侦测电路可信度量后,MCU对各个存储电路的数据进行可信度量:
步骤S3:MCU在启动在线烧录接口时检查在线烧录接口的配置状态,对在线烧录电路进行可信度量,并且记录非法侵入信息;
步骤S4:MCU对在线烧录器进行身份认证后,上位机(PC电脑上位机烧录软件)通过在线烧录器进行在线烧录、监控数据和升级程序;
步骤S5:MCU在在线烧录、监控数据和升级程序后进行重启,以获得新的安全方式;
步骤S6:MCU的各个模块均通过可信度量后,以确保所有的数据以及(MCU硬件功能)模块处于可信状态,进行正常启动。
作为上述技术方案的进一步优选的技术方案,步骤S1具体实施为以下步骤:
步骤S1.1:VD电源侦测电路启动检查MCU的电源是否正常,如果正常则VD电源侦测电路通过可信度量,则启动电源模块,否则MCU进入复位状态并且发出警告;
这是MCU基本功能,每个MCU都有上电复位电路,这样每个MCU上电之后可以从复位开始运行程序,否则程序会异常跑飞,因为CPU没有上电复位的话,整个CPU都是不确定状态,包括指令读取,指令解析,程序执行都处于异常状态,VD电源侦测电路启动检查MCU电源是否正常,一旦异常MCU进入复位状态。
步骤S1.2:屏蔽电路启动检查MCU的最顶层金属是否正常,如果屏蔽电路通过可信度量,则最顶层金属未被修改并且屏蔽电路的信号进行完整传递,否则MCU进入复位状态并且发出警告;
内部关键路径上的屏蔽电路以及屏蔽电路时钟启动,屏蔽电路一般是最顶层金属,一旦发现有人对于顶层金属有修改,那么屏蔽电路信号就无法完整传递,MCU就一直处于复位状态。
步骤S1.3:LD光侦测电路启动检查MCU的光线强度,如果LD光侦测电路通过可信度量,则MCU未被开盖或者电子辐射,否则MCU进入复位状态并且发出警告;
芯片(即MCU)同时启动LD光侦测电路,一旦发现有光进入芯片(晶圆片)说明MCU被开盖或电子辐射,一旦处于被探测状态,LD光侦测电路产生复位信号,使MCU处于复位状态。
步骤S1.4:CD时钟侦测电路启动检查MCU内部或者外部的时钟,如果CD时钟侦测电路通过可信度量,则MCU内部或者外部的时钟未被破坏,否则MCU进入复位状态并且发出警告。
MCU继续启动,并启动CD时钟侦测电路,一旦内部或者外部时钟大于或者小于某个限定,说明时钟被人破坏,CD时钟侦测电路产生复位信号,使MCU处于复位状态。
作为上述技术方案的进一步优选的技术方案,步骤S2具体实施为以下步骤:
步骤S2.1:在启动Boot loader程序之前,对Boot loader程序所在的自启动程序存储器的数据进行检查,把自启动程序存储器的(所有)数据搬运到HSAH硬件模块并且对数据进行可行度量,如果发现数据错误,则MCU进入复位状态并且发出警告;
步骤S2.2:对于变量所在的变量存储器(RAM)进行数据清零并且对校验清零之后的变量(RAM)数据进行可信度量,如果发现数据错误,则MCU进入复位状态并且发出警告;
步骤S2.3:在启动客户程序之前,对客户程序所在的客户存储器的数据进行还检查,把客户存储器的(所有)数据搬运到HSAH硬件模块并且对数据进行可行度量,如果发现数据错误,则MCU进入复位状态并且发出警告。
作为上述技术方案的进一步优选的技术方案,步骤S3具体实施为以下步骤:
步骤S3.1:MCU在启动烧录接口时对烧录电路进行身份确认,如果烧录电路通过可信度量,则MCU进行启用烧录电路;
步骤S3.2:如果启动烧录接口时发现烧录接口的通路被关闭,MCU通过在线烧录器发送命令并且通过内部对称算法对数据进行加密,数据与预存入MCU的特定地址数据进行硬件匹配,如果匹配正确,则烧录接口的通路被打开并且进行烧录;
步骤S3.3:如果MCU对烧录电路的身份确认失效,则MCU配合时钟系统将攻击记录在存储器,MCU进入复位状态并且发出警告。
MCU硬件检查烧录接口的配置状态,同时做到可信审计,即记录下非法侵入的时间和状态,攻击行为赖不掉。
MCU继续启动,在启动烧录接口时,会对烧录电路进行身份认证,硬件发出一个信息序列,如果收到相对应的信息序列,则可以启用这个周边电路(即烧录电路)。
如果启动烧录接口发现客户是上锁的,即客户关闭烧录接口的通路,但是授权用户又需要在系统运行时烧录MCU,就会通过烧录器发送命令,通过内部对称算法(AES,3DES,SM4等国际国家算法),对于授权烧录器ID号,MCU ID号,MCU烧录秘钥进行硬件加密,与之前存入MCU某一特定地址的数据进行硬件匹配,如果匹配正确,那么烧录接口的通路被打开,客户可以进行烧录MCU。
如果这里的多重身份认证失效的话,MCU会把这次烧录器连接过程认为是一次攻击,配合系统时钟,把攻击记录在特定的Flash存储器,这个记录攻击特性的Flash可以是MCU内部Flash,也可以是系统外挂Flash。
作为上述技术方案的进一步优选的技术方案,步骤S4具体实施为以下步骤:
步骤S4.1:MCU对在线烧录器进行主动身份认证;
步骤S4.2:MCU对在线烧录器的身份确认后进行在线烧录、监控数据和升级程序。
可信认证之后,进行在线烧录,监控数据,升级程序。因为中间传递的信息都是加密信息,做到可信存储,可信控制,即敏感信息拿不到,或重要信息看不懂。
因为通过步骤S3打开烧录电路通道,步骤S4.1打开烧录电路数据连接,授权用户可以进行在线烧录MCU的工作。
但是其中MCU与烧录器相连时,接口是外部可以被探测到的,所以MCU与烧录器的数据交互不是明文的,而是通过RNG,秘钥Key,交互数据进行加解密之后进行交互,上位机(烧录软件)与下位机(MCU指令数据读取)亦通过相同的硬件加解密算法进行解密,所以上位机,下位机的数据交互就是明文。
其中在线烧录器,MCU都需要内建有信息安全算法,并且是防止数据泄露的可信设备或者MCU,如果发现在线烧录过程中数据泄露,MCU进入复位状态并且发出警告。
作为上述技术方案的进一步优选的技术方案,步骤S4.1具体实施为以下步骤:
步骤S4.1.1:在线烧录器通过烧录接口将认证密文发送到MCU;
步骤S4.1.2:MCU收到密文后进行解析并且把解析后的密文发送到在线烧录器;
步骤S4.1.3:在线烧录器接收到解析后的密文后结合步骤S4.1.1中的认证密文解析出MCU要求在线烧录器的认证指令并且把认证指令发送到MCU;
步骤S4.1.4:MCU得到认证指令后解析出在线烧录器ID号,如果在线烧录器ID号属于白名单,则在线烧录器通过身份确认,否则MCU进入复位状态并且发出警告。
MCU烧录接口与在线烧录器多重身份认证,做到可信认证,即攻击者进不来,拿不走数据,同时做到可信度量,即系统信息无法更改。
这是步骤S3的补充,因为这是带主动防御体系的MCU,这意味着MCU不可以简单被动的,被外部在线烧录器进行烧录。在线烧录器不仅仅通过认证打开MCU烧录电路,MCU也必须主动对于在线烧录器进行身份认证,以防被黑客攻击。
在线烧录器发送认证密文,密文由秘钥KEY,随机数RNG加密组成,通过烧录接口发送给MCU。
MCU收到密文之后,按照共同的秘钥,进行随机数RNG的解析,得到RNG的信息,然后MCU硬件把当前RNG,当前秘钥KEY,要求在线烧录器认证指令,3项加密之后发给在线烧录器。
在线烧录器接收到MCU发出的密文之后,结合刚才发出的随机数RNG,秘钥KEY,解析出MCU要求在线烧录器认证的指令,再次把在线烧录器ID信息,随机数RNG,秘钥KEY发送给MCU。
MCU得到密文之后,随机数RNG,秘钥KEY为已知信息,然后解密出在线烧录器ID号,如果在线烧录器ID属于白名单的话,在步骤S3打开烧录通路的基础上,把数据通路也打开,授权用户可以在线烧录MCU。
每次认证都会产生新的随机数RNG,所以无法在烧录接口进行数据探测。
步骤5具体实施为:一切更新之后,MCU重启,新的安全策略(即安全方式)启动,下次在线烧录需要使用更新之后的在线烧录策略,MCU实现了主动防御功能。
授权用户使用在线烧录器烧录之后,并进行程序升级之后,相对应的安全策略也可以进行更新。
比如在线烧录接口的彻底锁死,系统不再允许被再次在线烧录更新。
比如修改了秘钥KEY,秘钥KEY可以是上一次秘钥,或者原始秘钥,加上这次修改的程序版本,甚至加上修改日期,或者加上在线烧录器ID信息,形成新的秘钥KEY,增强系统的信息安全。
MCU重启,实现新的安全策略。
步骤S6具体实施为:MCU经过所有度量之后,确保所有数据以及MCU硬件功能模块处于可信状态,正常启动。
这是带主动防御功能的MCU工作方式,每一步启动,都要进行主动度量,每一个电路或者运行过程都要可信才能被执行下去,否则MCU进入复位状态或者报警状态。
附图说明
图1是本发明的带主动防御功能的在线烧录的MCU设计方法的信号链过程图。
图2是本发明的带主动防御功能的在线烧录的MCU设计方法的流程图。
图3是本发明的带主动防御功能的在线烧录的MCU设计方法的硬件连接图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
参见附图的图1,图1是本发明的带主动防御功能的在线烧录的MCU设计方法的信号链过程图,图2是本发明的带主动防御功能的在线烧录的MCU设计方法的流程图,图3是本发明的带主动防御功能的在线烧录的MCU设计方法的硬件连接图。
在本发明的优选实施例中,本领域技术人员应注意,本发明所涉及的随机数RNG、秘钥KEY和上位机等可被视为现有技术。
优选实施例。
本发明公开一种带主动防御功能的在线烧录的MCU设计方法,上位机通过在线烧录器(为调试器,采用调试器的在线烧录功能)对MCU进行在线烧录,包括以下步骤:
步骤S1:MCU上电运行并且对各个侦测电路进行可信度量;
步骤S2:MCU在通过各个侦测电路可信度量后,MCU对各个存储电路的数据进行可信度量:
步骤S3:MCU在启动在线烧录接口时检查在线烧录接口的配置状态,对在线烧录电路进行可信度量,并且记录非法侵入信息;
步骤S4:MCU对在线烧录器进行身份认证后,上位机(PC电脑上位机烧录软件)通过在线烧录器进行在线烧录、监控数据和升级程序;
步骤S5:MCU在在线烧录、监控数据和升级程序后进行重启,以获得新的安全方式;
步骤S6:MCU的各个模块均通过可信度量后,以确保所有的数据以及(MCU硬件功能)模块处于可信状态,进行正常启动。
具体的是,步骤S1具体实施为以下步骤:
步骤S1.1:VD电源侦测电路启动检查MCU的电源是否正常,如果正常则VD电源侦测电路通过可信度量,则启动电源模块,否则MCU进入复位状态并且发出警告;
这是MCU基本功能,每个MCU都有上电复位电路,这样每个MCU上电之后可以从复位开始运行程序,否则程序会异常跑飞,因为CPU没有上电复位的话,整个CPU都是不确定状态,包括指令读取,指令解析,程序执行都处于异常状态,VD电源侦测电路启动检查MCU电源是否正常,一旦异常MCU进入复位状态。
步骤S1.2:屏蔽电路启动检查MCU的最顶层金属是否正常,如果屏蔽电路通过可信度量,则最顶层金属未被修改并且屏蔽电路的信号进行完整传递,否则MCU进入复位状态并且发出警告;
内部关键路径上的屏蔽电路以及屏蔽电路时钟启动,屏蔽电路一般是最顶层金属,一旦发现有人对于顶层金属有修改,那么屏蔽电路信号就无法完整传递,MCU就一直处于复位状态。
步骤S1.3:LD光侦测电路启动检查MCU的光线强度,如果LD光侦测电路通过可信度量,则MCU未被开盖或者电子辐射,否则MCU进入复位状态并且发出警告;
芯片(即MCU)同时启动LD光侦测电路,一旦发现有光进入芯片(晶圆片)说明MCU被开盖或电子辐射,一旦处于被探测状态,LD光侦测电路产生复位信号,使MCU处于复位状态。
步骤S1.4:CD时钟侦测电路启动检查MCU内部或者外部的时钟,如果CD时钟侦测电路通过可信度量,则MCU内部或者外部的时钟未被破坏,否则MCU进入复位状态并且发出警告。
MCU继续启动,并启动CD时钟侦测电路,一旦内部或者外部时钟大于或者小于某个限定,说明时钟被人破坏,CD时钟侦测电路产生复位信号,使MCU处于复位状态。
更具体的是,步骤S2具体实施为以下步骤:
步骤S2.1:在启动Boot loader程序之前,对Boot loader程序所在的自启动程序存储器的数据进行检查,把自启动程序存储器的(所有)数据搬运到HSAH硬件模块并且对数据进行可行度量,如果发现数据错误,则MCU进入复位状态并且发出警告;
步骤S2.2:对于变量所在的变量存储器(RAM)进行数据清零并且对校验清零之后的变量(RAM)数据进行可信度量,如果发现数据错误,则MCU进入复位状态并且发出警告;
步骤S2.3:在启动客户程序之前,对客户程序所在的客户存储器的数据进行还检查,把客户存储器的(所有)数据搬运到HSAH硬件模块并且对数据进行可行度量,如果发现数据错误,则MCU进入复位状态并且发出警告。
进一步的是,步骤S3具体实施为以下步骤:
步骤S3.1:MCU在启动烧录接口时对烧录电路进行身份确认,如果烧录电路通过可信度量,则MCU进行启用烧录电路;
步骤S3.2:如果启动烧录接口时发现烧录接口的通路被关闭,MCU通过在线烧录器发送命令并且通过内部对称算法对数据进行加密,数据与预存入MCU的特定地址数据进行硬件匹配,如果匹配正确,则烧录接口的通路被打开并且进行烧录;
步骤S3.3:如果MCU对烧录电路的身份确认失效,则MCU配合时钟系统将攻击记录在存储器,MCU进入复位状态并且发出警告。
MCU硬件检查烧录接口的配置状态,同时做到可信审计,即记录下非法侵入的时间和状态,攻击行为赖不掉。
MCU继续启动,在启动烧录接口时,会对烧录电路进行身份认证,硬件发出一个信息序列,如果收到相对应的信息序列,则可以启用这个周边电路(即烧录电路)。
如果启动烧录接口发现客户是上锁的,即客户关闭烧录接口的通路,但是授权用户又需要在系统运行时烧录MCU,就会通过烧录器发送命令,通过内部对称算法(AES,3DES,SM4等国际国家算法),对于授权烧录器ID号,MCU ID号,MCU烧录秘钥进行硬件加密,与之前存入MCU某一特定地址的数据进行硬件匹配,如果匹配正确,那么烧录接口的通路被打开,客户可以进行烧录MCU。
如果这里的多重身份认证失效的话,MCU会把这次烧录器连接过程认为是一次攻击,配合系统时钟,把攻击记录在特定的Flash存储器,这个记录攻击特性的Flash可以是MCU内部Flash,也可以是系统外挂Flash。
更进一步的是,步骤S4具体实施为以下步骤:
步骤S4.1:MCU对在线烧录器进行主动身份认证;
步骤S4.2:MCU对在线烧录器的身份确认后进行在线烧录、监控数据和升级程序。
可信认证之后,进行在线烧录,监控数据,升级程序。因为中间传递的信息都是加密信息,做到可信存储,可信控制,即敏感信息拿不到,或重要信息看不懂。
因为通过步骤S3打开烧录电路通道,步骤S4.1打开烧录电路数据连接,授权用户可以进行在线烧录MCU的工作。
但是其中MCU与烧录器相连时,接口是外部可以被探测到的,所以MCU与烧录器的数据交互不是明文的,而是通过RNG,秘钥Key,交互数据进行加解密之后进行交互,上位机(烧录软件)与下位机(MCU指令数据读取)亦通过相同的硬件加解密算法进行解密,所以上位机,下位机的数据交互就是明文。
其中在线烧录器,MCU都需要内建有信息安全算法,并且是防止数据泄露的可信设备或者MCU,如果发现在线烧录过程中数据泄露,MCU进入复位状态并且发出警告。
优选地,步骤S4.1具体实施为以下步骤:
步骤S4.1.1:在线烧录器通过烧录接口将认证密文发送到MCU;
步骤S4.1.2:MCU收到密文后进行解析并且把解析后的密文发送到在线烧录器;
步骤S4.1.3:在线烧录器接收到解析后的密文后结合步骤S4.1.1中的认证密文解析出MCU要求在线烧录器的认证指令并且把认证指令发送到MCU;
步骤S4.1.4:MCU得到认证指令后解析出在线烧录器ID号,如果在线烧录器ID号属于白名单,则在线烧录器通过身份确认,否则MCU进入复位状态并且发出警告。
MCU烧录接口与在线烧录器多重身份认证,做到可信认证,即攻击者进不来,拿不走数据,同时做到可信度量,即系统信息无法更改。
这是步骤S3的补充,因为这是带主动防御体系的MCU,这意味着MCU不可以简单被动的,被外部在线烧录器进行烧录。在线烧录器不仅仅通过认证打开MCU烧录电路,MCU也必须主动对于在线烧录器进行身份认证,以防被黑客攻击。
在线烧录器发送认证密文,密文由秘钥KEY,随机数RNG加密组成,通过烧录接口发送给MCU。
MCU收到密文之后,按照共同的秘钥,进行随机数RNG的解析,得到RNG的信息,然后MCU硬件把当前RNG,当前秘钥KEY,要求在线烧录器认证指令,3项加密之后发给在线烧录器。
在线烧录器接收到MCU发出的密文之后,结合刚才发出的随机数RNG,秘钥KEY,解析出MCU要求在线烧录器认证的指令,再次把在线烧录器ID信息,随机数RNG,秘钥KEY发送给MCU。
MCU得到密文之后,随机数RNG,秘钥KEY为已知信息,然后解密出在线烧录器ID号,如果在线烧录器ID属于白名单的话,在步骤S3打开烧录通路的基础上,把数据通路也打开,授权用户可以在线烧录MCU。
每次认证都会产生新的随机数RNG,所以无法在烧录接口进行数据探测。
步骤5具体实施为:一切更新之后,MCU重启,新的安全策略(即安全方式)启动,下次在线烧录需要使用更新之后的在线烧录策略,MCU实现了主动防御功能。
授权用户使用在线烧录器烧录之后,并进行程序升级之后,相对应的安全策略也可以进行更新。
比如在线烧录接口的彻底锁死,系统不再允许被再次在线烧录更新,当发现在线烧录接口有攻击行为,则MCU进入复位状态并且发出警告。
比如修改了秘钥KEY,秘钥KEY可以是上一次秘钥,或者原始秘钥,加上这次修改的程序版本,甚至加上修改日期,或者加上在线烧录器ID信息,形成新的秘钥KEY,增强系统的信息安全。
MCU重启,实现新的安全策略。
步骤S6具体实施为:MCU经过所有度量之后,确保所有数据以及MCU硬件功能模块处于可信状态,正常启动。
这是带主动防御功能的MCU工作方式,每一步启动,都要进行主动度量,每一个电路或者运行过程都要可信才能被执行下去,否则MCU进入复位状态或者报警状态。
优选地,本发明涉及的不仅仅为MCU芯片,还可以应用于SOC芯片。
优选地,使用本发明的可信MCU,是可以做到从系统最底层的硬件芯片就开始的主动防御功能,使整个工业控制系统安全体系不再是空中楼阁,带主动防御功能的可信MCU是整个工业系统的安全防护体系的基石。但是为了信息安全,不能矫枉过正的简单粗暴关闭在线烧录功能。其中带主动防御功能的在线烧录功能既能保障信息安全,又能保障系统的在线烧录,在线升级,提升系统的稳定性和安全性。
值得一提的是,本发明专利申请涉及的随机数RNG、秘钥KE和上位机等技术特征应被视为现有技术,这些技术特征的具体结构、工作原理以及可能涉及到的控制方式、空间布置方式采用本领域的常规选择即可,不应被视为本发明专利的发明点所在,本发明专利不做进一步具体展开详述。
对于本领域的技术人员而言,依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围。

Claims (6)

1.一种带主动防御功能的在线烧录的MCU设计方法,上位机通过在线烧录器对MCU进行在线烧录,其特征在于,包括以下步骤:
步骤S1:MCU上电运行并且对各个侦测电路进行可信度量;
步骤S2:MCU在通过各个侦测电路可信度量后,MCU对各个存储电路的数据进行可信度量:
步骤S3:MCU在启动在线烧录接口时检查烧录接口的配置状态,对在线烧录电路进行可信度量,并且记录非法侵入信息;
步骤S4:MCU对在线烧录器进行身份认证后,上位机通过在线烧录器进行在线烧录、监控数据和升级程序;
步骤S5:MCU在在线烧录、监控数据和升级程序后进行重启,以获得新的安全方式;
步骤S6:MCU的各个模块均通过可信度量后,以确保所有的数据以及模块处于可信状态,进行正常启动。
2.根据权利要求1所述的一种带主动防御功能的在线烧录的MCU设计方法,其特征在于,步骤S1具体实施为以下步骤:
步骤S1.1:VD电源侦测电路启动检查MCU的电源是否正常,如果正常则VD电源侦测电路通过可信度量,则启动电源模块,否则MCU进入复位状态并且发出警告;
步骤S1.2:屏蔽电路启动检查MCU的最顶层金属是否正常,如果屏蔽电路通过可信度量,则最顶层金属未被修改并且屏蔽电路的信号进行完整传递,否则MCU进入复位状态并且发出警告;
步骤S1.3:LD光侦测电路启动检查MCU的光线强度,如果LD光侦测电路通过可信度量,则MCU未被开盖或者电子辐射,否则MCU进入复位状态并且发出警告;
步骤S1.4:CD时钟侦测电路启动检查MCU内部或者外部的时钟,如果CD时钟侦测电路通过可信度量,则MCU内部或者外部的时钟未被破坏,否则MCU进入复位状态并且发出警告。
3.根据权利要求2所述的一种带主动防御功能的在线烧录的MCU设计方法,其特征在于,步骤S2具体实施为以下步骤:
步骤S2.1:在启动Boot loader程序之前,对Boot loader程序所在的自启动程序存储器的数据进行检查,把自启动程序存储器的数据搬运到HSAH硬件模块并且对数据进行可行度量,如果发现数据错误,则MCU进入复位状态并且发出警告;
步骤S2.2:对于变量所在的变量存储器进行数据清零并且对校验清零之后的变量数据进行可信度量,如果发现数据错误,则MCU进入复位状态并且发出警告;
步骤S2.3:在启动客户程序之前,对客户程序所在的客户存储器的数据进行还检查,把客户存储器的数据搬运到HSAH硬件模块并且对数据进行可行度量,如果发现数据错误,则MCU进入复位状态并且发出警告。
4.根据权利要求1或3任一项所述的一种带主动防御功能的在线烧录的MCU设计方法,其特征在于,步骤S3具体实施为以下步骤:
步骤S3.1:MCU在启动烧录接口时对烧录电路进行身份确认,如果烧录电路通过可信度量,则MCU进行启用烧录电路;
步骤S3.2:如果启动烧录接口时发现烧录接口的通路被关闭,MCU通过在线烧录器发送命令并且通过内部对称算法对数据进行加密,数据与预存入MCU的特定地址数据进行硬件匹配,如果匹配正确,则烧录接口的通路被打开并且进行烧录;
步骤S3.3:如果MCU对烧录电路的身份确认失效,则MCU配合时钟系统将攻击记录在存储器,MCU进入复位状态并且发出警告。
5.根据权利要求4所述的一种带主动防御功能的在线烧录的MCU设计方法,其特征在于,步骤S4具体实施为以下步骤:
步骤S4.1:MCU对在线烧录器进行主动身份认证;
步骤S4.2:MCU对在线烧录器的身份确认后进行在线烧录、监控数据和升级程序。
6.根据权利要求5所述的一种带主动防御功能的在线烧录的MCU设计方法,其特征在于,步骤S4.1具体实施为以下步骤:
步骤S4.1.1:在线烧录器通过烧录接口将认证密文发送到MCU;
步骤S4.1.2:MCU收到密文后进行解析并且把解析后的密文发送到在线烧录器;
步骤S4.1.3:在线烧录器接收到解析后的密文后结合步骤S4.1.1中的认证密文解析出MCU要求在线烧录器的认证指令并且把认证指令发送到MCU;
步骤S4.1.4:MCU得到认证指令后解析出在线烧录器ID号,如果在线烧录器ID号属于白名单,则在线烧录器通过身份确认,否则MCU进入复位状态并且发出警告。
CN202010504062.1A 2020-06-05 2020-06-05 带主动防御功能的在线烧录的mcu设计方法 Withdrawn CN111709019A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010504062.1A CN111709019A (zh) 2020-06-05 2020-06-05 带主动防御功能的在线烧录的mcu设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010504062.1A CN111709019A (zh) 2020-06-05 2020-06-05 带主动防御功能的在线烧录的mcu设计方法

Publications (1)

Publication Number Publication Date
CN111709019A true CN111709019A (zh) 2020-09-25

Family

ID=72538898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010504062.1A Withdrawn CN111709019A (zh) 2020-06-05 2020-06-05 带主动防御功能的在线烧录的mcu设计方法

Country Status (1)

Country Link
CN (1) CN111709019A (zh)

Similar Documents

Publication Publication Date Title
Parno Bootstrapping Trust in a" Trusted" Platform.
US10733291B1 (en) Bi-directional communication protocol based device security
Smith Trusted computing platforms: design and applications
Parno et al. Bootstrapping trust in modern computers
US8782404B2 (en) System and method of providing trusted, secure, and verifiable operating environment
CN104156642B (zh) 一种基于安全触控屏控制芯片的安全密码输入系统和方法
US10659237B2 (en) System and method for verifying integrity of an electronic device
EP2727040B1 (en) A secure hosted execution architecture
US20040128523A1 (en) Information security microcomputer having an information securtiy function and authenticating an external device
CN110990084B (zh) 芯片的安全启动方法、装置、存储介质和终端
CN104063788B (zh) 一种移动平台可信支付系统及方法
TW201633207A (zh) 裝置金鑰保護
NO335189B1 (no) Sikkert databehandlingssystem
US20200184089A1 (en) Managing a security policy for a device
Götzfried et al. Mutual authentication and trust bootstrapping towards secure disk encryption
US8151111B2 (en) Processing device constituting an authentication system, authentication system, and the operation method thereof
CN111708293A (zh) 带主动防御功能的在线调试的mcu设计方法
CN112948086A (zh) 一种可信plc控制系统
US20210281398A1 (en) Method For Protecting A Payment Terminal
CN111709019A (zh) 带主动防御功能的在线烧录的mcu设计方法
CN111709020A (zh) 带主动防御功能的离线烧录的mcu设计方法
Woschek Owasp cheat sheets
EP3244375A1 (fr) Microcontrôleur pour démarrage sécurisé avec pare-feu
Msgna et al. Secure application execution in mobile devices
KR102086375B1 (ko) 악성 소프트웨어에 대한 실시간 예방 및 사후 복구를 위한 보안 시스템 및 그 방법

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200925