La atestación de una instancia de máquina virtual confidencial es el proceso para aumentar la confianza en que la instancia es legítima y funciona en el estado esperado. Es una herramienta fundamental para validar que tu carga de trabajo se ejecuta en un entorno de ejecución de confianza (TEE).
Atestación basada en CPU
Los informes de certificación son la prueba de que tu VM se está ejecutando en un TEE. Las genera la instancia de VM confidencial y, en función de la tecnología de computación confidencial utilizada, las firma un vTPM basado en software o un módulo de seguridad de hardware (TSM) específico. Los informes de atestación contienen mediciones relacionadas con la actividad del gestor de arranque, la configuración del hardware, la configuración del firmware y otros eventos registrados durante el arranque que ayudan a validar el estado y la identidad de la instancia de VM confidencial.
El tipo de informe de certificación que puedes solicitar depende de la tecnología de Confidential Computing que use tu instancia de VM confidencial.
Fuente de firma | Tipo | Cobertura de los informes | Tecnología de computación confidencial | ||
---|---|---|---|---|---|
SEV | SEV-SNP | Intel TDX | |||
vTPM gestionado por Google | vTPM basado en software | Actividad del gestor de arranque e integridad del kernel | |||
Procesador seguro de AMD | TSM basado en hardware | Entorno de hardware y firmware | |||
Módulo Intel TDX | TSM basado en hardware | Entorno de hardware y firmware |
Solicitar un informe de atestación
Puedes solicitar informes de certificación del vTPM gestionado por Google, del procesador seguro de AMD y del módulo TDX de Intel con las siguientes herramientas:
Herramientas Go-TPM (se requiere la versión 0.4.4 o posterior para la compatibilidad con AMD SEV-SNP e Intel TDX)
El evento GceNonHostInfo
del registro de eventos de atestación de vTPM muestra qué tecnología de computación confidencial se está usando. Las herramientas de Go-TPM pueden solicitar un informe de atestación al procesador seguro de AMD si se usa AMD SEV-SNP, o al módulo TDX de Intel si se usa Intel TDX.
En el caso de los informes de certificación de hardware, solo puedes enviar un reto criptográfico al TSM con las siguientes herramientas:
En el caso de AMD SEV-SNP, usa Invitado SEV. Los certificados de clave de aprobación de chip de versión (VCEK) se almacenan en caché en la VM en lugar de solicitarse directamente al sistema de distribución de claves (KDS) de AMD.
En el caso de Intel TDX, usa TDX Guest.
Intel TDX en Ubuntu
En las imágenes de Ubuntu con el kernel 1016 y versiones posteriores, el módulo tdx_guest
se encuentra en el paquete linux-modules-extra
.
Para instalar el paquete linux-modules-extra
, ejecuta el siguiente comando:
sudo apt-get install linux-modules-extra-gcp
Si tienes problemas al instalar linux-modules-extra-gcp
, puedes actualizar el kernel ejecutando el siguiente comando:
sudo apt-get upgrade
Debes reiniciar o cargar manualmente el módulo para que los cambios se apliquen. Para cargar el módulo manualmente, ejecuta el siguiente comando:
sudo modprobe tdx_guest
Verificar informes de atestación con Google Cloud Attestation
Si tu modelo de confianza lo permite, en lugar de escribir y ejecutar un verificador de certificación por tu cuenta, puedes usar Google Cloud Attestation. Para ello, se utilizan las herramientas Go-TPM para obtener una cita de atestación del vTPM de una instancia de VM confidencial y enviarla a Google Cloud Attestation para que se verifique. Si la cita supera la verificación, Google Cloud Attestation devuelve un token que contiene información de la VM que puedes comparar con tu propia política para confirmar si la VM es de confianza o no.
La certificación de Google Cloud solo se puede usar con instancias de máquinas virtuales confidenciales de AMD SEV.
Para ver un ejemplo completo de cómo trabajar con Google Cloud Attestation, consulta el codelab vTPM Remote Attestation on Confidential Virtual Machine (Atestación remota de vTPM en una máquina virtual confidencial).
Atestación basada en GPU
La certificación de la GPU implica verificar el controlador de la GPU, el dispositivo de la GPU o ambos.
Atestación del controlador de la GPU
Para asegurar una certificación sólida, habilita el arranque seguro al crear tu instancia de VM confidencial.
El arranque seguro solo permite cargar controladores de GPU firmados por la distribución. Esta verificación es esencial para confirmar que el controlador de la GPU se ha lanzado y lo ha proporcionado NVIDIA de forma oficial. Es importante que el controlador sea oficial, ya que establece una sesión segura de protocolo de seguridad y modelo de datos (SPDM) con los dispositivos de GPU y sirve como raíz de confianza para la certificación de dispositivos de GPU de NVIDIA.
Atestación de dispositivos de GPU NVIDIA
Además de la certificación de controladores de GPU, puedes certificar dispositivos de GPU NVIDIA. La certificación de dispositivo de GPU NVIDIA verifica la BIOS de vídeo (VBIOS) que se ejecuta en la GPU. De esta forma, puede identificar las versiones del software de NVIDIA y evaluar la presencia de posibles vulnerabilidades.
Para realizar la certificación de dispositivos de GPU de NVIDIA, primero instala la biblioteca nvtrust
de NVIDIA y, a continuación, úsala para la certificación local o 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
Atestación de dispositivo de GPU local
La certificación de dispositivos GPU locales te permite llevar a cabo el proceso de certificación directamente en tu instancia de VM y ver los resultados de forma local para verificar la integridad de tu GPU.
Para realizar la certificación de dispositivos GPU locales, instala la herramienta de verificador local. Para obtener instrucciones detalladas, consulta Verificador.
Atestación remota de dispositivos de GPU
La certificación remota de dispositivos GPU usa el servicio de certificación remota de NVIDIA (NRAS) para verificar la integridad de tu GPU. Este proceso genera un token de atestación firmado por NVIDIA. Este token se puede presentar a terceros para demostrar la autenticidad y la integridad de tu GPU, lo que suele ser necesario para acceder a datos o recursos sensibles.
Para obtener instrucciones detalladas, consulta el SDK de certificación de NVIDIA y el servicio de certificación remota de NVIDIA (NRAS).