graph TB
subgraph "客户端 Guest Environment"
AA[Attestation Agent]
CDH[Confidential Data Hub]
AA <--> CDH
end
subgraph "Trustee Gateway Layer"
GW[Trustee Gateway 统一接入网关]
FE[Frontend 管理界面]
FE --> GW
end
subgraph "Trustee Core Services"
KBS[KBS Key Broker Service]
AS[AS Attestation Service]
RVPS[RVPS Reference Value Provider Service]
KBS --> AS
AS --> RVPS
end
subgraph "Verifier Engines"
VER[Verifier 多TEE验证器]
TDX[TDX Verifier]
SGX[SGX Verifier]
SNP[SNP Verifier]
CCA[CCA Verifier]
CSV[CSV Verifier]
TPM[TPM Verifier]
VER --> TDX
VER --> SGX
VER --> SNP
VER --> CCA
VER --> CSV
VER --> TPM
end
subgraph "Storage & Policy"
DB[(Database SQLite)]
FS[("File Storage Reference Values")]
PE[Policy Engine OPA]
end
AA --证明请求--> GW
CDH --资源请求--> GW
GW --> KBS
GW --> AS
GW --> RVPS
AS --> VER
AS --> PE
RVPS --> FS
GW --> DB
style KBS fill:#e1f5fe
style AS fill:#f3e5f5
style RVPS fill:#e8f5e8
style GW fill:#fff3e0
style VER fill:#fce4ec
Trustee
Trustee是一个用于机密计算(Confidential Computing)TEE (Trust Execute Evironment)环境中的信任验证和秘密数据管理平台。它包含了一系列组件,用于验证可信执行环境(TEE)证据并为其提供秘密数据。该项目遵循RATS(Remote Attestation Procedures)架构模型,为机密容器和其他机密计算应用场景提供完整的信任基础设施。 Trustee 通常代表TEE所有者操作,并与 guest-components 远程交互。
Trustee 可以广泛应用于多种应用程序和硬件平台。
组件
Trustee项目采用微服务架构,主要包含以下核心模块组件:
服务层组件
Key Broker Service: 密钥代理服务,用于协助远程证明和机密数据下发。其角色类似于 RATS 模型中的 Rely Party。
Attestation Service: 证明服务,用于验证 TEE 证据。在 RATS 模型中,充当RATS模型中的 Verfier。
Reference Value Provider Service: 参考值提供服务,管理用于验证 TEE 证据的参考值。这与 RATS 文档中 第 7.5 节 的讨论相关。
Trustee Gateway: API网关,提供统一的接入点和代理服务。
远程证明验证插件
支撑组件
更多详细信息,请参阅各个组件的文档。
架构
下图展示了将Trustee服务组件与客户端组件结合部署时的全局架构。
graph TB subgraph "客户端 Guest Environment" AA[Attestation Agent] CDH[Confidential Data Hub] AA <--> CDH end subgraph "Trustee Gateway Layer" GW[Trustee Gateway统一接入网关] FE[Frontend
管理界面] FE --> GW end subgraph "Trustee Core Services" KBS[KBS
Key Broker Service] AS[AS
Attestation Service] RVPS[RVPS
Reference Value Provider Service] KBS --> AS AS --> RVPS end subgraph "Verifier Engines" VER[Verifier
多TEE验证器] TDX[TDX Verifier] SGX[SGX Verifier] SNP[SNP Verifier] CCA[CCA Verifier] CSV[CSV Verifier] TPM[TPM Verifier] VER --> TDX VER --> SGX VER --> SNP VER --> CCA VER --> CSV VER --> TPM end subgraph "Storage & Policy" DB[(Database
SQLite)] FS[("File Storage
Reference Values")] PE[Policy Engine
OPA] end AA --证明请求--> GW CDH --资源请求--> GW GW --> KBS GW --> AS GW --> RVPS AS --> VER AS --> PE RVPS --> FS GW --> DB style KBS fill:#e1f5fe style AS fill:#f3e5f5 style RVPS fill:#e8f5e8 style GW fill:#fff3e0 style VER fill:#fce4ec
API
Trustee当前所有的API均通过Trustee Gateway对外暴露,详情请参阅Trustee Gateway API文档:
构建
使用如下命令,在本地构建Trustee组件的容器镜像:
部署
Docker Compose
本仓库提供了docker compose脚本,用于一键在本地启动一个Trustee服务。
脚本中默认使用的组件容器镜像是我们发布在阿里云ACR镜像仓库上的镜像,若您需要使用自己构建的容器镜像,请修改docker compose脚本中每个容器的
image字段为您自己的容器镜像地址。使用如下命令在本地一键拉起trustee服务:
部署完成后,Trustee会在本地监听
8082端口,接受并处理对 gateway API 和前端访问的请求。http://<ip>:8082/apihttp://<ip>:8082可以使用如下命令测试API访问:
预期输出如下:
配置HTTPS:
首先需要自行申请一个有效的SSL证书,然后修改
deploy/trustee-frontend.conf文件:保存后重启Trustee服务:
登陆
部署完成后,使用如下命令获得管理员登陆密钥:
预期输出:
浏览器打开地址
http://<ip>:8082, 在登陆界面粘贴上述密钥,点击登录按钮:进入Trustee控制台:
License