Este tópico descreve como criar um ambiente de computação confidencial TDX em uma instância ECS baseada na Intel® Trusted Domain Extension (Intel® TDX), denominada instância TDX, e como executar casos de teste para verificar as capacidades do TDX.
Contexto
A Intel® TDX é uma tecnologia de proteção baseada em hardware para instâncias ECS. Em uma instância TDX, o hardware da CPU protege confidencialmente os registradores, os dados de memória, o tratamento de interrupções e outros estados de execução. Nem provedores de cloud nem atacantes externos conseguem monitorar ou adulterar o estado interno de execução de uma instância TDX, como processos em andamento e dados sensíveis durante a computação. Consulte Intel® Trusted Domain Extension (Intel® TDX).
A Intel® TDX protege instâncias e aplicações por padrão. Aplicações existentes podem migrar para instâncias TDX sem necessidade de redesenvolvimento.
Pré-requisitos
Console
A criação de uma instância TDX é semelhante à de uma instância padrão. Apenas as configurações específicas do TDX são descritas aqui. Para configurações gerais, consulte Create an instance on a custom basis.
Acesse ECS console - Instances.
No canto superior esquerdo da página, selecione uma região e um grupo de recursos.
-
Clique em Create Instance e configure os seguintes parâmetros.
Parâmetro
Descrição
Região e zona
As regiões e zonas compatíveis variam conforme o tipo de instância. Consulte Supported regions, instance types, and images.
Este exemplo utiliza China (Beijing) Zone I e ecs.g8i.xlarge.
Tipo de instância
Imagem
Marque a caixa de seleção Confidential VM e selecione a imagem Alibaba Cloud Linux 3.2104 LTS 64-bit.
Conclua as configurações restantes para criar a instância.
CLI and API
Chame a operação RunInstances ou use a Alibaba Cloud CLI para criar uma instância ECS com TDX habilitado. Configure os seguintes parâmetros.
Parâmetro | Descrição | Exemplo |
RegionId | China (Beijing) | cn-beijing |
ZoneId | Disponível apenas em zonas específicas. Os tipos de instância variam por zona. Consulte Supported regions, instance types, and images. | cn-beijing-i |
InstanceType | ecs.g8i.2xlarge | |
ImageId | ID de uma imagem compatível com TDX. Somente imagens UEFI do Alibaba Cloud Linux 3.2104 LTS 64-bit com kernel 5.10.134-16.al8.x86_64 ou posterior são compatíveis. | aliyun_3_x64_20G_alibase_20241218.vhd |
SecurityOptions.ConfidentialComputingMode | O modo de computação confidencial. | TDX |
Exemplo de 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> \
Procedimento
Etapa 1: Verifique se o TDX está ativado
Verifique se o TDX está ativado na sua instância antes de prosseguir.
-
Verifique se o TDX está ativado.
lscpu |grep -i tdx_guestSe a saída contiver
tdx_guest, o TDX estará ativado.[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 -
Verifique a interface de relatório de atestação disponível.
O kernel expõe os relatórios de atestação TDX (TD Report e Quote) ao modo usuário. A interface varia conforme a versão do kernel. Selecione um comando de verificação compatível com a versão do kernel da imagem. A aprovação em qualquer uma das verificações é suficiente.
Interface
Imagens e kernels aplicáveis
Comando de verificação
ConfigFS TSM
/sys/kernel/config/tsm/reportAlibaba Cloud Linux 4, Ubuntu 24.04, Debian 13 e Rocky 9.5 ou posterior (kernel upstream 6.7 ou posterior)
ls -d /sys/kernel/config/tsm/reportDispositivo de caractere
/dev/tdx_guestAlibaba Cloud Linux 3 (kernel 5.10.134-16.al8 ou posterior)
ls -l /dev/tdx_guest
Etapa 2: Utilize as capacidades de computação confidencial TDX
O TDX fornece quatro capacidades atômicas ao modo usuário. Juntas, elas formam uma cadeia completa desde a medição local até a verificação remota.
|
Capacidade |
Descrição |
Finalidade |
|
Geração de TD Report |
Estrutura de atestação local retornada pelo Módulo TDX. Possui tamanho fixo de 1.024 bytes e pode vincular os 64 bytes de |
Obter medições locais e vincular atualidade usando um nonce ou hash de chave pública. |
|
Geração de Quote |
O Quoting Enclave assina o TD Report e incorpora a cadeia de certificados PCK. Isso produz uma credencial que uma parte remota pode verificar independentemente. |
Comprovar a identidade e o estado de execução da instância para uma parte remota. |
|
Verificação de Quote |
Verifica a assinatura ECDSA e a cadeia de certificados. Recupera dados complementares como TCB Info, QE Identity e PCK CRL conforme necessário para checar o nível de TCB da plataforma e o status de revogação. |
Confirmar que uma Quote é autêntica. |
|
Leitura e extensão de registrador de medição |
Lê |
Verificar a integridade da cadeia de inicialização e incluir eventos da camada de aplicação nas medições. |
A comunidade OpenAnolis fornece a ferramenta de linha de comando tdx-lab em go-tdx-guest. Seus casos de teste cobrem as quatro capacidades descritas acima. As etapas a seguir mostram como executar esses casos de teste.
-
Obtenha e compile a ferramenta.
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 .NotaPara imagens Debian e Ubuntu, execute
sudo apt install -y git golang-goem vez disso. -
Obtenha o endereço PCCS da Alibaba Cloud da região onde a instância reside.
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 -
Execute os casos de teste.
# Run all test cases ./tdx-lab --skip-early --pccs-url ${PCCS_HOST}NotaO status do TCB não tem garantia de ser
UpToDate. Portanto, uma falha deStrict Tcb Checkem alguns cenários é esperada. Para a lista completa de parâmetros e uma descrição de cada caso de teste, consulte tools/tdx-lab/README.md.
Regiões, tipos de instância e imagens compatíveis
Limitações de região e tipo de instância
A computação confidencial está disponível apenas em zonas específicas. Os tipos de instância compatíveis variam por zona.
Região e zona | Tipos de instância |
China (Beijing) Zone L | ecs.g8i.xlarge e superiores |
China (Beijing) Zone I |
|
China (Hangzhou) Zone J | ecs.r9i.xlarge e superiores |
China (Hong Kong) Zone B | ecs.g8i.xlarge e superiores |
China (Hong Kong) Zone C | ecs.g8i.xlarge e superiores |
China (Hong Kong) Zone D | ecs.g8i.xlarge e superiores |
Singapore Zone B | ecs.g8i.xlarge e superiores |
Imagens
Recomendamos o uso do Alibaba Cloud Linux 3.
Debian13.1ou posterior: Debian 13.1, Debian 13.2, Debian 13.3.Rocky9.5ou posterior: Rocky 9.5, Rocky 9.6, Rocky 9.7, Rocky 10.0, Rocky 10.1.Ubuntu24.04ou posterior: Ubuntu 24.04.Alibaba Cloud Linux3ou posterior: Alibaba Cloud Linux 3, Alibaba Cloud Linux 4.
Limitações
Instâncias TDX podem apresentar desempenho inferior ao de instâncias regulares, pois o hardware da CPU criptografa os registradores e os dados de memória.
Devido a redefinições de RTMR, proteção de interrupções e recuperação de estado de registradores, instâncias TDX não suportam reinicializações dentro do SO. Não execute o comando
rebootdentro do sistema operacional.Não há suporte para login via VNC. Utilize SSH através do Workbench ou de um cliente de terceiros. Para logs de execução, consulte View instance system logs and screenshots ou GetInstanceConsoleOutput.
-
Limitações de imagem:
Somente imagens UEFI são compatíveis.
Não há suporte para Windows.
Imagens com kernels desatualizados não são compatíveis. A versão do kernel deve ser 5.10.134-16.al8.x86_64 ou posterior.
Não há suporte para eRDMA e vários tipos de aceleradores.
-
Problemas conhecidos com o buffer SWIOTLB do kernel guest Linux:
Menos memória fica visível para o SO em comparação a uma instância regular. Uma instância TDX reserva memória não criptografada (SWIOTLB) para comunicação com periféricos. Por padrão, essa área corresponde a 6% da memória disponível, até o limite de 1 GiB.
Anexar múltiplas interfaces de rede elásticas (ENIs) a uma instância grande pode causar falhas devido à insuficiência de memória SWIOTLB em cenários de placa de rede com múltiplas filas. Pare a instância no console e desanexe as ENIs para recuperar o sistema.
-
Cargas de trabalho de alta E/S podem sofrer degradação de desempenho devido à insuficiência de SWIOTLB. Verifique com:
dmesg| grep 'swiotlb buffer is full'ImportanteConfigurações incorretas do SWIOTLB podem causar falha na inicialização. Consulte Create a snapshot antes de prosseguir para permitir reversão em caso de erros.
Se esse problema ocorrer, aumente o tamanho do SWIOTLB:
-
Defina o tamanho do SWIOTLB para 1 GiB.
grubby --update-kernel=ALL --args=swiotlb=524288 -
Para versões de kernel posteriores a
5.10.134-18.al8.x86_64, adicione o parâmetroanypara oferecer suporte a tamanhos maiores de SWIOTLB:grubby --update-kernel=ALL --args=swiotlb=2097152,any # Sets SWIOTLB to 4 GiB.NotaCalcule o valor do parâmetro SWIOTLB: Tamanho alvo (em MiB) × 512. Consulte The kernel's command-line parameters.
-
Melhores práticas
Para mais orientações sobre ambientes de computação confidencial TDX, consulte as melhores práticas a seguir, baseadas nos seus cenários de negócios específicos. Estes recursos abrangem a criação de aplicações, proteção de disco e estratégias de implantação em contêineres.
Para implantar rapidamente aplicações de IA confidenciais em instâncias TDX, consulte One-click Build of OpenClaw Confidential AI Agent on g9i TDX Confidential Computing Instances.
Para proteger dados de disco em instâncias de computação confidencial e aprender a realizar medição de disco e verificação de integridade do sistema de arquivos raiz, consulte Disk measurement and encryption protection for confidential computing instances.
Para executar cargas de trabalho em contêineres em um ambiente de computação confidencial, consulte Deploy CoCo on Alibaba Cloud bare metal.