CN104777761B - 实现mcu安全性的方法及电路 - Google Patents
实现mcu安全性的方法及电路 Download PDFInfo
- Publication number
- CN104777761B CN104777761B CN201410017032.2A CN201410017032A CN104777761B CN 104777761 B CN104777761 B CN 104777761B CN 201410017032 A CN201410017032 A CN 201410017032A CN 104777761 B CN104777761 B CN 104777761B
- Authority
- CN
- China
- Prior art keywords
- circuit
- mcu
- password
- flash
- mcu chip
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种实现MCU安全性的方法,MCU上电后,利用电源监测电路把MCU芯片内部的总复位信号置位“1”,然后,启动MCU芯片内部的RC振荡电路,同时启动上电复位自适应电路;上电复位自适应电路立即读取存放于Flash安全位置的128位安全密钥;并将安全密钥存放在密码匹配电路,之后释放总复位信号;JTAG调试接口默认是关闭状态;当MCU芯片工作后,密码匹配电路开始工作;当外部输入密码时,密码匹配电路对该密码与安全密钥进行匹配确认,匹配确认为正确后,JTAG调试接口打开,否则进行全MCU芯片的擦除。本发明还公开了一种实现MCU安全性的电路。本发明能够增强超低功耗MCU的安全性,极高的增加入侵者的破解成本。
Description
技术领域
本发明涉及高安全性MCU(微控制器)技术领域,特别是涉及一种实现MCU安全性的方法。本发明还涉及一种实现MCU安全性的电路。
背景技术
一般MCU是没有任何特殊的硬件安全保护。它们是基于设计非公开算法进行保护的,但是,对此可以通过分析烧录器端口上的数据特性,使用示波器进行协议分析进行破解(参见图1所示)。后来MCU是靠Fuse(熔丝)技术来保证MCU的安全性,但这个熔丝电路异于正常存储器,在显微镜下很容易被定位并进行侵入式FIB(聚焦离子束)进行破解,也无法保证MCU的数据安全。破解的方法是通过显微镜追踪高压管脚,借此追踪到熔丝电路,把熔丝电路的输出接地或接电源,让后面的安全电路失效。或者更为简单的就是对于这部分熔丝电路进行紫外光的照射,让熔丝电路恢复成出厂状态(参见图2所示)。
现在越来越流行的MCU使用与存储阵列相同布线布局的Fuse位,甚至把Fuse位做在存储装置内部,这个安全Fuse位就很难被侵入者破解,但侵入者花更多时间,更高成本还是可以进行破解。比如现在TI以及Renesas的MCU使用安全密钥来进行保护,这样就极大的极高的增加了入侵者的破解成本。TI的MSP430就是使用中断入口地址作为128位安全密钥,如果输入的密码不准确,就进行存储模块的擦除来保护敏感信息的安全。
带保护功能的JTAG(Joint Test Action Group联合测试行为组织)调试接口,即可保证用户MCU升级的需求,同时也保证了客户敏感信息的安全性。
发明内容
本发明要解决的技术问题是提供一种实现MCU安全性的方法,能够增强超低功耗MCU的安全性,极高的增加入侵者的破解成本;为此,本发明还要提供一种实现MCU安全性的电路。
为解决上述技术问题,本发明的实现MCU安全性的方法,是采用如下技术方案实现的:MCU上电后,利用电源监测电路把MCU芯片内部的总复位信号置位“1”,然后,启动MCU芯片内部的RC OSC(RC振荡电路),同时启动上电复位自适应电路;该上电复位自适应电路立即读取存放于Flash(闪存)安全位置的128位安全密钥;并将该安全密钥存放在密码匹配电路,之后释放所述总复位信号;JTAG调制接口默认是关闭状态;
当MCU芯片工作后,所述密码匹配电路开始工作,当外部输入密码时,所述密码匹配电路对该密码与其保存的安全密钥进行匹配确认,当匹配确认为正确后,JTAG调制接口打开,否则进行全MCU芯片的擦除;
在所述上电复位自适应电路的控制下,根据所述RC振荡电路输出的时钟,每经过1024个时钟进行flash的读操作,读取flash内的flash校验码;如果无法读取到正确的flash校验码,则再经过1024个时钟之后,继续读取flash校验码,直到能够正常读取到正确的flash检测码,之后读取128位安全密钥。
所述实现MCU安全性的电路,包括:
一复位寄存器,用于产生MCU芯片内部总复位信号;
一电源监测电路,在MCU芯片上电时,将所述复位寄存器置“1”,所述总复位信号有效;
一MCU芯片内部RC振荡器,在所述总复位信号为“1”时,启动工作,输出时钟信号;
一上电复位自适应电路,在所述总复位信号为“1”时,启动工作,读取128位安全密钥,并将读取的安全密钥存放到密码匹配电路,然后释放所述总复位信号,并关闭所述RC振荡器,同时使MCU芯片正常启动;
一Flash,在其安全位置存放安全密钥;
一JTAG调试接口,其默认为关闭状态,在关闭状态作为密码输入端口,输入由外部输入的密码;
一密码寄存器,用于寄存外部输入的密码;
一所述密码匹配电路,对外部输入的密码与其保存的所述安全密钥进行匹配,如果经匹配确认正确后,输出密码匹配成功信号;
一密码保护电路,在密码匹配成功信号的控制下,使所述JTAG调试接口自动切换为调试端口,即JTAG调试接口打开;然后可以使用个人电脑PC,通过调试器,对MCU内部电路进行调试;否则进行全MCU芯片的擦除;
一Flash读取电路,在所述上电复位自适应电路的控制下,根据所述RC振荡电路输出的时钟,每经过1024个时钟进行flash的读操作,读取flash内的flash校验码;如果无法读取到正确的flash校验码,则再经过1024个时钟之后,继续读取flash校验码,直到能够正常读取到正确的flash检测码,之后读取128位安全密钥。
本发明基于安全密钥存放位置,上电复位自适应电路,密码保护电路,密码匹配电路,带保护功能的JTAG调试接口,来共同实现MCU的高安全性;通过这些硬件模块以及系统软件的配合使用,能实现MCU的超低功耗和高安全性完美结合。
用户程序或敏感信息的高安全性,机密性,完整性是高安全性MCU的成败关键。本发明能极大地增强MCU的安全性,极高的增加入侵者的破解成本,显著提高高安全性MCU的市场竞争力。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是现有的MCU安全密钥存放位置(一)示意图;
图2是现有的MCU安全密钥存放位置(二)示意图;
图3是本发明的MCU安全密钥存放位置示意图;
图4是安全密钥在Flash中的存放位置示意图;
图5是密码匹配电路进行密码匹配的示意图;
图6是实现MCU安全性的电路一实施例原理框图。
具体实施方式
参见图3所示,所述实现MCU高安全性的方法将安全密钥等效成熔丝电路,并且把安全密钥存放于Flash存储器内部位置,采用这种方法来保护敏感信息的安全。并且密码保护电路的逻辑电路的布线使用MCU芯片而非电路板最底下的两层金属进行绕线,加强电路密码保护。图3中的圆点表示安全密钥存放的区域,通过上电复位自适应电路进行不同地址的读取,将安全密钥与主程序合并在一起,使入侵者根本无法找到安全密钥所在位置。这样,入侵者根本无法借助侵入式的FIB方法破解熔丝电路,如果使用紫外光照射,整体信息就会被破坏,失去破解意义。
图4是安全密钥在Flash中的存放位置示意图,可以通过不同的硬件设计来决定安全密钥存放的地址。图4中的圆点表示安全密钥存放的区域。
所述实现MCU高安全性的方法是这样实现的,在MCU上电后,利用电源监测电路把MCU芯片内部的电路总复位信号置位“1”,然后,启动MCU芯片内部RC OSC,同时启动上电复位自适应电路。这个上电复位自适应电路,会立即通过预先设计规定的地址分别去读取存放于Flash安全位置的128位安全密钥;比如:128’h112233445566778899AABBCCDDEEFF00。并把该安全密钥存于密码匹配电路,之后,释放所述总复位信号,即由上电复位自适应电路将“总复位信号”置0。JTAG通道(即JTAG调试接口)默认是关闭状态。在MCU芯片工作后,所述密码匹配电路开始工作,当外部输入密码后,该密码匹配电路对输入的密码与其保存的所述安全密钥进行匹配确认,如果经匹配确认正确后,JTAG通道打开,否则对全MCU芯片进行擦除。
为了实现MCU高安全性,首先通过上电复位自适应电路,保证MCU芯片在上电不稳定的情况下,处于复位状态,直到电源电压稳定后,MCU才开始运行程序,这是一种MCU安全性的设计。JTAG加密码调试,是为了防止MCU被非法侵入做保护,这也是一种MCU安全性的设计。这二者之间是没有任何联系的。
因为MCU芯片在密码匹配电路得到所有安全密钥之后,才开始工作的。因此当JTAG需要进行调试时,必须先通过带密码保护功能的JTAG调试接口输入密码,当外部输入的密码正确后,JTAG通道打开,否则就做全MCU芯片擦除的动作。这样的设计让入侵者破解成本急速升高,不可能使用暴力密码算法进行破解,因为错误的密码就会把所有信息擦除,破解也就失败了。一般密码界认为128位密码已经属于不能恢复的密码长度。而在128位密码保护下,就算破解者获得了90%的密码信息的情况下,还需要破解不同位置的13位密码,理论上需要可能的密码个数为128!/(115!*13!)=2.12*1017~258次,破解者需要准备几百台机器,每秒上万次密钥暴力输入,也要上万年时间。关键成本在于这些芯片的购买成本足以让破解者望而却步。
密码匹配电路进行密码匹配的过程参见图5所示。图5中虚线范围内的电路只有在MCU芯片复位状态运行,与MCU电路从逻辑上完全隔离;并且上电复位自适应电路和密码匹配电路的逻辑电路的布线使用MCU芯片最底下的两层金属进行绕线,加强电路密码保护。为了MCU的高安全性,带密码保护功能的JTAG调试端口与密码输入端口是复用的。上电后,JTAG调试接口默认设置成密码输入端口,只有在上位机软件的配合下输入正确的128位密码,MCU芯片才自动切换到JTAG调试端口,可以使用调试器进行调试修改。否则,密码匹配电路直接发出命令,通过存储器控制器擦除所有存储器,MCU内部无任何信息。
结合图6所示,在该图所示的实施例中,所述实现MCU安全性的电路,包括:
一复位寄存器,用于产生MCU芯片内部总复位信号。
一电源监测电路1,在MCU芯片上电时,将所述复位寄存器置“1”,所述总复位信号有效。
一MCU芯片内部的RC振荡器3,在所述总复位信号为“1”时,启动工作,输出时钟信号。
一上电复位自适应电路2,在所述总复位信号为“1”时,启动工作,读取128位安全密钥,并将读取的安全密钥存放到密码匹配电路,然后,释放所述总复位信号,即将总复位信号置位“0”(总复位信号无效),并关闭所述RC振荡器,同时使MCU芯片正常启动。
一Flash读取电路4,在上电复位自适应电路2的控制下,根据RC振荡电路输出的时钟,每经过1024个时钟进行flash的读操作,读取flash内的flash校验码;如果无法读取到正确的flash校验码,则再经过1024个时钟之后,继续读取flash校验码,直到能够正常读取到正确的flash检测码,之后读取128位安全密钥。
MCU内部电路5,即通用MCU内部电路,包括寄存器,RAM,ROM,Flash,EEPROM等。
一Flash6,在其安全位置存放flash校验码和安全密钥,通过所述上电复位自适应电路2进行不同地址的校验码和安全密钥读取。将所述安全密钥与主程序合并在一起,使入侵者根本无法找到安全密钥所在位置。Flash6与所述MCU内部电路5中的flash为同一块物理flash,但是访问地址不同;上电复位自适应电路访问区域是Flash内某一块空间,这部分flash在MCU操作时是无法访问的。
一JTAG调试接口,为外部标准MCU调试器接口,其默认为关闭状态,在关闭状态作为密码输入端口,输入由外部输入的密码。
一密码寄存器,用于寄存外部输入的密码。
一密码匹配电路7,用于存放所述Flash读取电路4读取的所述安全密钥,并对外部输入的密码与其保存的所述安全密钥进行匹配,如果经匹配确认正确后,输出密码匹配成功信号。
一密码保护电路8,在密码匹配成功信号的控制下,使JTAG调试接口自动切换为调试端口,即JTAG调试接口打开;然后可以使用PC(个人电脑),通过调试器,对MCU内部电路5进行调试;否则进行全MCU芯片的擦除。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (7)
1.一种实现MCU安全性的方法,其特征在于:MCU上电后,利用电源监测电路把MCU芯片内部的总复位信号置位“1”,然后,启动MCU芯片内部的RC振荡电路,同时启动上电复位自适应电路;该上电复位自适应电路立即读取存放于Flash安全位置的128位安全密钥;并将该安全密钥存放在密码匹配电路,之后释放所述总复位信号;JTAG调试接口默认是关闭状态;
当MCU芯片工作后,所述密码匹配电路开始工作;当外部输入密码时,所述密码匹配电路对该密码与其保存的安全密钥进行匹配确认,当匹配确认为正确后,所述JTAG调试接口打开,否则进行全MCU芯片的擦除;
在所述上电复位自适应电路的控制下,根据所述RC振荡电路输出的时钟,每经过1024个时钟进行flash的读操作,读取flash内的flash校验码;如果无法读取到正确的flash校验码,则再经过1024个时钟之后,继续读取flash校验码,直到能够正常读取到正确的flash检测码,之后读取128位安全密钥。
2.如权利要求1所述的方法,其特征在于:所述上电复位自适应电路和密码匹配电路的逻辑电路的布线使用MCU芯片最底下的两层金属进行绕线。
3.如权利要求1所述的方法,其特征在于:所述JTAG调试接口、上电复位自适应电路和密码匹配电路只有在MCU芯片复位状态运行,与MCU电路从逻辑上完全隔离。
4.如权利要求1所述的方法,其特征在于:所述MCU芯片上电后,JTAG调试接口默认设置成密码输入端口,只有在上位机软件的配合下输入正确的128位密码,MCU芯片才自动切换到JTAG调试端口,使用调试器进行MCU调试修改。
5.一种实现MCU安全性的电路,其特征在于,包括:
一复位寄存器,用于产生MCU芯片内部总复位信号;
一电源监测电路,在MCU芯片上电时,将所述复位寄存器置“1”,所述总复位信号有效;
一MCU芯片内部RC振荡器,在所述总复位信号为“1”时,启动工作,输出时钟信号;
一上电复位自适应电路,在所述总复位信号为“1”时,启动工作,读取128位安全密钥,并将读取的安全密钥存放到密码匹配电路,然后释放所述总复位信号,并关闭所述RC振荡器,同时使MCU芯片正常启动;
一Flash,在其安全位置存放所述安全密钥;
一JTAG调试接口,其默认为关闭状态,在关闭状态作为密码输入端口,输入由外部输入的密码;
一密码寄存器,用于寄存外部输入的密码;
一所述密码匹配电路,对外部输入的密码与其保存的所述安全密钥进行匹配,如果经匹配确认正确后,输出密码匹配成功信号;
一密码保护电路,在密码匹配成功信号的控制下,使所述JTAG调试接口自动切换为调试端口,即JTAG调试接口打开;然后使用个人电脑PC,通过调试器,对MCU内部电路进行调试;否则进行全MCU芯片的擦除;
一Flash读取电路,在所述上电复位自适应电路的控制下,根据所述RC振荡电路输出的时钟,每经过1024个时钟进行flash的读操作,读取flash内的flash校验码;如果无法读取到正确的flash校验码,则再经过1024个时钟之后,继续读取flash校验码,直到能够正常读取到正确的flash检测码,之后读取128位安全密钥。
6.如权利要求5所述的实现MCU安全性的电路,其特征在于;所述安全密钥与主程序合并在一起,使入侵者根本无法找到安全密钥所在位置。
7.如权利要求5所述的实现MCU安全性的电路,其特征在于:所述密码保护电路的逻辑电路的布线使用MCU芯片最底下的两层金属进行绕线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410017032.2A CN104777761B (zh) | 2014-01-15 | 2014-01-15 | 实现mcu安全性的方法及电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410017032.2A CN104777761B (zh) | 2014-01-15 | 2014-01-15 | 实现mcu安全性的方法及电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104777761A CN104777761A (zh) | 2015-07-15 |
CN104777761B true CN104777761B (zh) | 2018-04-27 |
Family
ID=53619294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410017032.2A Active CN104777761B (zh) | 2014-01-15 | 2014-01-15 | 实现mcu安全性的方法及电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104777761B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599693B (zh) * | 2015-10-16 | 2020-02-18 | 深圳市博巨兴微电子科技有限公司 | 一种多次可编程硬件加密方法及装置 |
CN107783915B (zh) * | 2016-08-25 | 2020-07-10 | 比亚迪股份有限公司 | 用于mcu的端口复用方法和装置 |
CN108460296A (zh) * | 2016-12-09 | 2018-08-28 | 上海新微技术研发中心有限公司 | 一种具有调试接口安全机制的soc芯片及方法 |
FR3072195B1 (fr) * | 2017-10-11 | 2019-10-18 | Stmicroelectronics (Rousset) Sas | Procede de gestion d'un retour de produit pour analyse et produit correspondant |
CN110334551A (zh) * | 2019-06-28 | 2019-10-15 | 深圳忆联信息系统有限公司 | 提升固态硬盘主控芯片安全性的方法及装置 |
CN111352862A (zh) * | 2020-03-05 | 2020-06-30 | 中安云科科技发展(山东)有限公司 | 一种密钥销毁方法、系统、密码卡及密码机 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553587A (zh) * | 2003-05-28 | 2004-12-08 | 中兴通讯股份有限公司 | 通讯单板写保护装置 |
EP2251813A1 (en) * | 2009-05-13 | 2010-11-17 | Nagravision S.A. | Method for authenticating access to a secured chip by a test device |
CN102129592A (zh) * | 2011-04-13 | 2011-07-20 | 胡建国 | 接触式智能卡 |
CN102455394A (zh) * | 2010-10-27 | 2012-05-16 | 上海华虹集成电路有限责任公司 | 防御侵入式攻击的装置 |
CN102592064A (zh) * | 2011-01-07 | 2012-07-18 | 深圳同方电子设备有限公司 | 一种动态密码芯片 |
CN104268487A (zh) * | 2014-09-23 | 2015-01-07 | 杭州晟元芯片技术有限公司 | 一种安全芯片的复位和自毁管理系统 |
-
2014
- 2014-01-15 CN CN201410017032.2A patent/CN104777761B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553587A (zh) * | 2003-05-28 | 2004-12-08 | 中兴通讯股份有限公司 | 通讯单板写保护装置 |
EP2251813A1 (en) * | 2009-05-13 | 2010-11-17 | Nagravision S.A. | Method for authenticating access to a secured chip by a test device |
CN102455394A (zh) * | 2010-10-27 | 2012-05-16 | 上海华虹集成电路有限责任公司 | 防御侵入式攻击的装置 |
CN102592064A (zh) * | 2011-01-07 | 2012-07-18 | 深圳同方电子设备有限公司 | 一种动态密码芯片 |
CN102129592A (zh) * | 2011-04-13 | 2011-07-20 | 胡建国 | 接触式智能卡 |
CN104268487A (zh) * | 2014-09-23 | 2015-01-07 | 杭州晟元芯片技术有限公司 | 一种安全芯片的复位和自毁管理系统 |
Non-Patent Citations (1)
Title |
---|
Semi-invasive attacks – A new approach to hardware security analysis;Sergei P. Skorobogatov;《University of Cambridge Computer Laboratory》;20050430;正文第19-26页,第48页,第60-63页,第105-106页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104777761A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104777761B (zh) | 实现mcu安全性的方法及电路 | |
CN108269605B (zh) | 安全器件状态设备和方法 | |
CN104156642B (zh) | 一种基于安全触控屏控制芯片的安全密码输入系统和方法 | |
US10733291B1 (en) | Bi-directional communication protocol based device security | |
Anderson et al. | Tamper resistance-a cautionary note | |
CN102947719B (zh) | 用于提供扫描链安全性的方法及设备 | |
US8051345B2 (en) | Method and apparatus for securing digital information on an integrated circuit during test operating modes | |
US20080098224A1 (en) | Processes and apparatus for establishing a secured connection with a joint test action group port | |
JP2016507829A (ja) | ワンタイムプログラマブル集積回路セキュリティ | |
US20140101459A1 (en) | Mode-based secure microcontroller | |
CN103023647B (zh) | 一种增强二次雷达fpga安全性的方法 | |
CN105005721A (zh) | 基于计算机开机钥匙的计算机授权开机控制系统及方法 | |
US10296738B2 (en) | Secure integrated-circuit state management | |
KR20100108206A (ko) | 전기적으로 퓨즈된 암호화 키의 보안을 위한 방법 | |
US8397079B2 (en) | Method and apparatus for securing digital information on an integrated circuit read only memory during test operating modes | |
Nisarga et al. | System-level tamper protection using MSP MCUs | |
US20160124826A1 (en) | Semiconductor device and method for testing reliability of semiconductor device | |
CN113496047A (zh) | 一种带防拆卸保护的电子密码卡 | |
US8781118B1 (en) | Digital fingerprints for integrated circuits | |
CN111737773A (zh) | 具有se安全模块功能的嵌入式安全存储器 | |
CN103529381A (zh) | 具有可编程保险丝的集成电路 | |
Hériveaux | Black-box laser fault injection on a secure memory | |
CN107784235A (zh) | 一种存储器数据保护方法和集成电路芯片 | |
CN114816867A (zh) | 一种基于fpga的故障注入密码靶实现系统及方法 | |
CN111708293A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |