当前位置:首页 > 单片机 > 单片机
[导读] 引言MAXQ1103安全微控制器具有很多重要功能,能够防止物理篡改事件并保护有价值的数据。破坏性复位数据源(DRS)是这些功能中关键的一个,DRS允许多个自毁输入(SDI)立即擦除程序和数据密匙以及内部静态RA

引言

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


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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