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

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

3天内不再提示

如何利用新型微MCU简化嵌入式系统的安全挑战

电子设计 来源:郭婷 作者:电子设计 2019-04-01 08:24 次阅读

物联网IoT)继续成为现实,设备每天都有数百万人连接到互联网。令人兴奋的是,随着许多创新机会的开放,物联网设备和系统的开发人员面临着许多挑战,其中最关键的是保护他们的设备并确保最终用户的隐私。值得庆幸的是,新的微控制器MCU)正在迅速出现,大大简化了安全任务,但这些功能与开发人员使用它们的能力一样好。

安全性一直存在,并且仍然是事后的想法,这有点令人惊讶。对于许多开发人员这是一个错误,因为它使房屋,车辆,制造,零售和关键基础设施容易受到攻击。然而,尽管历史上不愿意解决安全问题,但物联网现在迫使设计人员在开发嵌入式系统时更加认真地考虑安全性,幸运的是他们发现他们并不是唯一能够解决它的问题。

制造商和供应商微控制器是许多物联网系统和设备的基本元素,现在也认识到安全的重要性,并且正在构建其硬件和软件库的钩子,以简化开发并减轻开发人员的安全负担。

例如瑞萨电子美国公司的Synergy平台。这不仅包括一系列基于ARM®的微控制器,如S1,S3和S7系列,还包括一整套软件包,旨在通过提供驱动程序,RTOS,中间件,框架和库,为开发人员提供快速启动。 Synergy软件包(SSP)中包含一个安全和加密模块,开发人员可以利用该模块来正确保护其设备。虽然可以使用这些软件组件,但开发人员仍然需要了解如何将这些资源应用于嵌入式安全性的三个主要元素:身份验证,完整性和可用性。

如何利用新型微MCU简化嵌入式系统的安全挑战

图1:Renesas Synergy平台的Synergy软件包(SSP)包括平台中包含的驱动程序,RTOS,中间件,框架,库和开发工具。此处可以看到平台中包含的所有不同软件组件。 (来源:瑞萨电子美国公司)

身份验证和加密是一件棘手的事情。

身份验证最受关注的是安全性,这是正确的。身份验证是系统验证固件更新和通信来自合法来源的能力,而不是试图混淆或覆盖默认系统行为。开发人员可以在设计中使用的通用技术可以从最简单和最少资源约束开始在任何微控制器上工作,包括:

密码

Handshakes

数字签名

校验和

循环冗余校验(CRC)

CRC应包含在重要数据上,例如存储在闪存中的应用程序映像和通过网络通信接口传输的数据包。微控制器上的CRC可能是一项棘手的业务,特别是没有浮点硬件单元。对于开发人员来说,一个很好的技巧是使用类似于fletcher16算法的校验和。

fletcher16算法检测数据流中是否有任何数据被更改。它通过将数据流基本上分解为8位的块,然后对这些块求和以生成两个唯一的8位值(重新组合成16位校验和)来实现这一点。 fletcher16算法限制为不大于255的模数,因此插入数据流的随机数将有1/255未被检测到。 Fletcher16的有效性与最低挂起的CRC相当。

为了保护嵌入式系统,开发人员可能需要采用包括加密技术的组合。如果您没有选择正确的设备,那么在MCU上进行加密可能会很困难。每个应用程序都需要自己独特的加密需求,但您应该在MCU上寻找几个硬件资源,至少:

唯一的设备标识符

有限的JTAG访问

真正的随机数生成器(TRNG)

对称加密加速器

请注意使用的微控制器的数据表TRNG。所有TRNG都不是平等的,如果它们没有经过NIST SP 800-90认证 - 最新和最好的熵规范 - 那么潜在的黑客就有可能通过影响系统熵来操纵发电机,然后产生可预测的结果。

熵是衡量系统内存在的随机性或混乱的指标。 TRNG通常会使用熵来计算随机数。如果黑客能够控制系统的熵,例如操纵时间或温度(伪随机数生成器使用的属性),则随机数变得可预测。可预测的数字允许黑客进行有根据的猜测,最终破坏系统安全性并将其打开以进行攻击。

Renesas Synergy MCU拥有上述所有硬件资源,并使用Synergy工具链获取访问权限。 TRNG几乎是微不足道的。只需进入Synergy配置文件,然后在threads选项卡中添加TRNG组件。该组件通过可视界面完全添加,图2中显示了必要的步骤。在此示例中,使用瑞萨S1开发套件部署TRNG。添加TRNG驱动程序后,以下API调用将生成随机数:

