Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuktikan instans Amazon EC2 dengan AMD SEV-SNP
Pengesahan adalah proses yang memungkinkan instans Anda membuktikan status dan identitasnya. Setelah mengaktifkan AMD SEV-SNP untuk instance Anda, Anda dapat meminta laporan pengesahan AMD SEV-SNP dari prosesor yang mendasarinya. Laporan peng SEV-SNP esahan AMD berisi hash kriptografi, yang disebut pengukuran peluncuran, dari konten memori tamu awal dan status vCPU awal. Laporan pengesahan ditandatangani dengan tanda tangan VCEK (pada Host Khusus) atau tanda tangan VLEK (pada sewa bersama) yang dirantai kembali ke akar kepercayaan AMD. Anda dapat menggunakan pengukuran peluncuran yang disertakan dalam laporan pengesahan untuk memvalidasi bahwa instans berjalan di lingkungan AMD asli dan untuk memvalidasi kode boot awal yang digunakan untuk meluncurkan instans.
Prasyarat
Luncurkan instance yang diaktifkan untuk AMD SEV-SNP. Untuk informasi selengkapnya, lihat Aktifkan AMD SEV-SNP untuk instans EC2.
Pengesahan untuk instans pada Host Khusus
Host Khusus menggunakan Versioned Chip Endorsement Key (VCEK), kunci penandatanganan per chip yang unik, untuk menandatangani laporan pengesahan. Anda harus memvalidasi rantai kepercayaan dari sertifikat VCEK kembali ke akar kepercayaan AMD.
catatan
Model prosesor yang didukung saat ini adalahmilan.
Prasyarat
Instans yang berjalan pada Host Khusus yang di SEV-SNP aktifkan AMD dengan Git, Cargo, dan Perl diinstal.
Langkah 1: Bangun utilitas snpguest
Pada langkah ini, Anda menginstal dan membangun snpguest utilitas, yang Anda gunakan untuk menghasilkan laporan pengesahan, mengambil sertifikat yang diperlukan, dan memvalidasi laporan pengesahan.
-
Terhubung ke instans Anda.
-
Verifikasi prasyarat diinstal.
$perl --version; cargo --version; git --version -
Jalankan perintah berikut untuk membangun
snpguestutilitas dari snpguest repository. $git clone https://github.com/virtee/snpguest.git$cd snpguest$cargo build -r$cd target/release
Langkah 2: Buat laporan pengesahan
Hasilkan permintaan untuk laporan pengesahan. snpguestUtilitas meminta laporan pengesahan dari AMD Secure Processor melalui host, dan menulisnya ke file biner. Contoh berikut membuat permintaan acak nonce dan menyimpan laporan direport.bin.
$./snpguest reportreport.binrequest-file.txt--random
Langkah 3: Ambil dan validasi rantai sertifikat VCEK
Laporan pengesahan ditandatangani oleh VCEK, yang unik untuk chip AMD di Host Khusus Anda. Anda harus memvalidasi rantai kepercayaan dari VCEK kembali ke akar kepercayaan AMD.
-
Ambil sertifikat VCEK dari Layanan Distribusi Kunci AMD (KDS). Sertifikat diidentifikasi oleh ID chip dan versi TCB dari laporan pengesahan.
$./snpguest fetch vcek pem ./ ./report.bin --processor-model milan -
Ambil sertifikat root AMD (AMD Root Key (ARK) dan AMD SEV Key (ASK)) yang membentuk rantai kepercayaan.
$./snpguest fetch ca PEM ./ milan --endorser vcek -
Verifikasi rantai sertifikat.
$./snpguest verify certs ./Berikut ini adalah output contoh.
The AMD ARK was self-signed! The AMD ASK was signed by the AMD ARK! The VCEK was signed by the AMD ASK!
Opsional: Untuk transparansi tambahan, Anda dapat memverifikasi rantai secara independen dengan mengunduh sertifikat langsung dari AMD dan menggunakanopenssl.
$curl --proto '=https' --tlsv1.2 -sSf https://kdsintf.amd.com/vcek/v1/Milan/cert_chain -o ./cert_chain.pem$openssl verify --CAfile ./cert_chain.pem vcek.pem
Berikut ini adalah output contoh.
vcek.pem: OK
Langkah 4: Validasi tanda tangan laporan pengesahan
Verifikasi bahwa laporan pengesahan ditandatangani oleh sertifikat VCEK. Ini menegaskan bahwa laporan dibuat pada perangkat keras AMD asli dan belum dirusak.
$./snpguest verify attestation ./ report.bin
Berikut ini adalah output contoh.
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!
Bidang versi TCB (Trusted Computing Base) mengonfirmasi bahwa versi firmware dalam sertifikat cocok dengan yang dilaporkan dalam laporan pengesahan. Baris terakhir menegaskan VCEK menandatangani laporan tersebut.
Pengesahan untuk contoh tentang sewa bersama
Instans sewa bersama menggunakan Versioned Loaded Endorsement Key (VLEK), yang dikeluarkan oleh AMD untuk. AWS Anda harus memvalidasi rantai kepercayaan dari sertifikat VLEK kembali ke akar kepercayaan AMD.
Langkah 1: Bangun utilitas snpguest
Pada langkah ini, Anda menginstal dan membangun snpguest utilitas, yang Anda gunakan untuk menghasilkan laporan pengesahan, mengambil sertifikat yang diperlukan, dan memvalidasi laporan pengesahan.
-
Terhubung ke instans Anda.
-
Jalankan perintah berikut untuk membangun
snpguestutilitas dari snpguest repository. $git clone https://github.com/virtee/snpguest.git$cd snpguest$cargo build -r$cd target/release
Langkah 2: Hasilkan laporan pengesahan
Hasilkan permintaan untuk laporan pengesahan. snpguestUtilitas meminta laporan pengesahan dari host, dan menulisnya ke file biner. Contoh berikut membuat permintaan acak nonce dan menyimpan laporan direport.bin.
$./snpguest reportreport.binrequest-file.txt--random
Minta sertifikat dari memori host, dan simpan sebagai file PEM.
$./snpguest certificates PEM./
Langkah 3: Ambil dan validasi rantai sertifikat VLEK
Laporan pengesahan ditandatangani oleh VLEK, yang dikeluarkan oleh AMD untuk. AWS Anda harus memvalidasi rantai kepercayaan dari VLEK kembali ke akar kepercayaan AMD.
-
Unduh root sertifikat kepercayaan VLEK dari Layanan Distribusi Kunci AMD 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 -
Gunakan
openssluntuk memvalidasi bahwa sertifikat VLEK ditandatangani oleh root sertifikat kepercayaan AMD.$sudo openssl verify --CAfile ./cert_chain.pem vlek.pemBerikut ini adalah output contoh.
vlek.pem: OK
Langkah 4: Validasi tanda tangan laporan pengesahan
Verifikasi bahwa laporan pengesahan ditandatangani oleh sertifikat VLEK. Ini menegaskan bahwa laporan dibuat pada perangkat keras AMD asli dan belum dirusak.
$./snpguest verify attestation ./ report.bin
Berikut ini adalah output contoh.
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!