全部产品
Search
文档中心

Elastic Compute Service:Membangun Lingkungan Komputasi Rahasia SGX

更新时间:Nov 06, 2025

Topik ini menjelaskan cara membangun lingkungan komputasi rahasia Software Guard Extensions (SGX) pada instans Elastic Compute Service (ECS) yang mendukung Intel® SGX, dikenal sebagai instans vSGX, serta cara memverifikasi fitur SGX pada instans tersebut.

Prasyarat

Instans vSGX telah dibuat dan Anda telah masuk ke dalamnya.

Catatan

Hanya keluarga instans g7t, c7t, dan r7t yang mendukung fitur SGX. Untuk informasi lebih lanjut, lihat Ikhtisar Keluarga Instans.

Informasi latar belakang

Intel® SGX mengatur lingkungan komputasi rahasia pada tingkat fisik untuk memastikan keamanan data dengan menyediakan perlindungan berbasis perangkat keras alih-alih perlindungan berbasis firmware atau perangkat lunak. Intel® SGX menggunakan ekstensi set instruksi dan mekanisme kontrol akses untuk mengisolasi lingkungan runtime program SGX. Ini melindungi kerahasiaan dan integritas kode kunci serta data dari serangan malware. Dibandingkan dengan teknologi keamanan lainnya, Intel® SGX menggunakan akar kepercayaan yang hanya mencakup perangkat keras. Hal ini mencegah cacat yang disebabkan oleh kerentanan keamanan perangkat lunak tempat akar kepercayaan didasarkan, serta meningkatkan keamanan sistem.

Keluarga instans canggih keamanan g7t, c7t, dan r7t menyediakan memori rahasia berbasis Intel® SGX dan mendukung teknologi SGX untuk mesin virtual. Anda dapat mengembangkan dan menjalankan program SGX pada instans vSGX.

Penting

Jika Anda menggunakan kunci (seperti kunci penyegelan SGX) yang terikat pada perangkat keras untuk mengenkripsi data instans dalam enklaf Intel SGX, data terenkripsi tidak dapat didekripsi setelah host instans diubah. Kami menyarankan Anda melakukan redundansi data dan pencadangan pada lapisan aplikasi untuk memastikan keandalan aplikasi.

Prosedur

Langkah 1: Periksa apakah SGX diaktifkan

Sebelum membangun lingkungan komputasi rahasia SGX, Anda dapat menggunakan CPUID untuk memeriksa apakah SGX diaktifkan. Bagian ini menjelaskan cara memeriksa status SGX. Contoh berikut menggunakan citra Alibaba Cloud Linux 2 (UEFI) atau Alibaba Cloud Linux 3 (UEFI), serta citra Ubuntu 22.04 (UEFI).

Citra Alibaba Cloud Linux 2 atau 3 (UEFI)

  1. Instal CPUID.

    sudo yum install -y cpuid
  2. Periksa apakah SGX diaktifkan.

    cpuid -1 -l 0x7 |grep SGX

    Keluaran perintah yang mirip dengan berikut ini menunjukkan bahwa SGX diaktifkan.sgx_install

    Catatan

    Setelah SGX diaktifkan, driver SGX diperlukan untuk menjalankan program SGX. Citra khusus yang disediakan oleh Alibaba Cloud memiliki driver SGX bawaan. Jika Anda tidak ingin menggunakan citra khusus, instal driver SGX.

  3. Periksa apakah driver SGX diinstal.

    ls -l /dev/{sgx_enclave,sgx_provision}

    Keluaran perintah yang mirip dengan berikut ini menunjukkan bahwa driver SGX diinstal.sgx_driver

