本方案介绍如何基于 PAI-EAS 安全加密推理环境部署与调用加密的大语言模型。模型在可信环境中加密上传,部署时由远程证明服务(Trustee)验证运行环境可信后下发密钥解密挂载;推理通信可经可信网关(TNG)透明加密。该方式提供多层次安全保障,确保数据和模型在整个生命周期中的安全性。适用于对敏感数据要求较高的场景,例如金融服务、政府、企业级应用等。
背景说明
PAI-CC(PAI Confidential Computing)是 PAI-EAS 面向机密计算场景的推理服务产品。它在标准 EAS 推理服务的基础上,通过以下安全能力为模型推理提供全链路保护:
CPU TEE(TDX 可信执行环境):推理进程运行在 Intel TDX 硬件隔离的可信域中,CPU 侧的模型加载、分词、调度逻辑及 KV cache 均在 enclave 内完成,宿主机与云平台无法读取明文。
GPU TEE(机密 GPU):GPU 被纳入可信执行环境,模型权重从 CPU 传送到 GPU 的过程以及 GPU 内部的注意力计算、矩阵乘法、KV cache 均受 TEE 保护,CPU-GPU 互联链路加密。
模型加密存储:模型以 gocryptfs(AES256-GCM)加密后存储在 OSS 上,密文形态传输到实例;仅在远程证明通过后,解密密钥才被注入 TEE 内部完成解密挂载,密钥不落盘、不出 TEE。
远程证明(Remote Attestation):部署与推理启动前,Trustee 服务对实例的 TEE 硬件签名、固件度量值、运行环境配置进行验证;只有通过验证,才下发模型解密密钥。
模型完整性度量(verity):可选,为模型文件生成 Merkle 树根哈希并部署时校验,防止运行时模型被篡改或替换。
推理通信加密(TNG 网关保护):可选,客户端与推理服务之间的请求与响应经可信网关(TNG)透明加密传输,端到端保护推理数据,密钥经远程证明握手协商产生,每推理请求一次一密,防止网络链路上的窃听与篡改。
安装 pai-cc-tools 客户端工具
pai-cc-tools 封装了模型度量、加密、上传与安全推理调用。在开始后续步骤前,先安装客户端:
curl -fsSL https://conf-ai.oss-cn-beijing.aliyuncs.com/pai-cc/pai-cc-tools-20260924-3599a46.tar.gz | tar -xz -C /opt && ln -sf /opt/pai-cc-tools/pai-cc /usr/local/bin/pai-cc随后即可使用 pai-cc 命令。
步骤一:准备加密模型
该步骤包括模型度量(可选)、加密模型和上传模型三个环节。由于模型文件较大,整个过程耗时较长。
如果您希望快速体验本方案,可以使用我们为您准备的加密模型文件进行试用,从而跳过本步骤的度量、加密与上传环节,直接进行步骤二:搭建Trustee远程证明服务。
上表中的完整性参考值可在步骤二的远程证明策略中作为参考值纳入,用于校验部署侧加载的模型。如需使用自己的模型,按下列环节操作,本文以“Qwen3.8-27B”模型为例。
1.模型度量(可选)
模型度量为模型目录生成完整性参考值,用于在部署侧校验加载的模型与运行时 checkpoint 未被篡改。若您需要对加载的远端模型的验证和运行时 checkpoint 防篡改能力,建议执行。其中度量须在加密之前进行。
# 在线拉取(modelscope)或本地目录均可
DIR=$(pai-cc model measure --modelscope Qwen/Qwen3.8-27B --hash-output /tmp/qwen-root.hash)
echo "度量后模型产物路径为:${DIR}"完整性参考值写入
--hash-output指定的文件,请记录该值,后续可作为远程证明参考值。
2.加密模型
PAI-EAS 加密推理采用 Gocryptfs:基于 AES256-GCM,符合开源 Gocryptfs 标准的加密模式。
加密由 pai-cc model encrypt 完成,本方案统一使用密钥 0Bn4Q1wwY9fN3P(用户自提供)。
(可选)如您需要使用度量后模型进行加密:
CIPHER=$(pai-cc model encrypt --model "$DIR" --method gocryptfs --key 0Bn4Q1wwY9fN3P) echo "度量且加密后模型产物路径为:${CIPHER}"如您不需要模型度量:
CIPHER=$(pai-cc model encrypt --modelscope Qwen/Qwen3.8-27B --method gocryptfs --key 0Bn4Q1wwY9fN3P) echo "加密后模型产物路径为:${CIPHER}"
3.上传模型
将密文目录上传到与部署实例相同地域的 OSS Bucket。pai-cc model upload 封装 ossutil,扁平上传密文内容并做计数校验。
URI=$(pai-cc model upload --cipher "$CIPHER" --bucket <your-bucket> --prefix qwen3.8-27b-gocryptfs)stdout 为
oss://<your-bucket>/qwen3.8-27b-gocryptfs/URI,后续步骤三的存储挂载配置使用该路径。
步骤二:搭建Trustee远程证明服务
远程证明服务由用户管理,负责对模型及推理服务的运行环境进行验证。仅在确认部署环境可信度符合预期时,才注入模型解密密钥实现解密挂载。本方案使用阿里云 ECS 部署 Trustee。
准备一台具有公网 IP 的普通 ECS 实例,OS 选择 Alibaba Cloud Linux 3.2104 LTS 64 位。后续操作均在该实例上进行。
对于安全要求极高的场景,也可将 Trustee 部署在自有数据中心或本地服务器,通过专线或 VPN 与云上 VPC 打通,确保信任根完全由您掌握。
登录该实例,使用 YUM 源安装并启动 Trustee:
yum install -y trustee-1.10.0Trustee 自动启动并默认监听 8081 端口,访问地址为
http://<trustee-ip>:8081/api。生产环境建议为 Trustee 配置 HTTPS。导入模型解密密钥到 Trustee。本方案统一使用用户自提供的密钥
0Bn4Q1wwY9fN3P,写入时注意echo -n不带结尾换行,以与加密密钥逐字节一致:sudo mkdir -p /opt/trustee/kbs/repository/default/aliyun/ sudo sh -c 'echo -n "0Bn4Q1wwY9fN3P" > /opt/trustee/kbs/repository/default/aliyun/model-decryption-key'完成后,该密钥在 Trustee 中的密钥 ID 为
kbs:///default/aliyun/model-decryption-key,即步骤三配置中的decryption_key取值。配置远程证明验证策略。策略文件位于
/opt/trustee/attestation-service/policies/opa/default.rego,Trustee会对PAI-CC实例每个副本进行检查,并决定是否下发密钥。重启 Trustee:
sudo systemctl restart trustee
步骤三:创建 PAI-CC 服务
创建灵骏智算资源组并购买节点。参照新建资源组并购买灵骏智算资源,在 华北2(北京) 地域创建灵骏智算资源组,并购买
ml.gu8tef.8.46xlarge.cc规格的实例。该规格处于邀测阶段,请联系您的阿里云客户经理为您开通。在华北2(北京) 地域创建VPC专有网络,同时创建beijing-i可用区的交换机,然后为在该专有网络下创建一个安全组。该专有网络将作为后续 PAI-CC 实例中各推理机密容器所在的 VPC,需为其配置公网 NAT 网关的 SNAT 功能并绑定 EIP,以便实例访问公网(拉取模型密文、访问 Trustee 等)。详情参见公网 NAT 网关。
配置Trustee所在实例网络允许PAI-CC实例通过公网链路访问。具体来说,需要在 Trustee 所在 ECS 的安全组入方向,放行 8081 端口(自定义 TCP),授权对象为上述VPC上配置的公网 SNAT 出口 IP。
创建资源配额。参照创建资源配额:**来源类型** 选择 灵骏智算资源组,并选择前述创建的灵骏智算资源组与对应的节点/规格;专有网络 选择前述创建的 VPC;关联工作空间 选择一个 PAI 工作空间,该资源配额将分配至该工作空间使用。若您尚未创建工作空间,可参照创建及管理工作空间创建一个。
登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击 进入EAS 。在 推理服务 页签,单击 部署服务 ,然后在 自定义模型部署 区域,单击 自定义部署 。
配置以下关键参数,其他参数配置说明,请参见自定义部署。
参数
描述
资源信息
资源类型
选择 资源配额,并选中前述步骤中创建的那个灵骏智算资源配额。
部署资源
**GPU(卡数)**填入
1,**CPU(核数)**填入20,**内存(GB)**填入200,您也可以可根据所选模型及您的部署方式按需调整副本数
填入
8,您也可以根据您的部署资源取值对应调整环境信息
部署方式
选择 镜像部署 。
镜像配置
选择镜像。在本方案示例场景中,选择 官方镜像 > vllm 0.25.0-gpu。
存储挂载
选择 OSS,Uri 为
oss://conf-ai/qwen3.8-27b-gocryptfs/(即步骤一上传的密文路径),挂载路径 为/mnt/model/,只读挂载。运行命令
vllm serve /mnt/model/ --host 0.0.0.0 --port 8000 --served-model-name "Qwen3.8-27B"。 请注意模型路径/mnt/model/需与上面OSS挂载路径一致。端口号
8000。
网络信息
专有网络
选择前述创建的 VPC 与交换机。
安全组
选择前述创建的安全组。
服务功能
GPU驱动版本
需要使用
570.148.08-open(若该字段无法选中,请在直接编辑json配置)PAI-CC 与普通 EAS 服务的根本区别在于机密计算能力:创建 PAI-CC 服务时还需单独打开 配置安全加密环境 开关并配置以下选项。开启后,推理服务将运行在由 CPU TEE 与 GPU TEE 共同保护的机密计算环境中,推理过程中的模型权重、KV cache、中间计算均在该可信执行环境内完成,不向宿主机暴露明文。同时,模型才会在部署时经远程证明验证后解密挂载,推理通信也会经 TNG 加密传输。

