前言
2023年Zephyr开发者大会(ZDS)于6月27日至30日在捷克布拉格隆重举行。与以往两次不同,本次ZDS由Zephyr项目规划和管理,并作为首届嵌入式开源峰会(EOSS)的一部分进行。在这个令人期待已久的盛会中,全球Zephyr开发者们共同探讨了Zephyr实时操作系统(RTOS)的最新技术与发展趋势。作为一款开源、灵活和可扩展的嵌入式实时操作系统,Zephyr项目在2014年由英特尔发起,2016年作为Linux基金会项目正式面向公众启动,得到了全球范围内的广泛关注和采用。
ZDS 2023共70余个技术报告,涵盖了使用指导与展示、新功能与技术、架构修改与操作系统、多核异构与虚拟化、模拟器、测试、工业流程与代码管理、安全性、应用案例、工具与调试等丰富多样的内容。湖大嵌入式实验室的小伙伴们将对本次大会的所有技术报告进行逐一收集、整理与分享,尽最大努力为Zephyr开发者提供ZDS 2023技术报告的开发经验、实践成果以及解决方案的参考。
今天分享第48篇技术报告,由罗健淳整理,题目为:
“提升系统安全:整合Zephyr引导程序和MCU引导”
作者简介
Priya Dixit有超过8年的工作经验,对Linux内核非常感兴趣。在过去的几年里,Priya Dixit研究过引导加载程序、各种设备驱动程序和内核本身。Priya Dixit喜欢挑战自身,追求进步,并喜欢以最简单的方式分享自己的知识。
文章简介
本次分享将介绍如何集成Zephyr Bootloader和MCUboot以增强系统的安全性。既会涵盖Zephyr Bootloader的相关内容,包括Bootloader的定义及其在系统安全中的作用,使用Zephyr Bootloader为系统安全带来的好处,实现安全Bootloader的技术;还会涵盖MCUboot的相关内容,包括介绍MCUboot及其特性,集成MCUboot的优势,使用MCUboot实现安全引导程序的技术。除此之外,还将探讨如何结合Zephyr Bootloader和MCUboot以提升系统安全性,包括结合两种技术对系统安全性的好处,实现Zephyr Bootloader和MCUboot集成的最佳方法以及通过实现Zephyr Bootloader和MCUboot集成成功提升系统安全的案例研究。
提升系统安全:整合Zephyr引导程序和MCU引导
引言
随着互联网和数字世界的发展,我们需要集成健全的安全措施以提升系统安全性。Zephyr引导程序是一个轻量级且安全的机制,它在资源受限的设备上实现了信任启动和固件更新,确保了软件的完整性并防止了未经授权的代码执行。而MCU引导程序则通过提供安全固件更新和密码认证,补充了Zephyr引导程序的安全性,防 止未经授权或被破坏的固件危害系统。
系统架构
Zephyr RTOS的系统架构提供了一个清晰的视图,通过整合Zephyr引导程序和MCU引导程序,可以使得系统的安全性大大提升。
系统安全的重要性
在嵌入式系统中,为了保护软件、硬件和数据的完整性、机密性和可用性,系统安全是至关重要的。系统安全的关键考虑因素包括:安全启动、固件安全、通信安全、访问控制和内存保护、安全更新、物理安全、供应链安全、安全测试和漏洞、合规和标准。
整合Zephyr引导程序和MCU引导程序的概念
将两种引导程序结合起来,为基于MCU的设备提供了一个健壮和安全的固件更新解决方案。通过利用MCU引导程序的灵活性和安全功能,开发者可以确保可靠和经过认证的固件更新。整合简化了开发过程,为管理Zephyr RTOS环境中的固件更新提供了一个统一的框架。
引导装载程序流程图如下:
Zephyr引导程序的特性
轻量化设计
安全启动
固件更新支持
密码验证
灵活的配置
错误处理和恢复
兼容性
与Zephyr RTOS集成
MCU引导程序的特性
安全启动过程
固件更新支持
密码验证
灵活的配置
错误处理和恢复
抗干扰
兼容性
整合过程
整合Zephyr引导程序和MCU引导程序的过程包括:
1. 理解Zephyr RTOS和MCU引导程序
2. 设置开发环境
3. 选择目标硬件
4. 将MCU引导程序整合到Zephyr引导程序中
将MCUboot作为子模块添加到Zephyr项目中
修改Zephyr项目CMakeLists.txt以包含MCUboot
5. 为目标硬件配置Zephyr RTOS
自定义MCU引导程序配置
实现板级支持包(BSP)
6. 测试和调试
整合的好处
整合Zephyr引导程序和MCU引导程序可以提高系统安全性、实现安全启动、固件更新、密码验证、抵抗篡改、防止未经授权的代码执行、减少固件级别的攻击,维护用户信任。