干货分享 |自主可控开源 RISC-V助力IoT设备提升安全等级
物联网也称为IoT,这种技术可使全球数十亿物理设备通过互联网联通,所有这些设备都收集和共享大量数据。由于连接设备的数量众多,因此物联网已成为全球数十亿人生活中不可或缺的一部分。许多人认为,物联网是21世纪最重要的技术,因为它几乎影响了从医疗到运输的各行各业。但是,随着我们周围世界的联系越来越紧密,保护这些设备的安全性变得至关重要。有限的硬件功能限制了整体固件的发展,大多数物联网设备的核心存在安全性缺陷。基于MCU的设备通常不提供辨识可信和不可信软件的方法。第三方二进制文件、开源库、legacy code、应用程序、驱动程序和操作系统共享硬件资源的访问权限,因为它们以相同的级别运行。所以设备的安全性就看链中最薄弱的环节,而利用单个固件中任何组件的漏洞就足以危害整个设备。
TEE就是一种方法来确保设备或系统的数据和程序的机密性(confidentiality),完整性(integrity)和可用性(availability)(简称“CIA”)。传统的TEE技术能够在各种硬件组件中“切出”一个安全区域(通常称为“安全区”(secure world)),这种功能已经在市场上存在了一段时间。然而由于两个主要缺点,这种特定的TEE技术从未在移动市场之外得到广泛应用。首先,底层硬件模块基于专有IP,这导致了跨厂商和平台将产生高昂成本。其次,硅IP供应商通常是以硬件为中心的方法使软件实现复杂化,甚至很难在不同的微体系结构中实现。此外,由于系统层面发现了微体系结构组件中的关键漏洞,在过去的几年中,对这种繁复的硬件方法已经逐步被淘汰。
而RISC-V指令集体系结构(ISA)的简洁设计克服了这些限制,因为它将大多数TEE硬件要求定义为标准规范。这使得TEE硬件模块可在任何RISC-V实现中立而无需专有IP。这些硬件块包括特权执行扩展和物理内存保护(PMP)primitive。这些RISC-V primitive的开放式设计使ISA的TEE实现在硅实现中具有非常好的可扩展性,涵盖了从微型32位单核MCU到64位多核Linux的复杂系统。
作为向现实世界物联网应用迈进的一步,Hex Five Security(RISC-V International的长期成员)已开发了MultiZone Security IoT Stack,可免费下载RISC-V IoT安全栈。Hex Five的MultiZone Security TEE协调了底层RISC-V硬件安全块,并在多个相等安全,轻量级线程之间提供了硬件强制,软件定义的分隔,这些线程映射到称为“区域(Zones)”的硬件资源。在区域中运行的程序本质上是安全的,因为它们是在非特权用户模式下执行的。通过触发故障的RISC-V物理内存保护(PMP)单元,可以防止访问未明确映射到区域的硬件资源-ram / rom /外围设备。除MultiZone TEE外,Hex Five Secure IoT Stack还包括其他三个开源组件:FreeRTOS,WolfSSL加密库和picoTCP IP堆栈。该应用程序包含四个通过静态策略定义的单独Zone。每个区域在物理上是分开的,并且与其他区域以及MultiZone运行时不共享硬件资源。每个区域都是密封的,并提供了安全关键的实时调度程序和安全的通信层。
https://www.china-riscv.com/attachment/2006/thread/38_126704_7f329cf87df5792.jpg
1.Zone 1运行FreeRTOS,其三项任务包括:提供用户控制台的CLI应用程序,控制机械臂运动的实时应用程序以及显示单独的实时线程管理按钮中断和LED的心跳应用程序。
2.Zone 2运行TCP / IP堆栈,提供到云的TLS 1.3连接。这样可以将远程攻击面与实时操作系统以及Root of Trust隔离。
3.Zone 3运行Root of Trust和WolfSSL库。它提供保护TLS链接所需的加密密钥。机密信息(加密密钥,密码,受保护的文件等)永远不会离开此区域,只能通过MultiZone安全消息进行访问。
4.Zone 4运行一个裸机UART终端,以验证分离策略的执行情况并评估MultiZone TEE的性能。
https://www.china-riscv.com/attachment/2006/thread/38_126704_e5400e82903facf.jpg
硬件准备:Digilent Arty A7 35T
为了在原本隔离的区域之间实现通信,它们的API封装在通过TEE提供的安全通信基础结构路由的请求/响应消息中。此技术允许与现在作为微服务公开的第三方软件功能进行快速而强大的集成。
嵌入式应用程序需要分层的安全性方法。通过隔离实现安全性至关重要,因为它可以将关键功能与不受信任的大型代码库软件引入的攻击面相隔离。专有、过于复杂,重硬件的TEE时代已经过去,因为这种传统方法已被证明不足以满足现代IoT应用程序的成本和敏捷性要求。Hex Five的MultiZone Security提供了一种快速安全的方法来为RISC-V应用程序增加安全性和分离性。MultiZone基于RISC-V标准,可以对现有设计进行改造:您可以利用高安全性隔离而无需重新设计硬件和软件,从而消除了管理混合硬件/软件安全方案所带来的复杂性。
作者简介
Sandro Pinto是Hex Five Security Inc.的研发部主管,葡萄牙米尼奥大学(University of Minho)的研究科学家兼教授。Sandro是一名硬件安全向导,是Trusted Execution Environment技术的世界级专家,并且是多篇面向安全的研究论文的作者。Sandro拥有电子和计算机工程专业的博士学位,具有深厚的学术背景,并拥有多年的行业经验,专注于嵌入式,网络物理和基于IoT的系统的操作系统,虚拟化和安全性。
MultiZone支持多种硬件目标。为了对框架进行完整的评估,建议使用由Hex Five Security开发的开源软核X300。它是最初由加州大学伯克利分校开发的E300 SoC(Rocket rv32)的增强版本——完全免费用于商业和非商业用途。与E300一样,X300可以编程到Xilinx Artix-7 35T Arty FPGA上。对参考设计感兴趣?详情及资源下载请前往:http://www.digilent.com.cn/community/714.html
本文源自Sandro Pinto 开源硬件创客坊,转载目的在于传递更多信息,版权归原作者所有。
受益匪浅
页:
[1]