Tester une EC2 instance Amazon avec - AMD SEV SNP - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tester une EC2 instance Amazon avec - AMD SEV SNP

L’attestation est un processus qui permet à votre instance de prouver son état et son identité. Lorsque vous activez AMDSEV, SNP pour votre instance, vous pouvez demander un AMD SEV rapport SNP d'attestation au processeur sous-jacent. Le AMD SEV rapport SNP d'attestation contient un hachage cryptographique, appelé mesure de lancement, du contenu initial de la mémoire de l'invité et de l'état initial v. CPU Le rapport d'attestation est signé avec une VLEK signature qui remonte à une AMD source de confiance. Vous pouvez utiliser la mesure de lancement incluse dans le rapport d'attestation pour vérifier que l'instance s'exécute dans un AMD environnement authentique et pour valider le code de démarrage initial utilisé pour lancer l'instance.

Pour effectuer une attestation avec AMD SEV -SNP, procédez comme suit.

Étape 1 : Activer AMDSEV, SNP lors du lancement de l'instance

Vous pouvez utiliser le AWS CLI pour lancer une instance avec AMD SEV - SNP activé.

Pour lancer une instance avec AMD SEV - SNP activé, vous devez utiliser le AWS CLI. Utilisez la run-instancescommande et incluez l'--cpu-options AmdSevSnp=enabledoption. Pour--image-id, spécifiez un mode de uefi-prefered démarrage AMI avec uefi ou et un système d'exploitation compatible avec AMD SEV -SNP. Pour --instance-type, spécifiez un type d’instance pris en charge.

$ aws ec2 run-instances \ --image-id supported_ami_id \ --instance-type supported_instance_type \ --key-name key_pair_name \ --subnet-id subnet_id \ --cpu-options AmdSevSnp=enabled

Étape 2 : Obtenir le rapport d'attestation

Au cours de cette étape, vous installez et compilez l'snpguestutilitaire, puis vous l'utilisez pour demander le AMD SEV rapport SNP d'attestation et les certificats.

  1. Exécutez les commandes suivantes pour créer l'snpguestutilitaire à partir du snpguest repository.

    $ git clone https://github.com/virtee/snpguest.git $ cd snpguest $ cargo build -r $ cd target/release
  2. Générez une demande pour le rapport d'attestation. L'utilitaire demande le rapport d'attestation à l'hôte et l'écrit dans un fichier binaire avec les données de demande fournies.

    L'exemple suivant crée une chaîne de requête aléatoire et l'utilise comme fichier de demande (request-file.txt). Lorsque la commande renvoie le rapport d'attestation, celui-ci est stocké dans le chemin de fichier que vous spécifiez (report.bin). Dans ce cas, l'utilitaire enregistre le rapport dans le répertoire en cours.

    $ ./snpguest report report.bin request-file.txt --random
  3. Demandez les certificats à la mémoire de l'hôte et stockez-les sous forme de PEM fichiers. L'exemple suivant enregistre les fichiers dans le même répertoire que l'snpguestutilitaire. Si des certificats existent déjà dans le répertoire spécifié, ils sont remplacés.

    $ ./snpguest certificates PEM ./

Étape 3 : Valider la signature du rapport d'attestation

Le rapport d'attestation est signé avec un certificat, appelé clé d'approbation chargée versionnée (VLEK), qui est émis par AMD for AWS. Au cours de cette étape, vous pouvez vérifier que le VLEK certificat est émis par AMD ce certificat et que le rapport d'attestation est signé par ce VLEK certificat.

  1. Téléchargez la VLEK racine des certificats de confiance depuis le AMD site officiel vers le répertoire actuel.

    $ sudo curl --proto '=https' --tlsv1.2 -sSf https://kdsintf.amd.com/vlek/v1/Milan/cert_chain -o ./cert_chain.pem
  2. opensslÀ utiliser pour vérifier que le VLEK certificat est signé par la AMD racine des certificats de confiance.

    $ sudo openssl verify --CAfile ./cert_chain.pem vlek.pem

    Sortie attendue :

    certs/vcek.pem: OK
  3. Utilisez l'snpguestutilitaire pour vérifier que le rapport d'attestation est signé par le VLEK certificat.

    $ ./snpguest verify attestation ./ report.bin

    Sortie attendue.

    Reported TCB Boot Loader from certificate matches the attestation report. Reported TCB TEE from certificate matches the attestation report. Reported TCB SNP from certificate matches the attestation report. Reported TCB Microcode from certificate matches the attestation report. VEK signed the Attestation Report!