RISC-V 硬件平台与安全操作系统

Board SoC CPU Arch OS Security/TEE Example
算能华山派 CV1812H/CV1813H XuanTie C906 RV64GCV Linux
AliOS
RTOS
YoC 平台
支持安全启动及升级
AES/DES/SM4 硬件加解密
SHA/TRNG/Secure eFuse安全硬件
鲁班猫 P1 算能 SG2000 XuanTie C906
ARM A53
RV64GCV Linux
OpenWrt
Android
RTOS
YoC 平台
Milk-v Duo S 算能 SG2000 XuanTie C906
ARM A53
RV64GCV Linux
Arduino
FreeRTOS
YoC 平台
Lichee RV Dock 全志 D1 XuanTie C906 RV64GCV Linux
Arduino
FreeRTOS
YoC 平台
Lichee 4A 平头哥 TH1520 XuanTie C910 RV64GC Linux
OpenWRT
RevyOS
YoC 平台
哪吒D1-H 全志 D1-H XuanTie C906 RV64GCV Linux
Arduino
FreeRTOS
YoC 平台
博流 BL606P-DVK 博流·BL606P XuanTie C906 XuanTie E907 RV32IMA[F][D]C[P] Linux YoC 平台
安全启动、安全调试
XIP QSPI On-The-Fly AES 解密 (OTFAD)
支持 RISC-V 安全 zone 分区
AES-CBC/GCM/XTS 模式
MD5,SHA-1/224/256/384/512
TRNG(真随机数生成器)
用于 RSA/ECC 的 PKA(公钥加速器)
TrustZone
Milk-v Pioneer Box 算能 SG2042 XuanTie C920 RV64GCBV Linux
AliOS Things
YoC 平台
凌思微·LS101x XuanTie E906 RV32IMA[F][D]C[P] 支持eRPMC
公钥密码算法(ECC/SM2)
摘要算法(SHA256/SM3)
分组密码算法(AES/DES/SM4)
循环冗余校验码(CRC)
中电华大·CIU9872B系列 XuanTie E802 C-SKY 3DES/AES/RSA/ECC/SM1/SM2/SM3/SM4/SHA_n
华润微电子·LX100 XuanTie E803 C-SKY 存储器总线加密
SM3、SM4和SM2国密算法协处理
DE3/3DES、AES和ECC国际算法协处理器
支持SM4、AES、DE3/3DES模式:ECB/CBC/CFB/OFB/CTR
支持AES-GCM模式和SM4-GCM模式
抵抗侧信道攻击
CRC-16协处理器
  • [注] 玄铁 CPU ISA 分类
  • 基于 RISC-V 架构————玄铁 9 系列
  • 基于自研 C-SKY 架构————玄铁 8 系列
