Partilhar via


Suporte a enclave de aplicativos com nós de computação confidenciais baseados em Intel SGX no Serviço Kubernetes do Azure

A computação confidencial do Azure permite-lhe proteger os seus dados confidenciais enquanto estão a ser utilizados. Enclaves baseados em Intel SGX permitem executar aplicativos empacotados como um contêiner dentro do AKS. Os contêineres executados dentro de um Ambiente de Execução Confiável (TEE) trazem isolamento de outros contêineres, o kernel do nó em um ambiente attestado protegido por hardware e integridade protegida.

Descrição geral

O Serviço Kubernetes do Azure (AKS) dá suporte à adição de nós de VM de computação confidencial Intel SGX como pools de agentes em um cluster. Esses nós permitem que você execute cargas de trabalho confidenciais dentro de um TEE baseado em hardware. Os TEEs permitem que o código de nível de usuário de contêineres aloque regiões privadas de memória para executar o código diretamente com a CPU. Essas regiões de memória privada que são executadas diretamente com a CPU são chamadas de enclaves. Os enclaves ajudam a proteger a confidencialidade dos dados, a integridade dos dados e a integridade do código de outros processos executados nos mesmos nós, bem como do operador do Azure. O modelo de execução Intel SGX também remove as camadas intermediárias do SO convidado, do sistema operacional host e do hipervisor, reduzindo assim a área da superfície de ataque. O modelo de execução isolado baseado em hardware por contêiner em um nó permite que os aplicativos sejam executados diretamente com a CPU, mantendo o bloco especial de memória criptografado por contêiner. Os nós de computação confidenciais com contêineres confidenciais são uma ótima adição à sua estratégia de contêiner de confiança zero, planejamento de segurança e defesa profunda.

Gráfico do AKS Confidential Compute Node, mostrando recipientes confidenciais com código e dados protegidos dentro.

Recurso de nós de computação confidenciais Intel SGX

  • Isolamento de contêiner em nível de processo baseado em hardware por meio do ambiente de execução confiável (TEE) Intel SGX
  • Clusters de pool de nós heterogêneos (misture pools de nós confidenciais e não confidenciais)
  • Programação de pod baseada em memória EPC (Encrypted Page Cache) através do addon AKS "confcom"
  • Driver Intel SGX DCAP pré-instalado e dependência do kernel instalada
  • Dimensionamento automático de pod horizontal baseado no consumo de CPU e dimensionamento automático de cluster
  • Suporte a contêineres Linux através de nós de trabalho de VM Ubuntu 18.04 Gen 2

Complemento de computação confidencial para AKS

O recurso adicional permite capacidade extra no AKS ao executar pools de nós compatíveis com Intel SGX de computação confidencial no cluster. O complemento "confcom" no AKS habilita os recursos abaixo.

Plug-in de dispositivo do Azure para Intel SGX

O plug-in de dispositivo implementa a interface de plug-in de dispositivo Kubernetes para memória EPC (Encrypted Page Cache) e expõe os drivers de dispositivo dos nós. Efetivamente, este plugin torna a memória EPC como outro tipo de recurso no Kubernetes. Os usuários podem especificar limites para este recurso assim como outros recursos. Além da função de agendamento, o plug-in do dispositivo ajuda a atribuir permissões de driver de dispositivo Intel SGX para implantações de contêineres confidenciais. Com este plugin desenvolvedor pode evitar a montagem dos volumes de driver Intel SGX nos arquivos de implantação. Este complemento em clusters AKS é executado como um daemonset por nó de VM compatível com Intel SGX. Um exemplo de implementação do exemplo de implantação baseada em memória EPC (kubernetes.azure.com/sgx_epc_mem_in_MiB) está aqui

Auxiliar de cotação Intel SGX com componentes de software de plataforma

Como parte do plug-in, outro daemonset é implantado por nó de VM compatível com Intel SGX no cluster AKS. Esse daemonset ajuda seus aplicativos de contêiner confidenciais quando uma solicitação remota de atestado fora de procedimento é invocada.

Os aplicativos de enclave que fazem atestado remoto precisam gerar uma cotação. A citação fornece prova criptográfica da identidade e do estado do aplicativo, juntamente com o ambiente host do enclave. A geração de cotações depende de certos componentes de software confiáveis da Intel, que fazem parte dos componentes de software da plataforma SGX (PSW/DCAP). Este PSW é empacotado como um conjunto de daemon que é executado por nó. Você pode usar o PSW ao solicitar cotação de atestado de aplicativos de enclave. O uso do serviço fornecido pelo AKS ajuda a manter melhor a compatibilidade entre o PSW e outros componentes SW no host com drivers Intel SGX que fazem parte dos nós da VM AKS. Leia mais sobre como seus aplicativos podem usar esse daemonset sem ter que empacotar as primitivas de atestado como parte de suas implantações de contêiner Mais aqui

Modelos de programação

Contentores confidenciais através de parceiros e OSS

Contêineres confidenciais ajudam você a executar aplicativos de contêiner não modificados existentes dos tempos de execução das linguagens de programação mais comuns (Python, Node, Java etc.) de forma confidencial. Este modelo de empacotamento não precisa de nenhuma modificação ou recompilação do código-fonte e é o método mais rápido para ser executado em um enclave Intel SGX obtido empacotando seus contêineres docker padrão com Projetos de Código Aberto ou Soluções de Parceiros do Azure. Neste modelo de empacotamento e execução, todas as partes do aplicativo de contêiner são carregadas no limite confiável (enclave). Este modelo funciona bem para aplicativos de contêiner prontos para uso disponíveis no mercado ou aplicativos personalizados atualmente em execução em nós de uso geral. Saiba mais sobre o processo de preparação e implantação aqui

Contentores com reconhecimento de enclave

Os nós de computação confidenciais no AKS também suportam contêineres que são programados para serem executados em um enclave para utilizar um conjunto de instruções especiais disponível na CPU. Este modelo de programação permite um controlo mais apertado do seu fluxo de execução e requer a utilização de SDKs e frameworks especiais. Esse modelo de programação fornece maior controle do fluxo de aplicativos com uma Base de Computação Confiável (TCB) mais baixa. O desenvolvimento de contêineres com reconhecimento de enclave envolve partes não confiáveis e confiáveis para o aplicativo de contêiner, permitindo que você gerencie a memória regular e a memória EPC (Encrypted Page Cache) onde o enclave é executado. Leia mais sobre contêineres com reconhecimento de enclave.

Perguntas mais frequentes (FAQ)

Encontre respostas para algumas das perguntas comuns sobre o suporte ao pool de nós do Serviço Kubernetes do Azure (AKS) para nós de computação confidencial baseados em Intel SGX aqui

Passos Seguintes

Implante o AKS Cluster com nós de computação confidenciais

Amostras de recipiente confidenciais de arranque rápido

VMs confidenciais Intel SGX - Lista de SKUs DCsv2

VMs confidenciais Intel SGX - Lista de SKUs DCsv3

Sessão de webinar de defesa aprofundada com contêineres confidenciais