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

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

3天内不再提示

如何使用Microsoft Azure RTOS和ATECC608 TrustFLEX安全元件

星星科技指导员 来源:microchip 作者:microchip 2023-04-21 09:22 次阅读

您是否使用 Microsoft Azure RTOSATECC608TA100 安全元件,并希望为物联网IoT) 设备实施安全启动和 TLS 相互身份验证?如果是这样,那么您来对地方了。

嵌入式设备到 Azure 云安全性的 IoT 信任链由多个层组成。在这篇博文中,我们将重点介绍建立最基本的概念,即信任根,它由安全启动功能和使用 Microsoft Azure 实时操作系统 (RTOS) 和 ATECC608 TrustFLEX 安全身份验证集成电路IC) 的 TLS 相互身份验证组成。

首先,当您的物联网设备使用标准微控制器MCU)时,如何实现某种程度的安全启动?这就是像 ATECC608 或 TA100 这样的安全元件可以派上用场的地方。当然,在这种情况下没有bootROM,但是在没有安全启动和安全启动之间,安全元素内有一个隔离的公钥进行验证,威胁模型和业务条件可能会有利于基于安全元素的设计。在本例中,我们将使用传统的 SAME54 Arm Cortex-M4®® MCU 和 ATECC608 TrustFLEX 安全元件附加板,用于代表物联网终端节点的硬件。现在,如果您的终端节点需要多线程,并且需要 Azure RTOS 才能从所有与 Azure 相关的嵌入式 API 中受益,那么 MCU 和安全元件之间的通信在此 RTOS 环境中如何工作?我们需要看看PKCS#11。

什么是PKCS#11以及它如何适应Azure RTOS

PKCS#11 代表公钥加密标准编号 11。它是一个接口,用于触发将利用机密(密钥)的加密操作。简单来说,它是操作系统和硬件安全模块(HSM)之间的标准接口。在我们的例子中,HSM是ATECC608,你猜对了,操作系统是Azure RTOS。

Microsoft Azure 已方便地将 PKCS#11 接口集成到其 Azure RTOS 中。

pYYBAGRB76qAfZglAAFrEv_pBXU727.png

加密命令将通过 Azure RTOS 到 PKCS#11,但需要一个中间库:Microchip CryptoAuthLib。该库使安全元件与MCU或处理器无关。CryptoAuthLib 已经支持来自 PKCS#11 接口的调用,并将其转换为对 ATECC608 TrustFLEX 或 TA100 安全元件的低级命令,如下图所示。

poYBAGRB76-AfZl_AAEHua5l0Qo071.png

安全启动和 Azure 实时操作系统

嵌入式系统需要使用与签署代码的私钥关联的公钥执行椭圆曲线数字签名算法 (ECDSA) 验证。ATECC608 TrustFLEX TLS 配置中的公钥如下所示。下载信任平台设计套件 (TPDS) 时,无需 NDA 即可访问它。

poYBAGRB77aAbGEKAAKVtLWX1pE942.png

需要了解的是,Microsoft Azure提供“设备更新”服务,您可以在其中使用预先生成的公钥/私钥对,其中私钥在HSM中受到理想保护,设备更新执行代码的签名操作并创建签名作为输出。与签名关联的公钥将使用Microchip安全密钥配置服务预配(安全编程)到Microchip ATECC608 TrustFLEX插槽15中。TPDS 将引导您完成入职流程。签署代码的私钥不应离开公司 HSM,也不应提供给任何合同制造商 (CM)。请记住,安全是一种共担责任模型。现在我们有一个签名代码,CM将在制造过程中从每个MCU中的设备更新加载该代码。我们将使用配备 HSM 的工厂在其安全元件(ATECC608 TrustFLEX 或 TA100)中配置公钥。CM 还将组装已配置的安全元素,并且密钥不会暴露给供应链。现在,物联网设备公司可以灵活选择CM。

相互身份验证

处理安全启动后,嵌入式设备和 Azure IoT 中心之间将进行相互身份验证。在将数据推送到 Azure IoT 中心之前,嵌入式设备需要信任云,反之亦然。IoT 设备将与设备预配服务 (DPS) 相互进行身份验证。Microchip 提供的清单文件(其中包含与 TLS 相互身份验证请求的私钥关联的证书)上传到 DPS 中。DPS 现在拥有公钥列表,可以验证在嵌入式系统的安全元件内颁发的签名,以最终确定信任链。信任链由安全启动和相互身份验证组成,其中安全启动的公钥和 TLS 相互身份验证的私钥受到保护,并与代码、人员和制造商隔离,一直到嵌入式设备的开发和部署。然后,DPS 通过 Azure RTOS 支持和提供的 NetX TLS 基于受信任的 IoT 设备自信地与 Azure IoT Hub 通信。

poYBAGRB772ABSIEAAEzRq77_RA420.png

TLS 相互身份验证依赖于公钥基础结构 (PKI),该基础结构可以是静态的,也可以是托管的。对于静态PKI,Azure可容纳任何根证书公司,如Digicert,GlobalSign等。对于托管PKI,Microchip安全合作伙伴公司(如Crypto QuantiqueKeyFACTORKudelski)提供设备管理服务。他们的 API 可以直接插入 Azure 云环境,以吊销、轮换和审核证书。

当涉及到用于TLS安全元素的TrustFLEX时,它们可以做比前面提到的两个用例更多的功能,并解决各种用例,例如:

