MCU设备系统的防篡改技术介绍

描述

基于MCU的设计可以通过将算法编码到设备中来轻松添加专用和差异化功能。旧算法或全新方法的新变化可以使成功的产品与失败之间产生差异。不幸的是,使用MCU还可以打开您的设计以逆向工程,竞争对手会窃取您的辛勤工作并从您的创新中获益。当然,律师可以参与并可能进行报复,但通常只有在损害发生后才能进行。更好的方法是保护您的设计免受常见的硬件篡改入侵,这些入侵用于访问您的代码并窃取您宝贵的IP。

本文将介绍硬件“黑客”用于访问贵重设计IP的一些常用方法。新的MCU包括几个关键功能,可用于设置一些困难的障碍,以防止硬件篡改。这些防篡改设计技术可以成为MCU设计人员技术“诀窍”的重要组成部分。

片上防篡改:管理员模式

最新创新之一在MCU中已经包含了多年来在标准CPU中使用的功能。最早的防篡改功能之一,将用户操作模式与管理员操作模式分离(管理员模式通常与CPU中的操作系统模式相关)已经出现在MCU设备中。此功能允许监督软件对受保护资源进行特权访问,同时限制或取消对较低权限用户程序的访问。这使得黑客通过用户软件代码错误获得对系统的控制变得更加困难。即使可以使用用户错误来获得对MCU的控制,它仍然会停留在用户模式,而无法访问与配置,编程,调试和系统控制相关的最重要的系统元素。

作为一个说明性示例,飞思卡尔Kinetis K60 MCU系列支持管理员和用户模式。这允许系统保持对配置外围设备,访问受保护的存储器空间,限制系统代码的重新编程以及限制对用于保护用户数据的加密功能的访问的控制。许多关键的MCU系统资源需要一种监控模式来访问配置寄存器。例如,多功能时钟发生器(MCG)将对所有相关控制寄存器的写访问限制为管理员模式(图1)。这消除了未经授权篡改时钟设置的可能性,时钟设置是硬件黑客试图禁用系统操作的潜在攻击向量。此外,管理程序模式可防止用户代码无意中访问系统资源,然后可能为攻击者提供方便的“后门”,以获取对其他受保护资源的访问权。

飞思卡尔

图1:飞思卡尔Kinetis K60 MCU多功能时钟发生器具有仅限超级用户对敏感控制寄存器的写访问权限(由飞思卡尔提供)

许多其他外设和系统功能具有类似的访问保护。最敏感的元素,如闪存控制器,只能将对控制和数据寄存器的写访问限制为管理员模式。闪存控制器中的高速缓冲存储器甚至可以防止未经授权的读取,因此黑客无法“窥探”其他敏感数据。其他不太敏感的元件具有不太严格的访问要求,但即使CAN总线控制寄存器也可以防止未经授权的写入,因为您不希望黑客能够控制您汽车的刹车!

篡改 - 检测功能

无论您在保护设计方面有多彻底,仍有可能发生篡改。篡改检测的几种方法是可能的并且通常易于实现。例如,为了检测板级篡改事件(例如硬件探测,提升信号迹线和电源改变),通常在印刷电路板上的内部层中放置特殊的隐藏篡改检测迹线。如果攻击者试图钻电路板以访问关键信号,则可以检测到对隐藏轨迹的影响。另一种常见方法是使用机械篡改检测盖,可以检测攻击者试图访问封闭设备。

大多数篡改检测方法都可以生成篡改检测信号,然后由MCU决定采取行动 - 通常非常快,因此攻击者几乎没有可用于恶作剧的时间。当检测到篡改事件时,MCU可能采取的常见操作是快速记录事件,然后重置系统,关闭关键部分的电源,甚至清除敏感信息。记录事件可以是逐步升级“惩罚”篡改生成的有用方法。如果篡改是一个反复发生的事件,那么应用更严厉的响应(可能是擦除代码和敏感数据)可能是谨慎的。如果这是第一次篡改事件,那么较不严重的响应(可能只是系统重置)可能更合适。如果日志将用于确定升级过程,则捕获篡改事件的时间戳非常重要。

某些MCU包括监视事件输入并生成用于记录的时间戳的功能。例如,德州仪器(TI)MSP430FR5739 MCU具有实时时钟外设(RTC)RTC_C,与其他RTC外设类似,如下面的图2所示。但是,RTC_C具有额外的篡改检测事件记录功能。

飞思卡尔

图2:德州仪器MSP430定时器/计数器资源(由德州仪器公司提供)

事件/篡改检测时间戳可以监视两个MCU输入,当其中一个变为活动状态时,会生成篡改事件。输入可以来自用于检测篡改保护盖的移除的开关,移除备用电池或任何数量的巧妙的隐藏篡改检测方法。激活篡改事件时捕获实时时钟的值,它可以用作记录活动的一部分。此值可用于查看篡改事件是否以更高的频率发生,以便可以应用不断升级的惩罚。

使用事件监视器记录器进行篡改报告

为了简化捕获和记录篡改事件的过程,一些MCU为篡改事件检测和时间添加了更多功能 - 邮票捕获功能。例如,恩智浦LPC1800 MCU具有专用的事件监视器/记录器外围设备,可快速捕获,记录和响应篡改事件。如图3中的框图所示,恩智浦LPC1800最多可监控三个篡改事件输入,并可捕获事件的时间戳。为第一个篡改事件和最后一个篡改事件存储时间戳,以便于查看它们发生的时间段。整个外围设备在备用电池电源域运行,RTC也是如此,即使在电源被移除或断电情况下发生事件也可以记录事件 - 这是黑客使用的常用方法绕过基于机箱的篡改检测方案。

飞思卡尔

图3:恩智浦LPC1800 MCU系列事件监控记录仪方框图(由恩智浦提供)

请注意,即使MCU处于低功耗状态,也可能会产生中断或唤醒事件。这确保了篡改事件可以快速响应,因此黑客在应用惩罚之前有最少的时间来攻击系统。随着安全性和篡改检测和防护变得越来越重要,期望将更多功能添加到专用篡改外围设备中,以便以更低的开销保护设计。

参考设计向您展示

了解MCU设计的篡改检测和预防功能的最有效方法之一是查看参考设计。许多MCU供应商为其产品提供参考设计,并且在某些情况下,它们说明了高级功能,例如篡改检测和预防。仅举一个例子,Microchip的能量计参考设计非常接近基于PIC18F MCU的完整系统。部分设计包括多种篡改检测功能,包括电源反转,频率干扰,低电流,外部施加的磁场检测以及篡改盖移除检测开关。下面的图4显示了系统和检测到篡改事件时记录的篡改代码列表。

飞思卡尔

图4:Microchip电表参考设计和防篡改功能(由Microchip提供)

硬件布局,原理图和物料清单可用于充分利用Microchip在参考设计中投入的工作。该代码也可用,可用作您自己的篡改检测和日志记录方案的起点,用于基于Microchip PIC 18F MCU的设计。您还可以使用Digi-Key参考设计库并搜索“Tamper”,以轻松生成具有篡改相关功能的参考设计列表。

结论

使用防篡改技术对于保护为基于MCU的系统创建的有价值的设计IP至关重要。现代MCU设备中提供了多种防篡改技术,即使是最具攻击性的硬件黑客,也可以有效阻止这些技术。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分