0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从复制保护您的MCU设计和逆向工程

jf_pJlTbmA9 来源:网络 作者:网络 2023-11-03 15:06 次阅读

微控制器被用作几乎每个应用可以想象在主控制元件。他们的权力和灵活性,让他们去到组件的大多数设计的心脏。因为它确保您的设计不能轻易被复制是非常重要的,逆向工程或篡改,现代的微控制器现在提供了几个不同的选项来保护您的设计;的能力和权衡一个很好的理解是,以确定哪种方法是最好的一个给定的设计很重要。本文将回顾一些常见的方法来设计保护,如使从外面的世界,你的MCU读取,使用片上的功能来验证要执行的代码修改,并使用外部元件来提供更先进的安全功能。板上技术篡改检测和可能的“惩罚”是也可以应用进行说明。

保护你的设计

你可能没有考虑了很久是多么容易复制你的设计,但谁拥有经验丰富的设计偷窃会告诉你,一旦它发生的工程师,你永远不希望它再次发生!例如,如果片上的代码为您的MCU设计,可以读出一个竞争对手,甚至是通过不法合同制造商,你的整个设计可以很容易地复制和转售 - 无论是在不同的品牌或者甚至可以使用你的品牌在黑市上。这超过产品容量流行的设计已经成熟,这种类型的治疗,如果卖家无法从你的产品,他们可能会动用黑市场,以满足他们客户的需求。正如脆弱的是隐藏在你的MCU代码心脏的实际设计或算法。也许你有一个创新的方法来分析传感器数据,大大减少了所需的电力或处理时间。你想一个竞争对手能够把刚才复制的代码和反向工程算法?甚至有软件工具,可以采取二进制和再生合理的“C”代码,使算法的细节更容易破译。即使是很平常,比如板上测试程序,可能已经采取了许多个月的时间刚刚好 - 你想要的竞争对手获得快捷访问您的基础架构相关的代码,大大降低其开发成本,使他们能够不公平地削减他们的市场价格来赢得您的公司吗?保护的另一个方面是涉及硬件验证。通常,一个设计将允许外设或附加卡这样的基本设计理念可以升级或增强。如果设计不包括一些功能,能够检测的附加模块硬件授权,有可能为其他厂商打造低成本的模块,以争夺附加业务。打印机墨盒也许是最熟悉的应用程序的硬件认证,以确保你买的是制造商的品牌墨盒。常打印机以折扣出售和盒价格膨胀以覆盖折让打印机的寿命。参赛者可以以较低的价格出售墨盒,因为它不需要收回打印机的折扣,同时仍然保持健康的利润。因此,现在应该清楚的是,在许多情况下,重要的是要能够保护硬件复制,逆向工程,并且从假冒。此外,如果没有安全硬件为起点,这将是不可能创造的各种需要的像家庭互联(图1)的应用程序的安全设备。

一些技术已经发展随着时间的推移,其中许多是使用标准化的安全算法,以保护和验证存储内的MCU或存储器外设到MCU的代码。让我们来看看一些他们用于最常见的保护技术和安全标准和内容。然后,我们就可以看到各种微控制器和外设支持这些标准,可以用来保护你的设计。

保护技术和通用安全标准

也许是最常用的技术,用于保护硬件从复印编程在其中的编程的数据不能从装置外部进行访问的一次性可编程(OTP)模式的MCU。 JTAG和调试设备必须关闭,因此数据不能使用调试访问“后门”。现代的设计找到OTP的做法却非常有限,因为调试测试过程中故障分析和现场一个非常有用的功能。在OTP方法消除的另一个重要功能是远程更新片上MCU代码进行升级,bug修复,提高诚信经营和优质的服务所需要的其他类似的变化。理想情况下,我们希望保护我们的代码逆向工程和复制,但仍然能够方便地进行更新和更改。一些MCU提供了访问片上存储器的安全方法。德州仪器TI)凭借其MSP430FR MCU系列,提供了一种方法要么确保JTAG端口通过密码,或者通过编程片上禁用保险丝签名完全禁用它。当JTAG被禁用,对设备的访问经由使用密码引导装载程序只允许。提供了一个不正确的密码可以导致整个代码存储区被质量擦除。 TI还提供了一个方法来创建两个MSP430FR存储器空间内的安全的和非安全区域。安全码可以被封装(通过IP封装,或IPE),通过存储安全码在被映射到引导代码区中的第一电周期后一个特殊存储区域。 IPE的区域不能由JTAG,BSL甚至在系统读取访问,所以它保持安全的装置的寿命。在安全区域内的代码可以,不过安全区域内的访问数据,因此既安全算法和密钥可以安全区域内共存。为了保护您的IP所需的最常见的安全算法使用,也可以加密和/或解密的安全数据或数据进行验证,以证明它是从一个已知的和可信赖的来源。 MCU可提供专用硬件来实现共同的行业标准和Microchip PIC32MZ MCU系列就是这样一个例子。 PIC32MZ设备包括一个实现共同批量加密解密“密码”,如AES,DES和三重DES硬件加密引擎。这些功能所使用的加密保护的安全数据,使用密钥,以便只“知道”一个进程密钥才能解密数据。认证是由SHA-1,SHA-256,MD-5,AES-GCM和HMAC提供了 - 在所有的硬件实现。加密引擎的硬件结构和产生的性能(在输入时钟的Mbps的/ MHz和以Mbps为100MHz的时钟)示于图2中。性能值远远优于软件实现并表明,如果大量的数据需要经常处理的(可能在高速数据传输)或在时间关键事件(诸如在启动过程中)使用的硬件加密引擎可满足系统的要求是至关重要的。

