Pengesahan adalah proses untuk meningkatkan keyakinan bahwa instance Confidential VM sah dan beroperasi dalam status yang diharapkan. Ini adalah alat penting dalam memvalidasi bahwa workload Anda berjalan di trusted execution environment (TEE).
Pengesahan berbasis CPU
Laporan pengesahan adalah bukti bahwa VM Anda berjalan di TEE. Pengukuran ini dibuat oleh instance Confidential VM, dan bergantung pada teknologi Confidential Computing yang digunakan, ditandatangani oleh vTPM berbasis software, atau Trusted Security Module (TSM) khusus berbasis hardware. Laporan pengesahan berisi pengukuran yang terkait dengan aktivitas bootloader, konfigurasi hardware, konfigurasi firmware, dan peristiwa yang dicatat saat booting lainnya yang membantu memvalidasi status dan identitas instance Confidential VM.
Jenis laporan pengesahan yang dapat Anda minta bergantung pada teknologi Confidential Computing yang digunakan instance Confidential VM Anda.
Sumber penandatanganan | Jenis | Cakupan laporan | Teknologi Confidential Computing | ||
---|---|---|---|---|---|
SEV | SEV-SNP | Intel TDX | |||
vTPM yang dikelola Google | vTPM berbasis software | Aktivitas bootloader, integritas kernel | |||
AMD Secure Processor | TSM berbasis hardware | Lingkungan hardware dan firmware | |||
Modul Intel TDX | TSM berbasis hardware | Lingkungan hardware dan firmware |
Meminta laporan pengesahan
Anda dapat meminta laporan pengesahan dari vTPM yang dikelola Google, Secure Processor AMD, dan modul TDX Intel dengan alat berikut:
Alat Go-TPM (diperlukan versi 0.4.4 atau yang lebih baru untuk dukungan AMD SEV-SNP dan Intel TDX)
Peristiwa GceNonHostInfo
di log peristiwa pengesahan vTPM menunjukkan teknologi Confidential Computing yang sedang digunakan. Alat Go-TPM dapat meminta laporan pengesahan dari AMD Secure Processor jika AMD SEV-SNP digunakan, atau dari modul Intel TDX jika Intel TDX digunakan.
Khusus untuk laporan pengesahan hardware, Anda dapat mengirim tantangan kriptografi ke TSM dengan alat berikut:
Untuk AMD SEV-SNP, gunakan SEV Guest. Sertifikat Version Chip Endorsement Key (VCEK) di-cache di VM, bukan diminta langsung dari sistem distribusi kunci (KDS) AMD.
Untuk Intel TDX, gunakan TDX Guest.
Intel TDX di Ubuntu
Untuk image Ubuntu di kernel 1016 dan yang lebih baru, modul tdx_guest
ada di paket
linux-modules-extra
.
Untuk menginstal paket linux-modules-extra
, jalankan perintah berikut:
sudo apt-get install linux-modules-extra-gcp
Jika Anda mengalami masalah saat menginstal linux-modules-extra-gcp
, Anda dapat mengupdate kernel dengan menjalankan perintah berikut:
sudo apt-get upgrade
Anda harus memulai ulang atau memuat modul secara manual agar perubahan diterapkan. Untuk memuat modul secara manual, jalankan perintah berikut:
sudo modprobe tdx_guest
Memverifikasi laporan pengesahan dengan Pengesahan Google Cloud
Jika model kepercayaan Anda mengizinkannya, alih-alih menulis dan menjalankan verifier pengesahan sendiri, Anda dapat menggunakan Pengesahan Google Cloud. Hal ini melibatkan penggunaan alat Go-TPM untuk mengambil kutipan pengesahan dari vTPM instance Confidential VM, dan mengirimkannya ke Pengesahan Google Cloud untuk verifikasi. Jika kutipan lulus verifikasi, Pengesahan Google Cloud akan menampilkan token yang berisi informasi VM yang kemudian dapat Anda bandingkan dengan kebijakan Anda sendiri untuk mengonfirmasi apakah VM tersebut harus dipercaya atau tidak.
Pengesahan Google Cloud hanya dapat digunakan dengan instance Confidential VM AMD SEV.
Untuk contoh end-to-end cara menggunakan Pengesahan Google Cloud, lihat codelab Pengesahan Jarak Jauh vTPM di Virtual Machine Rahasia.
Pengesahan berbasis GPU
Pengesahan GPU melibatkan verifikasi driver GPU, perangkat GPU, atau keduanya.
Pengesahan Driver GPU
Untuk memastikan pengesahan yang andal, aktifkan Booting Aman saat membuat instance Confidential VM.
Booting Aman memungkinkan pemuatan hanya driver GPU yang ditandatangani distribusi. Verifikasi ini penting untuk mengonfirmasi bahwa driver GPU dirilis dan disediakan secara resmi oleh NVIDIA. Driver resmi penting karena driver ini membuat sesi Security Protocol and Data Model (SPDM) yang aman dengan perangkat GPU dan berfungsi sebagai root kepercayaan untuk pengesahan perangkat GPU NVIDIA.
Pengesahan Perangkat GPU NVIDIA
Selain pengesahan driver GPU, Anda dapat lebih lanjut mengesahkan perangkat GPU NVIDIA. Pengesahan perangkat GPU NVIDIA memverifikasi BIOS Video (VBIOS) yang berjalan di GPU. Dengan begitu, Anda dapat mengidentifikasi versi software NVIDIA dan menilai keberadaan potensi kerentanan.
Untuk melakukan pengesahan perangkat GPU NVIDIA, instal terlebih dahulu library nvtrust
NVIDIA, lalu gunakan untuk pengesahan lokal atau jarak jauh.
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
Pengesahan perangkat GPU lokal
Pengesahan perangkat GPU lokal memungkinkan Anda melakukan proses pengesahan langsung di instance VM dan melihat hasilnya secara lokal untuk memverifikasi integritas GPU Anda.
Untuk melakukan pengesahan perangkat GPU lokal, instal alat verifikasi lokal. Untuk petunjuk mendetail, lihat Verifier.
Pengesahan perangkat GPU jarak jauh
Pengesahan perangkat GPU jarak jauh menggunakan NVIDIA Remote Attestation Service (NRAS) untuk memverifikasi integritas GPU Anda. Proses ini menghasilkan token pengesahan yang ditandatangani oleh NVIDIA. Token ini dapat diberikan kepada pihak ketiga untuk menunjukkan keaslian dan integritas GPU Anda, yang sering kali diperlukan untuk mengakses data atau resource sensitif.
Untuk mengetahui petunjuk mendetail, lihat SDK pengesahan NVIDIA dan layanan pengesahan jarak jauh NVIDIA (NRAS).