Tous les produits
Search
Centre de documentation

Elastic Compute Service:Build a TDX confidential computing environment and verify remote attestation

Dernière mise à jour :Sep 02, 2026

Cette rubrique explique comment créer un environnement de calcul confidentiel TDX sur une instance ECS basée sur Intel® Trusted Domain Extension (Intel® TDX), appelée instance TDX, et comment exécuter des cas de test pour vérifier les fonctionnalités TDX.

Contexte

Intel® TDX est une technologie de protection matérielle pour les instances ECS. Dans une instance TDX, les registres du processeur, les données en mémoire, la gestion des interruptions et d'autres états d'exécution sont protégés de manière confidentielle par le matériel du processeur. Ni les fournisseurs de cloud ni les attaquants externes ne peuvent surveiller ou altérer l'état d'exécution interne d'une instance TDX, tel que les processus en cours d'exécution et les données sensibles lors du calcul. Consultez Intel® Trusted Domain Extension (Intel® TDX).

Intel® TDX sécurise par défaut les instances et les applications. Les applications existantes peuvent migrer vers des instances TDX sans nécessiter de refonte.

image

Prérequis

Console

La création d'une instance TDX est similaire à celle d'une instance standard. Seules les configurations spécifiques à TDX sont décrites ici. Pour les configurations générales, consultez Créer une instance personnalisée.

  1. Accédez à ECS console - Instances.

  2. Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.

  3. Cliquez sur Create Instance et configurez les paramètres suivants.

    Paramètre

    Description

    Région et zone

    Les régions et zones prises en charge varient selon le type d'instance. Consultez Régions, types d'instance et images pris en charge.

    Cet exemple utilise la zone I de Chine (Pékin) et ecs.g8i.xlarge.

    Type d'instance

    Image

    Cochez la case Confidential VM, puis sélectionnez l'image Alibaba Cloud Linux 3.2104 LTS 64-bit.

  4. Terminez les configurations restantes pour créer l'instance.

CLI et API

Appelez l'opération RunInstances ou utilisez Alibaba Cloud CLI pour créer une instance ECS activant TDX. Configurez les paramètres suivants.

Paramètre

Description

Exemple

RegionId

Chine (Pékin)

cn-beijing

ZoneId

Disponible uniquement dans certaines zones. Les types d'instance varient selon la zone. Consultez Régions, types d'instance et images pris en charge.

cn-beijing-i

InstanceType

ecs.g8i.2xlarge

ImageId

ID d'une image prenant en charge TDX. Seules les images UEFI Alibaba Cloud Linux 3.2104 LTS 64-bit avec un noyau 5.10.134-16.al8.x86_64 ou ultérieur sont prises en charge.

aliyun_3_x64_20G_alibase_20241218.vhd

SecurityOptions.ConfidentialComputingMode

Le mode de calcul confidentiel.

TDX

Exemple CLI

aliyun ecs RunInstances \
  --SecurityOptions.ConfidentialComputingMode TDX \
  --Region cn-beijing \
  --ZoneId cn-beijing-i \
  --SystemDisk.Category cloud_essd \
  --ImageId 'aliyun_3_x64_20G_alibase_20241218.vhd' \
  --InstanceType 'ecs.g8i.2xlarge' \
  --SecurityGroupId 'sg-<YourSecurityGroupId>' \
  --VSwitchId 'vsw-<YourVSwitchId>' \
  --KeyPairName <YourKeyPairName> \
  

Procédure

Étape 1 : Vérifier que TDX est activé

