Buktikan EC2 instance Amazon dengan AMD SEV - SNP - Amazon Elastic Compute Cloud

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buktikan EC2 instance Amazon dengan AMD SEV - SNP

Pengesahan adalah proses yang memungkinkan instans Anda membuktikan status dan identitasnya. Saat Anda mengaktifkan AMD SEV - SNP untuk instance Anda, Anda dapat meminta AMD SEV - laporan SNP pengesahan dari prosesor yang mendasarinya. Laporan SNP pengesahan berisi hash kriptografi, yang disebut pengukuran peluncuran, dari isi memori tamu awal dan status v awal. AMD SEV CPU Laporan pengesahan ditandatangani dengan VLEK tanda tangan yang berantai kembali ke AMD akar kepercayaan. Anda dapat menggunakan pengukuran peluncuran yang disertakan dalam laporan pengesahan untuk memvalidasi bahwa instance berjalan di AMD lingkungan asli dan untuk memvalidasi kode boot awal yang digunakan untuk meluncurkan instance.

Untuk melakukan pengesahan dengan AMD SEV -SNP, selesaikan langkah-langkah berikut.

Langkah 1: Aktifkan AMD SEV - SNP selama peluncuran instance

Anda dapat menggunakan AWS CLI untuk meluncurkan instance dengan AMD SEV - SNP diaktifkan.

Untuk meluncurkan instance dengan AMD SEV - SNP diaktifkan, Anda harus menggunakan file AWS CLI. Gunakan run-instancesperintah dan sertakan --cpu-options AmdSevSnp=enabled opsi. Untuk--image-id, tentukan AMI dengan uefi atau mode uefi-prefered boot dan sistem operasi yang mendukung AMD SEV -SNP. Untuk --instance-type, tentukan tipe instans yang didukung.

$ 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

Langkah 2: Dapatkan laporan pengesahan

Pada langkah ini, Anda menginstal dan membangun snpguest utilitas, dan kemudian menggunakannya untuk meminta AMD SEV - laporan SNP pengesahan dan sertifikat.

  1. Jalankan perintah berikut untuk membangun snpguest utilitas dari file snpguest repository.

    $ git clone https://github.com/virtee/snpguest.git $ cd snpguest $ cargo build -r $ cd target/release
  2. Hasilkan permintaan untuk laporan pengesahan. Utilitas meminta laporan pengesahan dari host, dan menuliskannya ke file biner dengan data permintaan yang disediakan.

    Contoh berikut membuat string permintaan acak, dan menggunakannya sebagai file permintaan (request-file.txt). Ketika perintah mengembalikan laporan pengesahan itu disimpan di jalur file yang Anda tentukan ()report.bin. Dalam hal ini, utilitas menyimpan laporan di direktori saat ini.

    $ ./snpguest report report.bin request-file.txt --random
  3. Minta sertifikat dari memori host, dan simpan sebagai PEM file. Contoh berikut menyimpan file dalam direktori yang sama dengan snpguest utilitas. Jika sertifikat sudah ada di direktori yang ditentukan, sertifikat tersebut akan ditimpa.

    $ ./snpguest certificates PEM ./

Langkah 3: Validasi tanda tangan laporan pengesahan

Laporan pengesahan ditandatangani dengan sertifikat, yang disebut Versioned Loaded Endorsement Key (VLEK), yang dikeluarkan oleh for. AMD AWS Pada langkah ini, Anda dapat memvalidasi bahwa VLEK sertifikat dikeluarkan olehAMD, dan bahwa laporan pengesahan ditandatangani oleh sertifikat itu. VLEK

  1. Unduh VLEK root sertifikat kepercayaan dari AMD situs web resmi ke direktori saat ini.

    $ sudo curl --proto '=https' --tlsv1.2 -sSf https://kdsintf.amd.com/vlek/v1/Milan/cert_chain -o ./cert_chain.pem
  2. Gunakan openssl untuk memvalidasi bahwa VLEK sertifikat ditandatangani oleh AMD root of trust certificate.

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

    Keluaran yang diharapkan

    certs/vcek.pem: OK
  3. Gunakan snpguest utilitas untuk memvalidasi bahwa laporan pengesahan ditandatangani oleh sertifikat. VLEK

    $ ./snpguest verify attestation ./ report.bin

    Keluaran yang diharapkan

    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!