A atestação de uma instância de VM confidencial é o processo de melhorar a confiança de que a instância é legítima e está a funcionar num estado esperado. É uma ferramenta essencial para validar se a sua carga de trabalho está a ser executada num ambiente de execução fiável (AEF).
Atestação baseada na CPU
Os relatórios de atestação são a prova de que a sua VM está a ser executada num AAE. São gerados pela instância de VM confidencial e, consoante a tecnologia de computação confidencial usada, são assinados por um vTPM baseado em software ou um Trusted Security Module (TSM) dedicado baseado em hardware. Os relatórios de atestação contêm medições relacionadas com a atividade do carregador de arranque, a configuração de hardware, a configuração de firmware e outros eventos registados no momento do arranque que ajudam a validar o estado e a identidade da instância de VM confidencial.
O tipo de relatório de atestação que pode pedir depende da tecnologia de computação confidencial que a sua instância de VM confidencial está a usar.
Origem da assinatura | Tipo | Cobertura de relatórios | Tecnologia de computação confidencial | ||
---|---|---|---|---|---|
SEV | SEV-SNP | Intel TDX | |||
vTPM gerido pela Google | vTPM baseado em software | Atividade do carregador de arranque, integridade do kernel | |||
Processador seguro AMD | GVT baseada em hardware | Ambiente de hardware e firmware | |||
Módulo Intel TDX | GVT baseada em hardware | Ambiente de hardware e firmware |
Peça um relatório de atestação
Pode pedir relatórios de atestação do vTPM gerido pela Google, do processador seguro da AMD e do módulo TDX da Intel com as seguintes ferramentas:
Ferramentas Go-TPM (a versão 0.4.4 ou posterior é necessária para o suporte de AMD SEV-SNP e Intel TDX)
O evento GceNonHostInfo
no registo de eventos de atestação do vTPM mostra que tecnologia de computação confidencial está a ser usada. As ferramentas Go-TPM podem pedir um relatório de atestação ao processador seguro da AMD se for usado o AMD SEV-SNP ou ao módulo Intel TDX se for usado o Intel TDX.
Apenas para relatórios de atestação de hardware, pode enviar um desafio criptográfico ao TSM com as seguintes ferramentas:
Para AMD SEV-SNP, use SEV Guest. Os certificados da chave de aprovação do chip de versão (VCEK) são colocados em cache na VM em vez de serem pedidos diretamente ao sistema de distribuição de chaves (KDS) da AMD.
Para o Intel TDX, use o TDX Guest.
Intel TDX no Ubuntu
Para imagens do Ubuntu no kernel 1016 e mais recentes, o módulo tdx_guest
está no pacote linux-modules-extra
.
Para instalar o pacote linux-modules-extra
, execute o seguinte comando:
sudo apt-get install linux-modules-extra-gcp
Se tiver problemas ao instalar o linux-modules-extra-gcp
, pode
atualizar o kernel executando o seguinte comando:
sudo apt-get upgrade
Tem de reiniciar ou carregar manualmente o módulo para que as alterações entrem em vigor. Para carregar manualmente o módulo, execute o seguinte comando:
sudo modprobe tdx_guest
Valide relatórios de atestação com a Google Cloud Attestation
Se o seu modelo de confiança o permitir, em vez de escrever e executar um verificador de atestação, pode usar a atestação da Google Cloud. Isto envolve a utilização de ferramentas Go-TPM para obter uma indicação de atestação do vTPM de uma instância de VM confidencial e enviá-la para a Atestação do Google Cloud para validação. Se a citação passar na validação, a atestação do Google Cloud devolve um token que contém informações da VM que pode comparar com a sua própria política para confirmar se a VM deve ou não ser fidedigna.
A atestação do Google Cloud só pode ser usada com instâncias de VM confidenciais SEV da AMD.
Para ver um exemplo completo de como trabalhar com a atestação do Google Cloud, consulte o codelab Atestação remota de vTPM na máquina virtual confidencial.
Atestação baseada na GPU
A atestação da GPU envolve a validação do controlador da GPU, do dispositivo GPU ou de ambos.
Atestado do controlador da GPU
Para garantir uma atestação robusta, ative o Arranque seguro quando criar a sua instância de VM confidencial.
O arranque seguro permite o carregamento apenas de controladores de GPU assinados pela distribuição. Esta validação é essencial para confirmar que o controlador da GPU foi lançado e é fornecido oficialmente pela NVIDIA. Um controlador oficial é importante, uma vez que estabelece uma sessão segura do protocolo de segurança e do modelo de dados (SPDM) com dispositivos de GPU e serve como raiz de confiança para a atestação de dispositivos de GPU da NVIDIA.
Atestado de dispositivo de GPU NVIDIA
Além da atestação do controlador da GPU, pode atestar ainda mais os dispositivos de GPU da NVIDIA. A atestação de dispositivos de GPU NVIDIA valida o BIOS de vídeo (VBIOS) em execução na GPU. Isto permite-lhe identificar as versões do software NVIDIA e avaliar a presença de potenciais vulnerabilidades.
Para realizar a atestação de dispositivos de GPU NVIDIA, instale primeiro a biblioteca nvtrust
da NVIDIA e, em seguida, use-a para a atestação local ou remota.
API_LINK="https://api.github.com/repos/NVIDIA/nvtrust/tags"
LATEST_VER="$(curl -s "${API_LINK}" | jq -r '..name')"
DOWNLOAD_LINK="https://github.com/NVIDIA/nvtrust/archive/refs/tags/${LATEST_VER}.tar.gz"
echo "Downloading nvtrust version ${LATEST_VER}"
curl -L "${DOWNLOAD_LINK}" -o nvtrust.tar.gz
mkdir github_nvtrust
tar xvf nvtrust.tar.gz -C github_nvtrust
cd github_nvtrust/nvtrust-${LATEST_VER:1}
python3 -m venv./prodtest
source./prodtest/bin/activate
Atestação do dispositivo GPU local
A atestação de dispositivos de GPU local permite-lhe realizar o processo de atestação diretamente na instância da VM e ver os resultados localmente para validar a integridade da GPU.
Para realizar a atestação de dispositivos de GPU local, instale a ferramenta de validação local. Para ver instruções detalhadas, consulte o artigo Validador.
Atestação de dispositivo GPU remota
A atestação de dispositivos GPU remotos usa o serviço de atestação remota da NVIDIA (NRAS) para validar a integridade da sua GPU. Este processo resulta num token de atestação assinado pela NVIDIA. Este token pode ser apresentado a terceiros para demonstrar a autenticidade e a integridade da sua GPU, o que é frequentemente necessário para aceder a dados ou recursos confidenciais.
Para obter instruções detalhadas, consulte o SDK de atestação da NVIDIA e o serviço de atestação remota da NVIDIA (NRAS).