双核微控制器

另一种方法在更复杂的系统实施的安全性是使用双核的MCU。一个单片机芯可以专用于执行,而另一个芯可以用于更标准的操作的安全性的功能。恩智浦半导体LPC4370双核MCU(图3)具有两个CPU核心,一个是ARM的Cortex-M4,另一个是了ARM Cortex-M0。了Cortex-M4内核可用于应用程序的“繁重”的部分,而在Cortex-M0内核,可用于实现安全相关的功能和常用的外设功能 - 或许是管理以太网USB端口,配置各种端口和管理所有的片外资源。

对于更先进的安全设计,可选的AES加密和解密引擎,提供对LPC43Sxx设备,可以用来加速标准密码函数,例如AES,CMAC,以及随机数生成。 AES密钥可以安全地存储在片上的一次性可编程(OTP)存储器和任选加密以额外的保护。将AES硬件甚至可以用来实现安全启动功能(确保引导代码没有被篡改 - 黑客用来攻击嵌入式系统的安全方面拥有共同的目标)从加密图像,以进一步保护设计IP。

安全外设

如果你想增加现有的MCU与一些附加的安全功能,您可以添加一个安全外围设备来获得你所需要的安全功能。例如,爱特梅尔ATSHA204A设备提供了篡改保护的安全密钥存储和认证。片上4.5 KB的EEPROM安全存储器可被用于存储多个密钥,执行读取和写入来管理密码或秘密的数据。存储器可以被组织,构造,然后锁定,以防止更改。每个设备都有一个唯一的72位序列号,并支持常见的加密算法(SHA-256,消息认证码,并基于散列的消息认证码选项)和高品质的随机数发生器。 I²C接口可以很容易地将设备连接到一个标准的MCU。所述ATSHA204A通常用于询问和响应事务与主机MCU所示,下面的图4。

该MCU挑战是由ATSHA204使用所存储的秘密和消息认证码(MAC)命令创建发送回主机的响应处理。主机可以验证响应是由执行相同的MAC命令正确。该事务的观察者不会看到的秘密密钥,所以这几乎是不可能确定要复制的设计或确定存储在ATSHA204任何秘密信息所需要的密钥。该ATSHA204可用于防止在设计的复制,通过在执行之前(例如安全引导),存储验证它保护固件或媒体和管理用于由主机MCU用于安全通信的会话密钥,存储秘密配置,校准或消费数据或确认用户密码。 Atmel还为工程师提供了ATSHA204一个加密认证的产品培训模块。总之,利用现有的现代MCU和各种配套设备的高级安全功能时保护您的设计,从逆向工程和黑客攻击成为可能。保护联网的嵌入式系统中尤为重要,因为对嵌入式系统的基于网络的攻击事件继续增长。

审核编辑 黄宇

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

    关注

    48

    文章

    7548

    浏览量

    151365
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17141

    浏览量

    351066
  • 检测
    +关注

    关注

    5

    文章

    4486

    浏览量

    91454
