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

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

3天内不再提示

使用 PSoC 64 确保嵌入系统的安全

海阔天空010 来源:Jacob Beningo 作者:Jacob Beningo 2023-10-03 14:25 次阅读

作者:Jacob Beningo

接入互联网的产品数量继续以指数级的速度增长。许多产品团队面临的问题是,嵌入软件开发人员的安全经验不足。缺乏经验会导致忽视安全要求、安全漏洞和实施不良。从而导致接入系统、设备和用户数据得不到充分保护,容易被窃取知识产权。

基于微控制器的系统的设计人员可以选择多种解决方案,以简化安全应用的实现,并提供有助于成功实现的工具。例如,单核微控制器可以使用 Armv8-M架构(及以上)的 Arm TrustZone。也有采用多核微控制器的解决方案。

本文介绍了开发人员如何使用多核处理器来确保其嵌入解决方案的安全。具体而言,本文研究了 CypressPSoC 64安全微控制器及其提供的用于实现安全解决方案的工具。

嵌入安全基本原理

设计安全产品的核心基本原理之一是利用基于硬件的隔离。这种隔离可以有多种形式,如隔离的执行环境,或基于内存保护单元 (MPU)的隔离内存。在最高级别,微控制器需要能将其执行环境分离成安全处理环境 (SPE) 和非安全处理环境 (NSPE)。

SPE 是隔离的执行环境,其中内存、元器件和应用代码与 NSPE 分离。SPE 可以看作一个安全处理器。SPE运行安全代码和操作,如安全操作系统和/或信任根 (RoT)。SPE 还将执行可信服务,如加密、安全存储、认证和安全记录。与安全操作相关的少数可信应用会在 SPE中运行。

至于 NSPE,则可被视为功能多样的执行环境,可以运行除安全操作以外的各种操作。实际上,大多数嵌入系统开发人员确实熟悉 NSPE 编程模型,其中有RTOS 和大多数应用的元器件。

基于硬件的隔离是 Arm® 平台安全架构 (PSA) 为构建安全系统提供的核心租户或最佳实践之一。图 1 以 PSoC 64为例展示了我们刚才探讨的不同隔离层的实现。本例中,SPE 和 NSPE (1) 的运行时环境位于不同的处理器上,由此形成硬件隔离。除了运行时分离,RoT和可信服务也被进一步隔离 (2)。最后,SPE 中的每个可信应用还利用可信分区和 MPU (3) 等工具进行隔离。

1.png

PSoC 64 是双核微控制器,其中 NSPE 在 Arm Cortex®-M4 处理器上执行,而 SPE 在 Arm Cortex-M0+处理器上执行。Arm Cortex-M0+ 运行所有的安全功能,并可通过处理器间通信 (IPC) 总线与 Cortex-M4 通信。该架构限制访问SPE,SPE 为硬件隔离。

开始使用 PSoC 64 之前,开发人员需查看 PSoC 64 Secure Boot Pioneer Kit。

PSoC 64 Secure Boot Pioneer Kit

PSoC 64 Secure Boot Pioneer Kit(图 2)包含开发人员为确保应用安全所需的一切。首先,它有一个 PSoC 64 模块,其中有PSoC 64 微控制器、外部存储器和各种支持电路(图示红色部分)。外部存储器可用于存储应用代码,或用于新固件映像,以实现安全的固件线上更新(FOTA)。

1.png

其次,带有 Wi-Fi 模块,开发人员可以通过该模块将电路板接入网络。Wi-Fi 模块对物联网应用特别有用,因为其中的电路板会连接到 AWS 或Azure 等云服务。该开发板支持 Amazon FreeRTOS,我们将在接下来的部分进行讨论。

最后,Pioneer Kit 支持广泛的扩展功能,如排针Arduino针座和各种传感器。开发人员可以使用板载触摸滑块和触摸按钮、按钮、电位计等。电路板的设置也使定制相当容易,几乎可针对任何应用进行定制。

PSoC 64 Secure Software Suite

设计安全的嵌入应用可能会耗时费力。开发人员应该寻找有助于降低成本和加快上市的解决方案,同时还要确保应用的安全性。为帮助实现此目标,PSoC 64提供了大量的软件,使开发人员能够快速构建安全的应用。