Citra Ubuntu 22.04 (UEFI)

  1. Instal CPUID.

    sudo apt-get update && sudo apt-get install -y --no-install-recommends cpuid
  2. Periksa apakah SGX diaktifkan.

    cpuid -1 -l 0x7 |grep SGX

    Keluaran perintah yang mirip dengan berikut ini menunjukkan bahwa SGX diaktifkan.image

    Catatan

    Setelah SGX diaktifkan, driver SGX diperlukan untuk menjalankan program SGX. Citra khusus yang disediakan oleh Alibaba Cloud memiliki driver SGX bawaan. Jika Anda tidak ingin menggunakan citra khusus, instal driver SGX.

  3. Instal driver SGX:

    1. Buat skrip install_sgx_dcap.sh:

      cat <<'EOF' > install_sgx_dcap.sh
      #!/bin/bash
      
      version_id=$(cat /etc/os-release|grep "VERSION_ID"|cut -d"=" -f2|tr -d "\"")
      version_codename=$(cat /etc/os-release|grep "VERSION_CODENAME"|cut -d"=" -f2)
      apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential dkms curl wget
      
      if [ ! -e /dev/sgx/enclave -a ! -e /dev/sgx_enclave ]; then
        dcap_version=$(curl -s https://download.01.org/intel-sgx/latest/version.xml |grep dcap| sed -r 's/.*>(.*)<.*/\1/')
        dcap_files=$(curl -s https://download.01.org/intel-sgx/latest/dcap-latest/linux/SHA256SUM_dcap_${dcap_version}.cfg)
        echo "${dcap_files}" | grep "ubuntu${version_id}-server" |grep "sgx_linux_x64_driver" | awk '{print $2}' | xargs -I{} curl -O -J https://download.01.org/intel-sgx/latest/dcap-latest/linux/{}
        
        bash sgx_linux_x64_driver*.bin
      else
        echo "driver already installed"
      fi
      EOF
    2. Jalankan skrip untuk menginstal driver SGX:

      sudo bash ./install_sgx_dcap.sh
  4. Periksa apakah driver SGX diinstal.

    ls -l /dev/{sgx_enclave,sgx_provision}

    Keluaran perintah yang mirip dengan berikut ini menunjukkan bahwa driver SGX diinstal.

    image

Langkah 2: Membangun lingkungan komputasi rahasia SGX

Sebelum mengembangkan program SGX, Anda harus menginstal runtime SGX dan SDK pada instans vSGX serta mengonfigurasi layanan verifikasi jarak jauh. Untuk pengalaman pengguna yang lebih baik, kami sarankan Anda menggunakan citra khusus yang disediakan oleh Alibaba Cloud. Citra khusus dilengkapi dengan driver SGX dan menyediakan TEE SDK yang sepenuhnya kompatibel dengan Intel® SGX SDK. Bagian ini menjelaskan cara membangun lingkungan komputasi rahasia SGX. Contoh berikut menggunakan citra Alibaba Cloud Linux 2 (UEFI) atau Alibaba Cloud Linux 3 (UEFI), serta citra Ubuntu 22.04 (UEFI). Jika Anda menggunakan citra Linux seperti CentOS, instal driver SGX dan Platform SoftWare (PSW). Untuk informasi lebih lanjut, lihat Panduan Instalasi Intel® SGX SW untuk Linux.

  1. Instal modul yang diperlukan untuk membangun lingkungan komputasi rahasia SGX.

    Citra Alibaba Cloud Linux 2 (UEFI) atau Alibaba Cloud Linux 3 (UEFI)

    1. (Diperlukan) Instal runtime SGX Alibaba Cloud.

      Catatan

      Saat membuat instans vSGX di Konsol ECS, runtime SGX Alibaba Cloud secara otomatis diinstal. Anda dapat melewati langkah ini dan langsung menginstal SDK TEE Alibaba Cloud.

      1. Impor repositori perangkat lunak Yellowdog Updater Modified (YUM) untuk komputasi rahasia Alibaba Cloud.

        Catatan

        Ganti [Region-ID] dalam URL berikut dengan ID wilayah instans vSGX:

        • URL publik repositori berada dalam format berikut: https://enclave-[Region-ID].oss-[Region-ID].aliyuncs.com/repo/alinux/enclave-expr.repo.

        • URL internal repositori berada dalam format berikut: https://enclave-[Region-ID].oss-[Region-ID]-internal.aliyuncs.com/repo/alinux/enclave-expr.repo.

        Anda juga dapat membuat dan menjalankan skrip untuk mengimpor repositori perangkat lunak YUM untuk komputasi rahasia Alibaba Cloud.

        1. Buat skrip install_sgx_repo.sh:

          cat <<'EOF' > install_sgx_repo.sh
          ID=$(grep -w '^ID' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
          VERSION_ID=$(grep -w '^VERSION_ID' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
          
          # Query the region of the instance.
          token=$(curl -s -X PUT -H "X-aliyun-ecs-metadata-token-ttl-seconds: 5" "http://100.100.100.200/latest/api/token")
          region_id=$(curl -s -H "X-aliyun-ecs-metadata-token: $token" http://100.100.100.200/latest/meta-data/region-id)
          
          # Enable the Alibaba Cloud experimental repository for the instance if an Alibaba Cloud Linux 2 (UEFI) image is used.
          if [ "$ID" = "alinux" -a "$VERSION_ID" = "2.1903" ]; then
              sudo rpmkeys --import http://mirrors.cloud.aliyuncs.com/epel/RPM-GPG-KEY-EPEL-7
              sudo yum install -y alinux-release-experimentals
          fi
          
          yum install -y yum-utils && \
          yum-config-manager --add-repo \
          https://enclave-${region_id}.oss-${region_id}-internal.aliyuncs.com/repo/alinux/enclave-expr.repo
          
          EOF
        2. Impor repositori YUM untuk komputasi rahasia Alibaba Cloud:

          sudo bash ./install_sgx_repo.sh
      2. Instal runtime SGX Alibaba Cloud.

        sudo yum install -y libsgx-ae-le libsgx-ae-pce libsgx-ae-qe3 libsgx-ae-qve \
        libsgx-aesm-ecdsa-plugin libsgx-aesm-launch-plugin libsgx-aesm-pce-plugin \
        libsgx-aesm-quote-ex-plugin libsgx-dcap-default-qpl libsgx-dcap-ql \
        libsgx-dcap-quote-verify libsgx-enclave-common libsgx-launch libsgx-pce-logic \
        libsgx-qe3-logic libsgx-quote-ex libsgx-ra-network libsgx-ra-uefi \
        libsgx-uae-service libsgx-urts sgx-ra-service sgx-aesm-service
        Catatan

        AESM Enclave Arsitektur SGX (AESM) digunakan untuk mengelola layanan seperti memulai enclave, konfigurasi kunci, dan verifikasi jarak jauh. Jalur instalasi default SGX AESM adalah /opt/intel/sgx-aesm-service.

    2. Instal SDK TEE Alibaba Cloud.

      sudo yum install -y sgxsdk

    SDK TEE Alibaba Cloud sepenuhnya kompatibel dengan Intel® SGX SDK. Setelah menginstal SDK TEE Alibaba Cloud, Anda dapat merujuk pada Referensi Pengembang Intel® SGX untuk mengembangkan program SGX. Untuk informasi lebih lanjut, lihat Referensi Pengembang Intel® SGX.

    Catatan

    Jalur instalasi default Intel® SGX SDK dalam SDK TEE Alibaba Cloud adalah /opt/alibaba/teesdk/intel/sgxsdk/.

    Citra Ubuntu 22.04 (UEFI)

    1. Buat skrip install_sgx_sdk.sh:

      cat <<'EOF' > install_sgx_sdk.sh
      #!/bin/bash
      
      version_id=$(cat /etc/os-release|grep "VERSION_ID"|cut -d"=" -f2|tr -d "\"")
      version_codename=$(cat /etc/os-release|grep "VERSION_CODENAME"|cut -d"=" -f2)
      apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential dkms curl wget
      
      dcap_version=$(curl -s https://download.01.org/intel-sgx/latest/version.xml |grep dcap| sed -r 's/.*>(.*)<.*/\1/')
      linux_version=$(curl -s https://download.01.org/intel-sgx/latest/version.xml |grep linux| sed -r 's/.*>(.*)<.*/\1/')
      dcap_files=$(curl -s https://download.01.org/intel-sgx/latest/dcap-latest/linux/SHA256SUM_dcap_${dcap_version}.cfg)
      echo "${dcap_files}" | grep "ubuntu${version_id}-server" | awk '{print $2}' | xargs -I{} curl -O -J https://download.01.org/intel-sgx/latest/dcap-latest/linux/{}
      
      # install sgx_sdk
      bash sgx_linux_x64_sdk*.bin --prefix /opt/intel
      source /opt/intel/sgxsdk/environment
      
      # install psw
      echo "deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu ${version_codename} main" |  tee /etc/apt/sources.list.d/intelsgx.list
      wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add -
      apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libsgx-launch libsgx-urts libsgx-epid libsgx-quote-ex libsgx-dcap-ql libsgx-dcap-ql-dev
      systemctl enable --now aesmd.service
      EOF
    2. Jalankan skrip untuk menginstal Intel® SGX SDK dan PSW:

      sudo bash ./install_sgx_sdk.sh
  2. Konfigurasikan layanan verifikasi jarak jauh SGX Alibaba Cloud.

    Layanan verifikasi jarak jauh SGX Alibaba Cloud sepenuhnya kompatibel dengan layanan verifikasi jarak jauh berbasis Algoritma Tanda Tangan Digital Kurva Eliptik (ECDSA) Intel® SGX dan Intel® SGX SDK. Instans vSGX yang disediakan oleh Alibaba Cloud dapat memperoleh kepercayaan dari penyedia dan produsen jarak jauh dengan menggunakan verifikasi jarak jauh. Untuk informasi lebih lanjut, lihat Attestation & Provisioning Services.

    Layanan verifikasi jarak jauh SGX Alibaba Cloud menyediakan informasi berikut tentang SGX SDK:

    • Sertifikat SGX: sertifikat SGX.

    • Daftar pencabutan: daftar sertifikat SGX yang dicabut.

    • Informasi basis komputasi tepercaya: informasi tentang akar kepercayaan.

    Catatan

    Intel Ice Lake hanya mendukung verifikasi jarak jauh berbasis Intel Software Guard Extensions Data Center Attestation Primitives (Intel SGX DCAP) dan tidak mendukung verifikasi jarak jauh berbasis Intel Enhanced Privacy ID (EPID). Anda harus menyesuaikan aplikasi sebelum dapat menggunakan fitur verifikasi jarak jauh. Untuk informasi lebih lanjut tentang verifikasi jarak jauh, lihat Perkuat Kepercayaan Enklaf dengan Verifikasi.

    Layanan verifikasi jarak jauh SGX Alibaba Cloud diterapkan per wilayah. Untuk memastikan stabilitas optimal, kami sarankan Anda mengakses layanan yang diterapkan di wilayah yang sama dengan instans vSGX Anda. Setelah menginstal SDK TEE Alibaba Cloud, file konfigurasi default /etc/sgx_default_qcnl.conf secara otomatis dibuat untuk layanan verifikasi jarak jauh. Anda harus menggunakan salah satu metode berikut untuk menyesuaikan file agar sesuai dengan layanan verifikasi jarak jauh SGX Alibaba Cloud di wilayah tempat instans vSGX diterapkan.

    Catatan

    Tabel berikut menjelaskan wilayah tempat layanan verifikasi jarak jauh SGX Alibaba Cloud didukung.

    Wilayah yang Didukung

    ID Wilayah

    Cina (Qingdao)

    cn-qingdao

    Cina (Beijing)

    cn-beijing

    Cina (Zhangjiakou)

    cn-zhangjiakou

    Cina (Ulanqab)

    cn-wulanchabu

    Cina (Hangzhou)

    cn-hangzhou

    Cina (Shanghai)

    cn-shanghai

    Cina (Shenzhen)

    cn-shenzhen

    Cina (Heyuan)

    cn-heyuan

    Cina (Guangzhou)

    cn-guangzhou

    Cina (Chengdu)

    cn-chengdu

    Cina (Hong Kong)

    cn-hongkong

    Singapura

    ap-southeast-1

    Indonesia (Jakarta)

    ap-southeast-5

    • (Direkomendasikan) Metode 1: Konfigurasikan file /etc/sgx_default_qcnl.conf.

      Jalankan perintah berikut untuk mengonfigurasi file /etc/sgx_default_qcnl.conf secara otomatis. Untuk informasi lebih lanjut, lihat Akses Metadata Instans.

      # Lihat wilayah instans.
      token=$(curl -s -X PUT -H "X-aliyun-ecs-metadata-token-ttl-seconds: 5" "http://100.100.100.200/latest/api/token")
      region_id=$(curl -s -H "X-aliyun-ecs-metadata-token: $token" http://100.100.100.200/latest/meta-data/region-id)
      
      # Tentukan URL Layanan Caching Sertifikat Provisioning Alibaba Cloud (PCCS) untuk wilayah tempat instans diterapkan.
      PCCS_URL=https://sgx-dcap-server-vpc.${region_id}.aliyuncs.com/sgx/certification/v4/
      sudo bash -c 'cat > /etc/sgx_default_qcnl.conf' << EOF
      # Alamat server PCCS
      PCCS_URL=${PCCS_URL}
      # Untuk menerima sertifikat HTTPS tidak aman, atur opsi ini ke FALSE
      USE_SECURE_CERT=TRUE
      EOF
    • Metode 2: Ubah file /etc/sgx_default_qcnl.conf secara manual.

      • Jika instans vSGX diberi alamat IP publik, ubah konfigurasi dalam file /etc/sgx_default_qcnl.conf menjadi konten berikut. Ganti [Region-ID] dengan ID wilayah instans vSGX.

        # Alamat server PCCS
        PCCS_URL=https://sgx-dcap-server.[Region-ID].aliyuncs.com/sgx/certification/v4/
        # Untuk menerima sertifikat HTTPS tidak aman, atur opsi ini ke FALSE
        USE_SECURE_CERT=TRUE
      • Jika instans vSGX berada dalam virtual private cloud (VPC) dan hanya memiliki alamat IP internal, ubah konfigurasi dalam file /etc/sgx_default_qcnl.conf menjadi konten berikut. Ganti [Region-ID] dengan ID wilayah instans vSGX.

        # Alamat server PCCS
        PCCS_URL=https://sgx-dcap-server-vpc.[Region-ID].aliyuncs.com/sgx/certification/v4/
        # Untuk menerima sertifikat HTTPS tidak aman, atur opsi ini ke FALSE
        USE_SECURE_CERT=TRUE

Contoh cara memverifikasi fitur SGX

Bagian ini menjelaskan cara memulai enclave untuk memeriksa apakah SGX SDK yang diinstal bekerja seperti yang diharapkan. Jika enclave dimulai, SDK bekerja seperti yang diharapkan. Dalam contoh berikut, file kode sampel bernama SampleEnclave digunakan.

Contoh 1: Memulai enclave

Citra Alibaba Cloud Linux 2 (UEFI) atau Alibaba Cloud Linux 3 (UEFI)

SDK TEE Alibaba Cloud menyediakan kode sampel SGX untuk memverifikasi fitur SGX. Secara default, kode disimpan dalam direktori /opt/alibaba/teesdk/intel/sgxsdk/SampleCode.

  1. Instal kompilator.

  2. ID=$(grep -w '^ID' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
    VERSION_ID=$(grep -w '^VERSION_ID' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
    
    if [ "$ID" = "alinux" ]; then
        case "$VERSION_ID" in
            "2.1903" )
                sudo yum install -y devtoolset-9
                ;;
            "3" )
                sudo yum groupinstall -y "Development Tools"
                ;;
        esac
    fi
  3. Konfigurasikan variabel lingkungan terkait SGX SDK.

    if [ "$ID" = "alinux" -a "$VERSION_ID" = "2.1903" ]; then
        source /opt/rh/devtoolset-9/enable
    fi
    source /opt/alibaba/teesdk/intel/sgxsdk/environment
  4. Kompilasi kode sampel dalam file SampleEnclave.

    1. Pergi ke direktori SampleEnclave:

      cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/SampleEnclave
    2. Kompilasi kode sampel dalam SampleEnclave:

      sudo -E make
  5. Jalankan file yang dapat dieksekusi hasil kompilasi.

    sudo ./app

    Jika keluaran perintah berikut ini diterima, SGX berjalan seperti yang diharapkan.

    image

Citra Ubuntu 22.04 (UEFI)

  1. Perbarui daftar paket.

    sudo apt update
  2. Instal kompilator build-essential.

    sudo apt install -y build-essential
  3. Kompilasi kode sampel dalam file SampleEnclave.

    1. Pergi ke direktori SampleEnclave:

      cd /opt/intel/sgxsdk/SampleCode/SampleEnclave/
    2. Kompilasi kode sampel dalam SampleEnclave:

      sudo make SGX_DEBUG=1
  4. Jalankan file yang dapat dieksekusi hasil kompilasi.

    sudo ./app

    Jika keluaran perintah berikut ini diterima, SGX berjalan seperti yang diharapkan.

    image

Contoh 2: Gunakan layanan verifikasi jarak jauh SGX

SDK TEE Alibaba Cloud menyediakan kode sampel SGX untuk memverifikasi fitur SGX. Secara default, kode disimpan dalam direktori /opt/alibaba/teesdk/intel/sgxsdk/SampleCode. Bagian ini menjelaskan cara menggunakan layanan verifikasi jarak jauh SGX. Dalam contoh ini, citra Alibaba Cloud Linux 2 (UEFI) atau Alibaba Cloud Linux 3 (UEFI) digunakan.

Hasil yang diharapkan adalah bahwa kutipan dihasilkan dengan menggunakan file QuoteGenerationSample dan diverifikasi dengan menggunakan file QuoteVerificationSample. Contoh ini melibatkan pihak yang ditantang (program SGX yang berjalan di instans vSGX) dan pihak penantang (pihak yang ingin memverifikasi apakah program SGX tersebut tepercaya). Dalam contoh ini, file kode sampel bernama QuoteGenerationSample digunakan oleh pihak yang ditantang untuk menghasilkan kutipan, dan file kode sampel bernama QuoteVerificationSample digunakan oleh pihak penantang untuk memverifikasi kutipan.

  1. Instal kompilator.

    • Jika citra Alibaba Cloud Linux 2 (UEFI) digunakan, instal devtoolset.

      1. Instal devtoolset.

        sudo yum install -y devtoolset-9
      2. Konfigurasikan variabel lingkungan terkait devtoolset.

        source /opt/rh/devtoolset-9/enable
    • Jika citra Alibaba Cloud Linux 3 (UEFI) digunakan, instal Development Tools.

      sudo yum groupinstall -y "Development Tools"
  2. Konfigurasikan variabel lingkungan terkait SGX SDK.

    source /opt/alibaba/teesdk/intel/sgxsdk/environment
  3. Instal paket dependensi verifikasi jarak jauh SGX.

    sudo yum install -y libsgx-dcap-ql-devel libsgx-dcap-quote-verify-devel libsgx-dcap-default-qpl-devel
  4. Kompilasi kode sampel dalam file QuoteGenerationSample yang digunakan oleh pihak yang ditantang.

    1. Pergi ke direktori QuoteGenerationSample.

      cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/QuoteGenerationSample
    2. Kompilasi kode sampel dalam file QuoteGenerationSample.

      sudo -E make
  5. Jalankan file yang dapat dieksekusi hasil kompilasi untuk menghasilkan kutipan.

    sudo ./app

    Jika keluaran perintah berikut ini diterima, verifikasi kutipan berhasil.

    image

  6. Kompilasi kode sampel dalam file QuoteVerificationSample yang digunakan oleh pihak penantang.

    1. Pergi ke direktori QuoteVerificationSample.

      cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/QuoteVerificationSample
    2. Kompilasi kode sampel dalam file QuoteVerificationSample.

      sudo -E make
  7. Tandatangani enclave QuoteVerificationSample.

    Untuk merilis versi resmi dari sebuah enclave, Anda harus menyediakan kunci tanda tangan untuk menandatangani enclave.

    sudo sgx_sign sign -key Enclave/Enclave_private_sample.pem -enclave enclave.so -out enclave.signed.so -config Enclave/Enclave.config.xml
    Catatan

    Jika pesan kesalahan Failed to open file "Enclave/Enclave_private_sample.pem" muncul, jalankan perintah berikut untuk menandatangani ulang tanda tangan:

    sudo sgx_sign sign -key ../QuoteGenerationSample/Enclave/Enclave_private_sample.pem -enclave enclave.so -out enclave.signed.so -config Enclave/Enclave.config.xml
  8. Jalankan file yang dapat dieksekusi hasil kompilasi untuk memverifikasi kutipan.

    sudo ./app

    Jika keluaran perintah berikut ini diterima, verifikasi kutipan berhasil.

    image

Perbarui SGX SDK, PSW, dan perangkat lunak DCAP

Tumpukan perangkat lunak Intel® SGX mencakup SGX SDK, SGX PSW, dan SGX Data Center Attestation Primitives (DCAP). Untuk memastikan keamanan optimal, kami sarankan Anda memperbarui versi perangkat lunak secara berkala. Dalam contoh ini, citra UEFI Alibaba Cloud Linux 3 digunakan untuk memperbarui paket perangkat lunak SGX SDK, SGX PSW, dan SGX DCAP.

  1. Perbarui SGX SDK, SGX PSW, dan SGX DCAP.

    sudo rpm -qa --qf "%{NAME}\n"|grep -E "sgxsdk|libsgx-|libtdx-|^sgx-|^tdx-"|sudo xargs bash -c '</dev/tty yum update "$@"' _
  2. Lihat versi SGX SDK, SGX PSW, dan SGX DCAP.

    1. Lihat versi perangkat lunak SGX SDK dan SGX PSW.

      sudo rpm -qa|grep -E "sgxsdk|sgx-aesm-service|libsgx-(ae-epid|ae-le|ae-pce|aesm|enclave|epid|headers|launch|quote-ex|uae-service|urts)"

      Keluaran perintah berikut ini diterima.

      image

    2. Lihat versi perangkat lunak SGX DCAP.

      sudo rpm -qa|grep -E "sgx-(dcap-pccs|pck|ra-service)|libsgx-(ae-id-enclave|ae-qe3|ae-qve|ae-tdqe|dcap|pce-logic|qe3-logic|ra-|tdx-)|libtdx-|^tdx-"

      Keluaran perintah berikut ini diterima.image

Masalah yang diketahui

Kebocoran memori mungkin terjadi pada driver SGX yang disertakan dengan Alibaba Cloud Linux 2 yang versi kernelnya adalah 4.19.91-23.al7.x86_64. Masalah ini telah diperbaiki dalam versi terbaru. Kami sarankan Anda memperbarui kernel ke versi terbaru. Jika Anda ingin terus menggunakan versi kernel sebelumnya, kami sarankan Anda menjalankan perintah berikut untuk menginstal patch guna menghindari masalah ini:

sudo yum install -y alinux-release-experimentals && \
sudo yum install -y kernel-hotfix-5577959-23.al7.x86_64