RISC-V架构下OP-TEE 安全系统实践

安全之安全(security²)博客目录导读


本篇博客,我们聚焦RISC-V 2024中国峰会上的RISC-V和OP-TEE结合的一个安全系统实践,来自芯来科技桂兵老师。

关于RISC-V TEE(可信执行环境)的相关方案,如感兴趣可参考RISC-V TEE(可信执行环境)方案初探

首先,我们看下ARM和RISC-V架构下支持TEE的硬件和软件,以下RISC-V的相关方案还没有GP TEE标准的开源软件方案,那么芯来的这个安全系统实践主要来探索这个方面。

【注意】AP-TEE是RISC-V官方标准的TEE,目前处于in development状态,可参考GitHub - riscv-non-isa/riscv-ap-tee: This repo holds the work area and revisions of the non-ISA specification created by the RISC-V AP-TEE TG. This specification defines the programming interfaces (ABI) to support the Confidential VM Extension (CoVE) confidential computing architecture for RISC-V application-processor platforms.

然后,我们来看下芯来的OP-TEE方案,整体是由HOST端和HSM(Hardware Security Module)端组成,其中都包含RISC-V架构的core,互相之间通过Mailbox进行通讯。

接着,我们再看下Secure boot安全启动的方案

具体的流程如下:

HSM BootROM从flash加载hsmboot到HSM ILM, 验签解密

HSM Boot从flash加载SPL到Host CLM,验签解密, 运行NSBS等待Host请求crypto 服务

SPL 初始化DDR,从flash加载 opensbi/optee/uboot到DDR,验签解密

U-Boot从SD卡加载kernel/rootfs到DDR,验签解密 Host验签和解密,通过MailBox请求HSM NSBS服务

SPL->OpenSBI->OP-TEE ->U-Boot->Kernel

隔离机制如下,主要还是借助PMP的内存隔离和借助M/S/U模式的CPU安全状态隔离,除此之外

结合Nuclei Secure特性,CPU安全状态有硬件支持,BUS/Cache/TLB也区分硬件安全状态

整体的运行架构图如下,和ARM的Trustzone软件安全架构非常类似:

该工作还有一个重点就是对中断隔离的处理,具体的机制如下,和Trustzone架构下大系统中断路由的9种示例相比还是相对简单许多

代理所有中断到S模式

对PLIC 中断使能模式分类:

M模式使能的中断:非本世界处理

S模式使能的中断:本世界处理

Monitor 管理中断使能模式,比如进入非安全 世界前,设置安全外设中断到M模式使能,非安全外设中断到S模式使能

为避免竞态,规定进入安全世界后,不响应非安全世界中断,但安全中断能打断非安全世界执行

在非安全世界执行时,来了一个想要给TEE处理的中断的一个大致流程如下:

最后,作者进行了Xtest用例执行的Demo展示,可以在芯来的qemu平台、UX900 FPGA环境上运行OP-TEE。

在github上的一个上游链接如下:https://github.com/OP-TEE/optee_os/issues/6173

演讲幻灯片和视频回放参见:2024RISC-V中国峰会 演讲幻灯片和视频回放均已公开

其他安全相关议题参见:2024 RISC-V中国峰会 安全相关议题汇总

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/35532.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

RTK数据的采集方法

采集RTK(实时动态定位)数据通常涉及使用高精度的GNSS(全球导航卫星系统)接收器,并通过基站和流动站的配合来实现。本文给出RTK数据采集的基本步骤 文章目录 准备设备设置基站设置流动站数据采集数据存储与处理应用数据…

【银河麒麟操作系统真实案例分享】内存黑洞导致服务器卡死分析全过程

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 现象描述 机房显示器连接服务器后黑屏&#xff…

Mongodb副本集环境安全认证

我所配置的mongodb副本集群 step1启动 MongoDB 副本集的每一个节点 mongod --config=/usr/local/mongodb_wjx/wjx01/mongod.conf mongod --config=/usr/local/mongodb_wjx/wjx02/mongod.conf mongod --config=/usr/local/mongodb_wjx/wjx03/mongod.conf step2通过主节点添加管…

完美解决Qt Qml窗口全屏软键盘遮挡不显示

1、前提 说明:我使用的是第三方软键盘 QVirtualKeyboard QVirtualKeyboard: Qt5虚拟键盘支持中英文,仿qt官方的virtualkeyboard模块,但使用QWidget实现。 - Gitee.com 由于参考了几篇文章尝试但没有效果,链接如下: 文章一:可能…

在做题中学习(77):快排

解法:快排 思路: 1.快排排一趟,递归分出来的左区间和右区间(一趟的思想,看我的前一个文章:颜色分类题解) 2.递归:想清楚 函数头 和 返回条件怎么写 3.优化:等概率的取…

AUTO TECH China 2025 华南展:探索汽车技术的新纪元

AUTO TECH China 2025 华南展:探索汽车技术的新纪元 随着科技的日新月异,汽车行业正经历着前所未有的变革。从电动化、智能化到网联化,每一项新技术的应用都在重塑我们对汽车的认知。为了展示这些令人激动的创新成果,我们荣幸地宣…