配置项
取值
文件加密方式
Gocryptfs(与步骤一
--method一致)开启加密计算环境
启用
运行数据加密
启用
TNG 网关保护
启用(推理通信经 TNG 加密传输)
模型度量
启用(若步骤一做了模型度量)
系统信任管理服务地址
http://<trustee-ip>:8081/api(部署的 Trustee 服务地址)解密密钥的 KBS URI
kbs:///default/aliyun/model-decryption-key最终得到的JSON配置示例如下:
参数配置完成后,单击 部署 。当 服务状态 为运行中时,表明服务已成功部署。
步骤四:安全推理
本方案为客户端到推理服务之间提供基于可信网关(TNG)的加密传输:推理过程在 TDX 与 GPU 机密计算环境中运行,用户请求与响应内容经加密算法加密(流式)传输。
客户端需要配合可信网关客户端来发起推理请求,我们支持如下几种访问方式,您可以结合您的业务场景进行选择不同的集成方式
访问方式 | 获取方式 |
代理网关(HTTP代理/socks5代理/透明代理) | |
Python SDK |
|
Go SDK |
|
JS SDK |
|
为方便演示,pai-cc-tools 对上述 TNG 调用做了封装。
1.查看服务访问地址
在 推理服务 页签,单击目标服务名称进入 概览 页面,在 基本信息 区域单击 查看调用信息 。

