Editar

Share via


Computação confidencial numa plataforma de cuidados de saúde

Azure Kubernetes Service (AKS)

Este artigo apresenta uma solução que a computação confidencial do Azure (ACC) oferece para criptografar dados em uso.

Arquitetura

Diagrama de uma demonstração confidencial da plataforma de cuidados de saúde. A plataforma inclui um hospital, um provedor de plataforma médica e um provedor de diagnóstico.

Transfira um ficheiro do Visio desta arquitetura.

O diagrama descreve a arquitetura. Em todo o sistema:

Fluxo de Trabalho

A solução envolve as seguintes etapas:

  1. Um funcionário de um hospital local abre um portal Web. Todo o aplicativo Web é um site estático do Armazenamento de Blobs do Azure.
  2. O funcionário insere dados no portal da web do hospital, que se conecta a uma API da Web baseada em Python Flask, construída por um popular fornecedor de plataforma médica. Um nó confidencial no software de computação confidencial SCONE protege os dados do paciente. O SCONE funciona dentro de um cluster AKS que tem as Software Guard Extensions (SGX) ativadas que ajudam a executar o contêiner em um enclave. A API da Web fornecerá evidências de que os dados confidenciais e o código do aplicativo estão criptografados e isolados em um Ambiente de Execução Confiável. Isso significa que nenhum ser humano, nenhum processo e nenhum log tem acesso aos dados de texto não criptografado ou ao código do aplicativo.
  3. O cliente do aplicativo Web do hospital solicita que um serviço de atestado (Atestado do Azure) valide essa evidência e receba um token de atestado assinado para outros aplicativos verificarem.
  4. Se a API da Web exigir componentes adicionais (como um cache Redis), ela poderá passar o token de atestado para verificar se os dados e o código do aplicativo permaneceram até agora em um enclave seguro (consulte a etapa 6 para verificação).
  5. A API da Web pode até consumir serviços remotos, como um modelo de ML hospedado por um provedor de diagnóstico de terceiros. Ao fazê-lo, continua a transmitir quaisquer fichas de atestado para provas de que os enclaves necessários são seguros. A API da Web também pode tentar receber e verificar tokens de atestado para a infraestrutura do provedor de diagnóstico.
  6. A infraestrutura remota aceita o token de atestado da API Web da plataforma médica e verifica-o com um certificado público encontrado no serviço de Atestado do Azure. Se o token for verificado, há quase certeza de que o enclave é seguro e nem os dados nem o código do aplicativo foram abertos fora do enclave.
  7. O provedor de diagnóstico, confiante de que os dados não foram expostos, envia-os para seu próprio enclave em um servidor de tempo de execução ONNX (Open Neural Network Exchange). Um modelo de IA interpreta as imagens médicas e retorna os resultados do diagnóstico para o aplicativo confidencial da API da Web da plataforma médica. A partir daqui, o software pode interagir com os registros dos pacientes e/ou entrar em contato com outros funcionários do hospital.

Componentes

  • O Armazenamento de Blobs do Azure fornece conteúdo estático como HTML, CSS, JavaScript e arquivos de imagem diretamente de um contêiner de armazenamento.

  • O Atestado do Azure é uma solução unificada que verifica remotamente a confiabilidade de uma plataforma. O Atestado do Azure também verifica remotamente a integridade dos binários executados na plataforma. Use o Atestado do Azure para estabelecer confiança com o aplicativo confidencial.

  • O Serviço Kubernetes do Azure simplifica o processo de implantação de um cluster Kubernetes.

  • Os nós de computação confidenciais são hospedados em uma série específica de máquinas virtuais que podem executar cargas de trabalho confidenciais no AKS dentro de um ambiente de execução confiável (TEE) baseado em hardware, permitindo que o código no nível do usuário aloque regiões privadas de memória, conhecidas como enclaves. Os nós de computação confidenciais podem suportar contêineres confidenciais ou contêineres com reconhecimento de enclave.

  • A plataforma SCONE é uma solução de fornecedor de software independente (ISV) do Parceiro Azure da Scontain.

  • O Redis é um armazenamento de estrutura de dados na memória de código aberto.

  • O Secure Container Environment (SCONE) suporta a execução de aplicativos confidenciais em contêineres executados dentro de um cluster Kubernetes.

  • Confidential Inferencing ONNX Runtime Server Enclave (ONNX RT - Enclave) é um host que restringe a parte de hospedagem de ML de acessar a solicitação de inferência e sua resposta correspondente.