C# RSA加密和解密,RSA生成私钥和公钥

C# RSA加密和解密,RSA生成私钥和公钥(使用XML格式秘钥) 目录 前言生成xml格式的公钥和私钥 PrivateKeyPublicKey测试加密、解密 方案1:RSA公钥加密,RSA私钥解密方案2:RSA私钥加密,RSA私钥解密…

指标加权评价方法

文章目录 层次分析法(Analytic Hierarchy Process, AHP)熵权法原理计算方法 Technique for Order Preference by Similarity to Ideal Solution(TOPSIS, 优劣解距离法)原理计算方法 层次分析法(Analytic Hierarchy Process, AHP) …

React第十七章(useRef)

useRef 当你在React中需要处理DOM元素或需要在组件渲染之间保持持久性数据时,便可以使用useRef。 import { useRef } from react; const refValue useRef(initialValue) refValue.current // 访问ref的值 类似于vue的ref,Vue的ref是.value,其次就是vu…

SpringBoot 赋能家乡特色推荐系统:高效架构与前沿技术集成

1 绪 论 1.1课题背景与意义 在Internet高速发展的今天,计算机的应用几乎完全覆盖我们生活的各个领域,互联网在经济,生活等方面有着举足轻重的地位,成为人们资源共享,信息快速传递的重要渠道。在中国,网上管…

国际知名会计事务所安永造访图为科技,探索财务管理全球化新路径

今日,全球领先的安永会计师事务所(以下简称“安永”)合伙人造访了图为信息科技(深圳)有限公司(以下简称“图为科技”)。 安永就财务管理工作的全球化战略提供专业指导意见,并为双方…

Java 实现手机号码归属地查询

1.pom坐标 <dependency><groupId>com.googlecode.libphonenumber</groupId><artifactId>geocoder</artifactId><version>2.205</version></dependency> 2.代码 package test;import com.alibaba.excel.util.StringUtils; im…

SIP系列七:ICE框架(P2P通话)

我的音视频/流媒体开源项目(github) SIP系列目录 目录 一、NAT 1、NAT介绍 2、NAT类型 2.1、 完全圆锥型NAT 2.2、受限圆锥型NAT 2.3、端口受限圆锥型NAT 2.4、对称NAT 3、NAT打洞 3.1、不同一NAT下 3.2、同一NAT下 二、ICE 三、ICE中的SDP 至此&#x…

python桌面工具

用处 使用该工具可以将excel内容转成SQL语句&#xff0c;可以使用到一些SQL的报表平台可以将json文件转成xlsx格式文件 前期准备 安装库 pip install pandas -i https://mirrors.aliyun.com/pypi/simplepip install wxpython -i https://mirrors.aliyun.com/pypi/simplepip i…

【Golang】Go语言编程思想(一):接口

接口 接口的概念 现在我们要实现一个函数&#xff0c;用于对给定的 url 进行解析&#xff0c;具体的代码实现如下&#xff1a; package mainimport ("fmt""io""net/http" )func retrieve(url string) string {resp, err : http.Get(url)if er…

SAP SD 如何设置交货单数量可修改为0

在日常运维中&#xff0c;销售订单可以被reject&#xff0c;但是交货单只能被物理删除 但是粗暴的物理删除&#xff0c;又会使得单据不连续&#xff0c;出现问题不好追溯 所以我们就可以通过将废弃的交货单的数量置为0 配置如下&#xff1a; C表示&#xff0c;创建的时候不可…

记一次由docker容器使得服务器cpu占满密码和密钥无法访问bug

Bug场景&#xff1a; 前几天在服务器上部署了一个免费影视网站&#xff0c;这个应用需要四个容器&#xff0c;同时之前的建站软件workpress也是使用docker部署的&#xff0c;也使用了三个容器。在使用workpress之前&#xff0c;我将影视软件的容器全部停止。 再使用workpress…

Matlab R2024b 中文版 下载及安装教程

点击下方链接下载安装包 Matlab R2024b 中文版安装包点击下载https://mp.weixin.qq.com/s/Kq2j1dQLdULOVV9vrA6pkA 安装教程 1.通过上方链接下载软件&#xff0c;鼠标右键【MATLAB R2024b(64bit)】压缩包&#xff0c;选择解压到MATLAB R2024b(64bit)。 2.双击进入解压后的文…

2024年12月6日Github流行趋势

项目名称&#xff1a;lobe-chat 项目维护者&#xff1a;arvinxx, semantic-release-bot, canisminor1990, lobehubbot, renovate项目介绍&#xff1a;一个开源的现代化设计的人工智能聊天框架。支持多AI供应商&#xff08;OpenAI / Claude 3 / Gemini / Ollama / Qwen / DeepSe…

韩企研学团造访图为科技:共探人工智能创新前沿

今日&#xff0c;一支由韩国知名企业研学专家组成的代表团莅临图为科技深圳总部&#xff0c;展开了一场深度技术交流与研讨活动。 此次访问旨在通过实地探访中国领先的科技企业&#xff0c;促进中韩两国在科技创新领域的深入合作与交流。 韩国游学团合影 图为科技作为一家在人…