ID Artikel: 000089548 Jenis Konten: Informasi & Dokumentasi Produk Terakhir Ditinjau: 05/08/2022

Apakah SDK Intel® Software Guard Extensions (Intel® SGX) Menyediakan Cara untuk Menentukan Ukuran Enclave Maksimum?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Ringkasan

Dua metode untuk menentukan ukuran enklave maksimum.

Deskripsi

Dalam lingkungan cloud, Anda tidak dapat memeriksa Memori Cadangan Prosesor (PRM), yang mencakup Cache Halaman Enclave (EPC), di BIOS.

Tidak dapat menggunakan SDK Intel® Software Guard Extensions (Intel® SGX) untuk menemukan memori yang tersedia untuk enklave.

Resolusi

SDK Intel® Software Guard Extensions (Intel® SGX) tidak memberikan cara untuk menemukan ukuran enklave maksimum. SDK Intel® Software Guard Extensions (Intel® SGX) memungkinkan Anda untuk mengatur ukuran enklave dalam aplikasi menggunakan Berkas Konfigurasi Enclave.

Ada dua metode untuk melaporkan kemampuan Intel® Software Guard Extensions (Intel® SGX) yang tersedia pada prosesor. Kedua opsi melaporkan MaxEnclaveSize, yang merupakan ukuran enklave maksimum virtual. Ukuran enklave maksimum aktual ditentukan oleh batas sistem operasi atau memori.

Opsi 1

Pada sistem Linux*, jalankan cpuid di terminal:

$ cpuid | grep MaxEnclaveSize

Opsi 2

Gunakan test_sgx.c:

  1. Buka SGX Hardware Github dan unduh file test_sgx.c atau kloning repositori
  2. Mengkompilasi dan lari test_sgx.c menurut peraturan:

    $ gcc test-sgx.c -o test-sgx
    $ ./test-sgx

Penjelasan MaxEnclaveSize

Jika MaxEnclaveSize 0, maka SGX tidak diaktifkan pada platform.

Jika SGX diaktifkan, keluaran yang paling umum adalah:

MaxEnclaveSize_Not64: 1f
MaxEnclaveSize_64: 24

  • MaxEnclaveSize_Not64: ukuran enclave maksimum yang didukung adalah 2^(EDX[7:0]) byte ketika tidak dalam mode 64-bit
  • MaxEnclaveSize_64: ukuran enclave maksimum yang didukung adalah 2^(EDX[15:8]) byte ketika beroperasi dalam mode 64-bit.

Ukuran virtual maksimum enclave adalah 2^(0x1f) untuk enclave 32-bit dan 2^(0x24) untuk enclave 64-bit.

Informasi tambahan

Lihat nilai yang dikembalikan oleh panggilan CPUID di Bagian 37.7.2, Tabel 37-6 dari Manual Pengembang Perangkat Lunak IA Vol 3d Bagian 4.

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.