Cette rubrique explique comment mettre en place 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 valider les fonctionnalités TDX.
Contexte
Intel® TDX est une technologie de protection matérielle destinée aux instances ECS. Dans une instance TDX, le matériel CPU protège de manière confidentielle les registres du processeur, les données en mémoire, la gestion des interruptions et d'autres états d'exécution. 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, notamment les processus en cours d'exécution ou les données sensibles traitées. 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.
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, reportez-vous à Créer une instance personnalisée.
Accédez à Console ECS - Instances.
Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.
-
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 le type d'instance 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.
Finalisez 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é
Avant de poursuivre, assurez-vous que TDX est bien activé sur votre instance.
-
Vérifiez si TDX est activé.
lscpu |grep -i tdx_guestSi 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 -
Vérifiez l'interface de rapport d'attestation disponible.
Le noyau expose les rapports d'attestation TDX (TD Report et Quote) au mode utilisateur. 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 seule des vérifications aboutisse.
Interface
Images et noyaux applicables
Commande de vérification
ConfigFS TSM
/sys/kernel/config/tsm/reportAlibaba 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/reportPériphérique caractère
/dev/tdx_guestAlibaba 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 offre 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 |
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 |
Obtenir des mesures locales et garantir la fraîcheur des données à l'aide d'un nonce ou d'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 contrôler 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 |
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 tests.
-
Téléchargez 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 go build -o tdx-lab .RemarquePour les images Debian et Ubuntu, exécutez plutôt
sudo apt install -y git golang-go. -
Récupérez l'adresse PCCS d'Alibaba Cloud pour 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 -
Exécutez les cas de test.
# Run all test cases ./tdx-lab --skip-early --pccs-url ${PCCS_HOST}RemarqueL'état TCB n'est pas garanti d'être
UpToDate, il est donc normal qu'un échec deStrict Tcb Checksurvienne dans certains scénarios. 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 |
|
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
Nous vous recommandons d'utiliser Alibaba Cloud Linux 3.
Debian13.1ou ultérieur : Debian 13.1, Debian 13.2, Debian 13.3.Rocky9.5ou ultérieur : Rocky 9.5, Rocky 9.6, Rocky 9.7, Rocky 10.0, Rocky 10.1.Ubuntu24.04ou ultérieur : Ubuntu 24.04.Alibaba Cloud Linux3ou ultérieur : Alibaba Cloud Linux 3, Alibaba Cloud Linux 4.
Limitations
Les performances des instances TDX peuvent être inférieures à celles des instances classiques, car le matériel CPU chiffre les registres du processeur et les données en mémoire.
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 de l'OS.La connexion via VNC n'est pas prise en charge. Utilisez SSH via Workbench ou un client tiers. Pour consulter les journaux d'exécution, reportez-vous à Afficher les journaux système et les captures d'écran des instances ou à GetInstanceConsoleOutput.
-
Limitations liées aux images :
Seules les images UEFI sont prises en charge.
Windows n'est pas pris en charge.
Les images dotées de 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 liés au tampon SWIOTLB du noyau invité Linux :
Moins de mémoire est visible par le système d'exploitation par rapport à une instance classique. 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 le système.
-
Les charges de travail à forte intensité d'E/S peuvent subir une dégradation des performances due à une insuffisance de SWIOTLB. Vérifiez avec :
dmesg| grep 'swiotlb buffer is full'ImportantDes 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 postérieures à
5.10.134-18.al8.x86_64, ajoutez le paramètreanypour prendre en charge des tailles SWIOTLB plus importantes :grubby --update-kernel=ALL --args=swiotlb=2097152,any # Sets SWIOTLB to 4 GiB.RemarqueCalculez la valeur du paramètre SWIOTLB : Taille cible (en MiB) × 512. Consultez Les paramètres de ligne de commande du noyau.
-
Bonnes pratiques
Pour obtenir davantage d'orientations sur les environnements de calcul confidentiel TDX, consultez les bonnes pratiques suivantes adaptées à 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é.
Si vous devez déployer rapidement des applications d'IA confidentielles sur des instances TDX, consultez Déploiement en un clic de l'agent IA confidentiel OpenClaw sur les instances de calcul confidentiel g9i TDX.
Si vous devez protéger les données des disques sur des instances de calcul confidentiel et apprendre à effectuer la mesure des disques ainsi que la vérification de l'intégrité du système de fichiers racine, consultez Mesure des disques et protection par chiffrement pour les instances de calcul confidentiel.
Si vous devez exécuter des charges de travail conteneurisées dans un environnement de calcul confidentiel, consultez Déployer CoCo sur des serveurs bare metal Alibaba Cloud.