OS ISA Hardware Platform & Tools Open Source Framework About
SEL ARM
RISC-V
x86
SPDX + GPL + BSD License The seL4 Microkernel An Introduction
ZAYA Secure OS ARM
RISC-V
--- Closed source ZAYA OS ensure a protected environment, defending against external attacks and meeting safety requirements.
Hypervisor
ZAYA 安全操作系统采用了虚拟机监控程序这一先进技术,通过硬件虚拟化在系统内创建隔离环境。这意味着用户应用程序在独立的空间中运行,通过防止不同软件组件之间的潜在漏洞或干扰来增强安全性。硬件虚拟化的集成不仅增强了系统抵御外部攻击的能力,还为用户应用程序提供了一个强大且有弹性的计算环境。
Security Manager
ZAYA 安全管理器是一款致力于提升安全标准和恢复能力的综合解决方案。具有安全启动,系统检查,安全更新、防回滚保护、加密服务和实时监控等功能。
OS Kernel
安全调度和任务同步,为实现最佳性能提供了一个受保护的环境。
FreeRTOS RISC-V
ARM
一个代码库适用于 40 多种微控制器架构和十几种工具链,包括最新 RISC-V 和 ARMv8-M(Arm Cortex-M33)微控制器。 MIT license
Trusted kernel
FreeRTOS内核具有可靠的健壮性、极小的占地面积和广泛的设备支持,被世界领先的公司信赖为微控制器和小型微处理器的事实上的标准。
Support for 40+ architectures
Long term support
SafeRTOS RISC-V
ARM
--- Closed source SAFERTOS® 是一种用于嵌入式处理器的预认证安全实时操作系统 (RTOS)。 它能提供卓越的性能和预先认证的可靠性,同时只占用极少的资源。除基本功能与FreeRTOS相同外,还提供:
任务隔离和分离;
超低功耗模式;
OSEK API Wrapper;
一系列安全插件。
SELinux --- Multiple license 安全增强式 Linux(SELinux,Security-Enhanced Linux)是一个 Linux 内核的安全模块,其提供了访问控制安全策略机制,包括了强制访问控制(Mandatory Access Control,MAC)。SELinux 为管理员提供了一种全面的访问控制机制,能够比现有的 Linux 自主访问控制(DAC)实现更精细的访问粒度,并且存在于许多主流的 Linux 发行版中。此存储库包含 SELinux 实用程序和系统库的源代码,这些源代码允许对基于 SELinux 的系统进行配置和管理。
AliOS-Things ARM
C-Sky
MIPS
RISCV
HaaS100
HaaS EDU K1
HaaS200
Apache2.0 License AliOS Things 发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源,当前最新的版本是 AliOS Things 3.3 。
YOC RISC-V
算能华山派
RVB2601 开发板
D1 Dock Pro 开发板
BL606P 开发板
PHY6220 开发板
W800 开发板
Apache 2.0 License image YoC 平台以极简开发为理念,以 CPU 架构、芯片平台、操作系统、云服务和开发套件为基础,助力开发者从芯片到云的全链路高效设计,是面向 IoT 领域的全栈技术平台。YoC 平台主要划分三个层次:
内核与驱动:RVM CSI 层定义了 片上系统外设的统一接口,芯片对接完成 RVM CSI 接口,就可以支持 YoC 的软件系统。OSAL/POSIX 接口提供了内核统一接口,集成了 AliOS Things、FreeRTOS 以及 RT-Thread 内核。RVM HAL 为上层各类组件提供了统一的硬件抽象接口。
基础组件:包含了设备管理框架、低功耗管理、高级安全可信计算(TEE)、网络协议、蓝牙协议栈、虚拟文件系统、网络管理器等。核心服务层采用独立模块化设计,用户可以根据应用需求,自由组装。
领域子系统:YoC 提供多种应用领域的软件框架,进一步简化应用方案的开发难度。目前 YoC 平台中提供了智能语音框架、视觉 AI 框架、图形应用框架。
RT-Thread ARM
MIPS
RISC-V
C-Sky
x86
sifive
Canaan Kendryte
bouffalo_lab
Nuclei
T-Head
HPMicro
SYNOPSYS
TI
Apache2.0License RT-Thread 诞生于 2006 年,是一个开源、中立、基于社区的实时操作系统(RTOS)。 RT-Thread 主要用 C 语言编写,易于理解和移植(可快速移植到各种主流 MCU 和模块芯片)。 RT-Thread 有标准版和 Nano 版。 对于资源有限的微控制器(MCU)系统,只需 3KB 闪存和 1.2KB RAM 内存资源的 Nano 版本可通过简单易用的工具进行定制。 对于资源丰富的物联网设备,RT-Thread 可利用在线软件包管理工具,配合系统配置工具,实现直观、快速的模块化裁剪,无缝导入丰富的软件包;从而实现 Android 图形界面和触摸滑动效果、智能语音交互效果等复杂功能。
TockOS ARM
RISC-V
Stable —— nRF52 Family/Hail/imix
Developmental —— STM Family/Aconno/TI Launch XL/ESP32 Family
Experimental —— SiFive HiFive1/OpenTitan/Arty e21
Deprecated —— nRF51-DK
Apache2.0 + MIT License Tock 是一种嵌入式操作系统,设计用于在基于 Cortex-M 和 RISC-V 的嵌入式平台上运行多个并发、互不信任的应用程序。 Tock 的设计以保护为中心,既保护潜在的恶意应用程序,也保护设备驱动程序。 Tock 使用两种机制来保护操作系统的不同组件。 首先,内核和设备驱动程序是用 Rust 编写的,Rust 是一种系统编程语言,提供编译时内存安全和类型安全。 Tock 使用 Rust 来保护内核(如调度器和硬件抽象层)与平台特定的设备驱动程序,并将设备驱动程序相互隔离。 其次,Tock 使用内存保护单元来隔离应用程序和内核。

参考资料

[1] XUANTIE
[2] GitHub

posted @   Avalon-Nausica  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示
主题色彩