R_SCE_TRNG_Read(trng_ctrl_t * const p_ctrl,uint32_t * const p_dest,uint32_t nwords)

如何利用新型微MCU简化嵌入式系统的安全挑战

图2:要将真正的随机数生成器(TRNG)驱动程序组件添加到Synergy项目,只需选择添加,然后按照右上角的菜单进行操作左下方找到TRNG驱动程序。 (来源:瑞萨电子美国,E2工作室协同项目)

高级应用程序需要的不仅仅是简单的TRNG或对称加密加速器。要利用最新的加密技术,开发人员应在其微控制器中寻找其他硬件,例如:

非对称加密加速器

HASH加速器

非对称密钥生成器

安全密钥存储

如果没有这些关键组件,开发人员会发现他们的系统容易受到攻击,并且可能在现场受到攻击。事实上,最终用户可能会发现他们的隐私受到侵犯。隐私是最终用户数据被隐藏而不能被其他人查看的能力。缺乏良好加密方法的系统将导致用户可能甚至不知道或可能导致身份盗用等网络犯罪的隐私侵权行为。上面列出的高级功能可以帮助保护隐私,但可能不包含在每个微控制器中。例如,您不会在Renesas S1设备上找到HASH加速器,但您会在瑞萨S7上找到它。

确保系统完整性

开发人员通常非常关注身份验证和加密,很多时候他们没有考虑系统完整性的重要性。完整性衡量软件的可信度。许多开发人员将在启动时假设应用程序未被破坏或已注入恶意软件。对于经常连接到Internet的设备,这是一个很差的假设。

开发人员可以使用一些技术来验证系统的完整性。首先,您可以将CRC或校验和添加到存储在闪存中的应用程序映像。启动系统时,引导代码会计算校验和或CRC,并验证它是否仍与预期值匹配。或者,您可以使用软件组件,例如瑞萨SSP中包含的安全引导框架(QSA)。它不仅提供安全启动功能,还提供受保护的内存位置,防止恶意软件或其他代码访问整个系统。这使您可以为不同的应用程序组件创建沙箱,以保证它们的安全。

可用性

嵌入式系统几乎100%可用,但有时黑客可能正在执行分布式拒绝服务(DDoS)攻击导致线程不足或内存溢出,从而导致系统崩溃。为了保护嵌入式系统并防止这种情况发生,但确保使用能够启用内存保护并管理应用程序的RTOS,以确保过度的任务不会导致整个系统崩溃。

安全性入门

嵌入式安全性可视为一个利基领域,因为在物联网之前安全性不是问题。过去断开的设备极大地限制了它们的攻击区域。虽然可以在各种情况下随时攻击连接的设备。学习嵌入式安全性的最佳方法是从板凳上开始。有两个开发套件,前面提到的瑞萨S1,以及可用于启动安全工作的瑞萨S7。

图3:在缩小硬件加密选择范围之前,瑞萨SK-S7G2开发套件是开始探索安全概念的最佳场所。 (来源:瑞萨电子美国公司)

每个开发套件都有Arduino接头跳线,因此可以轻松地将蓝牙模块等硬件屏蔽添加到开发套件中,以进行定制设计工作。瑞萨S7包括一个以太网端口,当与SSP配合使用时,可以让您在短时间内启动并运行物联网设备。

首次开始探索安全概念时,您可能需要关注在S7上,因为它具有所有的铃声和口哨,并且最有能力。一旦了解了平台的功能和最终系统要求,只有这样才能考虑降低硬件加密能力。

结论

设计人员面临的安全挑战他们的嵌入式系统,从身份验证到系统完整性和高可用性,乍一看似乎势不可挡。然而,微控制器正在出现,具有内置功能,挂钩和库,可帮助开发人员应对这些挑战并简化流程。一个很好的例子是Renesas Synergy微控制器及其相关的评估平台。

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

    关注

    146

    文章

    17178

    浏览量

    351679
  • 嵌入式
    +关注

    关注

    5087

    文章

    19145

    浏览量

    306134
  • 蓝牙
    +关注

    关注

    114

    文章

    5835

    浏览量

    170630
