Contêineres com reconhecimento de enclave com Intel SGX

Um enclave é uma região de memória protegida que fornece confidencialidade para a execução de dados e de código. Trata-se de uma instância de TEE (Ambiente de Execução Confiável) que é protegida por hardware. O suporte da VM de computação confidencial no AKS usa Extensões do SGX (Intel Software Guard) para criar ambientes de enclave isolados nos nós entre cada aplicativo de contêiner.

Assim como as máquinas virtuais do Intel SGX, os aplicativos de contêiner desenvolvidos para execução no enclaves têm dois componentes:

  • um componente não confiável (chamado de host) e
  • um componente confiável (chamado de enclave).

Arquitetura de contêiner com reconhecimento de enclave

A arquitetura de aplicativos de contêineres com reconhecimento de enclave oferece a você o máximo controle na implementação, mantendo o volume de código no enclave baixo. Minimizar o código que é executado no enclave ajuda a reduzir as áreas da superfície de ataque.

Habilitadores

Open Enclave SDK

O SDK do Open Enclave é uma biblioteca de código aberto independente de hardware para desenvolver aplicativos C, C++ que usam Ambientes de Execução Confiável baseados em hardware. A implementação atual fornece suporte para o Intel SGX e suporte de versão prévia para o SO OP-TEE na TrustZone do Arm.

Veja uma introdução ao aplicativo de contêiner com base em Open Enclave aqui

SDK do Intel SGX

A Intel mantém o Software Development Kit para criar aplicativos SGX para cargas de trabalho de contêiner do Linux e do Windows. No momento, não há suporte para os contêineres do Windows atualmente nos nós de computação confidencial do AKS.

Veja uma introdução a aplicativos baseados em Intel SGX aqui

CCF (Confidential Consortium Framework)

A CCF (Confidential Consortium Framework) é uma estrutura de software livre para criar uma categoria de aplicativos seguros, altamente disponíveis e com alto desempenho que se concentram em dados e computação de vários participantes. A CCF pode habilitar redes confidenciais de grande escala que atendem aos principais requisitos corporativos, oferecendo um meio de acelerar a produção e a adoção corporativa de tecnologia de computação de várias partes e blockchain baseada no consórcio.

Veja uma introdução à computação confidencial do Azure e CCF aqui

Runtime do ONNX de inferência confidencial

O runtime do ONNX baseado em enclave de software livre estabelece um canal seguro entre o cliente e o serviço de inferência, garantindo que nem a solicitação nem a resposta possam sair do enclave seguro.

Essa solução permite que você traga o modelo treinado de ML existente e o execute de modo confidencial enquanto fornece confiança entre o cliente e o servidor por meio de atestado e verificações.

Veja uma introdução ao lift-and-shift do modelo de ML para o runtime do ONNX aqui

EGo

O SDK do EGo de software livre oferece suporte para a linguagem de programação Go para enclaves. O EGo se baseia no SDK do Open Enclave. Ele tem como objetivo facilitar a criação de microsserviços confidenciais. Siga este guia passo a passo para implantar um serviço baseado em EGo no AKS.

Exemplos de implementações baseadas em contêiner

Exemplos do Azure para contêineres com reconhecimento de enclave no AKS

Implantar cluster do AKS com Nós de VM Confidencial Intel SGX

Atestado do Azure

Máquina Virtual Confidencial Intel SGX no AzureContêineres Confidenciais