Tous les produits
Search
Centre de documentation

Platform For AI:Confidential inference service

Dernière mise à jour :Oct 09, 2026

Déployez et appelez un grand modèle de langage (LLM) chiffré dans l'environnement d'inférence chiffrée sécurisé de PAI-EAS sur Platform for AI (PAI). Le modèle est chiffré et téléchargé pour être utilisé au sein d'un environnement de confiance. Lors du déploiement, le service d'attestation à distance (Trustee) vérifie la fiabilité de l'environnement d'exécution, puis libère la clé de déchiffrement qui permet de déchiffrer et de monter le modèle. Trusted Network Gateway (TNG) peut chiffrer de manière transparente le trafic d'inférence. Ces couches de protection garantissent la sécurité de vos données et de votre modèle tout au long de leur cycle de vie. Cette solution convient aux charges de travail traitant des données sensibles soumises à des exigences de sécurité strictes, telles que les services financiers, le secteur public et les applications d'entreprise.

Fonctionnement

secure-inference-architecture

PAI-CC (PAI Confidential Computing) est le service d'inférence PAI-EAS dédié aux charges de travail de calcul confidentiel. Il s'appuie sur un service d'inférence Elastic Algorithm Service (EAS) standard et protège l'inférence de modèle de bout en bout grâce aux fonctionnalités suivantes :

  • CPU TEE (environnement d'exécution de confiance Intel TDX) : Le processus d'inférence s'exécute dans un domaine de confiance isolé par le matériel Intel TDX. Le chargement du modèle, la tokenisation, la logique de planification et le cache KV ont tous lieu à l'intérieur de l'enclave sur le CPU, de sorte que ni l'hôte ni la plateforme cloud ne peuvent lire le texte en clair.

  • GPU TEE (GPU confidentiel) : Le GPU fait partie de l'environnement d'exécution de confiance (TEE). Le TEE protège le transfert des poids du modèle du CPU vers le GPU, ainsi que le calcul de l'attention, la multiplication matricielle et le cache KV à l'intérieur du GPU. L'interconnexion CPU-GPU est chiffrée.

  • Stockage de modèle chiffré : Le modèle est chiffré avec gocryptfs (AES256-GCM), stocké dans Object Storage Service (OSS) et transféré vers l'instance sous forme de texte chiffré. La clé de déchiffrement n'est injectée dans le TEE qu'après la réussite de l'attestation à distance, puis le modèle est déchiffré et monté. La clé n'est jamais écrite sur le disque et ne quitte jamais le TEE.

  • Attestation à distance : Avant le déploiement et avant le démarrage de l'inférence, Trustee vérifie la signature matérielle du TEE, la mesure du firmware et la configuration d'exécution de l'instance. La clé de déchiffrement du modèle n'est libérée qu'après la réussite de cette vérification.

  • Mesure d'intégrité du modèle (verity) : Facultatif. Cette fonctionnalité génère un hachage racine d'arbre Merkle pour les fichiers de modèle et le vérifie lors du déploiement, ce qui empêche la falsification ou le remplacement du modèle pendant l'exécution.

  • Trafic d'inférence chiffré (protection de la passerelle TNG) : Facultatif. TNG chiffre de manière transparente les requêtes et les réponses entre le client et le service d'inférence, protégeant ainsi les données d'inférence de bout en bout. Les clés sont négociées lors de la poignée de main d'attestation à distance et chaque requête d'inférence utilise une clé unique pour empêcher l'écoute clandestine et la falsification sur le chemin réseau.

Installer le client pai-cc-tools

pai-cc-tools regroupe les commandes de mesure, de chiffrement, de téléchargement et d'inférence confidentielle des modèles. Installez le client avant de commencer :

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

La commande pai-cc est alors disponible.

Étape 1 : Préparer un modèle chiffré

Cette étape comporte trois parties : mesurer le modèle (facultatif), chiffrer le modèle et télécharger le modèle. Les fichiers de modèle étant volumineux, ce processus peut prendre beaucoup de temps.

Remarque

Pour tester rapidement cette solution, utilisez le fichier de modèle chiffré fourni dans le tableau suivant. Ignorez les parties de mesure, de chiffrement et de téléchargement de cette étape et passez directement à Étape 2 : Configurer le service d'attestation à distance Trustee.

Cliquez pour afficher les informations sur le fichier de modèle chiffré

Nom du modèle

Méthode de chiffrement

Mot de passe de chiffrement

Région OSS

Emplacement de stockage du modèle

Valeur de référence

Qwen3,8-27B

Gocryptfs

0Bn4Q1wwY9fN3P

cn-beijing

conf-ai:/qwen3,8-27b-gocryptfs/

9a1472695255ed58fc92d48ab917368ffee91938004af06bc4a5690a33de1875

Ajoutez la valeur de référence du tableau précédent à la politique d'attestation à distance à l'étape 2 pour vérifier le modèle chargé par votre service lors du déploiement. Pour utiliser votre propre modèle, suivez les parties ci-dessous. Cette rubrique utilise le modèle Qwen3,8-27B à titre d'exemple.

1. Mesurer le modèle (facultatif)

La mesure du modèle génère une valeur de référence pour le répertoire du modèle. Lors du déploiement, le service utilise cette valeur pour vérifier que le modèle chargé et le point de contrôle d'exécution n'ont pas été falsifiés. Exécutez cette partie si vous devez vérifier un modèle chargé depuis une source distante et protéger le point de contrôle d'exécution contre toute falsification. Mesurez le modèle avant de le chiffrer.

# Pull online from ModelScope or use a local directory
DIR=$(pai-cc model measure --modelscope Qwen/Qwen3.8-27B --hash-output /tmp/qwen-root.hash)
echo "Path of the measured model: ${DIR}"
  • La valeur de référence est écrite dans le fichier spécifié par --hash-output. Notez cette valeur. Vous pourrez l'utiliser ultérieurement comme valeur de référence pour l'attestation à distance.

2. Chiffrer le modèle

L'inférence chiffrée PAI-EAS utilise Gocryptfs, une méthode de chiffrement basée sur AES256-GCM conforme à la norme open source gocryptfs.

pai-cc model encrypt effectue le chiffrement. Cette solution utilise la clé 0Bn4Q1wwY9fN3P tout au long du processus. Vous fournissez cette clé.

  • (Facultatif) Pour chiffrer le modèle mesuré :

    CIPHER=$(pai-cc model encrypt --model "$DIR" --method gocryptfs --key 0Bn4Q1wwY9fN3P)
    echo "Path of the measured and encrypted model: ${CIPHER}"
  • Pour chiffrer le modèle sans le mesurer au préalable :

    CIPHER=$(pai-cc model encrypt --modelscope Qwen/Qwen3.8-27B --method gocryptfs --key 0Bn4Q1wwY9fN3P)
    echo "Path of the encrypted model: ${CIPHER}"

3. Télécharger le modèle

Téléchargez le répertoire de texte chiffré vers un bucket OSS situé dans la même région que l'instance de déploiement. pai-cc model upload encapsule ossutil, effectue un téléchargement à plat du texte chiffré et vérifie le nombre de fichiers.

URI=$(pai-cc model upload --cipher "$CIPHER" --bucket <your-bucket> --prefix qwen3.8-27b-gocryptfs)
  • La commande écrit l'URI oss://<your-bucket>/qwen3.8-27b-gocryptfs/ dans la sortie standard. Utilisez ce chemin pour la configuration du montage de stockage à l'étape 3.

Étape 2 : Configurer le service d'attestation à distance Trustee

Vous gérez le service d'attestation à distance, qui vérifie l'environnement d'exécution du modèle et du service d'inférence. La clé de déchiffrement du modèle n'est injectée que lorsque l'environnement de déploiement répond à vos exigences de confiance. La clé permet ensuite de déchiffrer et de monter le modèle. Cette solution déploie Trustee sur Elastic Compute Service (ECS).

  1. Préparez une instance ECS standard avec une adresse IP publique et sélectionnez Alibaba Cloud Linux 3.2104 LTS 64 bits comme système d'exploitation. Exécutez toutes les commandes suivantes sur cette instance.

    Pour répondre aux exigences de sécurité les plus strictes, vous pouvez également déployer Trustee dans un centre de données sur site ou sur un serveur local. Connectez-le au VPC sur le cloud via un circuit Express Connect ou un VPN. Cela permet de garder la racine de confiance entièrement sous votre contrôle.
  2. Connectez-vous à l'instance, puis installez et démarrez Trustee à partir du dépôt yum :

    yum install -y trustee-1.10.0

    Trustee démarre automatiquement et écoute par défaut sur le port 8081. Son endpoint est http://<trustee-ip>:8081/api. Configurez HTTPS pour Trustee dans les environnements de production.

  3. Importez la clé de déchiffrement du modèle dans Trustee. Cette solution utilise la clé 0Bn4Q1wwY9fN3P. Vous fournissez cette clé. Lorsque vous écrivez la clé, utilisez echo -n pour omettre le saut de ligne final afin que la valeur corresponde octet par octet à la clé de chiffrement :

    sudo mkdir -p /opt/trustee/kbs/repository/default/aliyun/
    sudo sh -c 'echo -n "0Bn4Q1wwY9fN3P" > /opt/trustee/kbs/repository/default/aliyun/model-decryption-key'

    Après cette étape, l'ID de clé dans Trustee est kbs:///default/aliyun/model-decryption-key, qui correspond à la valeur de decryption_key dans la configuration de l'étape 3.

  4. Configurez la politique d'attestation à distance. Le fichier de politique est /opt/trustee/attestation-service/policies/opa/default.rego. Trustee vérifie chaque réplica de l'instance PAI-CC et décide s'il doit libérer la clé.

    Exécutez la commande suivante pour configurer la politique d'attestation à distance

    cat <<EOF >/opt/trustee/attestation-service/policies/opa/default.rego
    package policy
    
    import rego.v1
    
    default executables := 2
    default configuration := 2
    default file_system := 2
    default hardware := 97
    
    hardware := 2 if {
        input.tdx.quote.header.tee_type == "81000000"
        input.tdx.quote.header.vendor_id == "939a7233f79c4ca9940a0db3957f0607"
        gpu_attestation_ok
    }
    
    gpu_attestation_ok if {
        some e in input.tdx.uefi_event_logs
        e.type_name == "EV_EVENT_TAG"
        e.details.unicode_name == "AAEL"
        e.details.data.domain == "alibabacloud.com"
        e.details.data.operation == "gpu/attestation"
        e.details.data.content["gpu-collect-evidence-result-code"] == 0
        e.details.data.content["gpu-attest-result-code"] == 0
    }
    EOF
    
  5. Redémarrez Trustee :

    sudo systemctl restart trustee

Étape 3 : Créer un service PAI-CC

  1. Créez un groupe de ressources Lingjun et achetez des nœuds. Suivez les instructions de la rubrique Créer un groupe de ressources et acheter des ressources Lingjun pour créer le groupe de ressources dans la région Chine (Pékin) et acheter des instances du type d'instance ml.gu8tef.8.46xlarge.cc. Ce type d'instance est en aperçu sur invitation. Contactez votre gestionnaire de compte Alibaba Cloud pour demander l'accès.

  2. Créez un Virtual Private Cloud (VPC) dans la région Chine (Pékin), créez un vSwitch dans la zone beijing-i, puis créez un groupe de sécurité dans le VPC. Ce VPC héberge les conteneurs confidentiels qui exécutent l'inférence pour l'instance PAI-CC que vous créerez ultérieurement. Configurez la fonctionnalité SNAT d'une passerelle NAT Internet pour le VPC et associez une Elastic IP Address (EIP). Les instances disposent ainsi d'un accès au réseau public pour extraire le texte chiffré du modèle et atteindre Trustee. Pour plus d'informations, consultez la rubrique Passerelle NAT Internet.

  3. Configurez le réseau de l'instance exécutant Trustee afin que l'instance PAI-CC puisse atteindre Trustee via le réseau public. Ajoutez une règle entrante au groupe de sécurité de l'instance ECS Trustee pour autoriser le trafic sur le port 8081 (TCP personnalisé). Définissez la source sur l'adresse IP de sortie SNAT que vous avez configurée pour le VPC.

  4. Créez un quota de ressources. Suivez les instructions de la rubrique Créer un quota de ressources : pour Source Type, sélectionnez Lingjun resource group, puis sélectionnez le groupe de ressources Lingjun que vous avez créé, ainsi que ses nœuds ou types d'instances. Pour VPC, sélectionnez le VPC que vous avez créé. Pour Associate Workspace, sélectionnez un espace de travail PAI. Le quota de ressources est alloué à cet espace de travail. Si vous n'avez pas encore créé d'espace de travail, suivez les instructions de la rubrique Créer et gérer des espaces de travail pour en créer un.

  5. Connectez-vous à la console PAI. En haut de la page, sélectionnez la région. À droite, sélectionnez l'espace de travail. Cliquez ensuite sur Elastic Algorithm Service (EAS). Dans l'onglet Inference Service, cliquez sur Deploy Service. Dans la section Custom Model Deployment, cliquez sur Custom Deployment.

  6. Configurez les paramètres clés suivants. Pour plus d'informations sur les autres paramètres, consultez la rubrique Déploiement personnalisé.

    Paramètre

    Description

    Informations sur les ressources

    Type de ressource

    Sélectionnez Resource Quota, puis sélectionnez le quota de ressources Lingjun que vous avez créé.

    Déploiement

    Pour GPU (Number of GPUs), spécifiez 1. Pour CPU (Number of Cores), spécifiez 20. Pour Memory (GB), spécifiez 200. Ajustez ces valeurs en fonction de votre modèle et de la manière dont vous déployez le service.

    Réplicas

    Spécifiez 8. Ajustez cette valeur en fonction de vos paramètres de Déploiement.

    Informations sur l'environnement

    Méthode de déploiement

    Sélectionnez Image-based Deployment.

    Configuration de l'image

    Sélectionnez une image d'exécution. Dans cet exemple, sélectionnez Alibaba Cloud Image > vllm 0.25.0-gpu.

    Montage de stockage

    Sélectionnez OSS. Définissez Uri sur oss://conf-ai/qwen3,8-27b-gocryptfs/ (le chemin du texte chiffré que vous avez téléchargé à l'étape 1) et définissez Mount Path sur /mnt/model/. Utilisez un montage en lecture seule.

    Commande à exécuter

    vllm serve /mnt/model/ --host 0.0.0.0 --port 8000 --served-model-name "Qwen3,8-27B". Le chemin du modèle /mnt/model/ doit correspondre au Mount Path OSS que vous avez spécifié.

    Numéro de port

    8000.

    Informations réseau

    VPC

    Sélectionnez le VPC et le vSwitch que vous avez créés.

    Nom du groupe de sécurité

    Sélectionnez le groupe de sécurité que vous avez créé.

    Fonctionnalités

    Version du pilote GPU

    Utilisez 570.148.08-open. Si vous ne pouvez pas sélectionner ce champ, modifiez directement la configuration JSON.

    La principale différence entre PAI-CC et un service EAS standard réside dans le calcul confidentiel. Lorsque vous créez un service PAI-CC, activez également Configure Secure Encryption Environment et configurez les options suivantes. Après avoir activé cette option, le service d'inférence s'exécute dans un environnement de calcul confidentiel protégé à la fois par le CPU TEE et le GPU TEE. Pendant l'inférence, les poids du modèle, le cache KV et tous les calculs intermédiaires restent à l'intérieur du TEE et aucun texte en clair n'est exposé à l'hôte. Lors du déploiement, le modèle n'est déchiffré et monté qu'après la réussite de l'attestation à distance. TNG chiffre ensuite le trafic d'inférence.image

    Élément de configuration

    Valeur

    Méthode de chiffrement

    Gocryptfs (identique à --method à l'étape 1)

    Configurer l'environnement de chiffrement sécurisé

    Activé

    Chiffrement des données d'exécution

    Activé

    Protection de la passerelle TNG

    Activé (TNG chiffre le trafic d'inférence)

    Mesure du modèle

    Activé (si vous avez mesuré le modèle à l'étape 1)

    Adresse du service de gestion de la confiance du système

    http://<trustee-ip>:8081/api (l'endpoint du service Trustee que vous avez déployé)

    KBS URI de la clé de déchiffrement

    kbs:///default/aliyun/model-decryption-key

    L'exemple suivant montre la configuration JSON résultante :

    Exemple de configuration JSON

     {
         "metadata": {
             "name": "<your-service-name>",
             "instance": 8,
             "workspace_id": "<your-workspace-id>",
             "disk": 60,
             "rpc": {
                 "keepalive": 60000
             },
             "accessibility": "public",
             "quota_id": "<your-quota-id>",
             "quota_type": "Lingjun",
             "resource_burstable": false,
             "gpu": 1,
             "cpu": 20,
             "memory": 200000
         },
         "containers": [
             {
                 "image": "eas-registry-vpc.cn-beijing.cr.aliyuncs.com/pai-eas/vllm:v0.25.0",
                 "script": "vllm serve /mnt/model/ --host 0.0.0.0 --port 8000 --served-model-name \"Qwen3.8-27B\"",
                 "port": 8000
             }
         ],
         "options": {
             "priority": 9
         },
         "storage": [
             {
                 "oss": {
                     "path": "oss://conf-ai/qwen3.8-27b-gocryptfs/",
                     "readOnly": true,
                     "role_arn": ""
                 },
                 "mount_path": "/mnt/model/",
                 "encryption": {
                     "method": "gocryptfs"
                 }
             }
         ],
         "cloud": {
             "networking": {
                 "vpc_id": "<your-vpc-id>",
                 "vswitch_id": "<your-vswitch-id>",
                 "security_group_id": "<your-security-group-id>"
             }
         },
         "confidential": {
             "disable_tng": false,
             "trustee_endpoint": "http://<trustee-ip>:8081/api",
             "decryption_key": "kbs:///default/aliyun/model-decryption-key",
             "enable_measure": true
         },
         "features": {
             "eas.aliyun.com/enable-confidential-computing": "true",
             "eas.aliyun.com/confidential-computing-version": "v2",
             "eas.aliyun.com/gpu-driver-version": "570.148.08-open"
         }
     }
    

    Après avoir configuré les paramètres, cliquez sur Deploy. Lorsque service status indique Running, le service est déployé.

Étape 4 : Exécuter une inférence confidentielle

TNG chiffre le trafic entre le client et le service d'inférence. L'inférence s'exécute dans l'environnement de calcul confidentiel fourni par Intel TDX et le GPU TEE. Vos requêtes et réponses, y compris les réponses en streaming, sont chiffrées pendant le transit.

Votre client envoie des requêtes d'inférence via le client TNG. Les méthodes d'accès suivantes sont disponibles. Choisissez celle qui correspond à votre cas d'utilisation.

Méthode d'accès

Comment l'obtenir

Passerelle proxy (proxy HTTP / proxy SOCKS5 / proxy transparent)

Téléchargez les binaires ou les conteneurs depuis le dépôt GitHub. Consultez la documentation et les exemples

SDK Python

pip install tng-sdk==2.9.2, Documentation et exemples

SDK Go

go get github.com/inclavare-containers/tng/tng-go, Documentation et exemples

SDK JS

npm i @inclavare-containers/tng@2.9.2, Documentation et exemples

Pour simplifier ces exemples, pai-cc-tools encapsule les appels TNG du tableau précédent.

1. Afficher l'endpoint du service

Dans l'onglet Inference Service, cliquez sur le nom de votre service pour ouvrir la page Overview. Dans la section Basic Information, cliquez sur View Endpoint Information.

image

Notez l'endpoint du service et le jeton pour les commandes pai-cc secure qui suivent.

2. Exécuter une inférence confidentielle unique

pai-cc secure run télécharge et configure automatiquement les composants TNG requis. La passerelle chiffre de manière transparente chaque requête d'inférence envoyée par la commande 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}'

Tout ce qui suit -- constitue la commande originale complète, y compris l'URL et l'en-tête Authorization. Sortie réelle :

{"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. Vérifier la compatibilité du SDK

Exécutez la commande suivante pour vérifier que tous les SDK clients TNG peuvent effectuer des appels confidentiels à ce service d'inférence. La commande couvre le mode proxy, l'injection de processus, le SDK Python, le SDK Go et le SDK JS.

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