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

以下是相关的资料

目录
相关文章
|
SQL 开发框架 安全
Linux系统中ARMv8架构u-boot启动流程分析
Linux系统中ARMv8架构u-boot启动流程分析
1231 1
|
安全 物联网 项目管理
RISC-V生态全景解析(四):玄铁VirtualZone基于RISC-V架构的安全扩展
芯片开放社区(OCC)面向开发者推出RISC-V系列内容,通过多角度、全方位解读RISC-V,系统性梳理总结相关理论知识,构建RISC-V知识图谱,促进开发者对RISC-V生态全貌的了解。
2476 0
RISC-V生态全景解析(四):玄铁VirtualZone基于RISC-V架构的安全扩展
|
Linux C语言
LINUX error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
LINUX error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
1765 0
LINUX error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
|
Linux C语言
教你在QEMU上运行RISC-V Linux
教你在QEMU上运行RISC-V Linux
|
存储 人工智能 安全
阿里云 Confidential Al 最佳实践
本次分享的主题是阿里云 Confidential AI 最佳实践 ,由阿里云乾越分享。 1. 需求背景介绍 2. 大规模场景下面临的系统及安全风险 3. 计算栈的共享职责模型与用户信任边界的冲突 4. 传统计算、存储和网络安全技术中存在用户信任成本较高的问题 5. Confidential AI 方案实施模式 6. 基于CAI技术的阿里云Confidential Cloud Computing架构 7. Confidential AI on EGS DEMO 8. 阿里云全面应用Confidential AI 9. 完备的机密计算远程证明过程 10.发布《机密计算保障人工智能系统安全研究报告
1018 1
|
存储 机器学习/深度学习 算法
聚合签名、门限签名、Multisigs 和多签名
该文章深入探讨了数字签名在区块链技术中的应用,并比较了聚合签名、门限签名和多签名三种方案的异同,同时介绍了MuSig2和FROST这两种旨在提高区块链平台多签名或门限签名效率的提案。
1006 3
聚合签名、门限签名、Multisigs 和多签名
|
搜索推荐 物联网 开发工具
基于OpenHarmony(开源鸿蒙)的智慧医疗综合应用系统
基于OpenHarmony(开源鸿蒙)的智慧医疗综合应用系统
1076 5
|
安全 项目管理 开发工具
一文知悉RISC-V可信执行环境:Keystone
一文知悉RISC-V可信执行环境:Keystone
1583 0
|
缓存 监控 数据处理
【编程底层原理】从播放音乐的网页中提取mp3音频文件的两种方式及背后的技术思考【短连接和长连接】
本文介绍了两种从网页提取音乐文件的方法:一是通过IE临时缓存获取,二是利用开发者模式捕捉网络流量并下载音频URL。同时探讨了网页播放音乐的技术实现,包括短连接和长连接的区别及其适用场景,以及数据传输中的阻塞概念。
5400 0
|
机器学习/深度学习 数据采集 自然语言处理
[GPT-2]论文解读:Language Models are Unsupervised Multitask Learners
[GPT-2]论文解读:Language Models are Unsupervised Multitask Learners
1111 1