optee RPC

RPC (Remote Procedure Call) are requests from secure world to kernel driver or tee-supplicant. An RPC is identified by a special range of SMCCC return values from OPTEE_SMC_CALL_WITH_ARG. RPC messages which are intended for the kernel are handled by the kernel driver. Other RPC messages will be forwarded to tee-supplicant without further involvement of the driver, except switching shared memory buffer representation.
https://www.kernel.org/doc/html/next/tee/op-tee.html

RPC 是从 secure world 向 内核驱动程序 或 tee-supplicant 发出的请求。RPC由来自OPTEE_SMC_CALL_WITH_ARG 的一组特殊的SMCCC返回值来标识。用于内核的RPC消息由内核驱动程序处理。除了切换共享内存缓冲区表示外,其他RPC消息将被转发到tee-supplicant,而无需驱动程序进一步参与。


https://blog.csdn.net/shuaifengyun/article/details/73061002

驱动获取来自TEE侧的请求

当libteec调用了需要做smc操作的请求之后,最终会调用到驱动的optee_do_call_with_arg函数,该函数会进入到死循环,第一条语句就会调用smc操作,进userspace的请求发送到secure world,待从secure world中返回之后。会对返回值进行判定。如果返回的res.a0参数是需要驱动做RPC操作,则该函数会调用到optee_handle_rpc操作。经过各种参数分析和函数调用之后,程序最后调用 optee_supp_thrd_req 函数来将来自TEE的请求放到tee_supplicant 的请求队列中。

tee_supplicant从驱动中获取TEE侧的请求

tee_supplicant进程,在 process_one_request 函数阻塞等待TEE的请求并处理。在tee_supplicant会调用read_request函数来从驱动的请求队列中获取当前存在的来自TEE的请求。该函数最终会调用到驱动中的 optee_supp_recv 函数,进入到loop循环中,从驱动的请求消息队列中获取来自TEE中的请求,直到获取之后才会跳出该loop。

驱动返回请求操作的结果给TEE侧

当tee_supplicant执行完TEE请求的操作之后,会调用write_response函数来实现将数据返回给TEE。而write_response函数最终会调用到驱动的optee_supp_send函数。该函数主要是调用complete(&req->c);操作来完成对该请求的c成员的置位,告诉optee_supp_thrd_req函数执行下一步操作,返回到optee_do_call_with_arg函数中进入该函数中的下一轮loop中,调用smc操作将结果返回给TEE侧。optee_supp_send 函数的内容如下:

//todo

相关推荐
Chengbei117 小时前
若依全漏洞复现:从 SQL 注入到 RCE 一站式实战 复现、利用与防御
数据库·sql·安全·web安全·网络安全·系统安全·安全架构
MicrosoftReactor12 小时前
技术速递|底层机制:GitHub Agentic Workflows 的安全架构
安全·ai·github·agent·安全架构
一只鼠标猴18 小时前
甲方安全基线:配置规范与自动化核查落地指南
网络安全·安全架构·安全基线·基线检查
WHD3062 天前
苏州服务器维修哪家好/公司推荐
linux·ubuntu·centos·计算机外设·电脑·unix·安全架构
WHD3063 天前
企业数据安全体系建设指南:从风险识别到技术落地的全流程(2026版)
大数据·网络·人工智能·安全·系统架构·密码学·安全架构
云道轩4 天前
采用claude code分析和设计业务应用软件的安全架构
安全架构·deepseek·claude code
Dola_Zou5 天前
工业软件安全架构向模块化授权演进的解析
安全·自动化·安全架构·软件加密
乾元6 天前
全球治理: 从《AI 法案》看安全合规的国际趋势
网络·人工智能·安全·机器学习·网络安全·架构·安全架构
乾元6 天前
未来展望: 当 AGI(通用人工智能)出现,网络安全是否会消失?
网络·人工智能·安全·机器学习·网络安全·架构·安全架构
乾元8 天前
安全官(CISO)的困惑:AI 投入产出比(ROI)的衡量
网络·人工智能·安全·网络安全·chatgpt·架构·安全架构