openharmony_ci 8274786265 !4 更新接口
Merge pull request !4 from Mr_hupeng/master
2025-08-06 10:25:19 +00:00
2025-03-26 21:49:51 +08:00
2025-07-25 11:43:52 +08:00
2023-05-18 19:54:18 +08:00
2025-07-25 11:43:52 +08:00
2022-03-21 21:34:47 +08:00
2025-03-26 21:49:51 +08:00
2025-03-26 21:49:51 +08:00
2025-03-26 21:49:51 +08:00

Introduction to tee_tee_os_framework repository

Introduction

OpenTrustee provides a Trusted Execution Environment (TEE) that runs in a hardware isolated secure area, running simultaneously with regular operating systems such as OpenHarmony but isolated from each other. OpenTrustee has higher security than conventional operating systems and can provide protection for confidential data on devices.

OpenTrustee is a complete TEE solution that includes multiple components. The system architecture is shown in the figure below:

The tee_tee_os_framework component mainly includes the operating system framework of OpenTrustee, responsible for managing the entire lifecycle of TA (Trusted Application), processing interaction information between CA (Client Application) and TA, and managing drivers. In addition, it also provides core services such as encryption and decryption, secure storage, etc. Below are specific module introductions.

1. The specific module introduction of tee_os_framework

Name of module Functions
gtask TA lifetime control, create and destroy TA process, commication manager, session manager and agent manager of CA2TA, process error information for TA
teesmcmgrdispatch smc command, including CA commands, system suspend and resume command, idle state management
tarunner load,analysis and relocate the elf file of TA/drivers/services
drvmgrmanagement lifetime of drivers, including the create and destroy of drivers, interface permission control, driver process rights management, drivers access control, process incorrect state of drivers
permission servicepermission management of SEC file
ssasecure storage functions
huk service hardware root key access control
teemiscdrvbase driver, get shared information from bootloader
cryptomgrthe framework code of encrypt/decrypt drivers
TEE base APIbase interfaces of TA development, including encrypt/decrypt, secure storage, secure timer and GP interface of TA2TA
TEE driver APIinterfaces for driver develepment, including interrupt, IO and DMA
samplesample code for TEE load(teeloader) and sample code for ATF-TEE adapt code(tee_atf)
testtee test suit

tee_os_framework code directories

base/tee/tee_os_framework
├── framework
│   ├── gtask
│   ├── teesmcmgr
│   ├── drvmgr
│   └── tarunner
├── lib
│   ├── drvlib                    # libs for drvmgr and drivers
│   ├── syslib                    # libs for TEE internal services
│   └── teelib                    # libs for TA and services
├── drivers
│   ├── tee_misc_drv
│   ├── include
│   └── crypto_mgr
├── service
│   ├── permission_service
│   ├── huk_service
│   └── ssa
├── config
│   ├── release_config            # release config macros
│   └── debug_config              # debug config macros
├── build
├── test
└── sample

Tee_os_framework Construction Guide

The tee_tee_os_framework and tee_tee_os_kernel work together to build TEEOS, and the commands for building them separately are as follows:

./build.sh --product-name rk3568 --build-target tee --ccache

Build the product as a TEEOS image: base/tee/tee_os_kernel/kernel/bl32.bin

tee_os_kernel

S
Description
tee_tee_os_framework 主要包含OpenTrustee的框架部分,负责TA整个生命周期的管理、CA与TA交互信息的处理以及驱动的管理。除此以外,还提供了加解密、安全存储等核心服务
Readme MulanPSL-2.0 72 MiB
Languages
C 85.6%
C++ 9.5%
Makefile 3.8%
CMake 0.5%
Shell 0.5%
Other 0.1%