Visão geral do Confidential Consortium Framework Gerenciado pelo Azure
O Confidential Consortium Framework Gerenciado pelo Azure (CCF Gerenciado) é um serviço novo e altamente seguro para implantar aplicativos confidenciais. Ele permite que os desenvolvedores criem aplicativos confidenciais que exigem confidencialidade programável de dados e informações que possam ser necessárias entre várias partes. Normalmente, os membros concordam com a constituição (regras que os membros criaram) da rede, definem regras de governança e de transações comerciais e as transações comerciais ocorrem com base no que foi definido. Se houver alterações na governança que afetam as regras de negócios, o consórcio precisará aprovar essas mudanças.
Na verdade, ele é executado exclusivamente em enclaves seguros com suporte de hardware, um ambiente de runtime isolado e monitorado rigorosamente, o que detém os ataques em potencial. Ele também é executada em uma TCB (Base de Computação Confiável) minimalista e limita a função do operador.
Como o nome sugere, o CCF Gerenciado pelo Azure utiliza a plataforma de Computação Confidencial do Azure e o Confidential Consortium Framework de código aberto como a tecnologia subjacente para fornecer uma plataforma de alta integridade que é evidente e protegida contra adulteração. Uma instância do CCF Gerenciado abrange três ou mais computadores idênticos, cada um executada em um enclave dedicado e totalmente atestado com suporte de hardware. A integridade dos dados é mantida por meio de um blockchain baseado em consenso.
O diagrama a seguir mostra uma visão geral de alto nível das diferentes camadas da plataforma CCF Gerenciado e onde o código do aplicativo se encaixa nela.
Principais recursos
Alguns dos principais recursos do CCF Gerenciado são confidencialidade, governança personalizável, alta disponibilidade, auditoria e transparência.
Confidencialidade
Os nós são executados dentro de um TEE (Ambiente de Execução Confiável) baseado em hardware, que garante que os dados em uso estejam protegidos e criptografados, enquanto estiverem em RAM e durante a computação. O diagrama a seguir mostra como o código e os dados são protegidos durante o uso.
Governança personalizável
Os participantes, chamados de membros, compartilham a responsabilidade pela operação de rede estabelecida por uma constituição. O modelo de governança compartilhada estabelece confiança e transparência entre os membros por meio de um processo de votação público e auditável. A constituição é implementada como um conjunto de scripts JavaScript, que podem ser personalizados durante a criação da rede e posteriormente. O diagrama a seguir mostra como os membros participam de uma operação de governança para aceitar ou rejeitar uma ação proposta imposta pela constituição.
Alta disponibilidade e resiliência
Um recurso do CCF Gerenciado é criado sobre uma rede de nós distribuídos que mantém uma réplica idêntica das transações. A plataforma foi projetada e criada desde o começo para ser tolerante e resiliente a interrupções de rede e infraestrutura. A plataforma garante alta disponibilidade e recuperação rápida de serviços espalhando os nós entre Zonas de Disponibilidade do Azure. Quando ocorre um desastre inesperado, a recuperação rápida e a continuidade dos negócios são habilitadas pelo backup e restauração automáticos dos arquivos de razão.
Auditabilidade e transparência
O estado da rede é auditável por meio de recibos. Um recibo é uma prova assinada associada a uma transação. Os recibos são verificáveis offline e por terceiros, equivalentes a "esta transação produziu esse resultado nesta posição na rede". Junto com uma cópia do razão ou outros recibos, eles podem ser usados para auditar o serviço e responsabilizar o consórcio.
As operações de governança e os mapas de valor de chave pública associados são armazenados em texto sem formatação no razão. Os clientes são incentivados a baixar o razão e verificar sua integridade usando scripts de código aberto que são fornecidos com o CCF.
Fácil para o desenvolvedor
Os desenvolvedores podem usar ferramentas de desenvolvimento conhecidas como o Visual Studio Code e linguagens de programação como TypeScript, JavaScript e C++ combinadas com o Node.js para desenvolver aplicativos confidenciais direcionados à plataforma CCF Gerenciado. Aplicativos de exemplo de código aberto são publicados para referência e atualizados continuamente com base nos comentários.
CCF de código aberto (IaaS) vs. CCF Gerenciado pelo Azure (PaaS)
Os clientes podem criar aplicativos direcionados ao CCF (Confidential Consortium Framework) e hospedá-los por conta própria. Mas, como qualquer outro aplicativo auto-hospedado, ele requer manutenção e aplicação de patch regulares (tanto no hardware quanto no software), o que consome tempo e recurso. O CCF Gerenciado pelo Azure abstrai as operações diárias, permitindo que as equipes se concentrem nas principais prioridades de negócios. O diagrama a seguir compara e contrasta as diferenças entre uma rede CCF auto-hospedada com o CCF Gerenciado pelo Azure.