微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > MCU解密全攻略 为何所有MCU都能被破解

MCU解密全攻略 为何所有MCU都能被破解

时间:07-30 来源:电子发烧友 点击:

M 和一些 EEPROM)或MOS型的。 后者有比较好的性能和小的尺寸。

  早期的微控制器使用掩模ROM和紫外线擦除的编程储存器来储存程序,使用SRAM来储存数据。在大批量且低成本需求的场合,掩模ROM仍然被大量使用。通常这些微控制器的封装上没有具体型号的印字,仅有厂商的商标。内部工厂预编程的ROM里有软件版本号。

  图1-15 使用掩模ROM的MCU,通常封装上只有工厂的内部编码。

  掩模ROM有极好的性能,但它不能被再编程,也就是说不能升级程序。带UV EPROM的MCU通常有两种方式:一种是带石英窗的陶瓷封装,可重新擦除后再编程。另一种是大量生产的标准塑料封装,也称为OTP(One-Time Programmable只能编程一次)UV EPROM 不方便的地方是:编程的时候需要高压;一次只能写入一个字或一个字节,导致整个芯片的编程需要很长时间。即使是可擦除的版本也只能被编程百来次,进行擦除操作时,需要在非常强的紫外线下放置20-30分钟。

  SRAM也在一些需要快速读写或频繁升级的微控制器中作程序存储器。如赛普拉斯的USB 2.0微控制器C7Y68013。SRAM也被达拉斯半导体的加密型微控制器所用,因为在防破解场合需要更短的擦除时间。

  更先进的EEPROM比UV EPROM有一些进步:可在数百或数千个周期内再次编程;通常用芯片上的充电泵电路产生高压;很快可以编程完毕。对EEPROM的更进一步的发展是闪存(flash EEPROM),它在现代的微控制器和智能卡中是主流的存储器。它提供了更快的编程时间,且可以按块来擦除,节省了很多时间;并且可以被擦写数万次。大部分的现代微控制器将闪存作为程序存储器,这就可以现场升级代码而无须昂贵的烧录器。

  有种方法是把SRAM和EPROM整合在一起,那就可以达到快速的读写时间,且非易失。但它太贵,只在小部分的智能卡和ASIC中有应用。

  每种存储器都有优势和不足,硬件设计师根据需求来取舍。普通的微控制器在同一晶粒上有不同的存储器,如SRAM和EPROM用在OTP PIC微控制器中。SRAM,掩模ROM和EEPROM用在飞思卡尔MC68H05微控制器中。

  CPLD中,主要用EPROM,EEPROM和闪存。FPGA大多是基于SRAM的,也有公司提供反熔丝和闪存的非易失FPGA。反熔丝是一种特殊的OTP存储器,用于将芯片内金属线之间的互联进行编程。这些互联很小,约100纳米宽,很难确定它们的状态。基于反熔丝的技术,提供了很高的安全性。

   安全保护的类型

  通过编程接口对片上存储器进行写,校验,读和擦除操作,这可以用硬件(JTAG)或软件(bootloader)来实现。在硬件接口方面,安全保护通常是使用安全熔丝来控制接口的操作,如,阻止存储器中的数据发送到输出缓冲器里。至于软件接口,一般使用密码保护,但通常软件会检测某个硬件安全熔丝的状态。一些微控制器使用了这两种方法,软件启动载入模块控制系统的编程,另一个快速的硬件接口用来大批量生产的编程。每一种都有它的优势和劣势。通过软件,有更好的灵活性和更好的编程控制能力,但会在时间延迟和功耗方面泄漏一些信息。硬件的执行速度更快,对噪声攻击不敏感,不会通过功耗泄漏信息。在硅芯片的资源上,两者都占用类似大小的空间,对于现代的微控制器,与其它较大的部分如程序存储器,处理器和模拟接口相比,这部分几乎可以忽略不计。制造商就可以在同一个芯片上放置两种或更多的编程接口。如通过异步接口进行在线串行编程,标准的并行编程,软件启动模块通过异步接口编程。

  一些制造商故意不提供它们的微控制器的编程规格。这对它本身并没有提供很好的保护,只是给破解稍稍增加成本而已。这些信息可以通过在开发板上或通用编程器对芯片进行编程而获得。

  很明显,对于最高等级的安全,系统没有任何编程接口,并且不能读写所存储的数据。这通常用于掩模ROM微控制器和智能卡。对这种保护,实用破解方法是用微探针接触数据总线来恢复信息或使用功耗分析和噪声攻击来利用软件的缺陷。当微控制器进行编程但不提供任何返回信息,只有校验和写检查,这可以提供相对高的安全等级。当然,这需要完全执行以避免破解者强制系统一次只校验一个字节。

大部分现代的微控制器有一个或多个安全熔丝来控制片上存储器的读写。这些熔丝可以用软件或硬件来实现。软件的方法就是密码存储在存储器中或一个特定的存储器位置当作一个安全熔丝。例如,在MC68HC908系列,使用了密码保护。MC68HC705B系列的熔丝位于数据EEPROM存储器的第一个字节。两种方法的安全性都较高,因为很难从物理上找到熔丝和密码的位置并复位它们。同时,破解者会尝试使用噪声攻击来跳

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top