用于设备管理和所有权转让的私钥轮换

用户访问权限和受控固件版本更新的公钥轮换

固件 IP 保护

附件和一次性认证

总而言之,可以使用 PKCS#11 实现访问整个项目(包括 Azure RTOS),以使用预配置的 ATECC608 TrustFLEX 和 Microchip 安全预配服务实现安全启动和相互身份验证。

审核编辑:郭婷

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

    关注

    4983

    文章

    18294

    浏览量

    288574
  • 操作系统
    +关注

    关注

    37

    文章

    6290

    浏览量

    121897
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118800
收藏 人收藏

    评论

    相关推荐

    意法半导体STM32全系产品部署Microsoft® Azure RTOS开发包

    2022 年6月 8日,中国 —— 意法半导体在STM32Cube开发环境中扩大对Microsoft® Azure RTOS的支持范围,涵盖STM32产品家族中更多的高性能、主流、超低功耗和无线
    的头像 发表于 06-08 18:49 2748次阅读
    意法半导体STM32全系产品部署<b class='flag-5'>Microsoft</b>® <b class='flag-5'>Azure</b> <b class='flag-5'>RTOS</b>开发包

    Azure RTOS ThreadX的抢占任务应用实现与调试

    Azure RTOS ThreadX 是 Microsoft 提供的高级工业级实时操作系统 (RTOS)。它是专门为深度嵌入式实时 IoT 应用程序设计的。
    发表于 07-12 11:17 2077次阅读

    使用MM32F3270基于Azure RTOS定时器组的应用

    Azure RTOS ThreadX 是 Microsoft 提供的高级工业级实时操作系统 (RTOS)。它是专门为深度嵌入式实时 IoT 应用程序设计的。
    的头像 发表于 12-29 17:26 1257次阅读

    适用于DB4560_STM32F4系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-F4(Azure® RTOS STM32Cube 扩展包)为 STM32F4 系列微控制器在 STM32Cube 环境中提供了 Microsoft® Azure
    发表于 11-25 06:29

    适用于DB4595_STM32L5系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-L5(Azure® RTOS STM32Cube 扩展包)为 STM32L5 系列微控制器在 STM32Cube 环境中提供了 Microsoft® Azure
    发表于 11-25 06:34

    适用于DB4596_STM32G4系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-G4(Azure® RTOS STM32Cube 扩展包)为 STM32G4 系列微控制器在 STM32Cube 环境中提供了 Microsoft® Azure
    发表于 11-25 06:42

    适用于DB4412_STM32H7系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-H7(Azure® RTOS STM32Cube 扩展包)为 STM32H7 系列微控制器在 STM32Cube 环境中提供了 Microsoft® Azure
    发表于 11-25 07:43

    恩智浦半导体用Microsoft Azure RTOS搭建安全的局域网和连接到云端

    ) ——Microsoft Azure RTOS——运用于EdgeVerse产品,组合成更广泛的处理解决方案。得益于此次合作,使用恩智浦产品的开发人员将能够使用MCUXpresso软件和工具无缝访问
    的头像 发表于 04-08 16:34 2687次阅读

    Microchip安全解决方案系列研讨会第9场圆满举行

    《Microchip安全解决方案 系列研讨会第9场 利用TrustFLEX安全元件进行固件验证》 圆满举行。 非常感谢大家的参与和支持! 在本次在线研讨会上,Microchip 技术专
    的头像 发表于 10-19 15:51 1745次阅读

    Azure RTOS NetX Duo嵌入式TCP/IP网络堆栈

    Azure RTOS NetX Duo 嵌入式 TCP/IP 网络堆栈是 Microsoft 高级行业级 IPv4 和 IPv6 TCP/IP 双网络堆栈,专为深度嵌入式实时应用程序和 IoT
    发表于 05-24 11:19 13次下载

    瑞萨电子主流32位MCU扩展Microsoft Azure RTOS嵌入式开发套件

    Package(SSP)2.0版集成了Azure RTOS并可开箱即用。瑞萨电子通过e2 studio集成开发环境为RX MCU提供Azure RTOS提供支持。
    的头像 发表于 06-18 14:46 1941次阅读

    Microchip开发ATECC608A的安全增强版本 可实现轻松移植

    随着时间的推移,试图损害安全系统的攻击能力不断增强,安全领域内的安全功能和预期也在不断提高。认识到这些变化后,Microchip 开发了 ATECC608A 的
    的头像 发表于 09-27 11:02 1900次阅读

    使用MM32F3270基于Azure RTOS信号量的应用

    Azure RTOS ThreadX 是 Microsoft 提供的高级工业级实时操作系统 (RTOS)。它是专门为深度嵌入式实时 IoT 应用程序设计的。
    的头像 发表于 12-16 09:23 627次阅读

    使用MM32F3270基于Azure RTOS动态内存管理的应用

    Azure RTOS ThreadX 是 Microsoft 提供的高级工业级实时操作系统 (RTOS)。它是专门为深度嵌入式实时 IoT 应用程序设计的。
    的头像 发表于 12-23 11:01 607次阅读

    ATECC608A安全引导入门用例

    电子发烧友网站提供《ATECC608A安全引导入门用例.pdf》资料免费下载
    发表于 09-21 10:38 2次下载
    <b class='flag-5'>ATECC608</b>A<b class='flag-5'>安全</b>引导入门用例