记录服务的访问地址与 Token,供后续 pai-cc secure 命令使用。
2.单次安全推理
pai-cc secure run将自动下载并配置所需的可信网关TNG组件程序,通过curl命令发送的推理请求都将被网关透明加密:
pai-cc secure run -- \
curl -sS -X POST http://<service-url>/v1/chat/completions \
-H "Authorization: <your-token>" -H "Content-Type: application/json" \
-d '{"model":"Qwen3.8-27B","messages":[{"role":"user","content":"Hello"}],"max_tokens":100,"stream":false}'
-- 之后是完整的原始命令(含 URL 与 Authorization)。真实输出:
{"id":"chatcmpl-b1df6ef135765608","object":"chat.completion","created":1790173748,"model":"Qwen3.8-27B","choices":[{"index":0,"message":{"role":"assistant","content":"The user said \"Hello\" - a simple greeting. I should respond warmly and concisely, offering to help.\n```\n\n\nHello! How can I help you today?","refusal":null,"annotations":null,"audio":null,"function_call":null,"reasoning":null},"logprobs":null,"finish_reason":"stop","stop_reason":null,"token_ids":null,"routed_experts":null}],"service_tier":null,"system_fingerprint":"vllm-0.25.0-fb7f4d0a","usage":{"prompt_tokens":53,"total_tokens":90,"completion_tokens":37,"prompt_tokens_details":null},"prompt_logprobs":null,"prompt_token_ids":null,"prompt_text":null,"kv_transfer_params":null,"metrics":null}
3.验证多种 SDK 兼容性
运行以下命令可验证 TNG 的各种客户端 SDK 是否都能正确支持对该推理服务的安全调用,包括代理模式、进程注入、Python SDK、Go SDK、JS SDK。
pai-cc secure test \
--endpoint http://<service-url>/v1/chat/completions \
--token <your-token> --builtin-as -m all
── tng-launch ──────────────────────────────────
PASS tng-launch
── tng-exec ──────────────────────────────────
PASS tng-exec
── python-sdk ──────────────────────────────────
PASS python-sdk
── go-sdk ──────────────────────────────────
PASS go-sdk
── js-sdk ──────────────────────────────────
PASS js-sdk
summary: 5 passed, 0 failed, 0 skipped