Attestation Confidential VM

L'attestation est un processus qui permet de s'assurer qu'une instance Confidential VM est légitime et fonctionne dans l'état attendu. Il s'agit d'un outil essentiel pour vérifier que votre charge de travail s'exécute dans un environnement d'exécution sécurisé (TEE).

Attestation basée sur le processeur

Les rapports d'attestation sont la preuve que votre VM s'exécute dans un TEE. Elles sont générées par l'instance Confidential VM et, selon la technologie de informatique confidentielle utilisée, sont signées par un vTPM logiciel ou un module de sécurité fiable (TSM) matériel dédié. Les rapports d'attestation contiennent des mesures liées à l'activité du bootloader, à la configuration matérielle, à la configuration du micrologiciel et à d'autres événements enregistrés au moment du démarrage qui permettent de valider l'état et l'identité de l'instance Confidential VM.

Le type de rapport d'attestation que vous pouvez demander dépend de la technologie d'informatique confidentielle utilisée par votre instance Confidential VM.

Source de la signature Type Couverture du rapport Technologie d'informatique confidentielle
SEV SEV-SNP Intel TDX
vTPM géré par Google vTPM logiciel Activité du bootloader, intégrité du noyau
Processeur sécurisé AMD TSM matériel Environnement matériel et de micrologiciel
Module Intel TDX TSM matériel Environnement matériel et de micrologiciel

Demander un rapport d'attestation

Vous pouvez demander des rapports d'attestation à partir du module vTPM géré par Google, du processeur sécurisé d'AMD et du module TDX d'Intel à l'aide des outils suivants :

  • Go-TPM

  • Outils Go-TPM (la version 0.4.4 ou ultérieure est requise pour la compatibilité avec AMD SEV-SNP et Intel TDX)

L'événement GceNonHostInfo du journal des événements d'attestation vTPM indique la technologie de informatique confidentielle utilisée. Les outils Go-TPM peuvent demander un rapport d'attestation au processeur sécurisé AMD si AMD SEV-SNP est utilisé, ou au module Intel TDX si Intel TDX est utilisé.

Pour les rapports d'attestation matérielle uniquement, vous pouvez envoyer un défi cryptographique au TSM avec les outils suivants :

  • Pour AMD SEV-SNP, utilisez SEV Guest. Les certificats VCEK (Version Chip Endorsement Key) sont mis en cache sur la VM au lieu d'être demandés directement au système de distribution de clés (KDS) d'AMD.

  • Pour Intel TDX, utilisez TDX Guest.

Intel TDX sur Ubuntu

Pour les images Ubuntu sur le noyau 1016 et les versions ultérieures, le module tdx_guest se trouve dans le package linux-modules-extra.

Pour installer le package linux-modules-extra, exécutez la commande suivante :

sudo apt-get install linux-modules-extra-gcp

Si vous rencontrez des problèmes lors de l'installation de linux-modules-extra-gcp, vous pouvez mettre à jour le noyau en exécutant la commande suivante :

sudo apt-get upgrade

Vous devez redémarrer ou charger manuellement le module pour que les modifications prennent effet. Pour charger manuellement le module, exécutez la commande suivante :

sudo modprobe tdx_guest

Valider les rapports d'attestation avec Google Cloud Attestation

Si votre modèle de confiance le permet, vous pouvez utiliser Google Cloud Attestation au lieu d'écrire et d'exécuter vous-même un vérificateur d'attestation. Pour ce faire, vous devez utiliser les outils Go-TPM afin de récupérer un devis d'attestation à partir du vTPM d'une instance Confidential VM, puis l'envoyer à Google Cloud Attestation pour vérification. Si la citation est validée, Google Cloud Attestation renvoie un jeton contenant des informations sur la VM que vous pouvez ensuite comparer à votre propre règle pour confirmer si la VM doit être approuvée ou non.

L'attestation Google Cloud ne peut être utilisée qu'avec les instances Confidential VM AMD SEV.

Pour obtenir un exemple de bout en bout d'utilisation de Google Cloud Attestation, consultez l'atelier de programmation Attestation à distance vTPM sur une machine virtuelle confidentielle.

Attestation basée sur le GPU

L'attestation du GPU consiste à vérifier le pilote et/ou le périphérique GPU.

Attestation du pilote de GPU

Pour garantir une attestation robuste, activez le démarrage sécurisé lorsque vous créez votre instance Confidential VM.

Le démarrage sécurisé permet de charger uniquement les pilotes de GPU signés par la distribution. Cette vérification est essentielle pour confirmer que le pilote de GPU est officiellement publié et fourni par NVIDIA. Un pilote officiel est important, car il établit une session SPDM (Security Protocol and Data Model) sécurisée avec les appareils GPU et sert de racine de confiance pour l'attestation des appareils GPU NVIDIA.

Attestation de l'appareil GPU NVIDIA

En plus de l'attestation des pilotes de GPU, vous pouvez attester des appareils GPU NVIDIA. L'attestation d'appareil GPU NVIDIA permet de vérifier le BIOS vidéo (VBIOS) exécuté sur le GPU. Cela vous permet d'identifier les versions logicielles NVIDIA et d'évaluer la présence de failles potentielles.

Pour effectuer l'attestation d'appareil GPU NVIDIA, installez d'abord la bibliothèque nvtrust de NVIDIA, puis utilisez-la pour l'attestation locale ou à distance.

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

Attestation de l'appareil GPU local

L'attestation locale des périphériques GPU vous permet d'effectuer le processus d'attestation directement sur votre instance de VM et d'afficher les résultats localement pour vérifier l'intégrité de votre GPU.

Pour effectuer l'attestation de l'appareil GPU local, installez l'outil de validation local. Pour obtenir des instructions détaillées, consultez Valider.

Attestation d'appareil GPU à distance

L'attestation à distance des périphériques GPU utilise le service NVIDIA Remote Attestation Service (NRAS) pour vérifier l'intégrité de votre GPU. Ce processus génère un jeton d'attestation signé par NVIDIA. Ce jeton peut être présenté à des tiers pour prouver l'authenticité et l'intégrité de votre GPU, ce qui est souvent nécessaire pour accéder à des données ou ressources sensibles.

Pour obtenir des instructions détaillées, consultez SDK d'attestation NVIDIA et Service d'attestation à distance NVIDIA (NRAS).