例如,CySecureTools 为开发人员提供了创建密钥和证书的工具集,以及签署用户应用和配置 Cypress 微控制器的工具。该工具允许开发人员转移Cypress RoT,然后注入自己的安全资产。关于如何设置和使用 CySecureTools 的信息可以在 github 资源库 README文件中找到。

对于物联网开发人员有用的工具可支持 使用 FreeRTOS 的 AWS。Github 资源库包含了在 PSoC 64 上使用 FreeRTOS 和 AWS的有用示例。开发人员会感兴趣的第一个示例是“Hello World”应用,它将 MQTT 消息从 PSoC 64 传输到 AWS云。此示例可以让开发人员浏览配置过程、密钥生成和部署阶段。在此示例的最后,开发人员有一个安全的嵌入设备连接到 AWS。关于如何开始的信息详见
CY8CKIT-064S0S204343 套件入门指南。

用 Trusted Firmware-M (TF-M) 确保应用安全

PSoC 64 为开发人员提供了开箱即用的安全框架,可以根据应用轻松定制。开发人员可能会发现,从软件的角度了解基础知识非常有用。具体来说,PSoC 64固件利用 Trusted Firmware-M(或 TF-M)开源基准安全框架。

TF-M 是 Arm PSA
物联网安全框架的一个基准实现。它为开发人员提供了有用的安全工具,如设备认证、固件验证、加密服务、设备秘钥管理和安全分区等。Cypress 利用 TF-M来构建其安全框架,以便开发人员可以在自己的应用中使用该框架。

开发人员可以通过添加自己的代码、添加安全配置文件等方式修改其安全框架。但要切记,SPE软件被修改得越多,漏洞增加的几率就越大。开发人员需要认真权衡与变更、增加或减少基线固件相关的风险。

确保嵌入应用安全的技巧和诀窍

首次想要确保其嵌入应用安全的开发人员需要考虑诸多问题。下面有几个“技巧和窍门”,可以简化和加速开发:

在开发早期进行威胁模型和安全分析 (TMSA)。

使用开发板来测试设备 RoT、安全引导程序、设备配置过程和固件更新。

不要单独实施安全!利用现有的开源安全固件堆栈,以尽量减少返工。

务必考虑设备的生命周期,包括如何安全停用。

了解 CySecureTools 等工具,这些工具可提供安全模板、软件和示例。

在复制 FreeRTOS github 资源库时,选择最新的标记版本。复制活跃的主线,往往会导致工具不兼容和漏洞依然存在。

开始项目时,先浏览 Cypress CY8CKIT-064S0S2-4343W套件入门指南。指南中提供了运行基线应用的所有必要信息,然后可以针对具体产品目的进行修改。

遵循这些“技巧和窍门”,可以帮助开发人员节省更多的时间,减少更多的麻烦。

总结

安全问题并非难以处理。嵌入系统开发人员应该专注于他们产品的差异化,即他们的秘诀。多数情况下,这并不涉及安全问题。本文探讨了 PSoC 64如何通过同时提供基于硬件的隔离环境和软件工具框架,来帮助开发人员快速确保其应用的安全。这些硬件和软件解决方案结合,加快了开发人员的安全开发周期。

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

    关注

    48

    文章

    7505

    浏览量

    151149
  • PSoC
    +关注

    关注

    12

    文章

    170

    浏览量

    91828
  • 嵌入系统
    +关注

    关注

    0

    文章

    18

    浏览量

    15270
  • SPE
    SPE
    +关注

    关注

    0

    文章

    27

    浏览量

    13724