Alternativas

  • Você pode usar Fortanix em vez de SCONE para implantar contêineres confidenciais para usar com seu aplicativo em contêineres. O Fortanix oferece a flexibilidade de que você precisa para executar e gerenciar o mais amplo conjunto de aplicativos: aplicativos existentes, novos aplicativos nativos do enclave e aplicativos pré-empacotados.

  • O grafeno é um SO convidado leve e de código aberto. O Graphene pode executar um único aplicativo Linux em um ambiente isolado com benefícios comparáveis à execução de um sistema operacional completo. Ele tem um bom suporte de ferramentas para converter aplicativos de contêiner Docker existentes para Graphene Shielded Containers (GSC).

Detalhes do cenário

Quando as organizações colaboram, partilham informações. Mas a maioria das partes não quer dar a outras partes acesso a todas as partes dos dados. Existem mecanismos para salvaguardar os dados em repouso e em trânsito. No entanto, a encriptação dos dados em uso coloca desafios diferentes.

Usando computação e contêineres confidenciais, a solução fornece uma maneira para um aplicativo hospedado pelo provedor colaborar com segurança com um hospital e um provedor de diagnóstico terceirizado. O Serviço Kubernetes do Azure (AKS) hospeda nós de computação confidenciais. O Atestado do Azure estabelece confiança com o provedor de diagnóstico. Ao usar esses componentes do Azure, a arquitetura isola os dados confidenciais dos pacientes do hospital enquanto os dados compartilhados específicos estão sendo processados na nuvem. Os dados hospitalares ficam então inacessíveis ao prestador de serviços de diagnóstico. Por meio dessa arquitetura, o aplicativo hospedado pelo provedor também pode tirar proveito da análise avançada. O provedor de diagnóstico disponibiliza essas análises como serviços de computação confidenciais de aplicativos de aprendizado de máquina (ML).

Potenciais casos de utilização

Muitas indústrias protegem seus dados usando computação confidencial para estes fins:

  • Proteger os dados financeiros
  • Proteger as informações dos pacientes
  • Executando processos de ML em informações confidenciais
  • Executando algoritmos em conjuntos de dados criptografados de várias fontes
  • Protegendo os dados do contêiner e a integridade do código

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

As máquinas virtuais (VMs) de computação confidencial do Azure estão disponíveis em tamanhos de família D de 2ª geração para necessidades gerais. Esses tamanhos são conhecidos coletivamente como série D v2 ou série DCsv2. Este cenário usa máquinas virtuais da série DCs_v2 habilitadas para Intel SGX com imagens de sistema operacional (SO) Gen2. Mas você só pode implantar determinados tamanhos em determinadas regiões. Para obter mais informações, consulte Guia de início rápido: implantar uma VM de computação confidencial do Azure no mercado e Produtos disponíveis por região.

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

Para explorar o custo de execução desse cenário, use a calculadora de preços do Azure, que pré-configura todos os serviços do Azure.

Um perfil de custo de exemplo está disponível para a Plataforma SaaS da Contoso Medical, conforme ilustrado no diagrama. Inclui os seguintes componentes:

  • Pool de nós do sistema e pool de nós SGX: sem discos, todos efêmeros
  • AKS Balanceador de carga
  • Rede Virtual do Azure: nominal
  • Registo de Contentores do Azure
  • Conta de armazenamento para aplicativo de página única (SPA)

O perfil não inclui os seguintes componentes:

  • Serviço de Atestado do Azure: gratuito

  • Azure Monitor Logs: baseado no uso

  • Licenciamento SCONE ISV

  • Serviços de conformidade necessários para soluções que trabalham com dados confidenciais, incluindo:

    • Microsoft Defender para Cloud e Microsoft Defender para Kubernetes
    • Proteção contra DDoS do Azure: Proteção de Rede
    • Azure Firewall
    • Azure Application Gateway e Azure Web Application Firewall
    • Azure Key Vault

Implementar este cenário

A implantação desse cenário envolve as seguintes etapas de alto nível:

  • Implante o servidor de inferência confidencial em um cluster AKS habilitado para SGX existente. Consulte o projeto confidencial do servidor de inferência ONNX no GitHub para obter informações sobre esta etapa.

  • Configure as políticas de Atestado do Azure.

  • Implante um pool de nós de cluster AKS habilitado para SGX.

  • Tenha acesso a aplicativos confidenciais com curadoria chamados SconeApps. SconeApps estão disponíveis em um repositório GitHub privado que atualmente está disponível apenas para clientes comerciais, através do SCONE Standard Edition. Acesse o site da SCONE e entre em contato diretamente com a empresa para obter esse nível de serviço.

  • Instale e execute serviços SCONE no seu cluster AKS.

  • Instale e teste o aplicativo baseado em Flask em seu cluster AKS.

  • Implante e acesse o web client.

Estas etapas concentram-se nos contentores do enclave. Uma infraestrutura segura se estenderia além dessa implementação e incluiria requisitos de conformidade, como proteções adicionais exigidas pela HIPAA.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

  • Amar Gowda - Brasil | Gerente de Produto Principal

Próximos passos