Intel Trusted Domain Extensions (TDX) e AMD Secure Encrypted Virtualization Secure Nested Page (SEV-SNP) são duas extensões de hardware baseadas em CPU que visam aumentar a confidencialidade e a integridade dos dados em memória das máquinas virtuais. Eles se baseiam em extensões anteriores de computação confiável (como Intel SGX, AMD SEV-ES), que não podiam fornecer garantias suficientes de integridade. Essas garantias são implementadas ao permitir que as VMs restrinjam o acesso de escrita às suas páginas de memória e verifiquem criptograficamente a saída de instruções críticas de segurança da CPU, como CPUID. Além disso, as máquinas virtuais podem confiar que as versões do firmware relatadas por componentes críticos de segurança correspondem à versão realmente em execução, o que é essencial para evitar ataques de reversão que usam problemas corrigidos.
Tanto o AMD SEV-SNP quanto o Intel TDX fornecem recursos de atestação remota. Os relatórios de atestação gerados incluem o estado da VM e dados personalizados fornecidos pela VM (por exemplo, uma chave pública usada para verificação), permitindo que os usuários do serviço em nuvem (CSU) confirmem que sua VM foi iniciada e executada corretamente.
As principais diferenças entre o AMD SEV-SNP e o Intel TDX são:
- O AMD SEV-SNP usa um processador de segurança separado que executa um firmware independente dos núcleos x86 primários, enquanto o Intel TDX usa um firmware integrado ao processador principal.
- O AMD SEV-SNP usa um esquema de pré-atestação, no qual uma medição do conteúdo da memória é feita antes que uma máquina virtual seja iniciada. O processo de atestação entrega um segredo de lançamento, que pode ser usado pela VM de uma forma específica do convidado (por exemplo, para acessar um disco raiz criptografado) . O Intel TDX usa um esquema de pós-atestação, no qual a VM é iniciada com um estado inicial conhecido e depois mede seu próprio estado e gera um relatório de atestação.
- O AMD SEV-SNP requer patches separados do kernel Linux para suporte ao host e ao convidado, enquanto o Intel TDX requer apenas patches para o host.
Referências:
- https://sys.cs.fau.de/extern/lehre/ws22/akss/material/amd-sev-intel-tdx.pdf
- https://www.redhat.com/en/blog/confidential-computing-platform-specific-details
- https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-computing-deployment-models
- https://www.amd.com/system/files/documents/sev-snp-introduction.pdf
- https://developer.amd.com/wp-content/resources/56421.pdf
- https://software.intel.com/content/www/us/en/develop/articles/intel-trust-domain-extensions.html
- https://www.linux-kvm.org/page/TDX