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

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

3天内不再提示

基于硬件的MCU解决安全漏洞问题

电子设计 来源:郭婷 作者:电子设计 2019-01-18 09:02 次阅读

几乎所有基于MCU嵌入式系统 - 汽车,无人机USB记忆棒,车库门开启器,数码相机,甚至是打印机墨盒等耗材 - 都容易受到安全攻击。

越来越多的记录在案的安全漏洞使用物联网IoT)作为切入点,提高了物联网连接设备的设计社区的安全意识。通常,这些故事涉及影响消费者和最终用户的漏洞。但是,其他类型的安全威胁对设计工程师来说至少同样重要 - 而且大多数涉及盗窃,篡改或破坏知识产权。

互联网可能已成为基于MCU的系统中最受欢迎的切入点,但它远非唯一的。无担保或安全性不足的诊断端口一直容易受到攻击 - 因为汽车行业很大程度上是通过“调谐器”社区的活动发现的。任何无线(或有线)通信链路也可用作入口点。即使是未连接的MCU设备(或其相关ROM)也会受到篡改和IP盗窃。在其他技术中,逆向工程专家已经开发出一些技术,其中芯片的掩模层被小心地磨平,直到暴露出ROM层。通过仔细分析哪些交换机已被烧断,可以推断出其中包含的固件代码。

MCU供应商已采用多种方法来响应,以增强运行其设备的固件的安全性。虽然这些措施使固件更加安全,但实施它们需要系统设计团队了解它们的工作方式 - 并正确实施它们。这涉及系统物料清单(BOM)的额外工作量,时间和成本。计算机密集型安全措施(如数据加密)可能需要功能更强大的MCU。

安全策略

软件解决方案通常被认为是一种极具吸引力的选择,因为它们相对容易实现且几乎免费。有时它们已足够,但通常情况下是“快速,便宜,简单”的解决方案,它们会带来更多风险。安全算法的关键组件,如加密密钥,存储在MCU的现有内存资源中,如作为EEPROM或Flash。但是,如果存储设备本身不安全,则密钥信息仍然存在风险。算法本身也可能存在实施错误,使其容易受到攻击。

基于软件的解决方案的一个流行变体是为系统的客户端添加基于硬件的安全性并使用软件安全性在主机方面。该硬件 - 可以存在于客户端MCU或附加芯片中 - 用于存储加密密钥并执行部分或全部安全算法。关键数据受逻辑和物理机制的组合保护,这些机制通常由制造商保密。这种方法可以有效防御中间人攻击。由于主机端密钥存储在不安全的资源中,它们仍然可能被更改或被盗。完全由硬件实现的MCU安全性将防篡改密钥存储放置在系统的每个关键点,包括加密,并执行硬件中的安全算法。

实现基于硬件的MCU安全性的一种流行方式是MCU供应商提供专门设计的处理器和外围设备。实施方案各不相同,但通常安全处理芯片组可提供更低的性能并增加BOM成本。

硬件加密

Microchip Technology通过在MCU上集成加密引擎,为其一些常用的PIC器件提供硬件安全性。该引擎还执行身份验证以防止中间人攻击。两个例子是16位PIC24F“GB2”和32位PIC32MZ。

除了增加安全性之外,集成引擎还可以将MCU卸载到软件中执行加密算法的任务.Microchip的硬件引擎可以执行加密和验证顺序或并行。基于内部描述符的DMA用于安全关联数据和分组指针的有效编程智能状态机根据协议选择和数据包边界调度加密引擎。

主要功能包括:批量密码和哈希引擎,集成DMA到卸载处理,每个缓冲区描述符的安全关联以及执行能力一些函数并行。

图1显示了PIC32MZ的算法和性能指标。与在软件中执行算法相比,性能指标可以指示加密速度和获得的CPU卸载量。

引擎/算法性能因子

(Mbps/MHz)最大Mbps

(PBCLK5 = 100 MHz)DEC 14.4 1440 TDES 6.6 660 AES-128 9.0 900 AES-192 7.9 790 AES-256 7.2 720 MD5 15.6 1560 SHA-1 13.2 1320 SHA-256 9.3 930