Vérifiez que TDX est activé sur votre instance avant de continuer.

  1. Vérifiez si TDX est activé.

    lscpu |grep -i tdx_guest

    Si la sortie contient tdx_guest, TDX est activé.

    [root@iZwzxxxxxxxx:~]# lscpu |grep -i tdx_guest
    Flags:           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc bts rep_good nopl xtopology tsc_known_freq pni pclmulqdq dtes64 ds_cpl ssse3 sdbg fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single sbd ibrs ibpb stibp ibrs_enhanced tdx_guest fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap avx512ifma clflushopts clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves avx_vnni avx512_bf16 wbnoinvd avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid bus_lock_detect cldemote movdiri movdir64b _vp2intersect md_clear serialize tsxldtrk amx_bf16 avx512_fp16 amx_tile amx_int8 flush_l1d arch_capabilities
  2. Vérifiez l'interface de rapport d'attestation disponible.

    Le noyau expose les rapports d'attestation TDX (TD Report et Quote) au mode utilisateur, et l'interface diffère selon la version du noyau. Sélectionnez une commande de vérification correspondant à la version du noyau de l'image. Il suffit qu'une des vérifications soit réussie.

    Interface

    Images et noyaux applicables

    Commande de vérification

    ConfigFS TSM /sys/kernel/config/tsm/report

    Alibaba Cloud Linux 4, Ubuntu 24.04, Debian 13 et Rocky 9.5 ou ultérieur (noyau upstream 6.7 ou ultérieur)

    ls -d /sys/kernel/config/tsm/report

    Périphérique caractère /dev/tdx_guest

    Alibaba Cloud Linux 3 (noyau 5.10.134-16.al8 ou ultérieur)

    ls -l /dev/tdx_guest

Étape 2 : Utiliser les capacités de calcul confidentiel TDX

TDX fournit quatre capacités atomiques au mode utilisateur, qui forment ensemble une chaîne complète allant de la mesure locale à la vérification distante.

Capacité

Description

Objectif

Génération de TD Report

Une structure d'attestation locale renvoyée par le module TDX. Elle a une taille fixe de 1 024 octets et peut lier les 64 octets de REPORTDATA fournis par l'appelant.

Obtenir des mesures locales et garantir la fraîcheur en utilisant un nonce ou un hachage de clé publique.

Génération de Quote

L'enclave de citation (Quoting Enclave) signe le TD Report et intègre la chaîne de certificats PCK, ce qui produit un justificatif qu'une partie distante peut vérifier de manière indépendante.

Prouver l'identité et l'état d'exécution de l'instance à une partie distante.

Vérification de Quote

Vérifie la signature ECDSA et la chaîne de certificats, et récupère les éléments collatéraux tels que TCB Info, QE Identity et PCK CRL selon les besoins pour vérifier le niveau TCB de la plateforme et l'état de révocation.

Vérifier l'authenticité d'un Quote.

Lecture et extension des registres de mesure

Lit MRTD et RTMR[0-3], analyse le journal d'événements ACPI CCEL et le rejoue par rapport à RTMR[0-3] pour comparaison, et étend les mesures personnalisées dans RTMR[2] et RTMR[3].

Vérifier l'intégrité de la chaîne de démarrage et inclure les événements de la couche application dans les mesures.

