当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]MAXQ1103破坏性复位诊断程序

摘要:MAXQ1103是一款安全微控制器,当任何一个篡改检测输入被触发时,将立即擦除敏感数据。经过破坏性复位,恢复向量允许运行诊断程序,执行所需要的记录或自毁事件通报等操作。本应用笔记介绍了利用Rowley CrossWorks C编译器编写诊断程序的相关内容。
 

引言

MAXQ1103安全微控制器具有很多重要功能,能够防止物理篡改事件并保护有价值的数据。破坏性复位数据源(DRS)是这些功能中关键的一个,DRS允许多个自毁输入(SDI)立即擦除程序和数据密匙以及内部静态RAM的内容。如果应用程序存储在内部程序闪存的加密区内,擦除程序密钥后将使微控制器处于无效状态。

早期的Maxim产品,例如:DS5250,集成了DRS功能。而MAXQ1103能够在破坏性复位之后执行未经加密的诊断程序。这个诊断程序可以执行任何内部未经加密的程序,不需要访问外部存储器总线(该总线在重新上电复位之前处于禁止状态)。

例如,诊断程序可以用于系统维护告警,通过一个调制解调器向控制中心报告“运行故障”,提示用户系统发生问题。该程序可以执行擦除功能并可重新编程内部闪存。

 

DRS诊断程序配置

DRS诊断程序由DIAE的DRSRS寄存器位使能,DRSRS寄存器位DIAS[3:0]指定程序代码的位置,确定SDI清零后微控制器的向量映射位置。如果诊断向量的地址指针指向加密存储区,微控制器ROM在复位后将简单地中断处理器操作,这是DIAE=0时的默认状态(没有使能诊断程序)。

可以在正常运行程序的任何时间写入DRSRS寄存器,这个寄存器还将保留破坏性复位源的指示标志,这些标志可供诊断程序使用或记录到非易失存储器。

 

应用举例:加密时钟

为了演示MAXQ1103的DRS诊断程序,采用Rowley CrossWorks编译器编写了一段C语言小程序。该程序利用MAXQ1103评估板(Rev D)构建一个简单的实时时钟(RTC)。

日期和时间持续显示在评估板的LCD上,每秒钟更新一次。利用评估板数字键盘上的ENT键,用户可直接设置日期和时间;指针自动跟着日期和时间字段刷新,图1给出了一个简单的示例。



如果任意一个SDI输入引脚拉高(至VDDIO)并随后释放,微控制器将执行一次破坏性复位。这一复位动作会擦除程序密钥,主程序将停止运行。此时,LCD会显示一个信息,指示发生了DRS,DRSRS寄存器内容将被显示到显示器上,见图2。



DRSRS寄存器的标志指示导致破坏性复位的SDI源。另外,最近一次DRS的时间和日期将被显示在LCD上。这项功能并非DRS诊断程序严格要求的部分,但DRS记录器所捕获的SDI触发时刻的RTS (RTC秒计数器)寄存器值的确为DRS诊断程序的关键。

 

详细说明

RTC“主程序”的源代码非常简单,本应用笔记将不再详述,但这个源程序很重要,可能作为RTC例程被重复使用。这部分代码储存在CODE存储器段,始于程序存储器地址0x000600。MAXQ30_Target.js包含预装载程序命令,使能带有PMAC和PMSZ寄存器的64k字加密区域,该区域采用3DES加密,存储CODE程序。

为了执行DRS恢复向量,必须保留一定的空间不被主程序使用。MAXQ1103.xml文件中声明一个存储器段,始于0x3C600,长度为16k字,声明存储器段名为RESERVE。由此,我们可以使用Rowley汇编指示CSEG RECOVERY在适当地址存放我们的DRS诊断程序,该地址由DRSRS寄存器的DIAS[3:0]位指定。

函数enable_drs_diag()在DRSRS寄存器写入0x00001E01值。这个数值能够使能诊断向量,选择0x3C600诊断向量位置。

发生破坏性复位后(例如,导致自毁的输入状态已解除),DRS诊断程序将被ROM调用。这个程序不会调用任何位于加密区(由PMAC/PMSZ定义)的程序,程序须避开加密区,否则会导致所不希望的系统操作。

恢复程序包含在drs.asm文件内,说明存储在RECOVERY区域的CSEG的使用。

诊断向量可能调用内部程序存储器中未经加密的C程序,程序调用之前必须安装C运行环境,请参考Rowley编译器的crt0.asm文件决定需要安装的内容。

 

结论

MAXQ1103诊断程序为程序设计人员提供了一个在与安全有关的破坏性复位之后执行代码的方法。它清晰地划分了加密程序和非加密恢复程序。诊断程序能够记录威胁安全性的攻击,在自毁操作后采取适当的措施,例如:远程报警或进一步擦除内部存储器。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

近日,东航、南航、海航等多家航空公司宣布恢复并加密多条国际航线。10月17日,东方航空官宣,计划于10月底恢复多条国际航线,包括上海—曼谷—青岛、杭州/青岛/南京/昆明—东京成田、青岛...

关键字: 加密 MDASH

本文中,小编将对无线模块予以介绍,如果你想对无线模块的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 无线模块 寄存器 处理器

新加坡航空公司将于2022年10月11日开通成都往返新加坡(航班号:SQ843/SQ842)的客运航班服务,航班采用空客A350-900远程客机执飞,每逢周二运营。与此同时,新航深圳往返新加坡(航班号:SQ847/SQ8...

关键字: 新加坡 加密

最经典的2DFF 1-bit同步器如下,下图结构通常用于单bit控制信号的异步处理:

关键字: 异步电路 寄存器

伦敦, Aug. 31, 2022 (GLOBE NEWSWIRE) -- Meco Limited(Mecobit)于2020年8月在香港科技局举行的精英发布活动上发布了备受期待的终极太阳能发电系统(一套具有惊人备份和...

关键字: LIMIT 加密 太阳能 电力

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等...

关键字: 单片机 寄存器

dsPIC33CH/dsPIC33CK系列数字电源控制器芯片,在目前诸多典型应用中都得到了广泛使用。在闭环控制中,尤其是电压模式控制中,对PWM数据寄存器进行实时更新是必要的一个动作,本文主要就这一话题做一些分析和讨论

关键字: 数字电源控制器 寄存器

青岛2022年8月12日 /美通社/ -- 今天,DHL快递宣布开通青岛至韩国仁川的货运航线,转运效率将再提升。作为首批入驻胶东国际机场的国际物流企业之一,DHL快...

关键字: BSP VIEW 加密 加速度

(全球TMT2022年7月19日讯)亚马逊云科技宣布,互联汽车服务提供商WirelessCar(维瑞联行)选择亚马逊云科技为首选云服务提供商。借助亚马逊云科技覆盖全球的基础设施,以及存储、数据库、无服务器计算、安全、物...

关键字: WIRELESS 亚马逊 云服务 加密

上海2022年7月12日 /美通社/ -- 今天,DHL北亚枢纽迎来投运十周年纪念日。十年来,北亚枢纽已发展建设成为集航空货运站、快件处理中心、货物中转功能为一体的国际航空货...

关键字: 供应链 加密 数字化 照明

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