Certificación de Confidential VM

La certificación es el proceso para aumentar la confianza en que una instancia de Confidential VM es legítima y funciona en el estado esperado. Es una herramienta vital para validar que tu carga de trabajo se ejecute en un entorno de ejecución confiable (TEE).

Atestación basada en la CPU

Los informes de certificación son la evidencia de que tu VM se ejecuta en un TEE. La instancia de Confidential VM las genera y, según la tecnología de Confidential Computing que se use, las firma un vTPM basado en software o un módulo de seguridad de confianza (TSM) dedicado basado en hardware. Los informes de certificación contienen mediciones relacionadas con la actividad del bootloader, la configuración del hardware, la configuración del firmware y otros eventos registrados durante el inicio que ayudan a validar el estado y la identidad de la instancia de Confidential VM.

El tipo de informe de certificación que puedes solicitar depende de la tecnología de Confidential Computing que use tu instancia de Confidential VM.

Fuente de firma Tipo Cobertura del informe Tecnología de Confidential Computing
SEV SEV-SNP Intel TDX
vTPM administrado por Google vTPM basado en software Actividad del cargador de inicio, 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

Solicita un informe de certificación

Puedes solicitar informes de certificación del vTPM administrado por Google, el procesador seguro de AMD y el módulo TDX de Intel con las siguientes herramientas:

El evento GceNonHostInfo en el registro de eventos de certificación del vTPM muestra qué tecnología de Confidential Computing se está usando. Las herramientas de Go-TPM pueden solicitar un informe de atestación del procesador seguro de AMD si se usa AMD SEV-SNP, o del módulo TDX de Intel si se usa Intel TDX.

Solo para los informes de certificación de hardware, puedes enviar un desafío criptográfico al TSM con las siguientes herramientas:

  • Para AMD SEV-SNP, usa SEV Guest. Los certificados de la clave de respaldo del chip de versión (VCEK) se almacenan en caché en la VM en lugar de solicitarse directamente desde el sistema de distribución de claves (KDS) de AMD.

  • Para 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 para 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 se apliquen los cambios. Para cargar el módulo de forma manual, ejecuta el siguiente comando:

sudo modprobe tdx_guest

Verifica los informes de certificación con la certificación de Google Cloud

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. Esto implica usar herramientas de Go-TPM para recuperar una cita de certificación del vTPM de una instancia de Confidential VM y enviarla a la certificación de Google Cloud para su verificación. Si la cita pasa la verificación, Google Cloud Attestation devuelve un token que contiene información de la VM que luego puedes comparar con tu propia política para confirmar si se debe confiar en la VM.

La certificación de Google Cloud solo se puede usar con instancias de Confidential VM de SEV de AMD.

Para ver un ejemplo de extremo a extremo del uso de la certificación de Google Cloud, consulta el codelab vTPM Remote Attestation on Confidential Virtual Machine.

Atestación basada en GPU

La certificación de GPU implica verificar el controlador de GPU, el dispositivo de GPU o ambos.

Constancia del controlador de GPU

Para garantizar una certificación sólida, habilita el Inicio seguro cuando crees tu instancia de Confidential VM.

El inicio seguro permite cargar solo los controladores de GPU firmados por la distribución. Esta verificación es fundamental para confirmar que NVIDIA lanzó y proporciona oficialmente el controlador de GPU. Un controlador oficial es importante, ya que establece una sesión segura del 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.

Constancia del dispositivo de GPU de NVIDIA

Además de la certificación de controladores de GPU, puedes certificar aún más los dispositivos de GPU de NVIDIA. La certificación de dispositivos de GPU de NVIDIA verifica el BIOS de video (VBIOS) que se ejecuta en la GPU. Esto te permite identificar las versiones de software de NVIDIA y evaluar la presencia de posibles vulnerabilidades.

Para realizar la certificación del dispositivo de GPU de NVIDIA, primero instala la biblioteca nvtrust de NVIDIA y, luego, ú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

Certificación de dispositivos GPU locales

La certificación local del dispositivo de GPU te permite realizar 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 local del dispositivo de GPU, instala la herramienta de verificación local. Para obtener instrucciones detalladas, consulta Verificador.

Certificación remota del dispositivo 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 certificación firmado por NVIDIA. Este token se puede presentar a terceros para demostrar la autenticidad y la integridad de tu GPU, lo que a menudo se requiere para acceder a datos o recursos sensibles.

Para obtener instrucciones detalladas, consulta el SDK de NVIDIA Attestation y el servicio de NVIDIA Remote Attestation (NRAS).