收藏 人收藏

    评论

    相关推荐

    赛普拉斯推出PSoC® 6 MCU新系列 为物联网安全护航

    赛普拉斯半导体公司全新的PSoC® 64 Secure MCU系列具备PSA认证™的安全性能。
    的头像 发表于 03-10 10:28 7177次阅读

    如何使用PSoC 61进行安全启动?

    我们知道所有关于安全启动的文档都是基于 PSoC 62、63 或 64 的。 因为安全启动机制包括 M0+ 和 M4。 我们想知道如何使用 PSoC
    发表于 01-30 07:51

    如何在PSoC64中使用双CPU?

    有没有人能够在 PSoC64 中使用双 CPU? 要在 PSoC64 上运行应用程序,必须使用正确的安全和配置文件。 在同时使用 ARM0+ 和 ARM4 处理器的应用程序中,它们的位置在哪里? 我
    发表于 09-23 08:16

    安全嵌入系统设计

    江湖救急啊!!!明天要交卷了,SOS!!安全带是驾驶员和乘客生命的重要保障。为确保坐在汽车前排人员正确系好安全带,请设计一个嵌入系统。要求
    发表于 03-25 17:48

    PSoC3和PSoC5系统中如何使用嵌入式数字滤波?

    PSoC3和PSoC5系统中如何使用嵌入式数字滤波?使用PSoC3/5的高性能嵌入式滤波示例有
    发表于 06-07 06:10

    安全监控电路提供全方位监测,确保系统安全

    安全监控电路提供全方位监测,确保系统安全性 摘要:本文介绍了DS36xx安全监控系列产品在嵌入
    发表于 03-31 10:30 660次阅读

    全新架构PSoC扩充可编程嵌入系统设计平台

    全新架构PSoC扩充可编程嵌入系统设计平台 PSoC器件采用高度集成可编程片上系统架构,将可编程模拟和数字块与微控制器合二为一的独特组合
    发表于 11-16 10:06 702次阅读
    全新架构<b class='flag-5'>PSoC</b>扩充可编程<b class='flag-5'>嵌入</b>式<b class='flag-5'>系统</b>设计平台

    PSOC-嵌入系统设计的新突破

    PSoC的广泛应用 什么是PSoC 完备易用的PSoC开发系统 解决方案:CapSense电容式触摸感应方案 解决方案:EZ-Color混色控制方案 解决方案:2.4G短距离无线通信方
    发表于 03-24 11:35 68次下载

    基于嵌入系统级芯片PSoC的温湿度测控系统

    介绍了基于嵌入系统级芯片 PSoC 的温湿度测控系统的设计思想和实现过程。系统嵌入
    发表于 08-23 16:21 65次下载
    基于<b class='flag-5'>嵌入</b>式<b class='flag-5'>系统</b>级芯片<b class='flag-5'>PSoC</b>的温湿度测控<b class='flag-5'>系统</b>

    安全嵌入系统

    确保嵌入系统安全性可能是一项非常艰巨的任务,首先要做的第一件事就是明确了解以下基本安全问题
    发表于 05-03 12:00 762次阅读
    <b class='flag-5'>安全</b>与<b class='flag-5'>嵌入</b>式<b class='flag-5'>系统</b>

    如何在几分钟内使用PSoC构建嵌入系统

    本资料主要讲解 如何在几分钟内使用PSoC构建嵌入系统? 或许MCU做不到在几分钟内构建嵌入系统,但
    发表于 07-23 16:08 91次下载
    如何在几分钟内使用<b class='flag-5'>PSoC</b>构建<b class='flag-5'>嵌入</b>式<b class='flag-5'>系统</b>?

    基于PSoC技术的嵌入系统设计

    基于PSoC技术的嵌入系统设计
    发表于 11-01 08:33 19次下载
    基于<b class='flag-5'>PSoC</b>技术的<b class='flag-5'>嵌入</b>式<b class='flag-5'>系统</b>设计

    PSoC嵌入系统设计的三大优势

    选择PSoC 的一个重要的原因就是,PSoC 能在硬件和软件之间进行权衡,使嵌入系统达到最大的效率和性能。比如,当算法是嵌入
    发表于 06-01 02:57 3297次阅读
    <b class='flag-5'>PSoC</b><b class='flag-5'>嵌入</b>式<b class='flag-5'>系统</b>设计的三大优势

    监控技术如何增强嵌入系统安全

    确保嵌入系统安全性所采用的基本安全措施之一是时间和逻辑序列监控。在本文中,我们将了解监控技术如何增强
    的头像 发表于 09-15 11:06 600次阅读
    监控技术如何增强<b class='flag-5'>嵌入</b>式<b class='flag-5'>系统</b>的<b class='flag-5'>安全</b>

    如何使用 DSC 和 MCU 确保嵌入系统安全

    作者:Stephen Evanczuk 投稿人:DigiKey 北美编辑 随着向物联网 (IoT) 的迁移,安全性已不再是嵌入式应用中的选配功能,已发展成为确保系统完整性所需的必备能力
    的头像 发表于 02-13 14:38 680次阅读
    如何使用 DSC 和 MCU <b class='flag-5'>确保</b><b class='flag-5'>嵌入</b>式<b class='flag-5'>系统安全</b>