FERRAMENTAS LINUX: O Kernel Linux 5.13 está trazendo o código para o Intel SGX dentro dos convidados no KVM

terça-feira, 27 de abril de 2021

O Kernel Linux 5.13 está trazendo o código para o Intel SGX dentro dos convidados no KVM

 


Confira !!


O Kernel Linux 5.11 trouxe o suporte principal para Intel Software Guard Extensions (SGX) após um longo processo de manutenção. A construção desse suporte a enclaves SGX no kernel principal mais recentemente foi o suporte parao  SGX com a virtualização KVM e agora para Kernel Linux 5.13 principal, o suporte do lado do convidado está chegando para convidados KVM.

O Software Guard Extensions para KVM permite que uma parte do meory do sistema seja criptografada com um enclaves SGX e usada exclusivamente por um convidado KVM que não pode ser usado pelo host ou qualquer outro convidado.





Enviado ontem na lista de discussão do kernel foi o x86 / sgx para v5.13 que destaca o lado convidado do suporte SGX em convidados de máquina virtual baseados em Kernel.

Adicione um dispositivo misc / dev / sgx_vepc para permitir que o espaço do usuário aloque EPC "bruto" sem um enclave associado. O único caso de uso pretendido e conhecido para alocação EPC bruta é expor o EPC a um convidado KVM, daí o moniker 'vepc', virt. {C, h} files e X86_SGX_KVM Kconfig.

O driver SGX usa o dispositivo misc / dev / sgx_enclave para suportar o espaço do usuário para criar enclave. Cada descritor de arquivo da abertura de / dev / sgx_enclave representa um enclave. Ao contrário do driver SGX, o KVM não controla como o convidado usa o EPC, portanto, o EPC alocado para o convidado KVM não está associado a um enclave e / dev / sgx_enclave não é adequado para alocar o EPC para o convidado KVM.

Ter nós de dispositivo separados para o driver SGX e o EPC virtual KVM também permite o controle de permissão separado para a execução de enclaves SGX de host e convidados KVM SGX.

Para usar / dev / sgx_vepc para alocar uma instância EPC virtual com tamanho específico, o hipervisor de espaço do usuário abre / dev / sgx_vepc e usa mmap () com o tamanho pretendido para obter um intervalo de endereços de EPC virtual. Em seguida, ele pode usar o intervalo de endereços para criar um slot de memória KVM como EPC virtual para o convidado.

Este suporte KVM do lado do convidado para SGX é a principal adição com o trabalho Intel SGX para Linux 5.13. SGX existe em CPUs Intel Core desde Skylake, mas não foi encontrado nas CPUs de desktop Rocket Lake mais recentes ou Tiger Lake mobile. Mas com o "Ice Lake" escalonável do Intel 3ª Geração Xeon, agora há suporte SGX para aqueles que desejam fazer uso desses enclaves de memória criptografados.





Fonte

Até a próxima !!


Nenhum comentário:

Postar um comentário