早期MCU芯片是怎么加密的?
扫描二维码
随时随地手机看文章
自从上世纪70年代MCU诞生以来,芯片的破解技术与防止芯片被破解方案就在不断地上演着“道高一尺,魔高一丈”,一山更比一山高的追逐。
本文将单片机在安全保护方面的发展历程与大家分享,并在文章的最后,总结了现阶段安全级别最高的智能卡芯片的优点及其缺点。
01
单板机时代
上世纪70年代初期,嵌入式系统是由分离部件如:CPU、ROM、RAM、I/O缓存、串口和其他通信与控制接口组成的控制板。
这一时期除法律外,几乎没有保护措施来防止侵入者复制单板机上ROM区的数据。
02
单片机时代
随着大规模集成电路技术的发展,中央处理单元(CPU)、数据存储器(RAM)、程序存储器(ROM)及其他I/O通信口都集成在一块单片机芯片上了,微控制器MCU取代了单板机。如图:
03
安全熔断丝(Security Fuse)
随着入侵者的增加,MCU为了自身的安全,后来增加了安全熔断丝(Security Fuse)来禁止访问数据。如图:
04
安全熔丝变成存储器阵列的一部分
再后来MCU制造商将安全熔丝做成存储器阵列的一部分,如图:
05
用主存储器的一部分来控制外部对数据访问
利用上电时锁定特定区域地址的信息,将它作为安全熔丝。或用密码来控制对存储器访问。例如:德州仪器的MSP430F112只有输入正确的32字节密码后才能进行回读操作。如果没输入,只有擦字节密码后才能进行回读操作。尽管这个保护方法看上去比先前的更有效,但它有一些缺点可以用低成本的非侵入式攻击,如时序分析和功耗来破解。如果安全熔丝状态是上电或复位后存储器的一部分,这就给破解者用电源噪声来破解的机会,强制路进入存储中错误状态。
06
使用顶层金属网络
使用顶层金属网络设计,提升入侵难度。所有的网格都用来监控短路和开路,一旦触发,会导致存储器复位或清零。如图:
07
智能卡芯片安全设计
近些年,一些智能卡使用存储器总线加密(Bus Encryption)技术来防止探测攻击。如图:
08
智能卡芯片加密方案优缺点
对于开发者来讲,选择更为安全设计的微控制器或可以得到更好的保护。与大多数微控制器相比,即使是十年前设计的智能卡也能提供更好的保护。现代的智能卡提供了更多的防攻击保护,内部电压传感器保护免受电源噪声攻击(Power Glitch attacks)、过压和欠压保护。时钟频率传感器防止受到静态分析(Static analysis)的降低时钟频率攻击;同时也可以防止时钟噪声(Clock glitch attacks)进行提高时钟频率的攻击。顶层金属网格和内部总线硬件加密使可以防止微探测攻击。
但是,与微控制器相比,智能卡芯片也有劣势,如:芯片价格昂贵,小批量的很难买到货。开发工具昂贵,需要和制造商签署保密协议,即使是说明书也要这样。很多制造商仅向特定客户销售大批量的智能卡。
另一个不足是I/O的功能受限,普通智能卡芯片通常只有ISO7816接口,极少有单独的I/O口。这使得多数应用中不能取代微控制器,而只能用于安全要求非常高的行业,如:付费机顶盒,银行卡,SIM卡,二代身份证,高端加密芯片等领域。智能卡芯片在加密芯片领域的应用,将是个不错的方向。因为智能卡芯片安全等级高,IO资源少。而普通MCU的硬件资源非常丰富,安全程度却不高,可以将MCU中一些关键算法及运行参数,以特殊形式存放在智能卡芯片中,从而实现高安全强度的强大功能。
09
后 记
坚持不懈的尝试突破保护机制的破解团体和不断引入新的安全防范方案的制造商之间的斗争是没有尽头的。“道高一尺,魔高一丈”,又或是“邪不压正”,将不停的在两派之间上演!
树莓派Pico:仅4美元的MCU
嵌入式Linux开发板裸机程序烧写方法总结
国产16位MCU的痛点,可以用这款物美价廉产品
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!