收藏 人收藏

    评论

    相关推荐

    使用MSP MCU的系统级篡改保护

    电子发烧友网站提供《使用MSP MCU的系统级篡改保护.pdf》资料免费下载
    发表于 10-09 10:21 0次下载
    使用MSP <b class='flag-5'>MCU</b>的系统级篡改<b class='flag-5'>保护</b>

    使用符合USB 2.0标准的低发射480Mbps隔离器保护的设计

    电子发烧友网站提供《使用符合USB 2.0标准的低发射480Mbps隔离器保护的设计.pdf》资料免费下载
    发表于 09-23 11:09 0次下载
    使用符合USB 2.0标准的低发射480Mbps隔离器<b class='flag-5'>保护</b><b class='flag-5'>您</b>的设计

    将编译器部分Flash复制到TMS320F28xxx DSC上的RAM

    电子发烧友网站提供《将编译器部分Flash复制到TMS320F28xxx DSC上的RAM.pdf》资料免费下载
    发表于 09-19 11:02 0次下载
    将编译器部分<b class='flag-5'>从</b>Flash<b class='flag-5'>复制</b>到TMS320F28xxx DSC上的RAM

    的MSP430™MCU添加管家功能:电源序列器

    电子发烧友网站提供《为的MSP430™MCU添加管家功能:电源序列器.pdf》资料免费下载
    发表于 09-14 11:09 0次下载
    为<b class='flag-5'>您</b>的MSP430™<b class='flag-5'>MCU</b>添加管家功能:电源序列器

    MSP430™ MCU 到 MSPM0 MCU 的迁移指南

    电子发烧友网站提供《 MSP430™ MCU 到 MSPM0 MCU 的迁移指南.pdf》资料免费下载
    发表于 09-09 14:55 2次下载
    <b class='flag-5'>从</b> MSP430™ <b class='flag-5'>MCU</b> 到 MSPM0 <b class='flag-5'>MCU</b> 的迁移指南

    浅谈PUF技术如何保护知识产权

    使用加密芯片来保护知识产权,对设备进行认证或加密处理,但加密芯片中薄弱的环节在于密钥。通过暴力剖析、侧信道攻击、逆向工程等方法,攻击者可以获取存储在芯片非易失存储器中的加密密钥,从而实现破解。 针对
    发表于 07-24 09:43

    EMC与EMI一站式解决方案:源头解决,满足的需求

    深圳比创达|EMC与EMI一站式解决方案:源头解决,满足的需求
    的头像 发表于 06-28 10:21 490次阅读
    EMC与EMI一站式解决方案:<b class='flag-5'>从</b>源头解决,满足<b class='flag-5'>您</b>的需求

    车架三维扫描逆向建模大尺寸部件stl建模曲面逆向设计方案

    三维扫描技术在汽车设计、制造、质量检测等多个环节中都发挥着关键作用。汽车车架三维扫描建模是汽车工程领域中的一项重要技术,通过CASAIM高精度的三维扫描设备,对车架表面进行快速扫描,获取车架的精确三维数据,进而通过专业逆向建模软件设计出车架的三维模型。
    的头像 发表于 06-11 16:57 443次阅读
    车架三维扫描<b class='flag-5'>逆向</b>建模大尺寸部件stl建模曲面<b class='flag-5'>逆向</b>设计方案

    复旦微电子推出新款漏电保护MCU与剩余电流保护芯片

    上海复旦微电子集团股份有限公司今日宣布,公司成功推出两款新品,分别是符合GB/T 18487-2023新标准的B型/EV型漏电保护MCU芯片FM2213和带电能计量功能的B/EV型剩余电流保护芯片FM2165。
    的头像 发表于 05-21 11:41 1389次阅读

    如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?

    如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号? 如果是自己建立的dave工程,选择完成了mcu型号后,进入了
    发表于 05-21 07:01

    你想轻松掌握PCB逆向研发原理图吗

    PCB抄板,业界也常被称为电路板抄板、电路板克隆、电路板复制、PCB克隆、PCB逆向设计或PCB反向研发。 即在已经有电子产品实物和电路板实物的前提下,利用反向研发技术手段对电路板进行逆向解析,将
    的头像 发表于 03-04 14:12 669次阅读

    MCU复位时GPIO是什么状态?#MCU #单片机 #电子工程师 #GPIO

    单片机mcu
    聚沃科技
    发布于 :2024年01月20日 09:35:51

    如何降低MCU系统功耗?#单片机 #MCU #电子工程

    单片机mcu
    聚沃科技
    发布于 :2024年01月19日 10:40:51

    珠三角矿山机械设备三维扫描、逆向3d建模抄数设计

    在机械制造领域,逆向工程很多企业经常使用的一种方法,逆向工程可以帮助企业复制、改进和优化产品。CASAIM中科广电主要使用三维扫描技术来获取
    的头像 发表于 01-16 15:14 501次阅读
    珠三角矿山机械设备三维扫描、<b class='flag-5'>逆向</b>3d建模抄数设计

    ad复制元件怎么保持编号不变

    复制AD(AutoCAD)元件时,如果要保持编号不变,可以按照以下步骤进行操作: 创建一个元件库:首先,你需要创建一个元件库,将你要复制的原始元件添加到库中。你可以使用AD软件的“设计中心”或“内容
    的头像 发表于 12-27 17:07 7251次阅读