Microchip为其32位加密引擎器件提供DM320006-C入门套件,为其16位器件提供DM240314演示套件。

德州仪器TI)最近推出了一种新的嵌入式MCU存储器方法,其新系列MSP430 FRAM MCU使用铁电随机存取存储器(FRAM)代替Flash。 FRAM结合了Flash和SRAM的属性。与Flash一样,它是非易失性的,但与SRAM一样,它可以提供快速,低功耗的写入。它的重写耐久性大于1015个周期。

由于其对辐射和电磁场的抵抗力,FRAM中存储的数据比Flash/EEPROM更不易受到逆向工程攻击。此外,它的功率和访问速度优于闪存。

13 KB的FRM写入速度为10 ms,而闪存为1 s,其测得的平均有功功率(16位字访问测量)为100μA/MHz与闪存的230μA/MHz相比。

它对辐射和电磁场的抵抗力使FRAM在使用显微镜和电压操纵防止物理攻击方面特别有价值。

在这些类型的攻击中,黑客试图改变应用程序代码本身,而不是在传输数据时尝试修改数据。为了实现这一目标,他们首先获得应用程序代码的图像,对其进行反向工程,最后在系统中成功覆盖修改后的版本。

FRAM抵抗显微镜攻击,因为位写入和读取线实际位于任何一侧极化分子,这意味着芯片的去层可能会破坏存储器的内容。

主要由于FRAM写周期的速度,可以防止电压操作。在这些攻击中,器件的输入电压在标准范围之外被操纵,以通过强力对位单元进行编程。很难提供欠压和过压保护电路,其工作时间长于编程EEPROM位单元所需的时间。但是,由于FRAM写入速度要快得多,因此可以将此保护电路配置为创建安全的回写电路,以允许FRAM正确完成写入过程。

保护编程端口

MSP430 FRAM MCU还具有保护用于对器件进行编程的端口的有效方法,这些端口是黑客的有吸引力的切入点。通常,这些是JTAG接口和引导带加载器(BSL),主要用于固件升级。通过在FRAM中编程熔丝签名,TI的FRAM MCU可以使用密码保护JTAG或完全禁用它。禁用JTAG端口时,只能使用BSL访问设备,BSL需要密码才能读出或接收数据。

密码是中断向量表的内容。在MSP430 FRAM设备上,提供错误的密码将导致整个FRAM代码区域被大量擦除。增加密码强度的另一种方法是使用有效的地址值填充中断向量表中任何未使用的地址空间,或者通过创建双跳表使得执行暴力攻击更加困难。

TI提供适用于MSP430 FRAM器件的MSP-EXP430FR5739开发套件。该板与许多TI低功耗RF无线评估模块兼容。

安全密钥管理器

另一种替代方案 - 由Atmel公司提供的另一种方案 - 通过存储密钥,密码的廉价芯片实现加密安全性和其他数据在EEPROM中。安全密钥管理器使用各种物理和逻辑机制,例如随机数生成器,使设备防篡改,并且还能够实现身份验证和加密。

因为它们是自治设备,所以它们会删除来自MCU的100%的计算负担。由于大多数加密和保护方案的工作都是由芯片供应商提前完成的,因此整体系统设计时间也大大缩短。

Atmel的CryptoAuthentication ATSHA204系列器件为设计团队提供了此选项。这些芯片使用SHA-256哈希算法,该算法由消息认证码(MAC)和基于哈希的消息认证码(HMAC)选项增强。其他功能包括:

256位密钥长度

最多16个加密密钥的存储

保证唯一的72位序列号

内部高质量随机数发生器(RNG)

用于密钥和数据的4.5 Kb EEPROM

512位OTP(一次性可编程)用于固定信息的位

多个I/O选项

独特的72位序列号对于实现ATSHA204的大部分功能至关重要。使用设备支持的加密协议,主机系统或远程服务器可以证明序列号是真实的而不是副本。

