MCU解密全攻略 为何所有MCU都能被破解(一)
背景知识:
硅芯片安全措施的演变
工业控制器的硬件安全措施与嵌入式系统同时开始发展。三十年前的系统是由分离的部件如CPU,ROM,RAM,I/O缓冲器,串口和其他通信与控制接口组成的。如图1-1所示:
![](../img/eep-analog/analog-27823zmnntnyv5ob.jpg)
图1-1 通用的嵌入式控制器。PCB上的每个部件很容易辨别且极易被复制。
在早期,除法律和经济外,几乎没有保护措施来防止别人复制这些设备。例如:ROM是用低成本的掩膜技术制造的,可用EPROM轻易复制,但后者通常要贵3-10倍或更多,或通过定制掩膜ROM,那就需要很长的时间和很大的投资。另一种是在游戏机中广泛使用的简易ASIC,如图1-2。这些ASIC主要用于I/O部分来取代数十个逻辑器件,在降低成本的同时防止竞争者的复制,使之不得不应用更大且更贵的解决方案。实际上ASIC不会更安全,用示波器来简单分析信号或穷举所有可能的引脚组合就可以在数小时内得知它的具体功能。
![](../img/eep-analog/analog-27824utbrjcvfeh3.jpg)
图1-2 游戏机中的专用集成电路(ASIC)
从七十年代后期开始,微控制器提供一种基于CPU的控制板的非常好的取代方法。它们不仅有内部存储器和通用I/O接口,还有一些保护措施以防止未经授权访问内部存储器的内容。
不幸的是,早期的MCU没有提供非易失存储能力,重要的数据不得不存在MCU外部的分离芯片上,因此很容易被读出数据。最近销售的一些廉价USB狗也用此法来进行软件保护,如图1-3所示。
![](../img/eep-analog/analog-27825zx3dqhhlfjq.jpg)
图1-3 Aladdin HASP4 USB狗
安全领域的下一步进展就是把EEPROM芯片放在与MCU同一封装的内部。如图1-4。破解这些芯片是不容易的。一种专业的方法是打开样品的封装,用微探针来获得数据。或将芯片重新焊在一个分开的封装内。这两种设备都不是低级破解者所能拥有的。这些破解者会尝试用自制的微探针(旧芯片的焊线区域是相当大的)或利用软件上的缺陷来读出数据。
![](../img/eep-analog/analog-27826sdfti1qb4ml.jpg)
图1-4 微芯Microchip的PIC12CE518微控制器打开封装后的照片,可见非易失数据存储器和MCU是分开封在同一封装内部的。
(译者注:近来的堆叠芯片,如手机中用的Flash+SRAM的combo存储器,结构与之类似,不同的是在垂直方向叠加。破解方法亦类似。结构见图1-5。)
MCU 相关文章:
- 巧用MCU内部振荡器,为电源增加智能控制(02-01)
- 电源转换应用中数字反馈回路的益处(11-14)
- ADS8323与高速FIFO接口电路的CPLD实现(03-26)
- 基于FPGA的多通道数据采集系统设计(09-30)
- 电池管理应用中精确测量和温度稳定的重要性(01-12)
- 基于MCU和基于ASIC的LED可控硅调光方案对比与解析(01-05)