La communauté OpenAnolis fournit l'outil en ligne de commande tdx-lab dans go-tdx-guest. Ses cas de test couvrent les quatre capacités décrites ci-dessus. Les étapes suivantes montrent comment exécuter ces cas de test.

  1. Obtenez et compilez l'outil.

    sudo yum install -y git golang
    git clone https://gitee.com/anolis/go-tdx-guest.git
    cd go-tdx-guest/tools/tdx-lab
    GOPROXY='https://goproxy.cn,direct' go build -o tdx-lab .
    Remarque

    Pour les images Debian et Ubuntu, exécutez plutôt sudo apt install -y git golang-go.

  2. Obtenez l'adresse PCCS d'Alibaba Cloud de la région où se trouve l'instance.

    token=$(curl -s -X PUT -H "X-aliyun-ecs-metadata-token-ttl-seconds: 5" "http://100.100.100.200/latest/api/token")
    region_id=$(curl -s -H "X-aliyun-ecs-metadata-token: $token" http://100.100.100.200/latest/meta-data/region-id)
    PCCS_HOST=sgx-dcap-server-vpc.${region_id}.aliyuncs.com
  3. Exécutez les cas de test.

    # Run all test cases
    ./tdx-lab --skip-early --pccs-url ${PCCS_HOST}
    Remarque

    L'état TCB n'est pas garanti d'être UpToDate, donc un échec de Strict Tcb Check dans certains scénarios est attendu. Pour la liste complète des paramètres et une description de chaque cas de test, consultez tools/tdx-lab/README.md.

Régions, types d'instance et images pris en charge

Limitations régionales et par type d'instance

Le calcul confidentiel est disponible uniquement dans certaines zones. Les types d'instance pris en charge varient selon la zone.

Région et zone

Types d'instance

Chine (Pékin) Zone L

ecs.g8i.xlarge et supérieurs

Chine (Pékin) Zone I

  • ecs.g8i.xlarge et supérieurs

  • ecs.g9i.xlarge, ecs.c9i.xlarge, ecs.r9i.xlarge et supérieurs

  • Famille d'instances ebmg8i

Chine (Hangzhou) Zone J

ecs.r9i.xlarge et supérieurs

Chine (Hong Kong) Zone B

ecs.g8i.xlarge et supérieurs

Chine (Hong Kong) Zone C

ecs.g8i.xlarge et supérieurs

Chine (Hong Kong) Zone D

ecs.g8i.xlarge et supérieurs

Singapour Zone B

ecs.g8i.xlarge et supérieurs

Images

Important

Nous vous recommandons d'utiliser Alibaba Cloud Linux 3.

  • Debian 13.1 ou ultérieur : Debian 13.1, Debian 13.2, Debian 13.3.

  • Rocky 9.5 ou ultérieur : Rocky 9.5, Rocky 9.6, Rocky 9.7, Rocky 10.0, Rocky 10.1.

  • Ubuntu 24.04 ou ultérieur : Ubuntu 24.04.

  • Alibaba Cloud Linux 3 ou ultérieur : Alibaba Cloud Linux 3, Alibaba Cloud Linux 4.

Limitations

  • Les instances TDX peuvent avoir des performances inférieures à celles des instances régulières car les registres du processeur et les données en mémoire sont chiffrés par le matériel du processeur.

  • En raison des réinitialisations RTMR, de la protection des interruptions et de la restauration de l'état des registres, les instances TDX ne prennent pas en charge les redémarrages au sein du système d'exploitation. Vous ne pouvez pas exécuter la commande reboot à l'intérieur du système d'exploitation.

  • La connexion VNC n'est pas prise en charge. Utilisez SSH via Workbench ou un client tiers. Pour les journaux d'exécution, consultez Afficher les journaux système et les captures d'écran des instances ou GetInstanceConsoleOutput.

  • Limitations des images :

    • Seules les images UEFI sont prises en charge.

    • Windows n'est pas pris en charge.

    • Les images avec des noyaux obsolètes ne sont pas prises en charge. La version du noyau doit être 5.10.134-16.al8.x86_64 ou ultérieure.

  • eRDMA et divers types d'accélérateurs ne sont pas pris en charge.

  • Problèmes connus avec le tampon SWIOTLB du noyau invité Linux :

    • Moins de mémoire est visible par le système d'exploitation par rapport à une instance régulière. Une instance TDX réserve de la mémoire non chiffrée (SWIOTLB) pour la communication avec les périphériques. Par défaut, cette zone représente 6 % de la mémoire disponible, jusqu'à 1 GiB.

    • L'attachement de plusieurs interfaces réseau élastiques (ENI) à une grande instance peut provoquer un plantage en raison d'une insuffisance de mémoire SWIOTLB dans les scénarios de cartes réseau multi-files d'attente. Arrêtez l'instance depuis la console et détachez les ENI pour récupérer.

    • Les charges de travail à E/S élevées peuvent subir une dégradation des performances due à une insuffisance de SWIOTLB. Vérifiez avec :

      dmesg| grep 'swiotlb buffer is full'
      Important

      Des paramètres SWIOTLB incorrects peuvent entraîner un échec de démarrage. Créez un snapshot avant de procéder afin de pouvoir revenir en arrière en cas d'erreur.

      Si ce problème survient, augmentez la taille de SWIOTLB :

      • Définissez la taille de SWIOTLB sur 1 GiB.

        grubby --update-kernel=ALL --args=swiotlb=524288
      • Pour les versions de noyau ultérieures à 5.10.134-18.al8.x86_64, ajoutez le paramètre any pour prendre en charge des tailles SWIOTLB plus importantes :

        grubby --update-kernel=ALL --args=swiotlb=2097152,any   # Sets SWIOTLB to 4 GiB.
        Remarque

        Calculez la valeur du paramètre SWIOTLB : Taille cible (en MiB) × 512. Consultez The kernel's command-line parameters.

Bonnes pratiques

Pour plus d'informations sur les environnements de calcul confidentiel TDX, reportez-vous aux bonnes pratiques suivantes en fonction de vos scénarios métier spécifiques. Ces ressources couvrent la construction d'applications, la protection des disques et les stratégies de déploiement conteneurisé.