ATSHA204生成高质量随机数的能力也被设备的加密协议使用至于其他安全策略。灵活的命令集可以简化实施防伪和反克隆保护,固件IP保护和验证,安全数据存储,用户密码检查和会话密钥交换的任务。

Authentication

一种有效的策略来对抗模仿产品是为与真实产品配合使用的配件实施认证过程。当电缆,插件,电源和电池等常见配件使仿制产品无用时,它们会暴露其伪造品质。

同样,仿制配件也无法与原始产品配合使用。模仿配件总会导致收入损失,但是未经完全符合规格的未经授权的配件(如电池或医疗设备)也会造成严重伤害。在客户端向系统添加安全密钥管理器是实现高级别安全性的第一步。

通过将ATSHA204包含在主机系统中可以获得额外的安全性,如图2所示。主机生成客户端(附件)的随机挑战并评估其响应。

由于主机的挑战是使用其ATSHA204生成的,因此即使主机处理器也不知道其响应,因此可以获得额外的安全优势。将处理器与安全功能隔离,可以使用廉价的非安全加固处理器,而无需提供攻击者可以通过其获取系统秘密的弱点。

基于硬件的MCU解决安全漏洞问题

图2:在附件和主机上包括安全密钥存储可提高系统级安全性。 (由Atmel公司提供)

固件验证

虽然许多安全威胁可能会损害公司收入或损害其品牌,但设计工程师最担心的是尝试复制或破坏MCU的固件,这是通常存储在Flash中。有效防御是一种安全启动过程,可确保只有正版固件才能在系统上运行。

安全启动是使用存储在闪存中的验证代码或签名以及启动代码实现的。签名是在制造或代码更新时创建的,并且是加密散列函数的输出 - 一种不可逆算法,它将引导代码“压缩”为紧凑但唯一的数据报,通常长度为32-128字节。图3说明了如何将计算和密钥存储卸载到硬件密钥管理设备(ATSHA204)中。

基于硬件的MCU解决安全漏洞问题

图3:安全启动是保护MCU固件的绝佳方法。 (由Atmel公司提供)

在系统启动时,部分引导顺序要求安全设备验证引导代码附带的签名。只有在验证成功时才会执行操作程序,并允许系统以正常方式运行。即使用一位修改操作程序也需要新的验证签名。代码图像和下载的媒体文件都可以使用加密密钥进行存储,加密密钥只能在单个经过身份验证的系统上使用。

结论

为了应对安全漏洞和模仿产品的激增,MCU供应商正在提供硬件 - 基于芯片的安全解决方案。虽然比基于软件的解决方案成本更高,但即使是最持久的入侵者也难以打败它们 - 如果不是不可能的话。解决方案包括嵌入式加密引擎,内存技术(如FRAM),以及将MCU与恶意干扰隔离开来的自主安全芯片。但是,没有一个通用的解决方案。设计团队必须为其应用程序创建最合适的安全策略。

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

    关注

    145

    文章

    15885

    浏览量

    342777
  • 嵌入式
    +关注

    关注

    4962

    文章

    18145

    浏览量

    286512
  • 德州仪器
    +关注

    关注

    123

    文章

    1619

    浏览量

    139758
