Este tópico descreve como criar um ambiente de computação confidencial com Software Guard Extensions (SGX) em uma instância do Elastic Compute Service (ECS) habilitada para Intel® SGX, também conhecida como instância vSGX, e como verificar o recurso SGX na instância.
Pré-requisitos
Crie uma instância vSGX e conecte-se a ela.
Apenas as famílias de instâncias g7t, c7t, r7t e g9it suportam o recurso SGX. Para mais informações, consulte Instance family overview.
Informações de base
O Intel® SGX estabelece um ambiente de computação confidencial no nível físico para garantir a segurança dos dados, oferecendo proteções baseadas em hardware em vez de firmware ou software. O Intel® SGX utiliza extensões de conjunto de instruções e um mecanismo de controle de acesso para isolar o ambiente de execução de programas SGX. Isso protege a confidencialidade e a integridade de códigos e dados críticos contra ataques de malware. Em comparação com outras tecnologias de segurança, o Intel® SGX usa uma raiz de confiança composta exclusivamente por hardware. Isso evita falhas causadas por vulnerabilidades de segurança no software que serve de base para a raiz de confiança e aumenta a segurança do sistema.
As famílias de instâncias com segurança aprimorada g7t, c7t, r7t e g9it fornecem memória confidencial baseada em Intel® SGX e suportam a tecnologia SGX para máquinas virtuais. É possível desenvolver e executar programas SGX em instâncias vSGX.
Se você utilizar chaves vinculadas ao hardware (como chaves de selagem SGX) para criptografar os dados de uma instância dentro de um enclave Intel SGX, os dados criptografados não poderão ser descriptografados após a alteração do host da instância. Recomendamos implementar redundância e backup de dados na camada de aplicação para garantir a confiabilidade do aplicativo.
Procedimento
Etapa 1: Verificar se o SGX está ativado
Antes de criar um ambiente de computação confidencial SGX, utilize o CPUID para verificar se o SGX está ativado. Esta seção descreve como realizar essa verificação. Os exemplos a seguir utilizam uma imagem Alibaba Cloud Linux 2 (UEFI) ou Alibaba Cloud Linux 3 (UEFI) e uma imagem Ubuntu 22.04 (UEFI).
Imagem Alibaba Cloud Linux 2/3 (UEFI)
-
Instale o CPUID.
sudo yum install -y cpuid -
Verifique se o SGX está ativado.
cpuid -1 -l 0x7 |grep SGXUma saída de comando semelhante à seguinte indica que o SGX está ativado.
# cpuid -1 -l 0x7 |grep SGX SGX: Software Guard Extensions supported = true SGX_LC: SGX launch config supported = true SGX-KEYS: SGX attestation services = falseNotaApós ativar o SGX, o driver SGX é necessário para executar programas SGX. As imagens dedicadas fornecidas pela Alibaba Cloud possuem um driver SGX integrado. Caso não deseje usar uma imagem dedicada, instale o driver SGX.
-
Verifique se o driver SGX está instalado.
ls -l /dev/{sgx_enclave,sgx_provision}Uma saída de comando semelhante à seguinte indica que o driver SGX está instalado.
[ @iZbp1cclxbc` ~ ]# ls -l /dev/{sgx_enclave,sgx_provision} crw-rw-rw- 1 root root 10, 61 Mar 16 09:38 /dev/sgx_enclave crw------- 1 root sgx_prv 10, 62 Mar 16 09:38 /dev/sgx_provision
Imagem Ubuntu 22.04 (UEFI)
-
Instale o CPUID.
sudo apt-get update && sudo apt-get install -y --no-install-recommends cpuid -
Verifique se o SGX está ativado.
cpuid -1 -l 0x7 |grep SGXUma saída de comando semelhante à seguinte indica que o SGX está ativado.
$ cpuid -1 -l 0x7 |grep SGX SGX: Software Guard Extensions supported = true SGX_LC: SGX launch config supported = trueNotaApós ativar o SGX, o driver SGX é necessário para executar programas SGX. As imagens dedicadas fornecidas pela Alibaba Cloud possuem um driver SGX integrado. Caso não deseje usar uma imagem dedicada, instale o driver SGX.
-
Instale o driver SGX:
-
Crie o script
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 -
Execute o script para instalar o driver SGX:
sudo bash ./install_sgx_dcap.sh
-
-
Verifique se o driver SGX está instalado.
ls -l /dev/{sgx_enclave,sgx_provision}Uma saída de comando semelhante à seguinte indica que o driver SGX está instalado.
ecs-user@iZxxx:~$ ls -l /dev/{sgx_enclave,sgx_provision} crw-rw---- 1 root sgx 10, 125 Mar 20 10:20 /dev/sgx_enclave crw------- 1 root root 10, 126 Mar 20 10:20 /dev/sgx_provision
Etapa 2: Criar um ambiente de computação confidencial SGX
Antes de desenvolver programas SGX, instale o runtime e o SDK do SGX em uma instância vSGX e configure o service de atestação remota. Para garantir uma melhor experiência de uso, recomendamos utilizar as imagens dedicadas fornecidas pela Alibaba Cloud. Essas imagens já incluem o driver SGX e oferecem um SDK de Ambiente de Execução Confiável (TEE) totalmente compatível com o Intel® SGX SDK. Esta seção descreve como criar um ambiente de computação confidencial SGX. Os exemplos a seguir utilizam uma imagem Alibaba Cloud Linux 2 (UEFI) ou Alibaba Cloud Linux 3 (UEFI) e uma imagem Ubuntu 22.04 (UEFI). Se você utilizar imagens Linux como CentOS, instale o driver SGX e o Platform SoftWare (PSW). Para mais informações, consulte Intel® SGX SW Installation Guide for Linux.
-
Instale os módulos necessários para criar o ambiente de computação confidencial SGX.
Imagem Alibaba Cloud Linux 2/3 (UEFI)
-
(Obrigatório) Instale o runtime SGX da Alibaba Cloud.
NotaAo criar uma instância vSGX no console ECS, o runtime SGX da Alibaba Cloud é instalado automaticamente. Você pode pular esta etapa e instalar o Alibaba Cloud TEE SDK.
-
Importe o repositório de software Yellowdog Updater Modified (YUM) para computação confidencial da Alibaba Cloud.
NotaSubstitua [Region-ID] nas URLs a seguir pelo ID da região da instância vSGX:
A URL pública do repositório tem o seguinte formato:
https://enclave-[Region-ID].oss-[Region-ID].aliyuncs.com/repo/alinux/enclave-expr.repo.A URL interna do repositório tem o seguinte formato:
https://enclave-[Region-ID].oss-[Region-ID]-internal.aliyuncs.com/repo/alinux/enclave-expr.repo.
Também é possível criar e executar um script para importar o repositório de software YUM para computação confidencial da Alibaba Cloud.
-
Crie o script
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 -
Importe o repositório YUM para computação confidencial da Alibaba Cloud:
sudo bash ./install_sgx_repo.sh
-
Instale o runtime SGX da 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-serviceNotaO SGX Architectural Enclave Service Manager (AESM) gerencia services como início de enclave, configuração de chaves e atestação remota. O caminho de instalação padrão do SGX AESM é /opt/intel/sgx-aesm-service.
-
-
Instale o Alibaba Cloud TEE SDK.
sudo yum install -y sgxsdk
O Alibaba Cloud TEE SDK é totalmente compatível com o Intel® SGX SDK. Após instalar o Alibaba Cloud TEE SDK, consulte a Referência do Desenvolvedor Intel® SGX para desenvolver programas SGX. Para mais informações, consulte Intel®SGX Developer Reference.
NotaO caminho de instalação padrão do Intel® SGX SDK no Alibaba Cloud TEE SDK é /opt/alibaba/teesdk/intel/sgxsdk/.
Imagem Ubuntu 22.04 (UEFI)
-
Crie o script
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 -
Execute o script para instalar o Intel® SGX SDK e o PSW:
sudo bash ./install_sgx_sdk.sh
-
-
Configure o service de atestação remota SGX da Alibaba Cloud.
O service de atestação remota SGX da Alibaba Cloud é totalmente compatível com o service de atestação remota baseado no algoritmo de assinatura digital de curva elíptica (ECDSA) do Intel® SGX e com o Intel® SGX SDK. As instâncias vSGX fornecidas pela Alibaba Cloud podem obter confiança de provedores e produtores remotos por meio da atestação remota. Para mais informações, consulte Attestation & Provisioning Services.
O service de atestação remota SGX da Alibaba Cloud fornece as seguintes informações sobre o SGX SDK:
Certificados SGX: os certificados do SGX.
Lista de revogação: uma lista de certificados SGX revogados.
Informações da base de computação confiável: informações sobre a raiz de confiança.
NotaO Intel Ice Lake suporta apenas atestação remota baseada em Intel Software Guard Extensions Data Center Attestation Primitives (Intel SGX DCAP) e não suporta atestação remota baseada em Intel Enhanced Privacy ID (EPID). É necessário adaptar os aplicativos antes de usar o recurso de atestação remota. Para mais informações sobre atestação remota, consulte Strengthen Enclave Trust with Attestation.
O service de atestação remota SGX da Alibaba Cloud é implantado por região. Para garantir estabilidade ideal, recomendamos acessar o service implantado na mesma região da sua instância vSGX. Após instalar o Alibaba Cloud TEE SDK, o arquivo de configuração padrão /etc/sgx_default_qcnl.conf é gerado automaticamente para o service de atestação remota. Utilize um dos métodos a seguir para adaptar o arquivo ao service de atestação remota SGX da Alibaba Cloud na região onde a instância vSGX está implantada.
NotaA tabela a seguir descreve as regiões onde o service de atestação remota SGX da Alibaba Cloud é suportado.
Região suportada
ID da região
China (Qingdao)
cn-qingdao
China (Beijing)
cn-beijing
China (Zhangjiakou)
cn-zhangjiakou
China (Ulanqab)
cn-wulanchabu
China (Hangzhou)
cn-hangzhou
China (Shanghai)
cn-shanghai
China (Shenzhen)
cn-shenzhen
China (Heyuan)
cn-heyuan
China (Guangzhou)
cn-guangzhou
China (Chengdu)
cn-chengdu
China (Hong Kong)
cn-hongkong
Singapore
ap-southeast-1
Indonesia (Jakarta)
ap-southeast-5
-
(Recomendado) Método 1: Configurar automaticamente o arquivo /etc/sgx_default_qcnl.conf.
Execute os comandos a seguir para configurar automaticamente o arquivo /etc/sgx_default_qcnl.conf. Para mais informações, consulte Access instance metadata.
# View 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) # Specify the URL of Alibaba Cloud Provisioning Certificate Caching Service (PCCS) for the region in which the instance is deployed. PCCS_URL=https://sgx-dcap-server-vpc.${region_id}.aliyuncs.com/sgx/certification/v4/ sudo bash -c 'cat > /etc/sgx_default_qcnl.conf' << EOF # PCCS server address PCCS_URL=${PCCS_URL} # To accept insecure HTTPS cert, set this option to FALSE USE_SECURE_CERT=TRUE EOF -
Método 2: Modificar manualmente o arquivo /etc/sgx_default_qcnl.conf.
-
Se a instância vSGX tiver um endereço IP público atribuído, altere as configurações no arquivo /etc/sgx_default_qcnl.conf para o conteúdo a seguir. Substitua [Region-ID] pelo ID da região da instância vSGX.
# PCCS server address PCCS_URL=https://sgx-dcap-server.[Region-ID].aliyuncs.com/sgx/certification/v4/ # To accept insecure HTTPS cert, set this option to FALSE USE_SECURE_CERT=TRUE -
Se a instância vSGX estiver em uma virtual private cloud (VPC) e possuir apenas endereços IP internos, altere as configurações no arquivo /etc/sgx_default_qcnl.conf para o conteúdo a seguir. Substitua [Region-ID] pelo ID da região da instância vSGX.
# PCCS server address PCCS_URL=https://sgx-dcap-server-vpc.[Region-ID].aliyuncs.com/sgx/certification/v4/ # To accept insecure HTTPS cert, set this option to FALSE USE_SECURE_CERT=TRUE
-
Exemplos de verificação do recurso SGX
Esta seção descreve como iniciar um enclave para verificar se o SGX SDK instalado funciona conforme o esperado. Se o enclave for iniciado, o SDK está funcionando corretamente. Nos exemplos a seguir, utiliza-se o arquivo de código de exemplo chamado SampleEnclave.
Exemplo 1: Iniciar um enclave
Imagem Alibaba Cloud Linux 2/3 (UEFI)
O Alibaba Cloud TEE SDK fornece código de exemplo SGX para verificar o recurso SGX. Por padrão, o código está armazenado no diretório /opt/alibaba/teesdk/intel/sgxsdk/SampleCode.
Instale um compilador.
-
Configure as variáveis de ambiente relacionadas ao 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 -
Compile o código de exemplo no arquivo SampleEnclave.
-
Acesse o diretório SampleEnclave:
cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/SampleEnclave -
Compile o código de exemplo em SampleEnclave:
sudo -E make
-
-
Execute o arquivo executável compilado.
sudo ./appSe a seguinte saída de comando for retornada, o SGX está funcionando conforme o esperado.
[ecs-user@ixxxxxxxxxxxx ~ SampleEnclave]$ sudo ./app Checksum(0x0x7ffd25e190a0, 100) = 0xffffd4143 Info: executing thread synchronization, please wait... Info: SampleEnclave successfully returned.
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
Imagem Ubuntu 22.04 (UEFI)
-
Atualize a lista de pacotes.
sudo apt update -
Instale o compilador
build-essential.sudo apt install -y build-essential -
Compile o código de exemplo no arquivo SampleEnclave.
-
Acesse o diretório SampleEnclave:
cd /opt/intel/sgxsdk/SampleCode/SampleEnclave/ -
Compile o código de exemplo em SampleEnclave:
sudo make SGX_DEBUG=1
-
-
Execute o arquivo executável compilado.
sudo ./appSe a seguinte saída de comando for retornada, o SGX está funcionando conforme o esperado.
ecs-user@iZ2z..........:/opt/intel/sgxsdk/SampleCode/SampleEnclave$ sudo ./app Checksum(0x0x7ffdfe154760, 100) = 0xfffd4143 Info: executing thread synchronization, please wait... Info: SampleEnclave successfully returned. Enter a character before exit ...
Exemplo 2: Usar o service de atestação remota SGX
O Alibaba Cloud TEE SDK fornece código de exemplo SGX para verificar o recurso SGX. Por padrão, o código está armazenado no diretório /opt/alibaba/teesdk/intel/sgxsdk/SampleCode. Esta seção descreve como usar o service de atestação remota SGX. Neste exemplo, utiliza-se uma imagem Alibaba Cloud Linux 2 (UEFI) ou Alibaba Cloud Linux 3 (UEFI).
O resultado esperado é a geração de uma citação (quote) usando o arquivo QuoteGenerationSample e sua verificação usando o arquivo QuoteVerificationSample. O exemplo envolve a parte desafiada (programas SGX executados na instância vSGX) e a parte desafiadora (a parte que deseja verificar se os programas SGX são confiáveis). Neste exemplo, o arquivo de código de exemplo chamado QuoteGenerationSample é usado pela parte desafiada para gerar uma citação, e o arquivo de código de exemplo chamado QuoteVerificationSample é usado pela parte desafiadora para verificar a citação.
-
Instale um compilador.
-
Se for utilizada uma imagem Alibaba Cloud Linux 2 (UEFI), instale o devtoolset.
-
Instale o devtoolset.
sudo yum install -y devtoolset-9 -
Configure as variáveis de ambiente relacionadas ao devtoolset.
source /opt/rh/devtoolset-9/enable
-
-
Se for utilizada uma imagem Alibaba Cloud Linux 3 (UEFI), instale o Development Tools.
sudo yum groupinstall -y "Development Tools"
-
-
Configure as variáveis de ambiente relacionadas ao SGX SDK.
source /opt/alibaba/teesdk/intel/sgxsdk/environment -
Instale o pacote de dependências da atestação remota SGX.
sudo yum install -y libsgx-dcap-ql-devel libsgx-dcap-quote-verify-devel libsgx-dcap-default-qpl-devel -
Compile o código de exemplo no arquivo QuoteGenerationSample usado pela parte desafiada.
-
Acesse o diretório QuoteGenerationSample.
cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/QuoteGenerationSample -
Compile o código de exemplo no arquivo QuoteGenerationSample.
sudo -E make
-
-
Execute o arquivo executável compilado para gerar uma citação.
sudo ./appSe a seguinte saída de comando for retornada, a verificação da citação foi bem-sucedida.
[ecs-user@iZ2ze4xxx QuoteGenerationSample]$ sudo ./app [APP] Info: sgx_qe_set_enclave_load_policy is valid in in-proc mode only and it is optional: the default enclave load policy is persistent [APP] Info: set the enclave load policy as persistent [APP] Step1: Call sgx_qe_get_target_info: [APP] succeed! [APP] Step2: Call create_app_report [APP] Step3: Call sgx_qe_get_quote_size [APP] Step4: Call sgx_qe_get_quote [APP] cert_key_type = 0x5 [APP] Info: sgx_qe_cleanup_by_policy is valid in in-proc mode only. [APP] Info: Clean up the enclave load policy -
Compile o código de exemplo no arquivo QuoteVerificationSample usado pela parte desafiadora.
-
Acesse o diretório QuoteVerificationSample.
cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/QuoteVerificationSample -
Compile o código de exemplo no arquivo QuoteVerificationSample.
sudo -E make -
Assine o enclave QuoteVerificationSample.
Para lançar uma versão oficial de um enclave, é necessário fornecer a chave de assinatura para assinar o enclave.
sudo sgx_sign sign -key Enclave/Enclave_private_sample.pem -enclave enclave.so -out enclave.signed.so -config Enclave/Enclave.config.xmlNotaSe a mensagem de erro
Failed to open file "Enclave/Enclave_private_sample.pem"aparecer, execute o comando a seguir para reassinar a assinatura:sudo sgx_sign sign -key ../QuoteGenerationSample/Enclave/Enclave_private_sample.pem -enclave enclave.so -out enclave.signed.so -config Enclave/Enclave.config.xml -
Execute o arquivo executável compilado para verificar a citação.
sudo ./appSe a seguinte saída de comando for retornada, a verificação da citação foi bem-sucedida.
[ecs-user@iZ2zxxx QuoteVerificationSample]$ sudo ./app [APP] Info: ECDSA quote path: ../QuoteGenerationSample/quote.dat Trusted quote verification: [APP] Info: get target info successfully returned. [APP] Info: sgx_qv_set_enclave_load_policy successfully returned. [APP] Info: tee_get_quote_supplemental_data_version_and_size successfully returned. [APP] Info: latest supplemental data major version: 3, minor version: 3 -
Atualize o software SGX SDK, SGX PSW e SGX DCAP.
sudo rpm -qa --qf "%{NAME}\n"|grep -E "sgxsdk|libsgx-|libtdx-|^sgx-|^tdx-"|sudo xargs bash -c '</dev/tty yum update "$@"' _ -
Visualize as versões do software SGX SDK, SGX PSW e SGX DCAP.
-
Visualize as versões do software SGX SDK e 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)"A seguinte saída de comando é retornada.
[ecs-user@iZ2zexxxxxxxxxxxxx /]$ 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)" sgx-aesm-service-2.23.100.2-1.al8.x86_64 libsgx-epid-2.23.100.2-1.al8.x86_64 libsgx-ae-pce-2.23.100.2-1.al8.x86_64 libsgx-ae-le-2.23.100.2-1.al8.x86_64 libsgx-aesm-launch-plugin-2.23.100.2-1.al8.x86_64 libsgx-launch-2.23.100.2-1.al8.x86_64 libsgx-enclave-common-2.23.100.2-1.al8.x86_64 libsgx-urts-2.23.100.2-1.al8.x86_64 libsgx-aesm-pce-plugin-2.23.100.2-1.al8.x86_64 libsgx-aesm-ecdsa-plugin-2.23.100.2-1.al8.x86_64 libsgx-aesm-quote-ex-plugin-2.23.100.2-1.al8.x86_64 libsgx-quote-ex-2.23.100.2-1.al8.x86_64 libsgx-uae-service-2.23.100.2-1.al8.x86_64 sgxsdk-2.23.100.2-1.al8.x86_64 libsgx-headers-2.23.100.2-1.al8.x86_64 -
Visualize a versão do software 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-"A seguinte saída de comando é retornada.
[ecs-user@iZ2zexxxxxxxxxxxxx /]$ 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-" libsgx-ra-uefi-1.20.100.2-1.al8.x86_64 libsgx-ra-network-1.20.100.2-1.al8.x86_64 libsgx-ae-qve-1.20.100.2-1.al8.x86_64 libsgx-ae-qe3-1.20.100.2-1.al8.x86_64 libsgx-pce-logic-1.20.100.2-1.al8.x86_64 libsgx-dcap-quote-verify-1.20.100.2-1.al8.x86_64 libsgx-ae-id-enclave-1.20.100.2-1.al8.x86_64 libsgx-qe3-logic-1.20.100.2-1.al8.x86_64 libsgx-dcap-ql-1.20.100.2-1.al8.x86_64 sgx-ra-service-1.20.100.2-1.al8.x86_64 libsgx-dcap-default-qpl-1.20.100.2-2.al8.x86_64 libsgx-dcap-ql-devel-1.20.100.2-1.al8.x86_64 libsgx-dcap-quote-verify-devel-1.20.100.2-1.al8.x86_64 libsgx-dcap-default-qpl-devel-1.20.100.2-2.al8.x86_64
-
Atualizar o SGX SDK, PSW e software DCAP
A pilha de software Intel® SGX inclui SGX SDK, SGX PSW e SGX Data Center Attestation Primitives (DCAP). Para garantir segurança ideal, recomendamos atualizar as versões do software regularmente. Neste exemplo, utiliza-se uma imagem Alibaba Cloud Linux 3 UEFI para atualizar os pacotes de software SGX SDK, SGX PSW e SGX DCAP.
Problemas conhecidos
Podem ocorrer vazamentos de memória no driver SGX que acompanha o Alibaba Cloud Linux 2 com versão de kernel 4.19.91-23.al7.x86_64. Esse problema foi corrigido na versão mais recente. Recomendamos atualizar o kernel para a versão mais recente. Se desejar continuar usando esta versão anterior do kernel, recomendamos executar os comandos a seguir para instalar patches e evitar esse problema:
sudo yum install -y alinux-release-experimentals && \ sudo yum install -y kernel-hotfix-5577959-23.al7.x86_64 -