收藏 人收藏

    评论

    相关推荐

    嵌入式设备的发展:解决复杂的设计挑战

    智能手机的推出,我们现在希望我们的设备智能化,可升级并可通过互联网访问。安全性不是可选的,如果不认真对待安全性,数据,品牌声誉和收入流都会受到影响。此外,嵌入式系统变得越来越复杂,你不
    发表于 11-23 10:01

    如何利用新型Linux开发工具应对下一代嵌入式系统设计挑战?

    内部增添工程能力。这两种模式都已被证明是成功的,但是每种做法都需各自的成本。那么我们该如何利用新型Linux开发工具应对下一代嵌入式系统设计挑战
    发表于 07-30 06:05

    嵌入式物联网的硬件设计挑战

    ,它们能够执行独特的各种操作。因此,在设计这些嵌入式物联网系统时,需要针对特定功能进行设计,具有良好的产品设计质量,如低功耗,安全架构,可靠的处理器等。但是,设计嵌入式物联网硬件
    发表于 08-16 14:28

    嵌入式系统有什么安全技巧?

    中间人攻击、黑客攻击、间谍和篡改、内存数据错误——嵌入式系统面临各种威胁。儒卓力GDPR专家团队主管兼嵌入式和无线部门营销总监Bertron Hantsche提供了六个安全技巧,以便增
    发表于 10-18 06:28

    嵌入式实时操作系统如何简化应用软件的设计

    嵌入式领域中,嵌入式实时操作系统(RTOS)正得到越来越广泛的应用。采用嵌入式实时操作系统可以更合理、更有效地
    发表于 11-25 06:48

    嵌入式系统制造商面临的IP安全性的挑战是什么

    嵌入式系统制造商面临的IP安全性的挑战防止发生未经授权的固件访问隐藏模拟与数字资源及其互联方式
    发表于 03-02 06:49

    嵌入式系统设计的新发展及其挑战是什么

    嵌入式系统设计技术发展的特点是什么采用定制SoC有什么缺点?嵌入式系统设计的新挑战是什么
    发表于 04-27 07:02

    嵌入式系统设计调试的挑战是什么?

    嵌入式系统设计调试的挑战是什么?如何测试射频信号与总线信号及控制信号的定时关系?
    发表于 05-11 06:50

    多核MCU可用于简化嵌入式设计 精选资料推荐

    转自:http://www.elecfans.com/d/851199.html嵌入式系统设计人员面临着对更高性能和更快上市时间的不断增长的需求。嵌入式处理器需要经常实时地执行不断扩展的任务。同时
    发表于 07-19 09:02

    嵌入式系统安全面临的挑战是什么

    在我们努力在更小的嵌入式系统中使用更多功能时,它们的安全性往往被忽视。本文讨论了过去的一些安全漏洞,并讨论了嵌入式
    发表于 12-22 07:44

    新型集成电路简化嵌入式POL DC/DC转换器设计

    新型集成电路简化嵌入式 POL DC/DC 转换器设计凌特公司 电源产品部 产品市场经理Tony Armstrong1、背景大多数嵌入式系统
    发表于 12-21 10:19 26次下载

    如何简化嵌入式开发项目

    如何简化嵌入式开发项目
    发表于 10-24 10:16 13次下载
    如何<b class='flag-5'>简化</b><b class='flag-5'>嵌入式</b>开发项目

    如何构建基于处理器的嵌入式安全系统 

    嵌入式安全系统概述;嵌入式系统安全技术;安全应用处理器介绍 ;基于安全处理器的
    的头像 发表于 01-25 07:06 2571次阅读
    如何构建基于处理器的<b class='flag-5'>嵌入式</b><b class='flag-5'>安全系统</b> 

    多核MCU可用于简化嵌入式设计

    嵌入式系统设计人员面临着对更高性能和更快上市时间的不断增长的需求。嵌入式处理器需要经常实时地执行不断扩展的任务。同时,应用需要高吞吐量和高能效以及小外形和低成本。多核微控制器单元(MCU
    的头像 发表于 03-27 08:32 4832次阅读
    多核<b class='flag-5'>MCU</b>可用于<b class='flag-5'>简化</b><b class='flag-5'>嵌入式</b>设计

    设计安全可靠的嵌入式系统最佳实践

      如果您想简化团队工作流程、削减成本并缩短上市时间,那么了解嵌入式安全安全关键系统开发中的挑战
    的头像 发表于 07-01 14:15 874次阅读