收藏 人收藏

    评论

    相关推荐

    国产智能扫地机器人被曝存在安全漏洞,易隐私泄露

      导读:安全研究人员发现智能机器人存在两个安全漏洞,导致其容易受到攻击。第一个漏洞可以让黑客对设备拥有超级用户权限,可以远程控制它们在家里运动,这有点令人毛骨悚然。第二个漏洞允许黑客
    发表于 07-27 09:29

    开发人员和嵌入式系统设计人员如何使用JWT关闭物联网设备的安全漏洞

    本文将介绍物联网设备安全威胁,并介绍目前用于应对该威胁的设备。它将确定安全漏洞以及开发人员和嵌入式系统设计人员如何使用JWT关闭它们。
    发表于 06-16 06:17

    软件安全漏洞的静态检测技术

    软件安全漏洞问题日益严重,静态漏洞检测提供从软件结构和代码中寻找漏洞的方法。该文研究软件漏洞静态检测的两个主要方面:静态分析和程序验证,重点分析词法分析、规则
    发表于 04-20 09:38 17次下载

    Linux发现更多安全漏洞LHA 与imlib受到波及

    Linux 发现更多安全漏洞 LHA 与imlib 受到波及 日前,开放源开发商已经发出警告,称两种Linux 部件内出现严重的安全漏洞。利用这些漏洞
    发表于 06-12 10:07 454次阅读

    Intel发布补丁 修复vPro安全漏洞

    Intel发布补丁 修复vPro安全漏洞 近日来自波兰的研究人员指出Intel基于芯片的安全保护措施存在安全漏洞,其TXT(可信赖执行技术)中的执行错误
    发表于 12-24 09:06 569次阅读
    Intel发布补丁 修复vPro<b class='flag-5'>安全漏洞</b>

    区块链安全漏洞隐患,DAO黑客可重入性

    区块链被证明分散的, 可信任的事务工作, 但许多区块链的安全漏洞仍然存在。安全漏洞存在于设计阶段、编码阶段和操作阶段。同样,区块链有可能受到黑客的攻击。
    发表于 07-11 09:55 1011次阅读

    Intel披露一种新的CPU安全漏洞

    和年初的Meltdown(熔断)和Spectre(幽灵)漏洞类似,Intel披露了一种新的CPU安全漏洞,攻击目标是一级缓存,级别“高危”。
    的头像 发表于 08-16 17:32 3252次阅读

    Facebook发现安全漏洞 扎克伯格称正在认真对待

    最近Facebook公司宣布他们发现了自家产品上的一个安全漏洞,这个安全漏洞非常严重,黑客可以利用它来获取用户信息,漏洞可能会影响5000万个用户账号。
    的头像 发表于 10-14 17:39 3072次阅读

    英特尔芯片有一个不可修复的安全漏洞

    据外媒报道,安全研究人员发现,过去5年,英特尔芯片存在一个无法修复的安全漏洞,该漏洞存在于英特尔的聚合安全和管理引擎(CSME)中。
    的头像 发表于 03-07 10:43 2457次阅读

    微软开发出一种新系统 区分安全漏洞和非安全漏洞准确率高达99%

    微软声称已经开发出一种系统,在测试中区分安全漏洞和非安全漏洞准确率达99%,并且识别出关键的、高优先级的安全漏洞准确高达97%。在接下来的几个月里,微软计划在GitHub上开源这个方法,以及一些示例模型和其他资源。
    的头像 发表于 04-17 11:04 3331次阅读

    FPGA中隐藏了安全漏洞?给FPGA产业将带来哪些影响

    ”,攻击者可以利用此漏洞来完全控制芯片及其功能。此外,报道还称,由于该漏洞硬件的组成部分,因此只能通过更换芯片来弥补安全风险。此次安全漏洞
    发表于 06-01 08:49 927次阅读

    NVIDIA已修复Windows和Linux的安全漏洞

    近日,英伟达发布了安全更新,以修复在Windows和Linux GPU显示驱动程序中发现的6个安全漏洞,以及影响英伟达虚拟GPU (vGPU)管理软件的10个额外漏洞
    的头像 发表于 01-11 10:36 2073次阅读

    基于区块链的网络安全漏洞检测系统

    基于区块链的网络安全漏洞检测系统
    发表于 06-19 15:44 13次下载

    基于循环神经网络的Modbus/TCP安全漏洞测试

    基于循环神经网络的Modbus/TCP安全漏洞测试
    发表于 06-27 16:39 30次下载

    如何消除内存安全漏洞

    “MSL 可以消除内存安全漏洞。因此,过渡到 MSL 可能会大大降低投资于旨在减少这些漏洞或将其影响降至最低的活动的必要性。
    发表于 12-12 10:29 158次阅读
    如何消除内存<b class='flag-5'>安全漏洞</b>