Trusted Execution State: An Extension for Lightweight Secure Function Calling
summary
Adds a new RISC-V Trusted Execution State that implements a jump-table entry mechanism (tezvec) governed by two CSRs for TES base/top CSRs and a new PMP flag PMP T bit so untrusted code can call small trusted functions without a full syscall. Hardware shadows for shadow SP/GP/TP plus automatic clearing of temporary registers prevent leaks, horizontal call/return transitions revoke trusted permissions when jumping to untrusted addresses, a T red style instruction enforces caller provenance, and a QEMU prototype plus GitHub demo validate the concept.
AI-written summary · about
chapters (18)
- 0:00Introduction to TES
- 1:44Rationale for TES extension
- 3:49Performance issues with TEEs
- 5:55Scope and use cases
- 6:15Trusted Execution State overview
- 7:20Memory protection with T bit
- 8:45Transitioning to untrusted state
- 10:07Returning to trusted state
- 11:52TES entry via Tezvec
- 13:18Returning from trusted code
- 15:02Preventing data leaks
- 16:24Hardware-assisted mechanisms
- 17:27Register shadowing and clearing
- 19:11Simple trusted function example
- 21:20Lightweight secure function call
- 22:47QEMU implementation demo
- 23:30First use case and demo code
- 24:12Q&A and conclusion
related talks
39mSoftware Supply Chain Security with Trusted Execution Environment Provisioning (T...
41mPanel: A New Root Of Trust: Changing Computing With TEE
27mZephyr and Trusted Execution Environments
15mProposal of porting Trusted Execution Environment Provisioning (TEEP) Protocol...
01h 05mConfidential Computing for RISC-V-based Platforms
16mTrusted RV: Trusted Execution Environment, Secure Coprocessor, and their Program...
42mSponsored Session: Confidential Computing - New Capabilities for New Workloads
27mZephyr and Trusted Execution Environments
