RISC-V处理器的第一个可信执行环境:MultiZone Security

简介: RISC-V处理器的第一个可信执行环境:MultiZone Security

Hi!早啊!

之前我们学习的安全机制都是基于ARM的,但是最近RISCV的势头也是非常的强劲,所以今天介绍一个RISCV的TEE,下面简单做了一个介绍,感兴趣的可以在文末的Resources去获取到更加详细的资料。下面一起来看看吧~

RISC-V的多区域安全

RISC-V处理器的第一个可信执行环境(TEE)

对于需要强大硬件安全性的RISC-V应用程序,MultiZone®security为多个同等安全的域提供硬件强制软件定义的分离,并完全控制数据、程序和外围设备。

与传统解决方案相反,MultiZone®Security不需要额外的IP块或对现有固件进行更改。开源库、第三方二进制文件和遗留代码可以在几分钟内进行配置,以实现前所未有的安全性和安全性。

MultiZone®Security基于免费开放的标准,在GitHub上开源,并免费获得评估许可,商业使用免版税。

MultiZone Security是RISC-V的第一个可信执行环境,它为RISC-V开发了一个重量轻、基于策略的安全环境,可从小型单核物联网设备扩展到多核SMP Linux应用程序。

MultiZone®Security由以下组件组成:

  • MultiZone®nanoKernel –轻量级、可正式验证的裸内核,提供ram、rom、i/o和中断的策略驱动硬件强制分离。
  • MultiZone®Messenger–在无共享内存的基础上跨区域交换安全消息的通信基础设施
  • MultiZone®Configurator–将完全链接的区域可执行文件与策略和内核相结合,生成安全的引导固件映像。
  • MultiZone®Secure Boot –两阶段安全引导加载程序,用于验证固件映像的完整性和真实性(sha-256/sha-512/ECC)

(感觉这个算法差点意思)

MultiZone Security是如何工作的?

MultiZone Security可以无缝集成到现有的IDE中,例如Eclipse或基于命令行的工具集。

  • 应用程序块分别为每个区域编写、编译和链接,生成一组elf或hex文件。
  • 设置多区域策略是为了实现每个区域所需的ram、rom、i/o和中断隔离——RWX,粒度低至4字节
  • 最后,调用MultiZone Configurator将区域elf/hex文件与MultiZone运行时合并为签名的固件映像。
  • 整个系统可以使用现有的GNU或Eclipse工具集进行编写、编译和调试。

功能

  • 抢占式实时调度器:循环/协作,可配置时间刻度,cpu开销<1%
  • 可正式验证,完全以程序集形式编写,自包含-无第三方库依赖关系
  • 无限制数量的隔离受信任执行环境(区域)—硬件强制执行,策略定义
  • 每个区域最多32个内存映射资源,即闪存、ram、i/o、uart、gpio、定时器等。
  • 顶级配置和自然对齐配置的任意组合—最小粒度为4字节
  • 读、写、执行策略的任何组合—允许资源重叠,但不建议使用
  • 内置支持按区域配置的围栏,即缓存/管道/指令/加载/存储
  • 完全支持PLIC和CLIC中断–完全可配置的区域/中断映射
  • 完全支持安全的用户模式中断处理程序,即使没有“N”扩展
  • 完全支持低延迟矢量中断、可抢占中断和等待中断-挂起模式
  • 针对大多数受保护指令的内置陷阱和模拟,即CSR只读
  • 基于消息传递的安全区域间通信基础架构—无共享内存/缓冲区
  • 用于保护模式执行的C库包装——通过ECALL异常处理机制
  • 签名引导适用于两阶段引导室和/或公钥/信任根/PUF–SHA-256/ECC
  • 与任何能够运行Java 1.8的操作系统兼容的命令行配置工具

开发环境

  • Eclipse IDE,包括MCU和GNU工具链插件以及OpenOCD/JTAG/GDB实时调试
  • AndeSight™ 带ICE或OpenOCD的IDE
  • SiFive FreedomStudio IDE,包括MCU和GNU工具链插件以及OpenOCD/JTAG/GDB实时调试
  • Linux和Windows命令行工具(make、gcc、gdb等)–本机Linux、Windows所需的Java 1.8
  • X300(Rocket)、Andes N(X)25、SiFive E31和S51的内置板支持包

系统要求

  • 带“S”或“U”扩展的32位或64位RISC-V ISA
  • 符合1.10版的物理内存保护
  • 4KB闪存和1KB RAM

Resources

以下是相关的资料

目录
相关文章
|
安全 IDE 开发工具
SGX入门:如何开发第一个最简单的 SGX 应用 HelloWorld
本文将向大家展示如何基于 Intel SGX SDK 开发一个最简单 SGX 应用:HelloWorld,这个程序在可信区生产 &quot;Hello world&quot;并传递给不可信代码(缓冲区)打印输出到终端。 虽然 Intel SGX SDK 安装目录中默认提供了数个 Sample,但每个 Sample 对于初学者来说非常复杂和难以理解。 关于 SGX 开发运行环境的搭建可参考:[《SGX入门:
|
4月前
|
开发框架 安全 .NET
TEE(可信执行环境)子系统 【ChatGPT】
TEE(可信执行环境)子系统 【ChatGPT】
|
8月前
|
安全 项目管理 开发工具
一文知悉RISC-V可信执行环境:Keystone
一文知悉RISC-V可信执行环境:Keystone
496 0
ABB DSDX451 操作系统具有两个或多个同类处理器
ABB DSDX451 操作系统具有两个或多个同类处理器
ABB DSDX451 操作系统具有两个或多个同类处理器
|
存储 缓存 供应链
编程语言的作用及与操作系统和硬件的关系
编程语言的作用及与操作系统和硬件的关系
|
安全 Linux API
ARMv9机密计算架构Realm技术预览
这两天科技新闻区被ARMv9的新闻刷屏了。ARMv9号称十年以来最大重大变革,因此让我们看下ARMv9中机密计算相关的新特性Realm。 注:本文是对[Introducing the Confidential Compute Architecture](https://www.anandtech.com/show/16584/arm-announces-armv9-architecture/
798 0
|
安全 算法 NoSQL
快速搭建平头哥安全处理器的可信执行环境
平头哥安全处理器系列包括CK802T, CK803T, CK804T和E902T等, 结合平头哥SoC安全机制,搭建的芯片平台具有良好的兼容性和健壮性。基于平头哥TEE OS接口的扩展性和移植性,可以方便地快速地移植到其他平头哥安全处理器的芯片平台上。本文介绍了如何在不同的芯片平台快速创建可信执行环境的步骤和注意点,帮助设计开发者迅速的在平头哥安全处理器上开发TEE OS。
860 0
快速搭建平头哥安全处理器的可信执行环境
|
安全 物联网 芯片
阿里云Link TEE助力平头哥CK810T安全处理器获全球首个Ali ISA架构的GP TEE功能认证
2019年7月3日,平头哥半导体有限公司(以下简称:平头哥)基于810T安全处理器的TEE操作系统,正式获得GlobalPlatform(以下简称GP)TEE兼容性认证证书,这标志着平头哥CPU IP高性能处理器成为大陆首家获得认证的CPU IP企业,同时阿里云Link TEE技术助力平头哥810T安全处理器开拓高性能CPU在安防监控、人工智能、机器视觉等领域,全面开启阿里巴巴集团新技术赛道下,面向IC生态发展的云端协同、软硬一体的新时代里程碑。
2329 0
|
机器学习/深度学习 人工智能 算法