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 :
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).